Linux(CentOS7)常用命令詳解 史上最全!!!!!!!!!

目錄

一.Linux樹型目錄結構

二.常用命令詳解

2.1 ls 命令

2.1.1 ls -l命令

2.1.2 ls -a命令

2.2 stat命令 

2.3 cd命令

2.4 pwd命令

2.5 which命令

2.6 touch命令 

2.7 mkdir 命令

2.8 rmdir 命令 

2.9 rm 命令 

2.10 mv命令

2.11 cp命令

2.12 cat命令

2.13 more命令 

2.14 less命令

2.15 locate 命令 

2.16 find 命令

2.17 grep 命令

2.18 ln命令

2.19 wc 命令

2.20 od命令 

2.21 du命令

2.22 df命令

2.23 gedit命令 

2.24 管道命令

2.25 重定向 

2.26 後臺運行

2.27 awk命令


一.Linux樹型目錄結構

在詳解常用命令之前,先對Linux的樹型目錄結構做個簡單的瞭解,如下所示:

簡單說明:

  • /      #根目錄
  • /bin   #基礎系統所需要的命令位於此目錄,是最小系統所需要的命令,如:ls, cp, cd等等。這個目錄中的文件都是可執行的,一般的用戶都可以使用。
  • /dev   #設備文件,比如聲卡、磁盤、鼠標、鍵盤等。
  • /etc  #系統管理和配置文件
  • /etc/init.d   #啓動配置文件和腳本,可在這裏添加啓動腳本。
  • /etc/rc.local   #用戶添加啓動項
  • /home  #用戶主目錄,比如用戶user的主目錄就是/home/user,可以用~user表示
  • /lib   #標準程序設計庫存放路徑,又叫動態鏈接共享庫,作用類似windows裏的.dll文件
  • /sbin  #超級管理命令,這裏存放的是系統管理員使用的管理程序。
  • /tmp   #臨時文件目錄,有時用戶運行程序的時候,會產生臨時文件。 /tmp就用來存放臨時文件的。
  • /root  #系統管理員的主目錄
  • /mnt   #用來臨時掛載其他的文件系統
  • /lost+found   #這個目錄平時是空的,系統意外崩潰或機器意外關機,而產生一些文件碎片放在這裏。當系統啓動的過程中fsck工具會檢查這裏,並修復已經損壞的文件系統。
  • /media      #即插即用型存儲設備的掛載點自動在這個目錄下創建,比如USB盤系統自動掛載後,會在這個目錄下產生一個目錄 
  • /proc  #虛擬文件目錄,可直接訪問這個目錄來獲取系統信息。
  • /var   #所有服務的登錄文件或錯誤訊息檔案(log files)都在 /var/log 裏面
  • /boot  #包含Linux內核及系統引導程序所需要的文件,比如 vmlinuz initrd.img 文件都位於這個目錄中。在一 般情況下,GRUB或LILO系統引導管理器也位於這個目錄;
  • /usr   #最龐大的目錄,要用到的應用程序和文件幾乎都在這個目錄,其中包含:
  1.   usr/bin     #衆多的應用程序
  2.   /usr/sbin     #超級用戶的一些管理程序
  3.   /usr/include  #Linux下開發和編譯應用程序所需要的頭文件
  4.   /usr/lib     #常用的動態鏈接庫
  5.   /usr/share/man  #幫助文檔
  6.   /usr/src     #源代碼,Linux內核的源代碼就放在/usr/src/Linux裏
  7.   /usr/local/bin  #本地增加的命令
  8.   /usr/local/lib  #本地增加的庫根文件系統

. :代表當前路徑

.. :代表上一級目錄

~ :代表用戶目錄路徑

二.常用命令詳解

2.1 ls 命令

ls是英文單詞list的縮寫.用來查看文件目錄的屬性。

  • 例如直接輸入ls按回車,查看根目錄的文件以及目錄。

2.1.1 ls -l命令

  • ls -­l  l參數代表以列表的方式顯示。

  •   #第一個字符d 代表這是一個目錄文件。
  •   # ‐  代表普通文件
  •   # c  字符設備文件
  •   # b  塊設備文件
  •   # p  管道文件
  •   # l  鏈接文件
  •   # s  socket文件
  • #後面的rwxr‐xr‐x字符,代表user、group、other對文件所擁有的權限,rwx代表該用戶擁有讀寫執行的權限。r‐x
  • 代表同一組的用戶擁有的讀和執行權限,後一個r‐x代表其他用戶擁有讀和執行權限。
  • # 2代表文件硬鏈接的計數,表示該文件有兩個硬鏈接。
  • # where 文件所屬的用戶名。
  • # where  文件所屬的用戶組。
  • # 4096 文件大小,單位字節。
  • # 6月 25 16:53  文件最後被修改的日期。
  • # Videos 文件名

2.1.2 ls -a命令

  • ls -a ­a參數代表all的意思,表示把所有的文件都羅列出來,包括隱藏文件,點號開頭的在Linux中都表示隱藏文件。

 

 ls ‐ld [filename] 代表只列出目錄文件的屬性。

2.2 stat命令 

查看文件的訪問時間,修改時間等

訪問時間,是指通過指令如cat、vi等來查看的文件的最近一次時間。更改時間,是指修改文件內容的最近一次時間。
改動時間,是指修改文件屬性的最近一次時間。
注意:訪問時間是內容更改後,第一次訪問的時間,後面再次訪問的時候訪問時間不會改變

2.3 cd命令

cd 是 change directory的縮寫,表示改變當前所在路徑。

2.4 pwd命令

pwd 是英文print working directory 顯示當前所在路徑。

2.5 which命令

尋找可執行文件 ,並在PATH環境變量裏面尋找

2.6 touch命令 

將每個文件的訪問及修改時間都更新爲目前的時間。

如果文件不存在,則創建一個字節數爲0的文件。

‐a           #只更新訪問時間,不改變修改時間
‐c           #不創建不存在的文件
‐m           #只更新修改時間,不改變訪問時間
‐r file      #使用文件file的時間更新文件的時間
‐t           #將時間修改爲參數指定的日期,如:07081556代表7月8號15點56分

2.7 mkdir 命令

mkdir 是make directory的英文縮寫。

創建目錄DIRECTORY,可以一次創建多個。OPTION如果是­p,表示可以連同父目錄一起創建。

2.8 rmdir 命令 

rmdir是remove directory的英文縮寫。

刪除空目錄,可以一次刪除多個。OPTION如果是­p,表示可以連同空的父目錄一起刪除。但是一旦父目錄中還包含其他文件,則刪除失敗。

2.9 rm 命令 

rm是remove的英文縮寫。

可以用來刪除普通文件,也可以用來刪除目錄,特別用來刪除目錄中嵌套有子目錄的目錄文件。
常用參數:

‐f  ‐‐force  #強制刪除,不詢問是否要刪除。
‐r  ‐‐recursive  #遞歸刪除,包括文件夾中的內容。

2.10 mv命令

mv是英文單詞move的縮寫。可以用來移動文件夾或者文件,也可以用來更改文件名。

mv file / #把文件file移動到根目錄中

mv file file_bak #把文件file重命名爲file_bak。

2.11 cp命令

cp是英文單詞copy的縮寫,表示拷貝文件。

  • 可以用來拷貝普通文件:

cp file file_bak #拷貝一份file爲file_bak

  • 可以用來拷貝目錄

cp dir dir_bak ‐r #拷貝一個目錄dir爲dir_bak, ‐r參數代表遞歸拷貝,把dir目錄中的文件也拷貝過去

2.12 cat命令

cat英文單詞concatenate連鎖的縮寫,用來查看文件內容,以及將幾個文件連成一個文件,

  • 不填文件參數,默認的情況下是從標準輸入中獲取內容: 

  • 查看文件: cat fileName

  • 將文件file1 file2連成file3文件

cat file1 file2 > file3

2.13 more命令 

more 是我們最常用的工具之一,最常用的就是顯示輸出的內容,然後根據窗口的大小進行分頁顯示,並且提示文件的百分比。

參數如下:

+num    #從第num行開始顯示;
‐num    #定義每屏顯示num行;

打開之後的動作:

2.14 less命令

less工具也是對文件或其它輸出進行分頁顯示的工具

參數如下:

‐f    #強制打開文件,二進制文件顯示時,不提示警告;
‐N    #在每行前輸出行號;

打開之後的動作:

2.15 locate 命令 

全盤尋找文件,文件名部分匹配,只要有包含該字符串的都羅列出來,這個指令查找速度很快,它需要一個數據庫,這個數據庫由每天的例行工作(crontab)程序來更新。當我們建立好這個數據庫後,就可以方便地來搜尋
所需文件了。

馬上創建的文件沒辦法使用locate查找到:如果想馬上更新可以使用一下指令:updatedb

2.16 find 命令

直接在全文件系統上搜尋,功能強大,速度慢。

格式:

find [path] [‐option] [ ‐print ‐exec ‐ok command ] {} \;

path:   #要執行查找的目錄。
‐option: #查找的具體方法。
‐print: #find命令將匹配的文件輸出到標準輸出。
‐exec:  #find命令對匹配的文件執行該參數所給出的shell命令。相應命令的形式爲'command' {} \;,注意{}和
\;之間的空格。
‐ok:    #和‐exec的作用相同,只不過以一種更爲安全的模式來執行該參數所給出的shell命令,在執行每一個命令
之前,都會給出提示,讓用戶來確定是否執行。

find / ‐name filename   #在根目錄裏面搜索文件名爲filename的文件
find /etc ‐name *s*     #在目錄裏面搜索帶有s的文件
find /etc ‐name *S      #在目錄裏面搜索以s結尾的文件
find /etc ‐name s*      #在目錄裏面搜索以s開頭的文件
find / ‐amin ‐10        #在系統中搜索最後10分鐘訪問的文件
find / ‐atime ‐2        #查找在系統中最後48小時訪問的文件
find / ‐mmin ‐5         #查找在系統中最後5分鐘修改過的文件
find / ‐mtime ‐1        #查找在系統中最後24小時修改過的文件
find / ‐ctime ‐1        #查找在系統中最後24小時被改變狀態的文件
find / ‐user username   #查找在系統中屬於用戶username的文件
find / ‐group groupname  #groupname 查找在系統中屬於groupname的文件
find / ‐empty           #查找在系統中爲空的文件或者是文件夾
find / ‐inum 3          #查找inode號爲3的文件
find / ‐type d          #查找爲文件類型爲文件夾的文件d爲文件夾
                                f     #普通文件
                                d     #目錄文件
                                l     #鏈接文件
                                b     #塊設備文件
                                c     #字符設備文件
                                p     #管道文件
                                s     #socket文件

2.17 grep 命令

搜索內容中是否包含指定的字符串,並打印出該行。

常用參數有:

‐i    ‐‐ignore‐case   #忽略字符大小寫的差別。
    ‐v                    #輸出沒有指定字符串的文件
    ‐c                    #只輸出匹配行的計數。
    ‐R                    #連同子目錄中所有文件一起查找。

2.18 ln命令

ln是英文單詞link的縮寫,用來創建鏈接的命令。
   Linux鏈接分兩種,一種被稱爲硬鏈接(Hard Link),另一種被稱爲符號鏈接(Symbolic Link)。默認情況下,ln命令產生硬鏈接。
【硬鏈接】
   硬鏈接指通過索引節點來進行鏈接。在Linux的文件系統中,保存在磁盤分區中的文件不管是什麼類型都給它分配一個編號,稱爲索引節點號(Inode Index)。在Linux中,多個文件名指向同一索引節點,一般這種鏈接就是硬鏈接。

   硬鏈接的作用是允許一個文件擁有多個有效路徑名,這樣用戶就可以建立硬鏈接到重要文件,以防止“誤刪”。
   如果有多個硬鏈接,只刪除一個鏈接並不影響本身和其它的鏈接,只有當最後一個鏈接被刪除後,文件的纔會被正在刪除。也就是說,文件真正刪除的條件是與之相關的所有硬鏈接文件均被刪除。
【軟鏈接】
   另外一種鏈接稱之爲符號鏈接(Symbolic Link),也叫軟鏈接。軟鏈接文件有類似於Windows的快捷方式。它實際上是一個特殊的文件。符號鏈接文件實際上是一個文本文件,其中包含的有另一文件的位置信息。

  • 給flie文件創建一個硬鏈接

touch file
ln file file_hard

  • 給file文件創建一個軟鏈接

touch file
ln ‐s file flie_soft

注意: 軟鏈接的時候儘量使用絕對路徑,避免由於鏈接文件移動後,造成文件失效。

2.19 wc 命令

Linux系統中的wc爲英文Word Count的縮寫,命令的功能爲統計指定文件中的字節數、字數、行數,並將統計結果顯示輸出。 

  • 命令功能:

統計指定文件中的字節數、字數、行數,並將統計結果顯示輸出。如果沒有給出文件名,則從標準輸入讀取。wc同時也給出所指定文件的總統計數。

  • 命令參數:

‐c #統計字節數。 
‐l #統計行數。 
‐m #統計字符數。這個標誌不能與 ‐c 標誌一起使用。 
‐w #統計字數。一個字被定義爲由空白、跳格或換行字符分隔的字符串。 
‐L #打印最長行的長度。 

2.20 od命令 

od是英文octal dump的縮寫,功能是把文件用8進制或者其他的格式顯示出來,通常用於查看特殊格式文件的內容,可以用來查看不可見字符。

2.21 du命令

du是英文Disk usage的縮寫,表示計算某個目錄在硬盤中所佔的空間大小,默認情況下以kb爲單位。通過遞歸統計每一個目錄中所佔用的空間大小。

常用參數如下:

2.22 df命令

df是英文Disk free的縮寫,用來統計磁盤是使用情況。

2.23 gedit命令 

gedit全稱 GNU edit 是一個文本編輯器,類似windows裏面的txt文本編輯器。編輯file文本。

2.24 管道命令

用法: command 1 | command 2 他的功能是把第一個命令command 1執行的結果作爲command 2的輸入。管道命令操作符是:”|”它只能處理經由前面一個指令傳出的正確輸出信息,對錯誤信息信息沒有直接處理能力.

2.25 重定向 

在shell中,標準輸入是0,標準輸出是1,標準錯誤是2.
使用>表示重定向。1>表示標準輸出重定向,2>表示標準錯誤重定向。默認情況下>表示輸出重定向。

例如:

ls > list.txt   #ls的輸出重定向到文件list.txt中。                     
find / ‐name "*.c" 2>/dev/null  #標準錯誤重定向到無底洞文件。     
find / ‐name "*.c" 2>/dev/null  #標準錯誤重定向到無底洞文件。     
find / ‐name "*.c" >/dev/null 2>&1  #標準輸出、標準錯誤重定向到無底洞文件。

2.26 後臺運行

Linux中可以使用&,讓程序在後臺運行。如:cat &

2.27 awk命令

awk就是把文件逐行的讀入,以空格爲默認分隔符將每行切片,切開的部分再進行各種分析處理。

格式:awk [‐F field‐separator] 'commands' [input‐file(s)]

其中,commands 是真正awk命令,[­F 域分隔符]是可選的。 input­file(s) 是待處理的文件。
print 是awk打印指定內容的主要命令, $1 分割出來的第一段,$2分割出來的第二段,依次類推,$0代表所有
字段例如:

ls ‐l | awk '{print $1 "\t" $2 "\t" $3 "\t" $4}'

將/proc/meminfo文件中的字段提取出來,並且在每個字段前面添加meminfo:

awk ‐F ':' '{print "meminfo:" $1}' /proc/meminfo

【上一篇:】CentOS 7 下安裝gcc、g++、gdb教程:https://blog.csdn.net/weixin_39951988/article/details/87371641

【下一篇:】Linux(CentOS7)下文件操作(權限、打包、解包操作):https://blog.csdn.net/weixin_39951988/article/details/87687242

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章