linux的命令很多,但我們常用的linux命令卻不是很多,掌握常見的linux命令,提高我們的工作效率。之前一直在使用,但沒有總結(jié)過,現(xiàn)在總結(jié)一下比較簡單和常見的命令。命令輸完沒有錯誤提示,則表示命令執(zhí)行成功。
一.和目錄/文件相關(guān)類
1 .cd :進入某個文件夾,進行路徑切換
-
cd aaa進入aaa目錄下 -
cd ~直接回到根目錄 -
cd ..回到上一級目錄
2.mkdir:創(chuàng)建某個文件夾,后面直接跟要創(chuàng)建的文件夾名。
3.cp:復制命令
-
復制單個文件到文件夾
cp的用法 - 復制文件夾到文件夾中,加上參數(shù)-r

- 更多的用法,可以使用
cp --help命令來查看
4.rm刪除命令
- 刪除單個文件,用法: rm 文件名
- 刪除文件夾,用法:rm -r 文件夾名
- 強制刪除文件夾,用法:rm -rf 文件夾名
5.mv 把文件或文件夾移到別的地方,也可以作重命名用
-
將文件夾重命名
將文件夾t重命名為aaa -
將文件夾移到另外一個文件夾中
將aaa移到temp中 - mv 還可以移動文件和重命名文件,同上
6.pwd:顯示當前所在的目錄
7.ls:顯示當前文件夾里的內(nèi)容
ls -l顯示詳細信息,包括日期、大小、權(quán)限、所有者等;
ls -a這會顯示隱藏文件,即文件名是以 . 點開頭的文件,這些文件或文件夾平時是不顯示的;
8.tar:tar包文件命令
-
tar -cf all.tar *.txt這條命令是將所有.txt的文件打成一個名為all.tar的包。-c是表示產(chǎn)生新的包,-f指定包的文件名

-
tar -tf all.tar這條命令是列出all.tar包中所有文件,-t是列出文件的意思
列出tar包內(nèi)容 -
tar -rf all.tar *.gif這條命令是將所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。 -
tar -xf all.tar這條命令是解出all.tar包中所有文件,-x是解開的意思
9.zip:zip包命令
壓縮文件
語法:zip 壓縮后的文件名 被壓縮的文件
eg:zip text.zip *.text將后綴為text的文件壓縮在text.zip中遞歸壓縮一個目錄及目錄的文件:
語法: ** zip -r 壓縮的文件名 被壓縮的目錄**
eg:zip -r log-dir.zip /var/log/解壓縮zip文件
語法:** unzip 壓縮文件**
eg:unzip log-dir.zip如何查看壓縮包中的內(nèi)容和文件
eg :unzip -l log-dir.zip如何使用-P 參數(shù)來對壓縮文件進行設置密碼
語法:** zip -p 密碼 壓縮文件名.zip 被壓縮文件**
eg:zip -P 123456 log-protect.zip /var/log/
在解壓縮的時候需要輸入密碼才能解壓。使用參數(shù)-e來對壓縮文件設置安全密碼
eg:zip -e log-secure.zip /var/log/*如何檢查壓縮文件的完整性
unzip -t file-name.zip**
10.find:在一個目錄(及子目錄)中搜索文件,可以指定一些匹配條件,如按文件名、文件類型、用戶甚至是時間戳查找文件。
- 按文件名查找。
eg:find /dir -name filename表示在/dir目錄及其子目錄下面查找名字為filename的文件

- 按照文件權(quán)限來查找文件。
eg :find . -perm 211 –print在當前目錄下查找文件權(quán)限位為755的文件,即文件屬主可以讀、寫、執(zhí)行,其他用戶可以讀、執(zhí)行的文件
更多find 的用法請戳這篇博客
11. grep命令可以指定文件中搜索特定的內(nèi)容,并將含有這些內(nèi)容的行標準輸出。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用權(quán)限是所有用戶。
12. less查看文件內(nèi)容,可以用 [pageup] [pagedown] 等按鍵的功能來往前往后翻看文件,適合大文件
less和more的區(qū)別:
more:只能向后看文件,不能前翻
less:既可以向前看文件也可以向后看
- 查看文件
less a.txt - ps查看進程信息并通過less分頁顯示
ps -ef |less - 查看命令歷史使用記錄并通過less分頁顯示
history | less - 瀏覽多個文件
less a.txt btxt c.txt
13. tail:用于顯示指定文件末尾內(nèi)容,不指定文件時,作為輸入信息進行處理。常用查看日志文件。
顯示文件末尾內(nèi)容:顯示文件最后5行的內(nèi)容
命令:tail -n 5 a.txt從第5行開始顯示文件
命令:tail -n +5 b.txt循環(huán)查看文件內(nèi)容
命令:tail -f test.log
14. tree以樹狀圖列出目錄的內(nèi)容
語法:tree (選項) 參數(shù)
各項參數(shù)詳見文章,使用之前需要用sudo apt-get install tree安裝

二.賬號操作
1. su:切換成root身份
su 和su -的區(qū)別:
前者只是切換了root身份,但Shell環(huán)境仍然是普通用戶的Shell;而后者連用戶和Shell環(huán)境一起切換成root身份了。
2. sudo:切換為管理員。
管理員可以授權(quán)于一些普通用戶去執(zhí)行一些root執(zhí)行的操作,而不需要知道root的密碼,它依賴于/etc/sudoers這個文件,可以授權(quán)于用戶在主機上能夠以管理員的身份執(zhí)行什么樣的管理命令,而且是有限的。這個文件相當于就是一個授權(quán)表。
已經(jīng)授權(quán)的普通用戶可以使用 **sudo -l **來查看自己可以執(zhí)行那些命令
3. whoami用于知道當前的用戶是誰

4. passwd:用于修改用戶的密碼
三.Ubuntu的包管理
詳細信息請戳這篇文章
四.進程相關(guān)
1. ps命令用來列出系統(tǒng)中當前運行的那些進程
語法:ps [參數(shù)]
eg: ps -A 顯示所有進程信息
ps -u root 顯示指定用戶信息
ps -ef 顯示所有進程信息,連同命令行
ps -ef|grep ssh ps 與grep 常用組合用法,查找特定進程
ps -l 將目前屬于您自己這次登入的 PID 與相關(guān)信息列示出來
ps aux 列出目前所有的正在內(nèi)存當中的程序
ps -axjf 列出類似程序樹的程序顯示
ps aux | egrep '(cron|syslog)' 找出與 cron 與 syslog 這兩個服務有關(guān)的 PID 號碼
2.kill 命令用于殺死進程。
語法:kill[參數(shù)][進程號]
列出所有信號名稱
命令:kill -l
說明:KILL 9 強制終止先用ps查找進程,然后用kill殺掉
命令:kill 3268(進程號)
3)徹底殺死進程
命令:kill –9 3268
說明:init進程是不可殺的
五.系統(tǒng)信息
1. top顯示當前系統(tǒng)正在執(zhí)行的進程的相關(guān)信息,包括進程ID、內(nèi)存占用率、CPU占用率等
語法:top [參數(shù)]
顯示進程信息
命令:top顯示 完整命令
命令:top -c以批處理模式顯示程序信息
命令:top -b以累積模式顯示程序信息
命令:top -S設置信息更新次數(shù)
命令:top -n 2
說明:表示更新兩次后終止更新顯示設置信息更新時間
命令:top -d 3
說明:表示更新周期為3秒-
top -p 245
查看某進程的詳細信息
2.df命令用來檢查文件系統(tǒng)的磁盤空間占用情況,使用權(quán)限是所有用戶。
-
顯示磁盤使用情況
命令:df
df的單獨使用 以inode模式來顯示磁盤使用情況
命令:df -i顯示指定類型磁盤
命令:df -t ext3:列出各文件系統(tǒng)的i節(jié)點使用情況
命令:df -ia
說明:
- -h更具目前磁盤空間和使用情況 以更易讀的方式顯示
- -H根上面的-h參數(shù)相同,不過在根式化的時候,采用1000而不是1024進行容量轉(zhuǎn)換
- -k以單位顯示磁盤的使用情況
- -l顯示本地的分區(qū)的磁盤空間使用率,如果服務器nfs了遠程服務器的磁盤,那么在df上加上-l后系統(tǒng)顯示的是過濾nsf驅(qū)動器后的結(jié)果
- -i顯示inode的使用情況。linux采用了類似指針的方式管理磁盤空間影射.這也是一個比較關(guān)鍵應用
3.uname命令用于打印當前系統(tǒng)相關(guān)信息(內(nèi)核版本號、硬件架構(gòu)、主機名稱和操作系統(tǒng)類型等)。
語法:uname(選項)
關(guān)于選項的內(nèi)容參見:http://man.linuxde.net/uname
六.網(wǎng)絡相關(guān)
1. ping通常用來測試與目標主機的連通性,執(zhí)行ping指令會使用ICMP傳輸協(xié)議,發(fā)出要求回應的信息.
命令格式:ping [參數(shù)] [主機名或IP地址]
2. telnet命令用于登錄遠程主機,對遠程主機進行管理。
語法:telnet (選項) (主機)
3. curl 命令是一個利用URL規(guī)則在命令行下工作的文件傳輸工具。
4. netstat命令用來打印Linux中網(wǎng)絡系統(tǒng)的狀態(tài)信息,可讓你得知整個Linux系統(tǒng)的網(wǎng)絡情況。
語法:netstat (選項)
實例:
列出所有端口 (包括監(jiān)聽和未監(jiān)聽的)
netstat -a列出所有端口
netstat -at#列出所有tcp端口
netstat -au列出所有udp端口列出所有處于監(jiān)聽狀態(tài)的 Sockets
netstat -l只顯示監(jiān)聽端口
netstat -lt只列出所有監(jiān)聽 tcp 端口
netstat -lu只列出所有監(jiān)聽 udp 端口
netstat -lx只列出所有監(jiān)聽 UNIX 端口
文章在持續(xù)更新中。。。
參考資料:
1.http://man.linuxde.net/
2.https://billie66.github.io/TLCL/book/zh/index.html
3.http://www.imooc.com/article/1316





