Linux
- Linux
- 一、系統目錄結構
- 1. / :根
- 2. /bin :用戶二進制檔案
- 3. /sbin :系統二進制檔案
- 4. /etc :組態檔
- 5. /dev :設備檔案
- 6. /proc :行程資訊
- 7. /var :變數檔案
- 8. /tem :臨時檔案
- 9. /usr :用戶程式
- 10. /home :HOME 目錄
- 11. /boot :引導加載程式檔案
- 12. /lib :系統庫
- 13. /opt代表可選的,
- 14 /mnt :掛載目錄
- 15 /media :可移動媒體設備
- 16 /srv :服務資料
- 二、SSH 協議(安全外殼協議)
- 三、命令基本格式
- 1. 命令提示符
- 2. 命令格式
- 四、常用命令
- 1. 基本命令
- 2. 檔案查詢命令
- 3. 檔案處理命令
- 4. 復制命令
- 5. 剪切或改名命令
- 6. 檔案搜索命令
- 7. 檔案搜索命令
- 8. Linux 中的通配符
- 9. 按時間查詢
- 10. 按檔案大小查詢
- 11. 符合條件查詢
- 12. 字串搜索命令
- 13. 查看幫助命令
- 14. 獲取命令選項的幫助
- 五、壓縮和解壓命令
- 1. .zip 格式
- 1.1 zip 壓縮
- 1.2 zip 解壓縮
- 2. .gz 格式
- 3. .bz2 格式(拓展)
- 4. .tar.gz格式 (重點)
- 六、關機和重啟命令
- 1. 關機命令
- 1.1 shutdown 命令
- 1.2 其他關機、重啟命令
- 2. 查看任務行程
- 3. 查看記憶體占用:free
- 4. 查看操作歷史
- 5. 在顯示幕輸出內容
- 6. 檔案查看命令
- 七、vi 編輯器
- 1. 編輯器的三種模式
- 2. 打開和關閉檔案
- 3. 移動游標
- 4. 翻屏操作
- 5. 洗掉命令
- 6. 查找和替換
- 八、權限管理
- 1. 用戶管理
- 1.1 計算資源:(一切皆檔案)
- 1.2 添加用戶
- 1.3 添加組
- 1.4 修改用戶組屬性
- 1.5 洗掉用戶
- 1.6 修改密碼
- 2. 檔案基本權限
- 2.1 檔案權限解釋
- 2.2 添加權限
- 2.3 修改權限的方式
- 2.4 權限的數字表示
- 2.5 其他權限命令
- 2.6 sudo權限
- 2.7 系統服務管理
- 2.8 行程查看
- 2.9 殺死行程
- 九、網路管理
- 1. 網路中的基本概念
- 2. 防火墻
- 3. ifcfg-eth解釋
- 總結
Linux
一、系統目錄結構
1. / :根
每一個檔案和目錄從根目錄開始,
只有root用戶具有該目錄下的寫權限,請注意,/root是root用戶的主目錄,這與/不一樣
2. /bin :用戶二進制檔案
包含二進制可執行檔案,
在單用戶模式下,你需要使用的常見Linux命令都位于此目錄下,系統的所有用戶使用的命令都設在這里,
例如:ps、ls、ping、grep、cp
3. /sbin :系統二進制檔案
就像/bin,/sbin同樣也包含二進制可執行檔案,
但是,在這個目錄下的linux命令通常由系統管理員使用,對系統進行維護,例如:iptables、reboot、fdisk、ifconfig、swapon命令
4. /etc :組態檔
包含所有程式所需的組態檔,
也包含了用于啟動/停止單個程式的啟動和關閉shell腳本,例如:/etc/resolv.conf、/etc/logrotate.conf
hosts:設備名稱(或域名)到ip地址的決議,相當于本地存在的dns功能,
5. /dev :設備檔案
包含設備檔案,
這些包括終端設備、USB或連接到系統的任何設備,例如:/dev/tty1、/dev/usbmon0
6. /proc :行程資訊
包含系統行程的相關資訊,
這是一個虛擬的檔案系統,包含有關正在運行的行程的資訊,例如:/proc/{pid}目錄中包含的與特定pid相關的資訊,
這是一個虛擬的檔案系統,系統資源以文本資訊形式存在,例如:/proc/uptime
7. /var :變數檔案
var代表變數檔案,
這個目錄下可以找到內容可能增長的檔案,
這包括 - 系統日志檔案(/var/log);包和資料庫檔案(/var/lib);電子郵件(/var/mail);列印佇列(/var/spool);鎖檔案(/var/lock);多次重新啟動需要的臨時檔案(/var/tmp);
8. /tem :臨時檔案
包含系統和用戶創建的臨時檔案,
當系統重新啟動時,這個目錄下的檔案都將被洗掉,
9. /usr :用戶程式
包含二進制檔案、庫檔案、檔案和二級程式的源代碼,
/usr/bin中包含用戶程式的二進制檔案,如果你在/bin中找不到用戶二進制檔案,到/usr/bin目錄看看,例如:at、awk、cc、less、scp,
/usr/sbin中包含系統管理員的二進制檔案,如果你在/sbin中找不到系統二進制檔案,到/usr/sbin目錄看看,例如:atd、cron、sshd、useradd、userdel,
/usr/lib中包含了/usr/bin和/usr/sbin用到的庫,
/usr/local中包含了從源安裝的用戶程式,例如,當你從源安裝Apache,它會在/usr/local/apache2中,
10. /home :HOME 目錄
所有用戶用home目錄來存盤他們的個人檔案,
例如:/home/john、/home/nikita
11. /boot :引導加載程式檔案
包含引導加載程式相關的檔案,
內核的initrd、vmlinux、grub檔案位于/boot下,
例如:initrd.img-2.6.32-24-generic、vmlinuz-2.6.32-24-generic
12. /lib :系統庫
包含支持位于/bin和/sbin下的二進制檔案的庫檔案.
庫檔案名為 ld或lib.so.*
例如:ld-2.11.1.so,libncurses.so.5.7
13. /opt代表可選的,
包含從個別廠商的附加應用程式,
附加應用程式應該安裝在/opt/或者/opt/的子目錄下,
14 /mnt :掛載目錄
臨時安裝目錄,系統管理員可以掛載檔案系統,
15 /media :可移動媒體設備
用于掛載可移動設備的臨時目錄,
舉例來說,掛載CD-ROM的/media/cdrom,掛載軟盤驅動器的/media/floppy;
16 /srv :服務資料
srv代表服務,
包含服務器特定服務相關的資料,
例如,/srv/cvs包含cvs相關的資料,
二、SSH 協議(安全外殼協議)
ssh為 Secure Shell 的縮寫,由 IETF 的網路小組(Network Working Group)所制定;SSH 為建立在應用層基礎上的安全協議,SSH 是目前較可靠,專為遠程登錄會話和其他網路服務提供安全性的協議,利用 SSH 協議可以有效防止遠程管理程序中的資訊泄露問題,SSH最初是UNIX系統上的一個程式,后來又迅速擴展到其他操作平臺,SSH在正確使用時可彌補網路中的漏洞,SSH客戶端適用于多種平臺,幾乎所有UNIX平臺—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平臺,都可運行SSH,
三、命令基本格式
1. 命令提示符
[root@localhost ~]#
決議:
| 序號 | 字符 | 含義 |
|---|---|---|
| 1 | root | 當前登陸用戶 |
| 2 | localhost | 主機名 |
| 3 | ~ | 當前所在目錄(家目錄) |
| 4 | root | 如果是root代表/root |
| 5 | 普通用戶user1 | 如果是普通用戶user1代表/home/user1 |
| 6 | # | 超級用戶的提示符# |
| 7 | $ | 普通用戶提示符$ |
2. 命令格式
命令 [選項] [引數]
- 注意:
【1】個別命令的使用不遵循次格式;
【2】當有多個選項時,可以寫在一起;
【3】簡化選項與完整選項;
【4】-a 等于 --all;
四、常用命令
1. 基本命令
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | ctrl + alt | 移出滑鼠 |
| 2 | ip addr | 查看 ip 地址 |
| 3 | SecureCRTPortable 模式中 ctrl + s 之后 需要 Ctrl + Q 然后回車 | |
| 4 | Table 用于補全命令 | |
| 5 | 使用 vi 進入編輯頁面后,非輸入狀態下使用 /查找內容 可以查找,按 n 向下翻頁,使用 N 向上翻頁 | |
| 6 | 普通查看模式中使用 ctrl+c 退出 |
2. 檔案查詢命令
- 語法
命令 [選項] [引數]
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | ls | 查看該路徑下的所有檔案(不包括隱藏檔案) |
| 2 | ls -a | 查看該路徑下的所有檔案(包括隱藏檔案) |
| 3 | (ls -l) / ll | 查看詳情(不包括隱藏檔案) |
| 4 | ls -h | 人性化顯示檔案大小 |
| 5 | ls -alh | 查看所有 |
3. 檔案處理命令
在Linux中一切皆檔案,檔案夾也是檔案
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | pwd | 查詢所在目錄位置 |
| 2 | cd /root | 切換所在目錄 cd~ :切換到用戶目錄(家目錄) cd :切換到用戶目錄 cd - :切換到上一個訪問目錄 cd … :切換到上一級目錄 cd . :切換到當前目錄 |
| 3 | touch a.txt | 創建 a.txt 檔案 |
| 4 | mkdir xx | 創建 xx 檔案夾 |
| 5 | mkdir -p xx/yyy/zz | 創建多級目錄 |
| 6 | rmdir zz | 洗掉空檔案夾,如果該檔案夾下有檔案/檔案夾,洗掉失敗 |
| 7 | rm a.txt | 洗掉檔案,洗掉當前檔案夾下的 a.txt,需要輸入 y 確認 |
| 8 | rm -f a.txt | 洗掉檔案,強制洗掉檔案 a.txt |
| 9 | rm -r zz | 遞回 zz 中的檔案夾,直到最后一層詢問是否洗掉,如果洗掉使用 y |
| 10 | rm -rf 檔案/檔案夾 | 遞回洗掉,無提示 |
| 11 | rm -rf /* | 洗掉所有檔案 |
4. 復制命令
- 語法
// 拷貝檔案/目錄到目標目錄
cp [選項] [原檔案或目錄] [目標目錄]
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | cp -r b.txt zz | 把當前檔案夾下的 b.txt 拷貝到 zz檔案夾下 |
| 2 | cp a.txt b.txt | 在當前檔案備份,把 a.txt 備份,備份檔案為 b.txt |
| 3 | cp a.txt zz/b.txt | 在當前檔案夾下的 zz 檔案夾下備份,把 a.txt 備份,備份檔案為 b.txt |
5. 剪切或改名命令
- 語法
mv [原檔案或目錄] [目標目錄]
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | mv b.txt /root/xx/yy | 把當前檔案夾下的 b.txt 移動到 /root/xx/yy |
| 2 | mv b.txt a.txt | 重命名,a.txt 不存在,相當于把 b.txt 重命名為 a.txt |
6. 檔案搜索命令
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | whereis cd | 搜索命令所在路徑與幫助檔案所在位置 |
| 2 | which cd | 搜索命令所在路徑以及別名 |
| 3 | echo $PATH | 查看環境變數 |
7. 檔案搜索命令
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | find -name c.txt | 搜索該檔案夾下檔案名為 c.txt 的檔案 |
| 2 | find / -name a.txt | 搜索 / 下檔案名為 c.txt 的檔案 |
| 3 | find /root -iname a.txt | 查詢 root 下的 a.txt,按名字查詢,不區分大小寫 |
| 4 | find /root -user root | 查詢 /root 下的用戶 user 中帶 root 的檔案,按所有者搜索 |
| 5 | find /root --nouser | 查找沒有所有者的檔案 |
8. Linux 中的通配符
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | * | 匹配任意內容 |
| 2 | ? | 匹配任意一個字符 |
| 3 | [] | 匹配任意一個中括號內的字符 |
9. 按時間查詢
- 案例
find /root -mtime +10
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | find /root -mtime +10 | 查找 10 天前修改的檔案 |
| 2 | find /root -mtime -10 | 查找 10 天內修改的檔案 |
| 3 | find /root -mtime 10 | 查找 10 天當天修改的檔案 |
| 4 | find /root -user root | 修改檔案的時間 |
| 5 | atime | 檔案訪問的時間 |
| 6 | ctime | 改變檔案屬性的時間 |
10. 按檔案大小查詢
- 案例
find / -size 25k
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | find / -size 25k | 查找等于 25KB 的檔案 |
| 2 | find / -size +25k | 查找大于 25KB 的檔案 |
| 3 | find / -size -25k | 查找小于 25KB 的檔案 |
| 4 | find / -size 25M | 查找等于 25MB 的檔案 |
| 5 | find / -size +25M | 查找大于 25MB 的檔案 |
| 6 | find / -size -25M | 查找小于 25MB 的檔案 |
11. 符合條件查詢
- 案例
find /etc -size +20k -a -size -50k -exec ls -lh {} \;
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | find /etc -size +20k -a -size -50k | 查詢 /etc 目錄下,大于 20KB 并且小于 50KB 的檔案 |
| 2 | find /etc -size +20k -a -size -50k -exec ls -lh {} ; | #查找/etc/目錄下,大于20KB并且小于50KB的檔案,并顯示詳細資訊 #-exec {} ; |
12. 字串搜索命令
- 案例
grep [選項] 字串 檔案名
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | grep -i a aa | 忽略大小寫查詢 aa 檔案中的 a 字串 |
| 2 | find /etc -size +20k -a -size -50k -exec ls -lh {} ; | #查找/etc/目錄下,大于20KB并且小于50KB的檔案,并顯示詳細資訊 #-exec {} ; |
| 3 | ps -ef | grep java | 檢查java 行程是否存在 |
find命令:在系統中搜索符合條件的檔案名.
grep命令:在檔案中搜索符合條件的字串.
ps -ef | grep java
ps命令將某個行程顯示出來;
grep命令是查找;
中間的|是管道命令 是指ps命令與grep同時執行;
PS是LINUX下最常用的也是非常強大的行程查看命令;
grep命令是查找,是一種強大的文本搜索工具,它能使用正則運算式搜索文本,并把匹配的行列印出來;
grep全稱是Global Regular Expression Print,表示全域正則運算式版本,它的使用權限是所有用戶;
以下這條命令是檢查java 行程是否存在:ps -ef |grep java;
欄位含義如下:
UID PID PPID C STIME TTY TIME CMD
zzw 14124 13991 0 00:38 pts/0 00:00:00 grep --color=auto dae
UID :程式被該 UID 所擁有
PID :就是這個程式的 ID
PPID :則是其上級父程式的ID
C :CPU使用的資源百分比
STIME :系統啟動時間
TTY :登入者的終端機位置
TIME :使用掉的CPU時間,
CMD :所下達的是什么指令
13. 查看幫助命令
- 語法
man 命令名
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | man ls | 查看ls的幫助 |
| 2 | ctrl + f | 上一頁 |
| 3 | ctrl + b | 下一頁 |
| 4 | q | 退出 |
14. 獲取命令選項的幫助
- 語法
命令 --help
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | ls --help | 簡潔版幫助,不適用內部命令,如:cd |
| 2 | help cd | 命令特殊時使用 |
五、壓縮和解壓命令
1. .zip 格式
1.1 zip 壓縮
- 語法
zip 壓縮檔案名 原檔案 // 打包命令
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | yum install zip | 安裝 zip 壓縮軟體,需要按 2 次 y 確認 |
| 2 | yum install -y zip | 不需要確認的安裝 |
| 3 | zip cc.zip cc / zip cc cc | 把 cc 檔案夾壓縮為 cc.zip 檔案 |
| 4 | zip a.zip a.txt / zip a a.txt | 把 a.txt 檔案壓縮成 a.zip |
| 5 | rm cc.zip | 洗掉 rm cc.zip,然后 y 確認 |
1.2 zip 解壓縮
- 語法
unzip 壓縮檔案名 // 打包命令
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | yum install unzip | 安裝 zip 壓縮軟體,需要按 1 次 y 確認 |
| 2 | yum install -y unzip | 不需要確認的安裝 |
| 3 | unzip cc.zip / unzip cc | 解壓 cc.zip |
| 4 | y / n / A / N / r | 解壓后存在同名檔案: y:替換已存在檔案; n:不替換已存在檔案; A:替換已存在檔案; N:不覆寫; r:重新給個名字 |
2. .gz 格式
- 語法
gzip 源檔案 // 打包命令
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | yum install gzip | 安裝 gzip 壓縮軟體 |
| 2 | gzip 源檔案 | 壓縮檔案,源檔案會消失 |
| 3 | gzip -r 檔案夾 | 遍歷檔案夾,壓縮檔案夾中檔案,檔案夾不壓縮 |
| 4 | gunzip 壓縮檔案 | 解壓縮檔案 |
| 5 | gzip -d 壓縮檔案 | 解壓縮檔案 |
| 6 | gunzip -r 壓縮檔案夾 | 遍歷壓縮檔案夾,解壓里面的檔案 |
3. .bz2 格式(拓展)
- 語法
bzip2 源檔案 // 打包命令
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | yum install bzip2 | 安裝 bzip2 壓縮軟體 |
| 2 | bzip2 源檔案 | 壓縮檔案,源檔案會消失 |
| 3 | bizp2 -k 源檔案 | 壓縮檔案,源檔案不會消失 |
| 4 | bunzip2 壓縮檔案 | 解壓縮檔案,壓縮檔案消失 |
| 5 | bzip -d 壓縮檔案 | 解壓縮檔案,壓縮檔案消失 |
| 6 | bunzip2 -k 壓縮檔案 | 解壓縮檔案,壓縮檔案不會消失 |
| 7 | bzip -d -k 壓縮檔案 | 解壓縮檔案,壓縮檔案不會消失 |
注意:bzip2 命令不能壓縮檔案夾
.bz2和.gz的區別:
1).bz2和.gz都是linux下壓縮檔案的格式,有點類似windows下的.zip和.rar檔案;
2)前者比后者壓縮率更高,后者比前者花費更少的時間,也就是說同一個檔案,壓縮后,.bz2檔案比.gz檔案更小,但是.bz2檔案的小是以花費更多的時間為代價的,
4. .tar.gz格式 (重點)
其實.tar.gz格式是先打包為tar格式,在壓縮為.gz格式
- 語法
tar -cvf 打包檔案名 源檔案 // 打包命令
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | yum install tar | 安裝 tar 壓縮軟體 |
| 2 | tar -cvf 打包檔案名 源檔案 | -c:打包 -v:顯示程序 -f:指定打包后的檔案名 |
| 3 | tar -cvf a.tar a.txt | 把 a.txt 檔案打包成 a.tar 檔案 |
| 4 | tar -xvf a.tar | 把 a.tar 檔案解壓 |
| 5 | tar -zcvf a.tar.gz a.txt | 把 a.txt 壓縮成 a.tar.gz -z:壓縮為 .tar.gz 格式 |
| 6 | tar -zxvf a.tar.gz | 把 a.tar.gz 解壓到當前檔案夾 |
| 7 | tar -zxvf 壓縮包名.tar.gz -C 指定目錄 | 解壓縮檔案到指定目錄 |
六、關機和重啟命令
1. 關機命令
1.1 shutdown 命令
- 語法
shutdown [選項] 時間
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | shutdown [選項] 時間 | 選項: -c:取消前一個關機命令 -h:關機 -r:重啟 |
| 2 | shutdown -c | 取消上一個關機命令 |
| 3 | shutdown -h 時間 | 多少時間后關機 |
| 4 | shutdown -h now | 馬上關機 |
| 5 | shutdown -f | 重啟 |
1.2 其他關機、重啟命令
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | halt | 【1】-n : 在關機前不做將記憶體資料寫回硬碟的動作 -w : 并不會真的關機,只是把記錄寫到 /var/log/wtmp 檔案里 【2】-d : 不把記錄寫到 /var/log/wtmp 檔案里(-n 這個引數包含了 -d) 【3】-f : 強迫關機,不呼叫 shutdown 這個指令 【4】-i : 在關機之前先把所有網路相關的裝置先停止 【5】-p : 當關機的時候,順便做關閉電源(poweroff)的動作 |
| 2 | poweroff | 關機,不保存資料 |
| 3 | init 0 | 【1】init 0:關機 【2】init 6:重啟 【3】init 3:切換字符界面 【4】inti 5:切換可視化界面 |
| 4 | reboot | 重啟 |
| 5 | init 6 | 重啟 |
2. 查看任務行程
命令:top
每行代表意思:
任務行程
第一行:
10:01:23 — 當前系統時間
126 days, 14:29 — 系統已經運行了126天14小時29分鐘(在這期間沒有重啟過)
2 users — 當前有2個用戶登錄系統
load average: 1.15, 1.42, 1.44 — load average后面的三個數分別是1分鐘、5分鐘、15分鐘的負載情況,
第二行:
Tasks — 任務(行程),系統現在共有183個行程,其中處于運行中的有1個,182個在休眠(sleep),stoped狀態的有0個,zombie狀態(僵尸)的有0個,
第三行:cpu狀態
6.7% us — 用戶空間占用CPU的百分比,
0.4% sy — 內核空間占用CPU的百分比,
0.0% ni — 改變過優先級的行程占用CPU的百分比
92.9% id — 空閑CPU百分比
0.0% wa — IO等待占用CPU的百分比
0.0% hi — 硬中斷(Hardware IRQ)占用CPU的百分比
0.0% si — 軟中斷(Software Interrupts)占用CPU的百分比
第四行:記憶體狀態
8306544k total — 物理記憶體總量(8GB)
7775876k used — 使用中的記憶體總量(7.7GB)
530668k free — 空閑記憶體總量(530M)
79236k buffers — 快取的記憶體量 (79M)
第五行:swap交換磁區
2031608k total — 交換區總量(2GB)
2556k used — 使用的交換區總量(2.5M)
2029052k free — 空閑交換區總量(2GB)
4231276k cached — 緩沖的交換區總量(4GB)
第五行以下:
PID — 行程id
USER — 行程所有者
PR — 行程優先級
NI — nice值,負值表示高優先級,正值表示低優先級
VIRT — 行程使用的虛擬記憶體總量,單位kb,VIRT=SWAP+RES
RES — 行程使用的、未被換出的物理記憶體大小,單位kb,RES=CODE+DATA
SHR — 共享記憶體大小,單位kb
S — 行程狀態,D=不可中斷的睡眠狀態 R=運行 S=睡眠 T=跟蹤/停止 Z=僵尸行程
%CPU — 上次更新到現在的CPU時間占用百分比
%MEM — 行程使用的物理記憶體百分比
TIME+ — 行程使用的CPU時間總計,單位1/100秒
COMMAND — 行程名稱(命令名/命令列)
3. 查看記憶體占用:free
記憶體占用情況:
total:記憶體總數;
used:已經使用的記憶體數;
free:空閑的記憶體數;
buffers Buffer:快取記憶體數;
cached Page:快取記憶體數,
4. 查看操作歷史
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | history | 用于顯示執行過的歷史命令記錄 |
5. 在顯示幕輸出內容
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | echo | 在顯示幕輸出內容 |
6. 檔案查看命令
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | cat | 整個檔案的內容顯示出來 |
| 2 | tail | 默認在顯示屏上顯示指定檔案的末尾10行; 引數: -f 顯示檔案最新追加的內容; -行數 在螢屏上顯示指定檔案的末尾引數設定的行數; |
七、vi 編輯器
1. 編輯器的三種模式
【1】編輯模式(命令模式) :所有的機鍵動作都會理解為編輯整個檔案的操作,默認為編輯模式
【2】輸入模式:大部分機鍵動作都會理解為輸入的字符
【3】末行模式:在末行模式,輸入很多檔案管理命令
模式之間的相互轉換:
-
編輯–>輸入
i:在游標所在字符前開始插入
a:在游標所在字符后開始插入
o:在游標所在行的下面另起一新行插入
s:洗掉游標所在的字符并開始插入
I:在游標所在行的行首開始插入 如果行首有空格則在空格之后插入
A:在游標所在你行的行尾開始插入
O:在游標所在行的上面另起一行開始插入
S:洗掉游標所在行并開始插入
-
輸入模式–>編輯模式
ESC(鍵盤左上方的按鍵)
-
編輯模式—>末行模式
:
-
末行模式:–>編輯模式
ESC(鍵盤左上方的按鍵)(一次或者多次)
2. 打開和關閉檔案
| 序號 | 命令 | 作用 |
|---|---|---|
| 1 | vi /path/to/a.txt | 打開檔案 |
| 2 | 在末行模式下: wq:保存退出; q!:不保存退出; | 關閉檔案 |
3. 移動游標
-
逐字符移動:
h:左移動
l:右移動
j:向下移動
k:向上移動
-
行內跳轉:
0:跳轉到行首
$: 跳轉到行尾
行間跳轉;(末行模式)
num: 跳轉到某一行(末行模式)
G: 跳轉行最后一行(編輯模式)
gg: 跳轉到第一行(編輯模式)
4. 翻屏操作
-
在編輯模式下
ctrl+f 向下翻一頁
ctrl+b 向上翻一頁
5. 洗掉命令
先 vi 檔案名,進入改檔案
dd:洗掉游標所在行 (編輯模式);
-
3dd:從游標行開始洗掉3行(編輯模式);
- 1,4d 洗掉第一行到第四行(末行模式),必須有4行才能洗掉;
6. 查找和替換
-
檔案的查找
/parttern 從前往后查找
?parttern 從后往前查找
n: 下一個匹配的字串
N: 上一個匹配的字串
-
文本的替換(末行模式)
startNum,endNums/partter/string/gi
g:全域替換
i:忽略大小寫
%s/f/F/gi
:.,$s/F/f/gi
/關鍵字 按n找下一個
set number 設定行號 或者 set nu
取消行號:set nu!
八、權限管理
1. 用戶管理
1.1 計算資源:(一切皆檔案)
權限:定義資源或服務的訪問能力,稱之為權限
定義某一個特定的人資源或者服務的訪問能力, 用戶
定義一類用戶具有訪問某個資源或服務的能力. 用戶組(存放一些列用戶的容器),同時用戶組還擁有具有訪問某個資源的權限
定義一個資源的權限:
? ① 用戶具有該資源的權限(檔案所有者,屬主)
? ② 用戶組具有該資源的權限(屬組)
? ③ 其他用戶(既不是屬主,也不是屬組)
檔案權限:
r, 可讀 可以執行類似cat命令的操作
w, 可寫 可以編輯或者洗掉此檔案
x 可執行
1.2 添加用戶
創建用戶 :useradd [用戶名]
創建用戶并分配一個組:useradd -G [組名] [用戶名]
查看系統用戶:cat /etc/passwd
1 用戶名
2 用戶的密碼,用x替代
3 用戶的uid,一般情況下root為0,1-499默認為系統賬號,有的更大些到1000,500-65535為用戶的可登錄賬號,有的系統從1000開始,
4 用戶的gid,linux的用戶都會有兩個ID,一個是用戶uid,一個是用戶組id,在我們登錄的時候,輸入用戶名和密碼,其實會先到/etc/passwd查看是否有你輸入的賬號或者用戶名,有的話將該賬號與對應的UID和GID(在/etc/group中)讀出來,然后讀出主檔案夾與shell的設定,然后再去檢驗密碼是否正確,正確的話正常登錄,
5 用戶的賬號說明解釋
6 用戶的家目錄檔案夾
7 用戶使用的shell,如果換成/sbin/nologin/就是默認沒有登錄環境的,
1.3 添加組
查看系統用戶組:cat /etc/group
1.4 修改用戶組屬性
修改用戶組屬性
usermod -G [組名] [用戶名]
1.5 洗掉用戶
洗掉用戶:
-f:強制洗掉用戶,即使用戶已登錄
-r:洗掉與用戶相關的所有檔案,
1.6 修改密碼
passwd 用戶名
切換用戶: su 用戶名
2. 檔案基本權限
2.1 檔案權限解釋
-rw-r–r-- 1 檔案型別(- 檔案 d 目錄 I 軟鏈接檔案)
? ?rw- ??? ????r-- ????????r–
? u所有者 ???? g所屬組 ? ???? o其他人
r讀
w寫
x執行
-rw-r–r--. 1 root root 12288 Aug 22 2019 aliases.db
以上內容代表的含義:
權限的數字表示
| 代碼 | 含義 |
|---|---|
| - | 型別 |
| rw- | 所有者讀寫權限 |
| r- - | 所屬組讀寫權限 |
| r- -. | 其他人讀寫權限 |
| 1 | 硬鏈接次數 |
| root | 所屬用戶 |
| root | 所屬用戶主 |
| 12288 | 檔案大小 |
| Aug 22 2019 | 檔案修改時間 |
| aliases.db | 檔案名 |
2.2 添加權限
chmod [選項] 模式 檔案名
? 選項
?-R ??? 遞回
? 模式
? [guoa] [±=] [rwx]
? [mode=421]
2.3 修改權限的方式
chmod [選項] 模式 檔案名
? [guoa] [±=] [rwx]
g: groud
u: user
o: other
a: all
修改權限的方式:
chmod u+x 檔案
#給當前用戶添加指定檔案的x執行權限
chmod g+w,o+w 檔案
#給該檔案用戶組合其他人添加指定檔案的w寫的權限
chmod a=rwx 檔案
#給該檔案的當前用戶,當前組,其他人 添加rwx可讀可寫可執行的權限
2.4 權限的數字表示
chmod [選項] 模式 檔案名
? [mode=421]
r :4
r-- : 100
w :2
-w- :010
x :1
–x :001
例子:
權限的數字表示
| 數字 | 代表的權限 |
|---|---|
| Harry Potter | Gryffindor |
| Hermione Granger | Gryffindor |
| Draco Malfoy | Slytherin |
111—>7 rwx
110—>6 rw-
100—>4 r–
0 —
1 --x
2 -w-
3 -wx
4 r–
5 r-x
6 rw-
7 rwx
示例:
rwx r-x r-x
7 5 5
chmod 755 檔案
aa.txt —>
擁有者: 可讀可寫 rw- 6
所述組: 可讀寫執行 r-x 5
其他人: 可讀可寫可執行 rwx 7
chmod 657 aa.txt
2.5 其他權限命令
- 修改檔案的所有者
chown 用戶名 檔案名
- 修改檔案的所屬組
chgrp 組名 檔案名
2.6 sudo權限
root把本來只能超級用戶執行的命令賦予普通用戶執行.
sudo的操作物件是系統命令
visudo
#實際修改的是/etc/sudoers檔案
root ALL=(ALL) ALL
#用戶名 被管理主機的地址=(可使用的身份) 授權命令(絕對路徑)
%wheel ALL=(ALL) ALL
#%組名 被管理注解的地址=(可使用身份) 授權命令(絕對路徑)
useradd dafei
passwd admin
dafei ALL = (ALL) /usr/sbin/shutdown
切換到dafei用戶后
使用sudo命令執行shutdown
sudo shutdown -h now
2.7 系統服務管理
systemctl是CentOS7的服務管理工具中主要的工具
啟動服務:systemctl start <服務名>
關閉服務:systemctl stop <服務名>
重啟服務:systemctl restart <服務名>
查看服務狀態:systemctl status <服務名>
添加開機啟動項:systemctl enable <服務名>
禁止開機啟動項:systemctl disable <服務名>
查看開機啟動項:systemctl list-unit-files
2.8 行程查看
用于報告當前系統的行程狀態,可以搭配kill指令隨時中斷、洗掉不必要的程式,
ps -ef 顯示出的結果:
? 1.UID 用戶ID
? 2.PID 行程ID
? 3.PPID 父行程ID
? 4.C CPU占用率
? 5.STIME 開始時間
? 6.TTY 開始此行程的TTY----終端設備
? 7.TIME 此行程運行的總時間
? 8.CMD 命令名
2.9 殺死行程
kill -9 pid
九、網路管理
1. 網路中的基本概念
- 網路的基本概念
? 1)ip地址:在網路通信中主機的識別符號(好比手機號碼);
? 2)mac地址:主機的物理網卡的唯一識別符號(好比身份證號碼);
? 3)子網掩碼:用于區分主機的IP地址中的網路地址和主機地址,并由此確定該主機的IP地址的網段;
? 4)網關:就是一個網路中的主機連接到另一個網路的主機的關口;
? 5)DNS:域名決議服務器,把域名決議成對應的IP地址;
2. 防火墻
centos7的防火墻程式服務名為:firewalld
-
防火墻配置命令:firewall-cmd
-
防火墻幫助:firewall-cmd --help
-
查看防火墻狀態:firewall-cmd --state
-
查看所有打開的埠:firewall-cmd --zone=public --list-ports
-
開啟埠:firewall-cmd --zone=public --add-port=埠號/tcp --permanent(–permanent引數為永久生效,不加則重啟后失效)
firewall-cmd --zone=public --add-port=80/tcp --permanent
-
更新防火墻規則:firewall-cmd --reload
-
洗掉埠:
firewall-cmd --zone=public --remove-port=埠號/tcp --permanent
firewall-cmd --zone=public --remove-port=80/tcp --permanent
-
關閉防火墻
systemctl stop firewalld
systemctl disable firewalld
3. ifcfg-eth解釋
檔案 /etc/sysconfig/network-scripts/ifcfg-eth0在/etc/sysconfig/network-script在這個目錄下面,存放的是網路介面(網卡)的腳本檔案(控制檔案),ifcfg-eth0是默認的第一個網路介面,如果機器中有多網路介面,那么名字就將依此類推ifcfg-eth1,ifcfg-eth2,ifcfg-eth3…(這里面的檔案是相當重要的,涉及到網路能否正常作業),
TYPE=Ethernet #網卡型別
DEVICE=eth0 #網卡介面名稱
ONBOOT=yes #系統啟動時是否自動加載
BOOTPROTO=static #啟用地址協議 --static:靜態協議 --bootp協議 --dhcp協議
IPADDR=192.168.1.11 #網卡IP地址
NETMASK=255.255.255.0 #網卡網路地址
GATEWAY=192.168.1.1 #網卡網關地址
DNS1=8.8.8.8 #網卡DNS地址
BROADCAST=192.168.1.255 #網卡廣播地址
查看ip:
ip addr
TYPE=“Ethernet”
BOOTPROTO=“static”
IPADDR=“192.168.124.130”
NETMASK=“255.255.255.0”
GATEWAY=“192.168.124.2”
DNS1=“8.8.8.8”
BROADCAST=“192.168.124.255”
ONBOOT=“yes”
重啟服務
systemctl restart network
/usr/local/software/project1
總結
上面就是 Linux 常用命令的總結了,代碼僅供參考,歡迎討論交流,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/290428.html
標籤:其他
上一篇:動態記憶體管理【C進階】
