手机看片精品高清国产日韩,色先锋资源综合网,国产哺乳奶水91在线播放,乱伦小说亚洲色图欧洲电影

幫助中心 >  行業(yè)資訊 >  云計(jì)算 >  Linux系統(tǒng)常用命令用法詳解

Linux系統(tǒng)常用命令用法詳解

2025-03-18 09:40:23 2755

在 2025 年的 Linux 運(yùn)維領(lǐng)域,容器化技術(shù)雖已普及,但掌握核心 Linux 命令仍是開發(fā)者的必備技能。本文結(jié)合藍(lán)隊(duì)云工程師的實(shí)戰(zhàn)經(jīng)驗(yàn),系統(tǒng)梳理了文本管理、搜索查找、內(nèi)存監(jiān)控、磁盤管理及 MySQL 操作等 7 大類高頻命令,涵蓋 cat/tail 高效查看日志、find 正則精準(zhǔn)搜索、grep 文本過濾、free/top 實(shí)時(shí)監(jiān)控等場(chǎng)景,幫助大家在開發(fā)與運(yùn)維中實(shí)現(xiàn)降本增效。

  一、前言

作為開發(fā)人員及運(yùn)維人員,在日常開發(fā)、運(yùn)維過程中經(jīng)常用到Linux系統(tǒng),熟練掌握一些基本的Linux命令,對(duì)于提升工作效率、高效工作很有必要(雖然目前容器化技術(shù)日益普及,可能并不一定需要直接操作Linux)。這篇文章結(jié)合藍(lán)隊(duì)云技術(shù)人員的工作經(jīng)驗(yàn)及之前整理的筆記,專門對(duì)Linux系統(tǒng)使用過程中日常開發(fā)、維護(hù)經(jīng)常用到的命令作一總結(jié)。


二、文本管理命令

查看文件內(nèi)容

1、cat,用法為:

cat 文件名

2、tail

動(dòng)態(tài)打印文件末尾的100行內(nèi)容,在Linux系統(tǒng)中查看實(shí)時(shí)日志時(shí)常用到該命令。

tail -100f 文件名


三、搜索/查找命令


1、find

查找命令。一些常見的用法如下。

示例1:Linux中刪除指定目錄下中包含log的所有文件,排除bbbbb-2021-06-30-17.log這個(gè)文件,然后刪除找到的文件


find /export/xxx/aaa/ -name '*log*'| grep -v bbbbb-2021-06-30-17.log |xargs sudo rm -rf


find /export/xxxx/ -name '*log*'| grep -v test-2021-06-26-11.log |grep -v /export/xxxx/logs |xargs sudo rm -rf


示例2:

輸入:

find ./libs/ -name \\\\\\\\*kafka_\\\\\\\\* | head -1 | grep -o '\\\\\\\\kafka[^\\\\\\\\n]*'

輸出結(jié)果:kafka_2.12-1.0.0-javadoc.jar.asc

find dir -name 


就是在dir目錄下根據(jù)名稱去查找,這地方使用的是\\\\\\\\ 也是 “kafka_”,就是中間包含關(guān)鍵字的名稱文件,然后管道之后是head -n,就是顯示查詢結(jié)果的前n行,之后再管道,再grep -o,就是 — 只輸出匹配的具體字符串,匹配行中其他內(nèi)容不會(huì)輸出,比如沒有這個(gè)grep -o的結(jié)果如下:

find ./libs/ -name "*kafka_*" |head -3./libs/kafka_2.12-1.0.0-javadoc.jar.asc./libs/kafka_2.12-1.0.0-test-sources.jar.asc./libs/kafka_2.12-1.0.0-test.jar


示例3:模糊搜索

find /usr/local/nginx/logs/access/host/ -name '*.access.log.log'|xargs rm -rf

以上命令表示模糊搜索/usr/local/nginx/logs/access/host/目錄下文件名中包含access.log.log的所有文件:find /usr/local/nginx/logs/access/host/ -name '*.access.log.log'

查找文件名中包含某字符(如"elm")的文件:


find /home/lijiajia/ -name '*elm*'
find /home/lijiajia/ -name 'elm*'

find /home/lijiajia/ -name '*elm'


示例4:正則表達(dá)式:注意:. 表示普通字符,并不是java正則表達(dá)式中的任意字符。

sudo find ./ -name "*.log.*" -type f | xargs sudo rm -rf

sudo find ./ -name "*.log" -type f | xargs sudo rm -rf


示例5:

find /tmp -name core -type f -print | xargs /bin/rm -f
find /tmp -name core -type f -print0 | xargs -0 /bin/rm -f
find . -type f -exec file '{}' \\\\\\\\;
find $HOME -mtime 0

find /usr/local/src/all2 -name aaa.txt -type f -print | xargs /bin/cat


以上命令表示將find命令的搜索結(jié)果作為后面命令的輸入


示例6:

find / -name docker.service -type f


示例7:

查找指定目錄下含有指定詞的文件

find /export/mulu/ -name "*screen*.jar" -print


在/dir目錄及其子目錄下面查找名字為filename的文件

find /dir -name filename


在當(dāng)前目錄及其子目錄(用“.”表示)中查找任何擴(kuò)展名為“c”的文件

find . -name "*.c"


在 etc 目錄下,查找大寫字母開頭的 txt 文件

find /etc -name "[A-Z]*.txt" -print


在當(dāng)前目錄下查找不是 out 開頭的 txt 文件

find . -name "out*" -prune -o -name "*.txt" -print


在當(dāng)前目錄除 git 子目錄外查找 txt 文件

find . -path "./git" -prune -o -name "*.txt" -print找出某個(gè)文件的所有硬鏈接,ls 命令 -i 選項(xiàng)可以查看文件的inode號(hào)


ls -i 1.txt # 138956 1.txt


find . -num 138956

搜索文件時(shí)使用 -iname 參數(shù)可以忽略文件名稱大小寫

2、locate命令

1)功能介紹

locate命令其實(shí)是“find -name”的另一種寫法,但是要比后者快得多,原因在于它不搜索具體目錄,而是搜索一個(gè)數(shù)據(jù)庫(kù)(/var/lib/locatedb),這個(gè)數(shù)據(jù)庫(kù)中含有本地所有文件信息。Linux系統(tǒng)自動(dòng)創(chuàng)建這個(gè)數(shù)據(jù)庫(kù),并且每天自動(dòng)更新一次,所以使用locate命令查不到最新變動(dòng)過的文件。為了避免這種情況,可以在使用locate之前,先使用updatedb命令,手動(dòng)更新數(shù)據(jù)庫(kù)。


2)使用實(shí)例


搜索etc目錄下所有以sh開頭的文件:

locate /etc/sh


搜索用戶主目錄下,所有以m開頭的文件,并且忽略大小寫:

locate -i ~/m





四、文本搜索命令grep



grep應(yīng)用示例:

ls -l | grep '^a'



通過管道過濾ls-l輸出的內(nèi)容,只顯示以a開頭的行。

grep 'test' d*


顯示所有以d開頭的文件中包含test的行。

grep 'test' aa bb cc


顯示在aa,bb,cc文件中匹配test的行。

grep '[a-z]' aa 


顯示所有包含每個(gè)字符串至少有5個(gè)連續(xù)小寫字符的字符串的行。

grep 'w(es)t.*' aa 


如果west被匹配,則es就被存儲(chǔ)到內(nèi)存中,并標(biāo)記為1,然后搜索任意個(gè)字符(.),這些字符后面緊跟著另外一個(gè)es(),找到就顯示該行。如果用egrep或grep-E,就不用""號(hào)進(jìn)行轉(zhuǎn)義,直接寫成’w(es)t.'就可以了。


grep -i pattern files


不區(qū)分大小寫的搜索。默認(rèn)情況區(qū)分大小寫

grep -l pattern files


只列出匹配的文件名

grep -L pattern files


列出不匹配的文件名

grep -w pattern files 


只匹配整個(gè)單詞,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’)

grep -C number pattern files


匹配的上下文分別顯示[number]行

grep pattern1 | pattern2 files


顯示匹配pattern1或pattern2的行

grep pattern1 files | grep pattern2 


顯示既匹配pattern1又匹配pattern2的


五、內(nèi)存查看命令

在Linux系統(tǒng)中常用的查看內(nèi)存信息的命令有top、free。

1、top

2、free,每隔2秒顯示一次當(dāng)前內(nèi)存信息。


free -h -s 2該命令的結(jié)構(gòu)列說明:

第一列

Mem內(nèi)存的使用信息

Swap交換空間的使用信息


第一行

total系統(tǒng)總的可用物理內(nèi)存大小

used已被使用的物理內(nèi)存大小

free還有多少物理內(nèi)存可用

shared被共享使用的物理內(nèi)存大小

buff/cache被buffer和cache使用的物理內(nèi)存大小

available還可以被應(yīng)用程序使用的物理內(nèi)存大小


其中有兩個(gè)概念需要注意:free與available的區(qū)別

free是真正尚未被使用的物理內(nèi)存數(shù)量。

available是應(yīng)用程序認(rèn)為可用內(nèi)存數(shù)量,available=free+buffer+cache(注:只是大概的計(jì)算方法)

Linux為了提升讀寫性能,會(huì)消耗一部分內(nèi)存資源緩存磁盤數(shù)據(jù),對(duì)于內(nèi)核來說,buffer和cache其實(shí)都屬于已經(jīng)被使用的內(nèi)存。但當(dāng)應(yīng)用程序申請(qǐng)內(nèi)存時(shí),如果free內(nèi)存不夠,內(nèi)核就會(huì)回收buffer和cache的內(nèi)存來滿足應(yīng)用程序的請(qǐng)求。


六、磁盤信息查詢常用命令

查看磁盤空間占用情況 

df -hT


查看當(dāng)前目錄下的文件及文件夾所占大小

du -h --max-depth=1 ./*


七、Linux下操作MySQL

Linux下導(dǎo)入導(dǎo)出 MySQL 數(shù)據(jù)庫(kù)表結(jié)構(gòu)數(shù)據(jù)


1、導(dǎo)出完整數(shù)據(jù):表結(jié)構(gòu)+數(shù)據(jù)

mysqldump -hIP -Pport -u數(shù)據(jù)庫(kù)用戶名 -pdatabasePass databaseName> dump.sql


2、導(dǎo)數(shù)據(jù)庫(kù)結(jié)構(gòu)個(gè)-d數(shù)數(shù)據(jù)導(dǎo)結(jié)構(gòu)




mysqldump -h localhost -u數(shù)據(jù)庫(kù)用戶名 -pXXXXX -d database > dump.sql



3、導(dǎo)出單個(gè)數(shù)據(jù)表結(jié)構(gòu)和數(shù)據(jù)

mysqldump -h localhost -u數(shù)據(jù)庫(kù)用戶名 -pXXXXX database table > dump.sql


4、導(dǎo)出單個(gè)數(shù)據(jù)表結(jié)構(gòu)(不包含數(shù)據(jù))

mysqldump -h localhost -u數(shù)據(jù)庫(kù)用戶名 -pXXXXX -d database table > dump.sql


本文通過典型示例與原理解析,構(gòu)建了 Linux 命令的實(shí)用知識(shí)圖譜。無論是實(shí)時(shí)日志分析、復(fù)雜文件清理,還是數(shù)據(jù)庫(kù)遷移操作,文中提供的命令組合與技巧均可直接復(fù)用。建議收藏本文并定期復(fù)習(xí),持續(xù)提升 Linux 操作的專業(yè)性與高效性。藍(lán)隊(duì)云官網(wǎng)上擁有完善的技術(shù)支持庫(kù)可供參考,大家可自行查閱,更多技術(shù)問題,也可以直接咨詢。同時(shí),藍(lán)隊(duì)云整理了運(yùn)維必備的工具包免費(fèi)分享給大家使用,需要的朋友可以直接咨詢。更多技術(shù)知識(shí),藍(lán)隊(duì)云期待與你一起探索,助力你在 Linux 運(yùn)維之路上穩(wěn)步前行。

提交成功!非常感謝您的反饋,我們會(huì)繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問題: