盤點一些常用的Linux小技巧
1、查看文件校驗值
在文件進行拷貝或者進行傳輸?shù)臅r候,可能有損壞或者被修改的可能,這時候可以查看校驗值來確認一下。比如我們平時工作需要用到其它組給我們提供的一些對接的程序,每次程序運行不符合他們的預(yù)期的時候,我們都會對一下兩邊的md5校驗值。
生成文件的校驗值的方法有很多種,常用的有md5sum校驗、crc校驗、sum校驗等。
命令分別為:
md5sum file_name
cksum file_name
sum 算法參數(shù) file_name
例如:
我們以一個test.txt文件為例:
- md5sum校驗
md5sum test.txt

- crc校驗
cksum test.txt

- sum校驗
sum校驗有兩種算法,我們可以通過參數(shù)進行配置:
-r:表示使用system v算法。
-s:表示使用BSD算法。
我們不進行配置時,默認用的是system v算法。
sum -r test.txt
sum -s test.txt

2、查找文件位置
(1)locate
查找文件大家一般都習慣用find吧,但我覺得有時候locate更快一些,所以我一般都會先使用locate。
locate 與 find 不同: find 是去硬盤找,locate 只在 /var/lib/slocate 資料庫中找。locate 的速度比 find 快,它并不是真的查找,而是查數(shù)據(jù)庫。
有些系統(tǒng)可能不帶有l(wèi)ocate,需要自己安裝。比如,Ubuntu可以輸入如下命令進行安裝:
apt-get update
apt-get install mlocate
locate查找文件的命令很簡單:
lcoate file_name
比如:

(2)find
find命令可以用名字、類型、所屬人、大小等來進行搜索。
搜索文件基本語法:
find path -option file_name
如使用名字來搜索stdio.h文件:
find / -name stdio.h

3、命令行編輯技巧
我們在終端里誤輸入了一些比較長的內(nèi)容:
LinuxZn@LinuxZn:~$ dsfdsfdddddddddddddddddddddddddddddddddddfsgadgdsgasdgsdhfdkshfkjdshflksdhfkldshfkj

怎么比較快的刪除掉呢?瘋狂地按退格鍵當然可以達到目的。但是有更快速的方法:
輸入快捷鍵 ctrl+u 即可把光標前面的內(nèi)容全刪掉。除此之外,還有如下幾個實用且常用的快捷鍵:
- ctrl+k:把光標后面的內(nèi)容全刪掉。
- ctrl+a:光標移到開頭處。
- ctrl+e:光標移動到末尾處。
除此之外,命令行還有很多實用常用、實用不常用的快捷方式,感興趣的小伙伴可以自己去學習。
4、查看某個進程的pid
命令:
pidof process_name
如:

5、查看某些進程的一些運行情況
top命令可以查看進程的一些信息,但是系統(tǒng)運行的進程過多,不利于我們查看某些進程的運行情況,如:

這時候我們可以通過如下命令查看指定進程的運行情況,例如:
查看kcalc進程的情況,命令:
top -p `pidof kcalc`

這就簡潔多了。
注意:
這里的 `號 并不是單引號!!!
這里的 `號 并不是單引號!!!
這里的 `號 并不是單引號!!!
這個符號在鍵盤上感嘆號!鍵的左邊。
查看多個進程,如:
top -p `pidof kcalc` -p `pidof test_x86`

6、殺死進程
(1)使用kill
先使用pidof查看進程的pid,然后再使用kill命令:
kill -9 process_pid

(2)使用killall
使用killall,命令:
killall process_name

7、終端輸出的log同時保存到文件
有時候我們需要把終端實時輸出的log信息保存到文件中,有如下兩種方法。這三種方法也在之前的文章里寫過,這里再簡單提一下:
(1)tee
tee工具 用于將數(shù)據(jù)重定向到文件,另一方面還可以提供一份重定向數(shù)據(jù)的副本作為后續(xù)命令的stdin。簡單的說就是 把數(shù)據(jù)重定向到給定文件和屏幕上 。
命令:
executable_file | tee log_file
演示如下:

(2)script
script工具 是一個非常使用的工具,可以把輸出到終端的信息記錄下來。使用步驟如:
- 輸入 script log.txt 命令開始保存終端輸出的信息 ,其中l(wèi)og.txt為需要寫入的log文件,可隨意命名。
- 輸入 exit 退出保存。
演示如下:

(3)使用一些可以保存log的終端工具
一些終端工具具有記錄日志的功能,比如T Terminator終端 :

8、查看程序依賴的動態(tài)庫
有些程序依賴一些動態(tài)庫,可以通過ldd命令查看依賴的動態(tài)庫。命令:
ldd executable_file

9、查看ELF文件頭
ELF文件有幾種,可查看往期文章 ELF文件解析 進行了解。之前剛來的一位應(yīng)屆生,編譯了一份程序,編譯沒報錯,但是一直運行不起來。然后在PC上運行有問題,報錯如:
無法執(zhí)行二進制文件: 可執(zhí)行文件格式錯誤
原因是他那份工程里設(shè)置了使用交叉編譯器進行編譯,但是他卻在PC運行,所以就報錯了。
我們可以可執(zhí)行文件的ELF頭,ELF頭包含了很多信息,其中就包括有系統(tǒng)架構(gòu)這一項。命令如:
readelf -h elf_file


除此之外,通過file命令也可以查看到文件的一些信息:

10、文本文件查看
文本文件查看我們一般使用cat命令,但除了cat命令之外,還有其它幾個實用的命令,下面依次來介紹:
(1)cat命令
cat命令常常用于查看內(nèi)容較少的文件。很多人把這個命令叫做小貓咪命令,但cat其實是 concatenate(連續(xù)) 的縮寫,即連續(xù)顯示文本內(nèi)容。命令格式為:
cat [參數(shù)選項] [文件]
如:
cat -n /etc/profile

其中,加上參數(shù) -n 用可以顯示行數(shù)。cat的更多的參數(shù)選項可以輸入 man cat 進行查看。以下列舉的其他命令的詳細介紹也可以輸入 man 命令 進行查看。
(2)tac命令
tac命令的正好與cat命令相反,是從文件末尾開始顯示。
(3)more命令
more命令適用于查看內(nèi)容較多的文件。因為他可以實時顯示百分比以提示現(xiàn)在已經(jīng)閱讀了多少內(nèi)容。
命令格式為:
more [參數(shù)選項] [文件]
如:

可以使用 空格鍵 或者 回車鍵 往下翻頁查看后面的內(nèi)容。
(4)less命令
less也適用于查看內(nèi)容較多的文件。less比more更為靈活,因為less可以往上、往下翻頁。按下鍵盤上 PgUp 鍵可以往上翻頁,按下 PgDn 可以往下翻頁。但是less命令不會實時顯示當前閱讀的百分比。
命令格式為:
less [參數(shù)選項] [文件]
(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)容的同時顯示行號,與 cat -n 命令的作用差不多:

11、設(shè)置LD_LIBRARY_PATH
LD_LIBRARY_PATH 是Linux / Unix中預(yù)定義的環(huán)境變量,它設(shè)置鏈接器在鏈接動態(tài)庫/共享庫時應(yīng)該查看的路徑。有時候需要把當前路徑加到LD_LIBRARY_PATH中,如:
export LD_LIBRARY_PATH=./:$LD_LIBRARY_PATH
以上就是本次分享的一些實用的小技巧。
























