盤點(diǎn)一些Linux實(shí)用小技巧
時(shí)間:2021-10-18 16:43:35
手機(jī)看文章
掃描二維碼
隨時(shí)隨地手機(jī)看文章
[導(dǎo)讀]大家好,我是ZhengN。本次給大家分享一些Linux的實(shí)用小技巧。1、查看文件校驗(yàn)值在文件進(jìn)行拷貝或者進(jìn)行傳輸?shù)臅r(shí)候,可能有損壞或者被修改的可能,這時(shí)候可以查看校驗(yàn)值來確認(rèn)一下。比如我們平時(shí)工作需要用到其它組給我們提供的一些對接的程序,每次程序運(yùn)行不符合他們的預(yù)期的時(shí)候,我們都...
大家好,我是ZhengN。本次給大家分享一些Linux的實(shí)用小技巧。
往期推薦:一個(gè)小巧、開源的信號發(fā)生器,酷!
盤點(diǎn)一些嵌入式實(shí)時(shí)系統(tǒng),你用過哪些? 在公眾號聊天界面回復(fù)1024,可獲取嵌入式資源;回復(fù)?m?,可查看文章匯總。
點(diǎn)擊閱讀原文,查看更多分享。
1、查看文件校驗(yàn)值
在文件進(jìn)行拷貝或者進(jìn)行傳輸?shù)臅r(shí)候,可能有損壞或者被修改的可能,這時(shí)候可以查看校驗(yàn)值來確認(rèn)一下。比如我們平時(shí)工作需要用到其它組給我們提供的一些對接的程序,每次程序運(yùn)行不符合他們的預(yù)期的時(shí)候,我們都會(huì)對一下兩邊的md5校驗(yàn)值。生成文件的校驗(yàn)值的方法有很多種,常用的有md5sum校驗(yàn)、crc校驗(yàn)、sum校驗(yàn)等。命令分別為:md5sum?file_name
cksum?file_name
sum?算法參數(shù)?file_name
例如:我們以一個(gè)test.txt文件為例:- md5sum校驗(yàn)
md5sum?test.txt
- crc校驗(yàn)
cksum?test.txt
- sum校驗(yàn)
-r:表示使用system v算法。-s:表示使用BSD算法。我們不進(jìn)行配置時(shí),默認(rèn)用的是system v算法。
sum?-r?test.txt
sum?-s?test.txt
2、查找文件位置
(1)locate
查找文件大家一般都習(xí)慣用find吧,但我覺得有時(shí)候locate更快一些,所以我一般都會(huì)先使用locate。locate 與 find 不同: find 是去硬盤找,locate 只在 /var/lib/slocate 資料庫中找。locate 的速度比 find 快,它并不是真的查找,而是查數(shù)據(jù)庫。有些系統(tǒng)可能不帶有l(wèi)ocate,需要自己安裝。比如,Ubuntu可以輸入如下命令進(jìn)行安裝:apt-get?update
apt-get?install?mlocate
locate查找文件的命令很簡單:lcoate?file_name
比如:(2)find
find命令可以用名字、類型、所屬人、大小等來進(jìn)行搜索。搜索文件基本語法:find?path?-option?file_name
如使用名字來搜索stdio.h文件:find?/?-name?stdio.h
3、命令行編輯技巧
我們在終端里誤輸入了一些比較長的內(nèi)容:LinuxZn@LinuxZn:~$?dsfdsfdddddddddddddddddddddddddddddddddddfsgadgdsgasdgsdhfdkshfkjdshflksdhfkldshfkj
怎么比較快的刪除掉呢?瘋狂地按退格鍵當(dāng)然可以達(dá)到目的。但是有更快速的方法:輸入快捷鍵 ctrl u
即可把光標(biāo)前面的內(nèi)容全刪掉。除此之外,還有如下幾個(gè)實(shí)用且常用的快捷鍵:- ctrl k:把光標(biāo)后面的內(nèi)容全刪掉。
- ctrl a:光標(biāo)移到開頭處。
- ctrl e:光標(biāo)移動(dòng)到末尾處。
4、查看某個(gè)進(jìn)程的pid
命令:pidof?process_name
如:5、查看某些進(jìn)程的一些運(yùn)行情況
top命令可以查看進(jìn)程的一些信息,但是系統(tǒng)運(yùn)行的進(jìn)程過多,不利于我們查看某些進(jìn)程的運(yùn)行情況,如:這時(shí)候我們可以通過如下命令查看指定進(jìn)程的運(yùn)行情況,例如:查看kcalc進(jìn)程的情況,命令:top?-p?`pidof?kcalc`
這就簡潔多了。注意:這里的"`號"并不是單引號?。?!這里的"`號"并不是單引號?。?!這里的"`號"并不是單引號!??!這個(gè)符號在鍵盤上感嘆號!鍵的左邊。查看多個(gè)進(jìn)程,如:top?-p?`pidof?kcalc`?-p?`pidof?test_x86`
6、殺死進(jìn)程
(1)使用kill
先使用pidof查看進(jìn)程的pid,然后再使用kill命令:kill?-9?process_pid
(2)使用killall
使用killall,命令:killall?process_name
7、終端輸出的log同時(shí)保存到文件
有時(shí)候我們需要把終端實(shí)時(shí)輸出的log信息保存到文件中,有如下兩種方法。這三種方法也在之前的文章里寫過,這里再簡單提一下:(1)tee
tee工具
用于將數(shù)據(jù)重定向到文件,另一方面還可以提供一份重定向數(shù)據(jù)的副本作為后續(xù)命令的stdin。簡單的說就是 把數(shù)據(jù)重定向到給定文件和屏幕上
。命令:executable_file?|?tee?log_file
演示如下:(2)script
script工具
是一個(gè)非常使用的工具,可以把輸出到終端的信息記錄下來。使用步驟如:- 輸入 ?
script log.txt
命令開始保存終端輸出的信息 ?,其中l(wèi)og.txt為需要寫入的log文件,可隨意命名。 - 輸入
exit
退出保存。
(3)使用一些可以保存log的終端工具
一些終端工具具有記錄日志的功能,比如TTerminator終端
:8、查看程序依賴的動(dòng)態(tài)庫
有些程序依賴一些動(dòng)態(tài)庫,可以通過ldd命令查看依賴的動(dòng)態(tài)庫。命令:ldd?executable_file
9、查看ELF文件頭
ELF文件有幾種,可查看往期文章 ?ELF文件解析 進(jìn)行了解。之前剛來的一位應(yīng)屆生,編譯了一份程序,編譯沒報(bào)錯(cuò),但是一直運(yùn)行不起來。然后在PC上運(yùn)行有問題,報(bào)錯(cuò)如:無法執(zhí)行二進(jìn)制文件:?可執(zhí)行文件格式錯(cuò)誤
原因是他那份工程里設(shè)置了使用交叉編譯器進(jìn)行編譯,但是他卻在PC運(yùn)行,所以就報(bào)錯(cuò)了。我們可以可執(zhí)行文件的ELF頭,ELF頭包含了很多信息,其中就包括有系統(tǒng)架構(gòu)這一項(xiàng)。命令如:readelf?-h?elf_file
除此之外,通過file命令也可以查看到文件的一些信息:10、文本文件查看
文本文件查看我們一般使用cat命令,但除了cat命令之外,還有其它幾個(gè)實(shí)用的命令,下面依次來介紹:(1)cat命令
cat命令常常用于查看內(nèi)容較少的文件。很多人把這個(gè)命令叫做小貓咪
命令,但cat其實(shí)是 concatenate(連續(xù))
的縮寫,即連續(xù)顯示文本內(nèi)容。命令格式為:cat?[參數(shù)選項(xiàng)]?[文件]
如:cat?-n?/etc/profile
其中,加上參數(shù) ?-n
?用可以顯示行數(shù)。cat的更多的參數(shù)選項(xiàng)可以輸入 man cat
進(jìn)行查看。以下列舉的其他命令的詳細(xì)介紹也可以輸入 man 命令
進(jìn)行查看。(2)tac命令
tac命令的正好與cat命令相反,是從文件末尾開始顯示。(3)more命令
more命令適用于查看內(nèi)容較多的文件。因?yàn)樗梢詫?shí)時(shí)顯示百分比以提示現(xiàn)在已經(jīng)閱讀了多少內(nèi)容。命令格式為:more?[參數(shù)選項(xiàng)]?[文件]
如:可以使用 空格鍵
或者 回車鍵
往下翻頁查看后面的內(nèi)容。(4)less命令
less也適用于查看內(nèi)容較多的文件。less比more更為靈活,因?yàn)閘ess可以往上、往下翻頁。按下鍵盤上 ?PgUp
?鍵可以往上翻頁,按下 ?PgDn
?可以往下翻頁。但是less命令不會(huì)實(shí)時(shí)顯示當(dāng)前閱讀的百分比。命令格式為:less?[參數(shù)選項(xiàng)]?[文件]
(5)head命令
head命令用于查看文件的前n行。如使用命令head?-n?20?/etc/profile
查看/etc目錄下profile文件的前20行內(nèi)容:(6)tail命令
tail命令與head命令相反,tail命令用于查看文件后n行內(nèi)容。如:(7)nl命令
nl命令可以顯示內(nèi)容的同時(shí)顯示行號,與cat -n
命令的作用差不多:11、設(shè)置LD_LIBRARY_PATH
LD_LIBRARY_PATH
是Linux / Unix中預(yù)定義的環(huán)境變量,它設(shè)置鏈接器在鏈接動(dòng)態(tài)庫/共享庫時(shí)應(yīng)該查看的路徑。有時(shí)候需要把當(dāng)前路徑加到LD_LIBRARY_PATH中,如:export?LD_LIBRARY_PATH=./:$LD_LIBRARY_PATH
以上就是本次分享的一些實(shí)用的小技巧。大家日常工作、學(xué)習(xí)過程中有用過哪些Linux實(shí)用的小技巧呢?歡迎留言討論
往期推薦:一個(gè)小巧、開源的信號發(fā)生器,酷!
盤點(diǎn)一些嵌入式實(shí)時(shí)系統(tǒng),你用過哪些?
點(diǎn)擊閱讀原文,查看更多分享。