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硬連結和軟連結》