linux常用命令,看這一篇就夠了

1.1 ls命令

ls,即list的縮寫,用於列出指定目錄或者文件。
在這裏插入圖片描述
常用的參數:
-a:列出當前目錄下的文件和目錄,包括隱藏文件。
在這裏插入圖片描述
-l:列出當前目錄下除隱藏文件外的所有文件和目錄的詳細信息,包括權限、所有者、所屬組以和文件創建的日期和時間。
在這裏插入圖片描述
-h:以人性化的方式列出文件,主要是文件的大小顯示方式(B,KB,MB,G)
-i:列出文件的inode
在這裏插入圖片描述
-d:列出當前目錄
在這裏插入圖片描述

1.2 文件類型

在Linux文件系統中,主要有以下幾種類型的文件:
普通文件:即一般的文件。
目錄:相當於windows中的文件夾。
鏈接文件:類似於windows中的快捷方式。
鏈接文件又分爲硬鏈接和軟鏈接,兩者本質上的區別在於inode。

設備:即與系統周邊相關的一些文件。

1.3 alias命令

alias,即命令的別名,在命令行中直接輸入alias即可查看系統已設置的別名
在這裏插入圖片描述
如何自定義一個別名呢?
格式爲alias 別名=’’,即可設置別名
在這裏插入圖片描述
可以用which命令查看詳細信息:
在這裏插入圖片描述
取消別名的方法:unalias 別名
在這裏插入圖片描述

1.4 相對和絕對路徑

路徑:即文件存放的地方。
在Linux中,分爲絕對路徑和相對路徑。
絕對路徑:由根目錄/開始寫起的,比如: /etc/ssh
相對路徑:不是由根目錄/開始寫起的,比如: cd test

1.5 cd命令

cd (change directory的縮寫),用來切換用戶所在目錄。
cd :直接輸入cd ,會進入當前用戶的根目錄下。
在這裏插入圖片描述
cd 後面加上目錄名,則會切換到指定的目錄下。
在這裏插入圖片描述
cd ~ 返回用戶的家目錄。
在這裏插入圖片描述
cd - :返回上一級目錄。
在這裏插入圖片描述
cd . 表示當前目錄,cd … 表示當前目錄的上一級目錄。
在這裏插入圖片描述

1.6 創建和刪除目錄mkdir/rmdir

mkdir (make directory的縮寫),用於創建目錄。
在這裏插入圖片描述
那麼,如果我們想在/tmp/zhangjin/目錄下再創建目錄1/2/3呢?這時候直接創建會發現報錯
在這裏插入圖片描述
這時候,我們再加參數-p就可以解決,-p,用於遞歸創建目錄。
在這裏插入圖片描述
rmdir (remove diretory),用於刪除空目錄,該命令只能用於刪除空目錄,不能刪除文件。
在這裏插入圖片描述
可以發現,此命令有很大的侷限性,我們一般用命令rm來刪除文件和目錄。

1.7 rm命令

rm:用於刪除目錄mdir和文件,常用的參數有-r和-f
-r:刪除目錄,類似於rmdir,但比rmdir更強大,它可以刪除非空目錄。
在這裏插入圖片描述
-f:強制刪除,如果後面跟一個不存在的文件或目錄,也不會報錯。
在這裏插入圖片描述

1.8 環境變量PATH

查看環境變量的命令:
在這裏插入圖片描述
將路徑加入環境變量的方法:
在這裏插入圖片描述

1.9 cp命令

cp(copy的簡寫):複製。格式爲:cp [參數] [來源文件] [目的文件],例如,把test1複製成test2,可以這樣寫:cp test1 test2。
常用參數:
-r:用於複製目錄,如果不加此參數,則不能複製目錄。
在這裏插入圖片描述
-i:複製時如果文件已經存在,則會詢問是否覆蓋。
在這裏插入圖片描述

2.0 mv命令

mv(move的縮寫),該命令的格式爲: mv [參數] [源文件或目錄] [目標文件或目錄]。
(1)、目標文件是目錄,但該目錄不存在時:會把源目錄重命名爲目標目錄名。
在這裏插入圖片描述
(2)、目標文件是目錄,且該目錄存在時:會把源文件或目錄移動到該目錄中。
在這裏插入圖片描述
(3)、目標文件是文件,且該文件不存在時:會把源文件重命名爲目標文件名。
在這裏插入圖片描述
(4)、目標文件是文件,但該文件存在時:會詢問是否覆蓋。
在這裏插入圖片描述

2.1 文檔查看cat/more/less/head/tail

4個命令都是關於查看文件的。
cat: cat後面直接加文件名,可以查看文件內容。
在這裏插入圖片描述
加-n參數,可以顯示行號:
在這裏插入圖片描述
tac: 和命令cat一樣,不同的是顯示結果和cat正好反過來,先顯示最後一行,然後倒數第二行,最後才顯示第一行。
在這裏插入圖片描述
more:當文件內容太多時,一屏不能全部顯示,這時就可以用more,當看完一屏時,按空格鍵可以繼續看下一屏,看完全部後就會退出,相關的快捷鍵:Ctrl+D向上翻屏 Ctrl+F向下翻屏 q退出。
less:功能和more一樣,不同的是,less可以一行一行顯示,而且可以用 /(在當前行向下搜索) ?(在當前行向上搜索)來查找字符串。
head:用於顯示文件的前10行,如果加參數-n,則表示顯示文件的前n行。
在這裏插入圖片描述
在這裏插入圖片描述
tail:和head類似,用於顯示文件的最後10行,如果加參數-n,則顯示文件的最後n行。
在這裏插入圖片描述
在這裏插入圖片描述

2.2 文件和目錄權限chmod

文件的權限可以通過命令 ls -l 來查看。
在這裏插入圖片描述我們以文件123爲例,從左至右可劃分爲9個部分:

1、- :表示普通文件,如果爲d,則表示目錄,此外還有l表示鏈接文件,b表示塊設備等。rw-rw-r–:這部分又可以分爲3部分,rwx爲一組,共有3組,分別表示所有者(user),所屬組(group)和其他人(other)的權限。其中,r表示可讀,w表示可寫,x表示可執行。由此可見123這個文件,所有者擁有的權限爲可讀可寫(rw),所屬組的權限爲可讀可寫(rw),其他人的權限爲可讀(r)。

2、表示該文件佔用的節點(inode),如果是目錄,這個數值與該目錄下是子目錄數量有關。

3、該文件的所有者。

4、該文件的所屬組。

5、該文件的大小。

6-8、表示該文件最後一次被修改的時間,格式爲月份、日期和時間。

9、文件名。

2.3 更改所有者和所屬組chown

chown(change ower) :更改文件的所有者。格式爲: chown [-R] 賬戶名 文件名 或者 chown [-R] 賬戶名:組名 文件名。
在這裏插入圖片描述再查看目錄dir3下的文件test3,可以發現test3文件的所有者還是root
在這裏插入圖片描述加上參數-R,可以發現,文件的所有者也改爲user1了。
在這裏插入圖片描述chmod (change mode):改變用戶對文件/目錄的讀寫執行權限。格式爲: chmod [-R] xyz(數字) 文件名。

爲了方便更改文件的權限,Linux使用數字來代替rwx,r=4, w=2, x=1,-=0。例如,rwxrw-r–,用數字表示就是764(4+2+1=7,4+2+0=6,4+0+0=4)。
在這裏插入圖片描述chmod還支持使用rwx的方式來設置權限。一般用u、g、o來分別表示user、group和others的屬性,a(all)則代表全部。
在這裏插入圖片描述
在這裏插入圖片描述

2.4 umask

默認情況下,目錄的權限值爲755,普通文件的權限值爲644,這個值的規定便涉及umask了。

umask用於改變文件的默認權限,格式爲:umask 3位數字。

查看umask的值,只要在命令行中輸入命令umask即可。
在這裏插入圖片描述可以看到,umask的預設值是0022,那麼這表示什麼含義呢?我們先來看以下兩條規則。

1、若用戶建立普通文件,則預設沒有可執行權限,只有r、w兩個權限,最大值爲666(-rw-rw-rw-)。

2、若用戶建立目錄,則預設所有權限均開放,即777(drwxrwxrwx)。

umask數值代表的含義爲以上兩條規則中的默認值(文件爲666,目錄爲777)需要減掉的權限,所以:

目錄的權限爲rwxrwxrwx - ----w–w- = rwxr-xr-x

普通文件的權限爲rw-rw-rw - ----w–w- = rw-r–r--

umask的值是可以自定義的,比如設定umask爲002,在創建目錄或文件時,默認權限分別爲:

目錄:rwxrwxrwx - -------w- = rwxrwxr-x

文件:rw-rw-rw- - -------w- = rw-rw-r–
在這裏插入圖片描述可以看到,創建的目錄默認權限變爲755,文件的默認權限變爲664。

關於umask的計算方法,不應該直接單純用數字相減,而應該換算成rwx來相減進行換算。

2.5 隱藏權限lsattr/chattr

lsattr(list attribute):讀取文件或者目錄的特殊權限,格式爲: lsattr [-aR] [文件/目錄名]。
在這裏插入圖片描述參數-a類似於ls的-a,列出隱藏文件。
在這裏插入圖片描述參數-R:將子目錄的數據也列出。
在這裏插入圖片描述chattr(change attribute):修改文件的特殊屬性。格式爲: chattr [±=] [Asaci] [文件/目錄名],其中,+、-、=分別表示增加、減少和設定。

A:表示文件或目錄的atiime將不可修改。

s:會將數據同步寫入磁盤中。

a:表示只能追加不能刪除,非root用戶不能設定該屬性。

c:表示自動壓縮該文件,讀取時會自動解壓。

i:表示文件不能刪除、重命名、設定鏈接、寫入以及新增數據。

以上參數,常用的有a和i。示例如下:
在這裏插入圖片描述在這裏插入圖片描述文件同樣適用以上權限:
在這裏插入圖片描述

2.5 特殊權限set_uid

該權限針對二進制可執行文件,使文件在執行階段具有文件所有者的權限。例如passwd,當普通用戶執行passwd命令時,可以臨時獲得root權限,從而可以更改密碼。

2.6 特殊權限set_gid

該權限可以作用在文件上,也可以作用在目錄上。當作用在文件上時,其功能和set_uid一樣,會使文件在執行階段具有文件所屬組的權限。當目錄被設置這個權限時,任何用戶在此目錄下創建的文件都具有和該目錄所屬組相同的組。

2.7 特殊權限stick_bit

防刪除位。文件是否可以被用戶刪除,主要取決於該文件所在的目錄是否對該用戶具有(w)寫權限,如果沒有寫權限,則這個目錄下的所有文件都不能刪除,同時也不能添加新的文件。

添加此權限的情景:如果希望用戶能夠添加文件但不能刪除該目錄下其他用戶的文件,則可以對父目錄增加該權限。設置該權限後,就算用戶對目錄具有寫權限,也不能刪除其他用戶的文件。

我們分別查看passwd命令和/tmp/目錄:
在這裏插入圖片描述可以發現,passwd顯示的是rws,而不是rwx,用數字表示爲4755。/tmp/顯示的是rwt,而不是rwx,用數字表示爲1777.這個4和1是怎樣計算出來的?當有特殊權限時,第一位數字可以是0、1(–t)、2(-s-)、3(-st)、4(s–)、5(s-t)、6(ss-)或7(sst).

passwd是s–,所以是4;而/tmp/是–t,所以是1。

設置特殊權限的方法也用命令chmod。其格式爲:chmod ±=[s/t] [文件/目錄名]。

2.8 軟硬鏈接文件

創建硬鏈接的命令ln(link),格式爲:ln [源文件] [目的文件]。

系統讀取一個文件時,會先讀取inode信息,然後再根據inode中的信息到塊區域將數據提取出來。創建硬鏈接,只是增加了一個指向該文件的inode,並不會改變該文件,也不會額外佔用磁盤空間。

硬鏈接的限制:

(1)、不能跨文件系統,因爲不同的文件系統有不同的inode table。

(2)、不能鏈接目錄。
在這裏插入圖片描述而目錄則可以做軟鏈接。
在這裏插入圖片描述

2.9 find命令

find命令,其格式爲: find [路徑] [參數]。

常用的參數有:

-name filename:表示直接查找該文件名的文件。(常用)
在這裏插入圖片描述-type filetype:通過文件類型(f、b、c、d、l、s等)查找文件。
在這裏插入圖片描述
-atime +n/-n:表示訪問或執行時間大於或小於n天的文件。

-ctime +n/-n:表示寫入、更改inode屬性(更改所有者、權限或鏈接等)的時間大於或小於n天的文件。

-mtime +n/-n:表示寫入時間大於或小於n天的文件。(使用最多)
在這裏插入圖片描述
關於atime、ctime和mtime的說明:
在這裏插入圖片描述
由上表可見,更改文件的內容會更改mtime和ctime,但文件的ctime的更改則有可能不會更改mtime,例如更改了文件的所有者或權限,則不會更改mtime。

3.0 stat命令

stat命令用於查看文件的atime、ctime和mtime。
在這裏插入圖片描述

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