Linux(CentOS7)常用命令詳解


在詳解常用命令之前,先對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   #最龐大的目錄,要用到的應用程序和文件幾乎都在這個目錄,其中包含:
  usr/bin     #眾多的應用程序
  /usr/sbin     #超級用戶的一些管理程序
  /usr/include  #Linux下開發和編譯應用程序所需要的頭文件
  /usr/lib     #常用的動態鏈接庫
  /usr/share/man  #幫助文檔
  /usr/src     #源代碼,Linux內核的源代碼就放在/usr/src/Linux里
  /usr/local/bin  #本地增加的命令
  /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


原文鏈接:https://blog.csdn.net/weixin_39951988/java/article/details/87613816


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM