開發(fā)必備Linux常用的幾個命令分享
Linux中一些常用的命令
1.ls/cd/pwd 目錄操作命令,用于查看和切換目錄
1.1 ls
ls 列出當(dāng)前目錄的所有文件
ls -l: 列出文件的詳細信息
ls -a: 列出當(dāng)前目錄的所有文件,包括隱藏文件
1.2 cd
cd /data/logs 切換到data/logs目錄
cd …: 切換到上一級目錄
cd ~: 切換到用戶主目錄
1.3 pwd
pwd 顯示當(dāng)前目錄的絕對路徑
pwd -L: 顯示邏輯路徑,即符號鏈接所指向的實際路徑(默認選項)
pwd -P: 顯示物理路徑,即目錄樹的實際路徑,不追隨任何符號鏈接
2.mkdir/touch/rm/cp/mv 文件操作命令,用于創(chuàng)建、刪除、復(fù)制和移動文件
2.1 mkdir
mkdir [目錄名]: 創(chuàng)建新的目錄
2.2 touch
touch [文件名]: 創(chuàng)建一個空文件
2.3 rm
rm [文件]: 刪除指定的文件
rm -r [目錄]: 遞歸刪除指定的目錄及其內(nèi)容
2.4 cp
cp [源文件] [目標(biāo)文件]: 復(fù)制文件
cp -r [源目錄] [目標(biāo)目錄]: 遞歸復(fù)制目錄
2.5 mv
mv [源文件] [目標(biāo)文件]: 移動/重命名文件
3.cat/less/head/tail - 查看文件內(nèi)容的命令。less可以分頁查看。
3.3 cat 查看文件內(nèi)容
cat [文件]: 從第一行開始顯示文件內(nèi)容
3.4 less 分頁查看文件內(nèi)容
less [文件]: 分頁方式查看文件內(nèi)容
并可以通過以下方式瀏覽內(nèi)容:
- 空格鍵 - 向下翻一頁
- B鍵 - 向上翻一頁
- G鍵 - 跳到文件末尾
- g鍵 - 跳到文件開頭
- /字符串 - 在文檔中向下搜索字符串
- n鍵 - 重復(fù)前一個搜索(與/或?)相關(guān)
- q鍵 - 退出
- u - 向前滾動半屏
- d - 向后滾動半屏
- y - 向前滾動一行
- b - 返回上一屏
3.5 head
head 文件名: 顯示該文件中的前10行內(nèi)容
head -n 20 文件名:顯示該文件中的前20行內(nèi)容
head主要參數(shù):
-n 行數(shù):指定查看前面多少行,默認為10
-c 字節(jié)數(shù):按字節(jié)數(shù)查看文件開頭
-q:隱藏文件名
-v:顯示文件名
3.6 tail
tail 文件名: 顯示該文件中的最后10行內(nèi)容
tail -n 20 文件名:顯示該文件中的最后20行內(nèi)容
tail主要參數(shù):
-n 行數(shù):指定查看倒數(shù)多少行,默認為10
4.grep 在文件內(nèi)搜索匹配指定正則表達式或字符串的內(nèi)容
grep [選項] '字符串' filename grep 'error' /var/log/syslog // 在syslog日志文件中查找包含'error'的匹配行。
grep的常用選項包括:
- i:不區(qū)分大小寫
- -n:顯示匹配行及行號
- -C n:顯示匹配行前后n行上下文
- -v:顯示不包含匹配文本的所有行
- -w:整詞匹配
- -A n:顯示匹配行后n行
- -B n:顯示匹配行前n行
- -r:遞歸搜索目錄中的文件
5.find 強大的文件搜索命令
find [搜索路徑] [選項] find /home -name "*.txt" #在/home目錄下查找所有.txt文件
find有很多實用的選項,常用的包括:-
- -name:按文件名查找
- -size:按文件大小查找
- -type:按文件類型查找(如f表示普通文件)
- -atime/-mtime:按文件訪問/修改時間查找
- -user/-group:按文件屬主/屬組查找
- -exec:對找到的文件執(zhí)行指定命令
- -delete:刪除匹配到的文件
6.tar 打包和壓縮文件的命令
6.1將文件打包
tar -cvf test.tar file1 file2 #打包文件 tar -tvf test.tar #查看打包文件的內(nèi)容
6.2將文件壓縮
tar -zcvf test.tar.gz file1 file2 #壓縮打包 tar -zxvf test.tar.gz #解壓縮
6.3其他常用參數(shù)
- -c:創(chuàng)建打包文件
- -v:顯示運行過程
- -f:指定打包文件名
- -z:gzip壓縮/解壓縮
- -j:bzip2壓縮/解壓縮
- -x:解包或解壓縮
- -t:查看打包文件內(nèi)容
7.vim/nano - Linux下的文本編輯器,用于修改配置文件
7.1 vim
vim 文件名
vim有三種工作模式:
- 普通模式:用于導(dǎo)航和命令輸入,按Esc進入
- 編輯模式:用于文本編輯,按i進入
- 命令行模式:用于保存、退出等操作,按:進入
vim的一些基本使用技巧:
- i - 在光標(biāo)處進入編輯(插入)模式
- h/j/k/l - 左下上右移動光標(biāo)
- :w - 保存文件但不退出vim
- :wq - 保存文件并退出vim
- :q! - 不保存文件強制退出
- dd - 刪除整行
- u - 撤銷上一操作
- /文本 - 搜索文本
vim支持大量快捷鍵組合,可以大大提高文本編輯效率,常用的包括:
- ciw - 更改單詞
- d2w - 刪除2個單詞
- y3j - 復(fù)制3行文字
縮進
7.2 nano
- 打開文件:nano 文件名
- 搜索:Ctrl+W,輸入要搜索的詞
- 定位行數(shù):Ctrl+C顯示光標(biāo)位置
- 剪切文本:Ctrl+K
- 復(fù)制文本:Ctrl+6
- 粘貼文本:Ctrl+U
- 撤銷上步操作:Alt+U
- 保存文件:Ctrl+O
- 退出nano:Ctrl+X
8.ps/kill 查看和殺掉進程的命令
8.1 ps
ps: 顯示出當(dāng)前終端中運行的進程
ps aux: 查看所有進程,可以使用aux參數(shù)
ps命令常用的參數(shù)包括:
-a:顯示所有進程
-u:顯示指定用戶的進程
-x:顯示所有進程,不以終端為區(qū)分
-e:顯示所有進程信息-f:顯示完整信息
-C:根據(jù)命令名顯示進程
ps -C java # 查看java進程
ps輸出中常見的字段含義:
- PID:進程
- IDTTY:終端號
- STAT:進程狀態(tài)
- TIME:占用CPU時間
- COMMAND:進程名稱
8.2 kill
kill PID: 這里的PID是要終止的進程的進程ID。這將向該進程發(fā)送SIGTERM信號,請求終止進程。
kill -9 PID: 使用-9參數(shù)強制終止
kill命令支持發(fā)送多種信號,常用的信號包括:
- SIGTERM (15):請求終止進程
- SIGKILL (9):強制終止進程
- SIGSTOP (17):暫停進程
- SIGCONT (18):繼續(xù)運行停止的進程
9.top/htop 查看系統(tǒng)資源占用情況的命令
9.1 top
top [選項]
top命令在Linux系統(tǒng)中用于實時顯示進程的資源占用情況,相當(dāng)于Windows的任務(wù)管理器。直接在終端運行top命令將進入提示界面,實時顯示所有進程的CPU、內(nèi)存、交換分區(qū)等資源占用情況。
top命令選項:
-b 以批處理模式操作 -c 顯示完整的治命令 -d 屏幕刷新間隔時間 -I 忽略失效過程 -s 保密模式 -S 累積模式 -i<時間> 設(shè)置刷新間隔時間 -u<用戶名> 指定用戶名 -p<進程號> 指定進程 -n<次數(shù)> 循環(huán)顯示的次數(shù)
在top狀態(tài)下常用的快捷鍵:
h 顯示快捷鍵幫助 k 終止一個進程 i 開/關(guān)忽略閑置和僵死進程 q 退出程序 r 重新安排一個進程的優(yōu)先級別 S 切換到累計模式 s 更改刷新間隔時間,單位秒 f,F 從當(dāng)前顯示中添加或者刪除項目 o,O 改變顯示項目的順序 l 切換顯示平均負載和啟動時間信息 m 切換顯示內(nèi)存信息 t 切換顯示進程和CPU狀態(tài)信息 c 切換顯示命令名稱和完整命令行 M 根據(jù)內(nèi)存使用大小排序 P 根據(jù)CPU使用率進行排序 (默認排序) T 根據(jù)時間/累計時間進行排序 w 將當(dāng)前設(shè)置寫入~/.toprc文件中 1 展開多核cpu顯示
top命令顯示的信息字段含義:
top - 系統(tǒng)當(dāng)前時間 up 系統(tǒng)已開機多長時間 user 當(dāng)前用戶數(shù) load average cpu平均負載,三個數(shù)值分別為,1分鐘,5分鐘,15分鐘 Tasks 系統(tǒng)當(dāng)前進程數(shù),total:總進程數(shù),running:正在運行的進程數(shù),sleeping:睡眠的進程數(shù),stopped:停止的進程數(shù),zombie:僵尸進程數(shù) %Cpu(s) cpu使用率,us:用戶使用cpu百分百,sy:系統(tǒng)內(nèi)核使用cpu百分百,id:剩余的cpu百分百 Mem 內(nèi)存使用信息,total:總內(nèi)存大小,free:空閑的內(nèi)存,used:已使用的內(nèi)存,buff/cache:緩存的內(nèi)存大小 Swap 虛擬內(nèi)存信息 PID 進程id USER 進程所有者 PR 優(yōu)先級 NI nice值,負值表示高優(yōu)先級,正值表示低優(yōu)先級 VIRT 進程使用的虛擬內(nèi)存總量 RES 進程使用的物理內(nèi)存大小 SHR 共享內(nèi)存大小 S 進程狀態(tài),D:不可中斷的睡眠狀態(tài),R:運行,S:睡眠,T:跟蹤/停止,Z:僵尸進程 %CPU 進程使用的CPU占用百分比 %MEM 進程使用的物理內(nèi)存百分比 TIME+ 進程使用的CPU時間總計 COMMAND 命令名
9.2 htop 與top類似
- htop相對top有一些提升:
- 界面更加人性化,使用色彩區(qū)分進程狀態(tài),可視化更強
- 支持鼠標(biāo)操作
- 支持樹形進程結(jié)構(gòu),可以展開/折疊進程和子進程
- 支持排序時高亮正在排序的列
- 支持橫向滾動終端瀏覽進程信息
- 支持搜索和過濾進程
htop的一些主要交互鍵:
F1 - 幫助 F2 - 顯示/隱藏進程樹 F3/F4 - 搜索進程 F5/F6 - 排序列 F7/F8 - 增加/減少列 F9 - 終止進程 F10 - 退出htop
10.du/df 查看磁盤空間使用情況的命令
10.1 du
du - 顯示當(dāng)前目錄下的所有文件和子目錄大小 du -h - 以人類可讀的形式顯示大小(GB,MB,KB) du -sh - 顯示當(dāng)前目錄總大小 du -ah - 顯示指定目錄下的所有文件和目錄大小 du -lh - 只顯示總大小的目錄,不顯示文件 du -s * - 顯示當(dāng)前目錄下每個子目錄的總大小
10.2 df
df - 查看所有文件系統(tǒng)的磁盤空間使用情況 df -h - 以可讀格式顯示磁盤空間使用情況 df -H - 顯示所有文件系統(tǒng)的磁盤使用情況,包括臨時掛載的 df -T - 顯示文件系統(tǒng)類型 df -i - 顯示inode使用信息 df -a - 顯示所有的磁盤,包括未掛載的
顯示參數(shù)說明:
文件系統(tǒng)(Filesystem):顯示的文件系統(tǒng)路徑
1K-塊(1K-blocks):文件系統(tǒng)的總大小,以1KB為單位
已用(Used):文件系統(tǒng)已使用的空間
可用(Available):文件系統(tǒng)剩余可用空間
使用%(Use%):已使用空間的百分比
掛載點(Mounted on):文件系統(tǒng)掛載點
常見的文件系統(tǒng)類型包括:
ext4 - Linux最常見的文件系統(tǒng) xfs - 高性能文件系統(tǒng) nfs - 網(wǎng)絡(luò)文件系統(tǒng) vfat - Windows系統(tǒng)常見的文件系統(tǒng) iso9660 - CD/DVD鏡像文件系統(tǒng) tmpfs - 臨時的基于內(nèi)存的文件系統(tǒng) devtmpfs - 設(shè)備 tmpfs 文件系統(tǒng)
11.ping/telnet/curl/wget 網(wǎng)絡(luò)測試和調(diào)用命令
11.1 ping
ping [主機名/IP]: 測試網(wǎng)絡(luò)是否通暢
11.2 telnet
telnet [服務(wù)器] [端口] telnet www.baidu.com 80 #登錄百度的80端口
telnet的一些重要用途包括:
- 測試網(wǎng)絡(luò)連接性
- 調(diào)試客戶端-服務(wù)器通信
- 手工訪問 SMTP、POP3、IMAP 等服務(wù)
- 遠程登錄主機
11.3 curl
curl http://www.example.com #發(fā)送GET請求 curl -d "data=test" http://www.example.com #發(fā)送POST請求 curl -O http://www.example.com/text.txt #下載文件 curl -v http://www.example.com #顯示通信過程
11.4 wget
wget [URL]: 從網(wǎng)絡(luò)下載文件
12.sudo 取得管理員權(quán)限的命令
sudo [命令]: 在命令前加上sudo以管理員權(quán)限執(zhí)行
13.crontab 定時任務(wù)管理命令
crontab的常見用法:
- 編輯crontab任務(wù)
crontab -e
這會打開 crontab 文件進行編輯,允許用戶設(shè)置要定期執(zhí)行的命令。
列出crontab任務(wù)
crontab -l
這將列出當(dāng)前用戶設(shè)置的所有 crontab 任務(wù)。
- 刪除所有crontab任務(wù)
crontab -r
這將刪除當(dāng)前用戶所有的 crontab 任務(wù)。
- crontab文件格式
# 分時日月周命令 * * * * * command
每個星號代表一個時間單位。從左到右分別是:分鐘、小時、日期、月份、周(0-6,0表示周日)例如:
# 每天8點執(zhí)行backup腳本 0 8 * * * /path/to/backup.sh
14.chkconfig 系統(tǒng)服務(wù)管理命令
chkconfig的常用用法如下:
- 查看服務(wù)在不同運行級別下的啟動狀態(tài)
chkconfig --list [服務(wù)名]
- 在指定的運行級別下設(shè)置服務(wù)自動啟動
chkconfig --level [運行級別] [服務(wù)名] on
- 在指定的運行級別下關(guān)閉服務(wù)自動啟動
chkconfig --level [運行級別] [服務(wù)名] off
- 在所有運行級別下設(shè)置服務(wù)自動啟動
chkconfig [服務(wù)名] on
- 在所有運行級別下關(guān)閉服務(wù)自動啟動
chkconfig [服務(wù)名] off
Linux的運行級別包括0至6等,通常3或5為默認級別。
15.iptables 防火墻配置命令
iptables的一些常用用法如下:
- 查看已有iptables規(guī)則
iptables -L
- 打開端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
此規(guī)則允許80端口 TCP數(shù)據(jù)包。
- 封禁IP
iptables -A INPUT -s 192.168.0.1 -j DROP
此規(guī)則禁止來自192.168.0.1的數(shù)據(jù)包。
- 保存規(guī)則
iptables-save > /etc/iptables.rules
保存iptables規(guī)則,重啟后仍有效。
- 刪除所有規(guī)則
iptables -F
16. scp/rsync - 遠程拷貝文件命令
16.1 scp
scp [選項] [源文件] [目標(biāo)路徑]
其中,選項
可以是以下常用的選項之一:
-r
:復(fù)制目錄及其內(nèi)容。-p
:保留原文件的修改時間、訪問時間和權(quán)限。-v
:顯示詳細的傳輸信息。
源文件
為需要傳輸?shù)奈募蚰夸浀穆窂?,可以是本地路徑,也可以是遠程主機上的路徑。遠程路徑的格式為 [user@]host:file
。
目標(biāo)路徑
為傳輸?shù)哪繕?biāo)路徑,可以是本地路徑,也可以是遠程主機上的路徑。
以下是一些示例用法:
- 從本地復(fù)制文件到遠程主機:
scp file.txt user@remote:/path/to/destination
- 從遠程主機復(fù)制文件到本地:
scp user@remote:/path/to/file.txt /path/to/destination
- 復(fù)制目錄及其內(nèi)容:
scp -r directory user@remote:/path/to/destination
16.2 rsync
rsync [選項] 源路徑 目標(biāo)路徑
其中,選項
可以是以下常用的選項之一:
-r
:遞歸同步目錄及其內(nèi)容。-a
:歸檔模式,表示以遞歸方式傳輸文件,并保持文件屬性(例如權(quán)限、所有者等)。-v
:顯示詳細的傳輸信息。-z
:使用壓縮算法進行傳輸,可以減少數(shù)據(jù)傳輸量。--delete
:刪除目標(biāo)路徑上與源路徑不一致的文件。
源路徑
為需要同步的文件或目錄的路徑,可以是本地路徑,也可以是遠程主機上的路徑。遠程路徑的格式為 [user@]host:file
。
目標(biāo)路徑
為同步的目標(biāo)路徑,可以是本地路徑,也可以是遠程主機上的路徑。
以下是一些示例用法:
- 在本地同步文件或目錄:
rsync -avz source/ destination/
- 從本地同步到遠程主機:
rsync -avz source/ user@remote:/path/to/destination/
- 從遠程主機同步到本地:
rsync -avz user@remote:/path/to/source/ destination/
17.chmod 改變文件權(quán)限
chmod [選項] 模式 文件
其中,選項
可以是以下常用的選項之一:
-R
:遞歸地修改目錄及其內(nèi)容的權(quán)限。-v
:顯示修改后的權(quán)限。-c
:僅在發(fā)生更改時顯示提示信息。
以下是一些示例用法:
- 修改文件的權(quán)限為只讀:
chmod 444 file.txt
- 修改文件的權(quán)限為可讀可寫:
chmod u+rw file.txt
- 遞歸地修改目錄及其內(nèi)容的權(quán)限為只有所有者有讀寫執(zhí)行權(quán)限,其他用戶只有讀執(zhí)行權(quán)限:
chmod -R 750 directory/
寫在最后
以上就是開發(fā)必備Liunx常用的幾個命令分享的詳細內(nèi)容,更多關(guān)于Liunx常用命令的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
使用命令行將json數(shù)據(jù)導(dǎo)出到csv(一行命令搞定)
這篇文章主要為大家介紹了使用命令行將json數(shù)據(jù)導(dǎo)出到csv,一行命令搞定的方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01Linux下is not in the sudoers file的解決
當(dāng)我們使用sudo命令切換用戶的時候可能會遇到提示以下錯誤:用戶名 is not in the sudoers file.本文給大家分享原因分析及解決方案,感興趣的朋友跟隨小編一起看看吧2023-02-02Shell腳本實現(xiàn)根據(jù)文件的修改時間來分類文件
這篇文章主要介紹了Shell腳本實現(xiàn)根據(jù)文件的修改時間來分類文件,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下2015-07-07