linux常用的命令(centos命令大全及用法)

一、基礎知識

1.1 Linux系統命令列的含義

示例:dev@DESKTOP-GD47KA1:~$

dev:使用者名稱,如果是root表示超級使用者

@:分隔符

DESKTOP-GD47KA1:主機名稱

~:當前所在目錄,預設使用者目錄為~,會隨著目錄切換而變化

$:表示當前使用者是普通使用者,如果是#,表示當前是超級使用者

dev@DESKTOP-GD47KA1:/mnt$

表示使用者"dev"訪問/mnt目錄

1.2 Linux系統的檔案結構

/bin 二進位制檔案,系統常規命令

/boot 系統啟動分割槽,系統啟動時讀取的檔案
       /dev 裝置檔案
       /etc 大多數配置檔案
       /home 普通使用者的家目錄
       /lib 32位函式庫
       /lib64 64位庫
       /media 手動臨時掛載點
       /mnt 手動臨時掛載點
       /opt 第三方軟體安裝位置
       /proc 程序資訊及硬體資訊
       /root 臨時裝置的預設掛載點
       /sbin 系統管理命令
       /srv 資料
       /var 資料
       /sys 核心相關資訊
       /tmp 臨時檔案
       /usr 使用者相關設定

1.3 Linux系統命令的組成

示例:命令 引數名 引數值

二、基礎操作

2.1 立刻關機

(1) 立刻關機

shutdown -h now 或者 poweroff

(2) 兩分鐘後關機

shutdown -h 2

2.2 重啟系統

(1) 立刻重啟

shutdown -r now 或者 reboot

(2) 兩分鐘後重啟

shutdown -r 2

2.3 幫助命令(help)

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

2.4 命令說明書(man)

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

2.5 切換使用者

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

三、目錄操作

3.1 切換目錄(cd)

cd / // 切換到根目錄

cd ../ // 切換到上一級目錄

cd ../xx/ // 切換到根目錄下的bin目錄

cd ~ // 切換到home目錄

cd - // 切換到上次訪問的目錄

cd xx // 切換到本目錄下名為xx的目錄,如果目錄不存在報錯

cd /xx/xx/x // 輸入完整的路徑直接切換到目標目錄,輸入過程中可以使用tab鍵快速補全

3.2 檢視目錄(ls)

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

3.3 建立目錄(mkdir)

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

3.4 刪除目錄與檔案(rm)

rm 檔名 // 刪除當前目錄下的檔案
       rm -f 檔名 // 刪除當前目錄的的檔案(不詢問)
       rm -r 目錄名 // 遞迴刪除當前目錄下此名的目錄
       rm -rf 目錄名 // 遞迴刪除當前目錄下此名的目錄(不詢問)
       rm -rf * // 將當前目錄下的所有目錄和檔案全部刪除

3.5 修改目錄(mv)

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

3.6 拷貝目錄(cp)

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

3.7 搜尋目錄(cp)

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

3.8 檢視當前目錄(pwd)

pwd // 顯示當前位置路徑

四、檔案操作

4.1 新建檔案(touch)

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

4.2 刪除檔案(rm)

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

4.3 編輯檔案(vi、vim)

vi 檔名 // 開啟需要編輯的檔案

vim 檔名 // 開啟需要編輯的檔案

進入後,操作介面有三種模式:

命令模式(command mode)

1. 剛進入檔案就是命令模式,通過方向鍵控制游標位置
       2. 使用命令"dd"刪除當前整行
       3. 使用命令"/欄位"進行查詢
       4. 按"i"在游標所在字元前開始插入
       5. 按"a"在游標所在字元後開始插入
       6. 按"o"在游標所在行的下面另起一新行插入
       7. 按":"進入底行模式

插入模式(Insert mode)

3. 此時可以對檔案內容進行編輯,左下角會顯示 "-- 插入 --""
       2. 按"ESC"進入底行模式

底行模式(last line mode)

1. 退出編輯:q
       2. 強制退出:q!
       3. 儲存並退出:wq

具體操作步驟:

1. 儲存檔案:按"ESC" -> 輸入":" -> 輸入"wq",回車 // 儲存並退出編輯
       2. 取消操作:按"ESC" -> 輸入":" -> 輸入"q!",回車 // 撤銷本次修改並退出編輯

補充 :

vim 10 filename.txt // 開啟檔案並跳到第10行
       vim -R /etc/passwd // 以只讀模式開啟檔案

4.4 檢視檔案

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

五、檔案許可權

5.1 許可權說明

檔案許可權簡介:'r' 代表可讀, 'w' 代表可寫, 'x' 代表可執行

"8421法",r = 4,w = 2,x = 1,rwx = 0111 = 7

檔案許可權資訊示例:-rwxrwxrwx

第一位:'-' 代表是檔案,'d' 表是目錄
       第一組rwx:擁有者的許可權
       第二組rwx:擁有者所在的組,組員的許可權
       第三組rwx:代表的是其他使用者的許可權

5.2 檔案許可權

chmod 777 a.txt // 777即代表三組rwx,7

六、打包壓縮與解壓

6.1 字尾說明

.zip、.rar // windows系統中壓縮檔案的副檔名

.tar // Linux中打包檔案的副檔名

.gz // Linux中壓縮檔案的副檔名

.tar.gz // Linux中打包並壓縮檔案的副檔名

6.2 打包檔案

tar -zcvf 打包壓縮後的檔名 要打包的檔名

引數說明:

z:呼叫gzip壓縮命令進行壓縮

c:打包檔案

v:顯示執行過程

f:指定檔名
   示例:

tar -zcvf 1.tar file1 // 將file1檔案打包成名為1.tar的壓縮檔案

tar -zcvf 1.tar file1 file2 ... // 多個檔案壓縮打包

6.3 解壓檔案

tar -zxvf 1.tar // 解壓至當前目錄

tar -zxvf 1.tar -C /usr // 指定解壓的位置/user

unzip 1.zip // 解壓1.zip檔案

unzip -l 1.zip // 檢視1.zip檔案的內容

七、其它常用命令

7.1 find

find . -name "*.c" // 將目前目錄及其子目錄所有字尾為.c的檔案列出來

find . -type f // 將目前目錄其其下子目錄中所有一半檔案列出來

find . -ctime -20 // 將目前目錄及其子目錄下所有最近20 天內更新過的檔案列出來

find /var/log -type f -mtime 7 -ok rm {} /

// 查詢/var/log目錄中更改時間在7日以前的普通檔案,並刪除之前詢問它們

find / -type f -size 0 -exec ls -l {} /

// 為了查詢系統中所有檔案長度為0的普通檔案,並列出它們的完整路徑

find . -type f -perm 644 -exec ls -l {} /

// 查詢前目錄中檔案屬主具有讀、寫許可權,並且檔案所屬組的使用者和其他使用者具有讀許可權的檔案

7.2 whereis

whereis ls // 將和ls檔案相關的檔案都查詢出來

7.3 which

說明:which指令會在環境變數$PATH設定的目錄裡查詢符合條件的檔案。

which bash // 檢視指令"bash"的絕對路徑

7.4 sudo

說明:sudo是表示超級使用者,sudo命令以系統管理者的身份執行指令,需要輸入自己賬戶密碼。

sudo vim 1.txt // 使用超級使用者的身份編輯1.txt檔案

7.5 grep

grep -i "the" demo_file

// 在檔案中查詢字串(不區分大小寫)

grep -A 3 -i "example" demo_text

// 輸出成功匹配的行,以及該行之後的三行

grep -r "ramesh" *

// 在一個資料夾中遞迴查詢包含指定字串的檔案

7.6 service

說明:service命令用於執行System V init指令碼,這些指令碼一般位於/etc/init.d檔案下,這個命令可以直接執行這個資料夾裡面的指令碼,而不用加上路徑。

service ssh status // 檢視服務狀態

service --status-all // 檢視所有服務狀態

service ssh restart // 重啟服務

7.7 free

說明:這個命令用於顯示系統當前記憶體的使用情況,包括已用記憶體、可用記憶體和交換記憶體的情況。

free -g // 以G為單位輸出記憶體的使用量,-g為GB,-m為MB,-k為KB,-b為位元組

free -t // 檢視所有記憶體的彙總

7.8 top

top // 顯示當前系統中佔用資源最多的一些程序, shift m按照記憶體大小檢視

7.9 df

說明:顯示檔案系統的磁碟使用情況

df -h // 一種易看的顯示

7.10 mount

mount /dev/sdb1 /u01

// 掛載一個檔案系統,需要先建立一個目錄,然後將這個檔案系 統掛載到這個目錄上

dev/sdb1 /u01 ext2 defaults 0 2

// 新增到fstab中進行自動掛載,這樣任何時候系統重啟的時 候,檔案系統都會被載入

7.11 uname

說明:uname可以顯示一些重要的系統資訊,例如核心名稱、主機名、核心版本號、處理器型別之類的資訊。

uname -a

7.12 yum

說明:安裝外掛命令。

yum install httpd // 使用yum安裝apache

yum update httpd // 更新apache

yum remove httpd // 解除安裝/刪除apache

7.13 rpm

說明:外掛安裝命令。

rpm -ivh httpd-2.2.3-22.0.1.el5.i386.rpm

//使用rpm檔案安裝apache

rpm -uvh httpd-2.2.3-22.0.1.el5.i386.rpm

// 使用rpm更新apache

rpm -ev httpd // 解除安裝/刪除apache

7.14 date

date -s "01/31/2010 23:59:53" // 設定系統時間

7.15 wget

說明:使用wget從網上下載軟體、音樂、視訊。

wget http://download.redis.io/releases/redis-3.2.10.tar.gz

// wget命令下載redis-3.2.10.tar.gz

wget -O redis.tar.gz http://download.redis.io/releases/redis-3.2.10.tar.gz

// wget命令下載redis-3.2.10.tar.gz並命名為redis.tar.gz

7.16 ftp

ftp IP/hostname // 訪問ftp伺服器

mls *.html - // 顯示遠端主機上檔案列表

7.17 scp

scp /opt/1.txt 192.168.1.66:/opt/

// 將本地opt目錄下的1.txt檔案傳送到192.168.1.66伺服器的opt目錄下

八、系統管理

8.1 防火牆操作

service iptables status // 檢視iptables服務的狀態

service iptables start // 開啟iptables服務

service iptables stop // 停止iptables服務

service iptables restart // 重啟iptables服務

chkconfig iptables off // 關閉iptables服務的開機自啟動

chkconfig iptables on // 開啟iptables服務的開機自啟動

8.2 檢視網路

ifconfig

8.3 修改IP

修改網路配置檔案,檔案地址:
   /etc/sysconfig/network-scripts/ifcfg-eth0

主要修改以下配置:

TYPE=Ethernet // 網路型別

BOOTPROTO=static // 靜態IP

DEVICE=ens00 // 網絡卡名

IPADDR=192.168.1.100 // 設定的IP

NETMASK=255.255.255.0 // 子網掩碼

GATEWAY=192.168.1.1 // 閘道器

DNS1=192.168.1.1 // DNS

DNS2=8.8.8.8 // 備用DNS

ONBOOT=yes // 系統啟動時啟動此設定

修改儲存以後使用命令重啟網絡卡:service network restart

8.4 配置對映

修改檔案:vi /etc/hosts
   在檔案最後新增對映地址,示例如下:

192.168.1.66 ip1

192.168.1.67 ip2

192.168.1.68 ip3

配置好儲存退出,輸入命令:ping ip1可見實際ping的是 192.168.1.101。

8.5 檢視程序

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

8.6 結束程序

kill pid // 殺死該pid的程序

kill -9 pid // 制殺死該程序

8.7 檢視連結

ping IP // 檢視與此IP地址的連線情況

netstat -an // 檢視當前系統埠

netstat -an | grep 8080 // 檢視指定埠

8.8 快速清屏

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

8.9 遠端主機

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

覺得文章不錯,收藏的同時,麻煩點個贊~~~~~

關注微信公眾號『混說Linux

你也可以繼續閱讀 點選 以下文章,下面是我推薦給大家的幾篇文章:

1.《竟然把通訊協議講的如此通俗?

2.《徹底明白Linux硬連結和軟連結

3.《淺析Makefile、make、cmake

4.《常見硬體通訊(SPI、I2C、CAN、USB、UART)協議介紹