Linux常用基礎命令

认真的六六發表於2024-08-12

1.1 Linux系統的檔案結構

 1 /bin        二進位制檔案,系統常規命令
 2 /boot       系統啟動分割槽,系統啟動時讀取的檔案
 3 /dev        裝置檔案
 4 /etc        大多數配置檔案
 5 /home       普通使用者的家目錄
 6 /lib        32位函式庫
 7 /lib64      64位庫
 8 /media      手動臨時掛載點
 9 /mnt        手動臨時掛載點
10 /opt        第三方軟體安裝位置
11 /proc       程序資訊及硬體資訊
12 /root       臨時裝置的預設掛載點
13 /sbin       系統管理命令
14 /srv        資料
15 /var        資料
16 /sys        核心相關資訊
17 /tmp        臨時檔案
18 /usr        使用者相關設定

1.2 Linux系統命令列的含義

1 示例:root@app00:~# 
2 root    //使用者名稱,root為超級使用者
3 @       //分隔符
4 app00   //主機名稱
5 ~       //當前所在目錄,預設使用者目錄為~,會隨著目錄切換而變化,例如:(root@app00:/bin# ,當前位置在bin目錄下)
6 #       //表示當前使用者是超級使用者,普通使用者為$,例如:("yao@app00:/root$" ,表示使用使用者"yao"訪問/root資料夾)

1.3 命令的組成

  示例:命令 引數名 引數值

二、基礎操作

2.1 關閉系統

1 (1)立刻關機
2   shutdown -h now 或者 poweroff
3 (2)兩分鐘後關機
4   shutdown -h 2

2.2 關閉重啟

1 (1)立刻重啟
2   shutdown -r now 或者 reboot
3 (2)兩分鐘後重啟
4   shutdown -r 2 

2.3 幫助命令(help)

1   ifconfig  --help     //檢視 ifconfig 命令的用法

2.4 命令說明書(man)

1   man shutdown         //開啟命令說明後,可按"q"鍵退出

2.5 切換使用者(su)

1   su yao               //切換為使用者"yao",輸入後回車需要輸入該使用者的密碼
2   exit                 //退出當前使用者

三、目錄操作

3.1 切換目錄(cd)

1   cd /                 //切換到根目錄
2   cd /bin              //切換到根目錄下的bin目錄
3   cd ../               //切換到上一級目錄 或者使用命令:cd ..
4   cd ~                 //切換到home目錄
5   cd -                 //切換到上次訪問的目錄
6   cd xx(資料夾名)       //切換到本目錄下的名為xx的檔案目錄,如果目錄不存在報錯
7   cd /xxx/xx/x         //可以輸入完整的路徑,直接切換到目標目錄,輸入過程中可以使用tab鍵快速補全

3.2 檢視目錄(ls)

1   ls                   //檢視當前目錄下的所有目錄和檔案
2   ls -a                //檢視當前目錄下的所有目錄和檔案(包括隱藏的檔案)
3   ls -l                //列表檢視當前目錄下的所有目錄和檔案(列表檢視,顯示更多資訊),與命令"ll"效果一樣
4   ls /bin              //檢視指定目錄下的所有目錄和檔案 

3.3 建立目錄(mkdir)

1   mkdir tools          //在當前目錄下建立一個名為tools的目錄
2   mkdir /bin/tools     //在指定目錄下建立一個名為tools的目錄

3.3 刪除目錄與檔案(rm)

1   rm 檔名              //刪除當前目錄下的檔案
2   rm -f 檔名           //刪除當前目錄的的檔案(不詢問)
3   rm -r 資料夾名         //遞迴刪除當前目錄下此名的目錄
4   rm -rf 資料夾名        //遞迴刪除當前目錄下此名的目錄(不詢問)
5   rm -rf *              //將當前目錄下的所有目錄和檔案全部刪除
6   rm -rf /*             //將根目錄下的所有檔案全部刪除【慎用!相當於格式化系統】

3.4 修改目錄(mv)

1   mv 當前目錄名 新目錄名        //修改目錄名,同樣適用與檔案操作
2   mv /usr/tmp/tool /opt       //將/usr/tmp目錄下的tool目錄剪下到 /opt目錄下面
3   mv -r /usr/tmp/tool /opt    //遞迴剪下目錄中所有檔案和資料夾

3.5 複製目錄(cp)

1   cp /usr/tmp/tool /opt       //將/usr/tmp目錄下的tool目錄複製到 /opt目錄下面
2   cp -r /usr/tmp/tool /opt    //遞迴剪複製目錄中所有檔案和資料夾

3.6 搜尋目錄(find)

1   find /bin -name 'a*'        //查詢/bin目錄下的所有以a開頭的檔案或者目錄

3.7 檢視當前目錄(pwd)

1   pwd                         //顯示當前位置路徑

四、檔案操作

4.1 新增檔案(touch)

1    touch  a.txt         //在當前目錄下建立名為a的txt檔案(檔案不存在),如果檔案存在,將檔案時間屬性修改為當前系統時間

4.2 刪除檔案(rm)

1   rm 檔名              //刪除當前目錄下的檔案
2   rm -f 檔名           //刪除當前目錄的的檔案(不詢問)

4.3 編輯檔案(vi、vim)

 1   vi 檔名              //開啟需要編輯的檔案
 2   --進入後,操作介面有三種模式:命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)
 3   命令模式
 4   -剛進入檔案就是命令模式,透過方向鍵控制游標位置,
 5   -使用命令"dd"刪除當前整行
 6   -使用命令"/欄位"進行查詢
 7   -按"i"在游標所在字元前開始插入
 8   -按"a"在游標所在字元後開始插入
 9   -按"o"在游標所在行的下面另起一新行插入
10   -按""進入底行模式
11   插入模式
12   -此時可以對檔案內容進行編輯,左下角會顯示 "-- 插入 --""
13   -按"ESC"進入底行模式
14   底行模式
15   -退出編輯:      :q
16   -強制退出:      :q!
17   -儲存並退出:    :wq
18   ## 操作步驟示例 ##
19   1.儲存檔案:按"ESC" -> 輸入":" -> 輸入"wq",回車     //儲存並退出編輯
20   2.取消操作:按"ESC" -> 輸入":" -> 輸入"q!",回車     //撤銷本次修改並退出編輯
21   ## 補充 ##
22   vim +10 filename.txt                   //開啟檔案並跳到第10行
23   vim -R /etc/passwd                     //以只讀模式開啟檔案

4.4 檢視檔案

1   cat a.txt          //檢視檔案最後一屏內容
2   less a.txt         //PgUp向上翻頁,PgDn向下翻頁,"q"退出檢視
3   more a.txt         //顯示百分比,回車檢視下一行,空格檢視下一頁,"q"退出檢視
4   tail -100 a.txt    //檢視檔案的後100行,"Ctrl+C"退出檢視

五、檔案許可權

5.1 許可權說明

1   檔案許可權簡介:'r' 代表可讀(4),'w' 代表可寫(2),'x' 代表執行許可權(1),括號內代表"8421法"
2   ##檔案許可權資訊示例:-rwxrw-r--
3   -第一位:'-'就代表是檔案,'d'代表是資料夾
4   -第一組三位:擁有者的許可權
5   -第二組三位:擁有者所在的組,組員的許可權
6   -第三組三位:代表的是其他使用者的許可權

5.2 檔案許可權

1   普通授權    chmod +x a.txt    
2   8421法     chmod 777 a.txt     //1+2+4=7,"7"說明授予所有許可權

六、打包與解壓

6.1 說明

1   .zip、.rar        //windows系統中壓縮檔案的副檔名
2   .tar              //Linux中打包檔案的副檔名
3   .gz               //Linux中壓縮檔案的副檔名
4   .tar.gz           //Linux中打包並壓縮檔案的副檔名

6.2 打包檔案

1   tar -zcvf 打包壓縮後的檔名 要打包的檔案
2   引數說明:z:呼叫gzip壓縮命令進行壓縮; c:打包檔案; v:顯示執行過程; f:指定檔名;
3   示例:
4   tar -zcvf a.tar file1 file2,...      //多個檔案壓縮打包

6.3 解壓檔案

1   tar -zxvf a.tar                      //解包至當前目錄
2   tar -zxvf a.tar -C /usr------        //指定解壓的位置
3   unzip test.zip             //解壓*.zip檔案 
4   unzip -l test.zip          //檢視*.zip檔案的內容 

七、其他常用命令

 1 1.find
 2   find . -name "*.c"     //將目前目錄及其子目錄下所有延伸檔名是 c 的檔案列出來
 3   find . -type f         //將目前目錄其其下子目錄中所有一般檔案列出
 4   find . -ctime -20      //將目前目錄及其子目錄下所有最近 20 天內更新過的檔案列出
 5   find /var/log -type f -mtime +7 -ok rm {} \;     //查詢/var/log目錄中更改時間在7日以前的普通檔案,並在刪除之前詢問它們
 6   find . -type f -perm 644 -exec ls -l {} \;       //查詢前目錄中檔案屬主具有讀、寫許可權,並且檔案所屬組的使用者和其他使用者具有讀許可權的檔案
 7   find / -type f -size 0 -exec ls -l {} \;         //為了查詢系統中所有檔案長度為0的普通檔案,並列出它們的完整路徑
 8 
 9 2.
10   whereis ls             //將和ls檔案相關的檔案都查詢出來
11 
12 3.  說明:which指令會在環境變數$PATH設定的目錄裡查詢符合條件的檔案。
13   which bash             //檢視指令"bash"的絕對路徑
14 
15 4.  說明:sudo命令以系統管理者的身份執行指令,也就是說,經由 sudo 所執行的指令就好像是 root 親自執行。需要輸入自己賬戶密碼。
16   使用許可權:在 /etc/sudoers 中有出現的使用者
17   sudo -l                              //列出目前的許可權
18   $ sudo -u yao vi ~www/index.html    //以 yao 使用者身份編輯  home 目錄下www目錄中的 index.html 檔案
19 
20 5.  grep -i "the" demo_file              //在檔案中查詢字串(不區分大小寫)
21   grep -A 3 -i "example" demo_text     //輸出成功匹配的行,以及該行之後的三行
22   grep -r "ramesh" *                   //在一個資料夾中遞迴查詢包含指定字串的檔案
23 
24 6.  說明:service命令用於執行System V init指令碼,這些指令碼一般位於/etc/init.d檔案下,這個命令可以直接執行這個資料夾裡面的指令碼,而不用加上路徑
25   service ssh status      //檢視服務狀態 
26   service --status-all    //檢視所有服務狀態 
27   service ssh restart     //重啟服務 
28 
29 7.  說明:這個命令用於顯示系統當前記憶體的使用情況,包括已用記憶體、可用記憶體和交換記憶體的情況 
30   free -g            //以G為單位輸出記憶體的使用量,-g為GB,-m為MB,-k為KB,-b為位元組 
31   free -t            //檢視所有記憶體的彙總
32 
33 8.  top               //顯示當前系統中佔用資源最多的一些程序, shift+m 按照記憶體大小檢視
34 
35 9.  mount /dev/sdb1 /u01              //掛載一個檔案系統,需要先建立一個目錄,然後將這個檔案系統掛載到這個目錄上
36   dev/sdb1 /u01 ext2 defaults 0 2   //新增到fstab中進行自動掛載,這樣任何時候系統重啟的時候,檔案系統都會被載入 
37 
38 10.  yum說明:安裝外掛命令
39   yum install httpd      //使用yum安裝apache 
40   yum update httpd       //更新apache 
41   yum remove httpd       //解除安裝/刪除apache 
42 
43 11.  rpm說明:外掛安裝命令
44   rpm -ivh httpd-2.2.3-22.0.1.el5.i386.rpm      //使用rpm檔案安裝apache 
45   rpm -uvh httpd-2.2.3-22.0.1.el5.i386.rpm      //使用rpm更新apache 
46   rpm -ev httpd                                 //解除安裝/刪除apache 
47 
48 12.  說明:使用wget從網上下載軟體、音樂、影片 
49   示例:wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz
50   //下載檔案並以指定的檔名儲存檔案
51   wget -O nagios.tar.gz http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz
52 
53 13.   ftp IP/hostname    //訪問ftp伺服器
54    mls *.html -       //顯示遠端主機上檔案列表
55 
56 14.    scp----scp /opt/data.txt  192.168.1.101:/opt/    //將本地opt目錄下的data檔案傳送到192.168.1.101伺服器的opt目錄下

八、系統管理

8.1 防火牆操作

 1   service iptables status      //檢視iptables服務的狀態
 2   service iptables start       //開啟iptables服務
 3   service iptables stop        //停止iptables服務
 4   service iptables restart     //重啟iptables服務
 5   chkconfig iptables off       //關閉iptables服務的開機自啟動
 6   chkconfig iptables on        //開啟iptables服務的開機自啟動
 7   ##centos7 防火牆操作
 8   systemctl status firewalld.service     //檢視防火牆狀態
 9   systemctl stop firewalld.service       //關閉執行的防火牆
10   systemctl disable firewalld.service    //永久禁止防火牆服務

8.2 修改主機名(CentOS 7)

1   hostnamectl set-hostname 主機名

8.3 檢視網路

1   ifconfig

8.4 修改IP

 1   修改網路配置檔案,檔案地址:/etc/sysconfig/network-scripts/ifcfg-eth0
 2   ------------------------------------------------
 3   主要修改以下配置:  
 4   TYPE=Ethernet               //網路型別
 5   BOOTPROTO=static            //靜態IP
 6   DEVICE=ens00                //網路卡名
 7   IPADDR=192.168.1.100        //設定的IP
 8   NETMASK=255.255.255.0       //子網掩碼
 9   GATEWAY=192.168.1.1         //閘道器
10   DNS1=192.168.1.1            //DNS
11   DNS2=8.8.8.8                //備用DNS
12   ONBOOT=yes                  //系統啟動時啟動此設定
13   -------------------------------------------------
14   修改儲存以後使用命令重啟網路卡:service network restart

8.5 配置對映

1   修改檔案: vi /etc/hosts
2   在檔案最後新增對映地址,示例如下:
3    192.168.1.101  node1
4    192.168.1.102  node2
5    192.168.1.103  node3
6   配置好以後儲存退出,輸入命令:ping node1 ,可見實際 ping 的是 192.168.1.101。

8.6 檢視程序

1   ps -ef         //檢視所有正在執行的程序

8.7 結束程序

1   kill pid       //殺死該pid的程序
2   kill -9 pid    //強制殺死該程序   

8.8 檢視連結

1   ping IP        //檢視與此IP地址的連線情況
2   netstat -an    //檢視當前系統埠
3   netstat -an | grep 8080     //檢視指定埠

8.9 快速清屏

1   ctrl+l        //清屏,往上翻可以檢視歷史操作

8.10 遠端主機

  ssh IP       //遠端主機,需要輸入使用者名稱和密碼

相關文章