(二)Linux的常用命令

Linux我是跟著韓順平的教程學的。Linux命令超級多,推薦隨便找一本linux 書,視頻講到哪里在書上在找到相應部分學習,哪個命令沒學過可以使用 命令 --help 或者 man 命令查看具體用法或者問問度娘,谷大爺。
上機操作: ① 騰訊云實驗室 ② 實驗樓 ③ 虛擬機裝Linux ④ 樹莓派 這些都挺不錯的

騰訊云的開發實驗室

不會因為我是騰訊云版主才推薦的,初學者剛剛使用Linux往往特別不習慣命令行下操作在實驗室左側正好可以看到Linux的目錄結構,非常方便。附上Linux的目錄結構和用途

linux 目錄結構.png

一、目錄操作

①創建目錄

使用 mkdir 命令創建目錄

mkdir $HOME/testFolder

②切換目錄

使用 cd 命令切換目錄

cd $HOME/testFolder

使用 cd ../ 命令切換到上一級目錄

cd ../

③移動目錄

使用 mv 命令移動目錄

mv $HOME/testFolder /var/tmp

④刪除目錄

使用 rm -rf 命令刪除目錄

rm -rf /var/tmp/testFolder

⑤查看目錄下的文件

使用 ls 命令查看 /etc
目錄下所有文件和文件夾

ls /etc

二、文件操作

① 創建文件

使用 touch 命令創建文件

touch ~/testFile

執行 ls
命令, 可以看到剛才新建的 testFile 文件

>ls ~
~是當前用戶的家目錄
1. 不帶任何選項列出文件
不帶選項的ls命令來光禿禿地列出文件和目錄,我們是不能看到像文件類型、大小、修改日期和時間、權限以及鏈接這樣具體的信息的。
2 帶 –l 選項列出文件列表
你看,ls -l(-l是字母不是“1”)就能展示出是文件還是目錄,它的大小、修改日期和時間、文件或目錄的名字以及文件的屬主和它的權限。
3. 瀏覽隱藏文件
列出所有文件包括以‘.’開頭的隱藏文件。
ls -a
4. 用 -lh 選項來以易讀方式列出文件
用-lh組合選項,以易讀方式來顯示大小。
ls -lh
5. 以尾部以‘/’字符結尾的方式列出文件和目錄
使用 ls 命令的 -F 選項,會在每個目錄的末尾添加“/”字符顯示。
ls -F
6. 倒序列出文件
ls -r 選項能以倒序方式顯示文件和目錄。
ls -r
7. 遞歸列出子目錄
ls -R 選項能列出非常長的目錄樹,來看看示例輸出:
ls -R
8. 以修改時間倒序列出
帶-ltr組合選項能以文件或目錄的最新修改時間的次序來顯示它們。
 ls -ltr
9. 按文件大小排序
帶-lS組合選項能按文件從大到小的次序顯示。
ls -lS
10. 顯示文件或目錄的索引節點號
我們有時候可以看到一些數字打印在文件或目錄名之前,帶-i選項就能列出文件或目錄的索引節點號。
ls -i
11. 顯示ls命令的版本
查看ls命令的版本。
ls --version
12. 顯示幫助頁面
列出ls命令的選項幫助頁面。
ls --help
13. 列出目錄信息
用ls -l命令列出/tmp目錄下的文件,其中-ld參數可以只顯示/tmp目錄的信息。

② 復制文件

使用 cp 命令復制文件

cp ~/testFile ~/testNewFile

③ 刪除文件

使用 rm 命令刪除文件, 輸入 y
后回車確認刪除

rm ~/testFile
rm是一個危險的命令,使用的時候要特別當心,尤其對于新手,否則整個系統就會毀在這個命令(比如在/(根目錄)下執行rm * -rf)。所以,我們在執行rm之前最好先確認一下在哪個目錄,到底要刪除什么東西,操作時保持高度清醒的頭腦。
1.命令格式:
rm [選項] 文件… 
2.命令功能:
刪除一個目錄中的一個或多個文件或目錄,如果沒有使用- r選項,則rm不會刪除目錄。如果使用 rm 來刪除文件,通常仍可以將該文件恢復原狀。
3.命令參數:
    -f, --force    忽略不存在的文件,從不給出提示。
    -i, --interactive 進行交互式刪除
    -r, -R, --recursive   指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除。
    -v, --verbose    詳細顯示進行的步驟
        --help     顯示此幫助信息并退出
        --version  輸出版本信息并退出

④ 查看文件內容
使用 cat 命令查看 .bash_history 文件內容

cat ~/.bash_history

三、過濾, 管道與重定向

① 過濾

過濾出 /etc/passwd 文件中包含 root
的記錄

grep 'root' /etc/passwd

遞歸地過濾出 /var/log/ 目錄中包含 linux
的記錄

grep -r 'linux' /var/log/

② 管道

簡單來說, Linux 中管道的作用是將上一個命令的輸出作為下一個命令的輸入, 像 pipe 一樣將各個命令串聯起來執行, 管道的操作符是 |

比如, 我們可以將 cat 和 grep 兩個命令用管道組合在一起

cat /etc/passwd | grep 'root'

過濾出 /etc 目錄中名字包含 ssh
的目錄(不包括子目錄)

ls /etc | grep 'ssh'

③ 重定向
暑假看C Primer Plus 時在看第8章字符輸入 輸出和輸入確認時就發現 重定向這部分沒看懂,稍后補上重定向在Linux下操作的截圖

可以使用 > 或 < 將命令的輸出重定向到一個文件中

echo 'Hello World' > ~/test.txt

四、運維常用命令

① ping 命令
對 cloud.tencent.com 發送 4 個 ping 包, 檢查與其是否聯通

ping -c 4 cloud.tencent.com

② netstat 命令
netstat 命令用于顯示各種網絡相關信息,如網絡連接, 路由表, 接口狀態等等

列出所有處于監聽狀態的tcp端口

netstat -lt

查看所有的端口信息, 包括 PID 和進程名稱

netstat -tulpn

③ ps 命令
過濾得到當前系統中的 ssh 進程信息

ps -aux | grep 'ssh'
在文本中查找grep 使用格式 grep '關鍵字' 文件名 
ps a      顯示現行終端機下的所有程序,包括其他用戶的程序。
ps u   以用戶為主的格式來顯示程序狀況。
ps x   顯示所有程序,不以終端機來區分。
linux 下幾個命令可以連起來寫 ps -aux

PS 命令是什么
查看它的man手冊可以看到,ps命令能夠給出當前系統中進程的快照。它能捕獲系統在某一事件的進程狀態。如果你想不斷更新查看的這個狀態,可以使用top命令。
這里有在日常生活中使用較多的ps命令的例子。

  1. 不加參數執行ps命令
    這是一個基本的 ps 使用。在控制臺中執行這個命令并查看結果。
不加選項執行ps命令

不加選項執行ps命令
結果默認會顯示4列信息。
PID: 運行著的命令(CMD)的進程編號
TTY: 命令所運行的位置(終端)
TIME: 運行著的該命令所占用的CPU處理時間
CMD: 該進程所運行的命令

這些信息在顯示時未排序。

  1. 顯示所有當前進程
    使用 -a 參數。-a 代表 all。同時加上x參數會顯示沒有控制終端的進程。
 ps -ax

這個命令的結果或許會很長。為了便于查看,可以結合less命令和管道來使用。

 ps -ax | less
ps all 信息

ps all 信息

  1. 根據用戶過濾進程
    在需要查看特定用戶進程的情況下,我們可以使用 -u 參數。比如我們要查看用戶'pungki'的進程,可以通過下面的命令:
 ps -u user
   -u userlist
          Select by effective user ID (EUID) or name.  This selects the processes
          whose effective user name or ID is in userlist.

通過用戶過濾

  1. 通過cpu和內存使用來過濾進程
    也許你希望把結果按照 CPU 或者內存用量來篩選,這樣你就找到哪個進程占用了你的資源。要做到這一點,我們可以使用 aux 參數,來顯示全面的信息:
ps -aux | less

將ps -aux 命令的結果通過管道發給less。

less 工具也是對文件或其它輸出進行分頁顯示的工具,應該說是linux正統查看文件內容的工具,功能極其強大。
less 的用法比起 more 更加的有彈性。在 more 的時候,我們并沒有辦法向前面翻,
 只能往后面看,但若使用了 less 時,就可以使用 [pageup] [pagedown] 等按鍵的功能來往前往后翻看文件,
更容易用來查看一個文件的內容!除此之外,在 less 里頭可以擁有更多的搜索功能,不止可以向下搜,也可以向上搜。
顯示全面信息

顯示全面信息
當結果很長時,我們可以使用管道和less命令來篩選。
默認的結果集是未排好序的。可以通過 --sort命令來排序。
根據 CPU 使用來升序排序

 ps -aux --sort -pcpu | less

根據 內存使用 來升序排序

 ps -aux --sort -pmem | less
根據cpu使用排序

根據內存使用來排序
我們也可以將它們合并到一個命令,并通過管道顯示前10個結果:

 ps -aux --sort -pcpu,+pmem | head -n 10
  1. 通過進程名和PID過濾
    使用 -C 參數,后面跟你要找的進程的名字。比如想顯示一個名為getty的進程的信息,就可以使用下面的命令:
 ps -C netns
通過進程名和PID過濾

通過進程名和PID過濾
如果想要看到更多的細節,我們可以使用-f參數來查看格式化的信息列表:

 ps -f -C getty
通過進程名和PID過濾

通過進程名和PID過濾

最后我們來回顧一下文章:

① 目錄操作

  • 創建目錄
  • 切換目錄
  • 移動目錄
  • 刪除目錄
  • 查看目錄下的文件
② 文件操作
  • 創建文件
  • 復制文件
  • 刪除文件
  • 查看文件內容
③ 過濾, 管道與重定向
  • 過濾
  • 管道
  • 重定向
④ 運維常用命令
  • ping 命令
  • netstat 命令
  • ps 命令 重點說了這一部分ps可以給出當前系統中進程
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數據革命閱讀 12,239評論 2 33
  • Ubuntu的發音 Ubuntu,源于非洲祖魯人和科薩人的語言,發作 oo-boon-too 的音。了解發音是有意...
    螢火蟲de夢閱讀 99,597評論 9 467
  • 1.Linux下如何用命令查看實時日志(完整命令) tail -f 路徑.log查看前多少行 tai-200f 路...
    qianyewhy閱讀 2,330評論 0 11
  • 今天看見微信朋友圈都在傳遞感恩節,噢,今天是感恩節,感恩節真好,讓我們心存感激,人生成長過程中有好多的事需要感激,...
    邱蓉閱讀 575評論 2 2
  • 現在如果有人問我還有其他的兄弟姐妹嗎?我會很自豪的說,我有一個妹妹和一個弟弟。而妹妹總會被我注重介紹,弟弟則一句話...
    林清因閱讀 1,097評論 9 3