❶ linux軟鏈接和硬鏈接的區別之ln命令詳解
1. 先來了解一下Linux數據是如何保存和查詢的
對操作系統來說,數據分為兩種:1. 用戶數據 (user data) 2.元數據 (metadata)。用戶數據就是保存和記錄文件的內容。比如一個1M的ppt文件,500K的txt文件。這都屬於用戶數據。這個文件總有屬性吧,比如大小、修改時間、訪問時間、創建時間、存儲的位置(文件所在的inode)、文件創建者等等信息。這些屬性信息或者理解為匯總信息,我們稱它為元數據。一句話,用戶數據是文件的真實內容,而元數據則是匯總信息。
在 Linux 中,元數據中的 inode 號(inode 號即索引節點號)才是文件的唯一標識而非文件名。文件名僅是為了方便人們的記憶和使用,系統或程序通過 inode 號尋找正確的文件數據塊。
2. 查看文件對應的inode號
134474678 latest.tar.gz
linux查看文件對應的inode號
可以看出latest.tar.gz這個文件, inode 號是134474678,Linux查找讀寫該文件時,以為個inode號碼為標識,而不是文件名。文件名類似於網站域名,僅僅是方便人類記憶。
也就是說, inode134474678有一個硬鏈接,它就是latest.tar.gz。
3. 根據inode號查找對應的文件
那麼,問題來了,系統上有沒有第二個文件,它的inode號碼也是13447467。
使用find查找一下:
查找結果如下:
/root/latest.tar.gz
/root/latest2.tar.gz
linux根據inode號查找對應的文件
硬碟上真的有第二個文件它的inode號碼也是134474678,像這種情況,我們認為inode134474678有兩個硬鏈接。當然,這是本文作者提前准備好的。
為解決文件的共享使用,Linux 系統引入了兩種鏈接:硬鏈接 (hard link) 與軟鏈接(又稱符號鏈接,即 soft link 或 symbolic link)。鏈接為 Linux 系統解決了文件的共享使用,還帶來了隱藏文件路徑、增加許可權安全及節省存儲等好處。
4. 確認硬鏈接的數量
查看一下文件latest.tar.gz
輸出結果如下:
-rwxr-xr-x. 2 root root 8743850 Oct 11 15:00 latest.tar.gz
請留意輸出的結果中的數字2,表示該文件存在2個硬鏈接。
正常情況下,一個inode只有一個鏈接,如下例
輸出結果:
-rw-r--r--. 1 root root 9 Nov 21 11:39 abc.txt
請留意輸出的結果中的數字1,表示該文件只存在1個硬鏈接,默認情況下,文件都是只有一個硬鏈接的。
5. 查看軟鏈接
再來看一個文件
lrwxrwxrwx. 1 root root 15 Sep 26 15:57 /dev/stdout -> /proc/self/fd/1
linux查看軟鏈接
我們發現,/dev/stdout實際上指向另一個文件/proc/self/fd/1,這就是軟鏈接。類似於Windows系統上的快捷方式。
6. 軟鏈接與硬鏈接的區別
6.1 軟鏈接特點
6.2 硬鏈接特點
ln鏈接符原理如下:
Linux ln鏈接符原理圖
7. 創建文件的鏈接
Linux ln命令是一個非常重要而且常用命令,它用於為文件或者目錄創建鏈接。
7.1 創建軟鏈接
創建一個文件,用於演示軟鏈接。
創建軟鏈接示例:
檢查結果:
輸出文件屬性
lrwxrwxrwx. 1 root root 8 Nov 26 17:48 soft123.txt -> soft.txt
linux創建軟鏈接
可以看出這個文件指向當前目錄soft.txt,配置成功。7.2 創建硬鏈接
創建一個文件,用於演示硬鏈接。
創建硬鏈接,沒有使用選項
檢查結果:
輸出文件屬性:
-rw-r--r--. 2 root root 0 Nov 26 17:47 hard123.txt
linux創建硬鏈接
留意以上輸出數字2,表明該文件有2個副本。
8. 總結
ln命令可以創建文件的副本,也可以創建軟鏈接。
❷ Linux命令大全
linux命令格式:
說明:command: 命令名,相應功能的英文單詞或單詞的縮寫 [-options]:選項,可用來對命令進行控制,也可以省略,[]代表可選 parameter1 …:傳給命令的參數:可以是零個一個或多個
一般是linux命令自帶的幫助信息
如:
man是linux提供的一個手冊,包含了絕大部分的命令、函數使用說明
該手冊分成很多章節(section),使用man時可以指定不同的章節來瀏覽。
例:man ls ; man 2 printf
man中各個section意義如下:
man是按照手冊的章節號的順序進行搜索的。
man設置了如下的功能鍵:
在敲出命令的前幾個字母的同時,按下tab鍵,系統會自動幫我們補全命令
當系統執行過一些命令後,可按上下鍵翻看以前的命令,history將執行過的命令列舉出來
ls是英文單詞list的簡寫,其功能為列出目錄的內容,是用戶最常用的命令之一,它類似於DOS下的dir命令。
Linux文件或者目錄名稱最長可以有265個字元,「.」代表當前目錄,「..」代表上一級目錄,以「.」開頭的文件為隱藏文件,需要用 -a 參數才能顯示。
ls常用參數:
Linux允許將命令執行結果重定向到一個文件,本應顯示在終端上的內容保存到指定文件中。
如:ls > test.txt ( test.txt 如果不存在,則創建,存在則覆蓋其內容 )
注意: >輸出重定向會覆蓋原來的內容,>>輸出重定向則會追加到文件的尾部。
查看內容時,在信息過長無法在一屏上顯示時,會出現快速滾屏,使得用戶無法看清文件的內容,此時可以使用more命令,每次只顯示一頁,按下空格鍵可以顯示下一頁,按下q鍵退出顯示,按下h鍵可以獲取幫助。
管道:一個命令的輸出可以通過管道做為另一個命令的輸入。
管道我們可以理解現實生活中的管子,管子的一頭塞東西進去,另一頭取出來,這里「 | 」的左右分為兩端,左端塞東西(寫),右端取東西(讀)。
clear作用為清除終端上的顯示(類似於DOS的cls清屏功能),也可使用快捷鍵:Ctrl + l ( 「l」 為字母 )。
在使用Unix/Linux的時候,經常需要更換工作目錄。cd命令可以幫助用戶切換工作目錄。Linux所有的目錄和文件名大小寫敏感
cd後面可跟絕對路徑,也可以跟相對路徑。如果省略目錄,則默認切換到當前用戶的主目錄。
使用pwd命令可以顯示當前的工作目錄,該命令很簡單,直接輸入pwd即可,後面不帶參數。
通過mkdir命令可以創建一個新的目錄。參數-p可遞歸創建目錄。
需要注意的是新建目錄的名稱不能與當前目錄中已有的目錄或文件同名,並且目錄創建者必須對當前目錄具有寫許可權。
可使用rmdir命令刪除一個目錄。必須離開目錄,並且目錄必須為空目錄,不然提示刪除失敗。
可通過rm刪除文件或目錄。使用rm命令要小心,因為文件刪除後不能恢復。為了防止文件誤刪,可以在rm後使用-i參數以逐個確認要刪除的文件。
常用參數及含義如下表所示:
Linux鏈接文件類似於Windows下的快捷方式。
鏈接文件分為軟鏈接和硬鏈接。
軟鏈接:軟鏈接不佔用磁碟空間,源文件刪除則軟鏈接失效。
硬鏈接:硬鏈接只能鏈接普通文件,不能鏈接目錄。
使用格式:
如果沒有-s選項代表建立一個硬鏈接文件,兩個文件佔用相同大小的硬碟空間,即使刪除了源文件,鏈接文件還是存在,所以-s選項是更常見的形式。
注意:如果軟鏈接文件和源文件不在同一個目錄,源文件要使用絕對路徑,不能使用相對路徑。
Linux系統中grep命令是一種強大的文本搜索工具,grep允許對文本文件進行模式查找。如果找到匹配模式, grep列印包含模式的所有行。
grep一般格式為:
在grep命令中輸入字元串參數時,最好引號或雙引號括起來。例如:grep『a 』1.txt。
常用選項說明:
find命令功能非常強大,通常用來在特定的目錄下搜索符合條件的文件,也可以用來搜索特定用戶屬主的文件。
常用用法:
cp命令的功能是將給出的文件或目錄復制到另一個文件或目錄中,相當於DOS下的命令。
常用選項說明:
用戶可以使用mv命令來移動文件或目錄,也可以給文件或目錄重命名。
常用選項說明:
計算機中的數據經常需要備份,tar是Unix/Linux中最常用的備份工具,此命令可以把一系列文件歸檔到一個大文件中,也可以把檔案文件解開以恢復數據。
tar使用格式 tar [參數] 打包文件名 文件
tar命令很特殊,其參數前面可以使用「-」,也可以不使用。
常用參數:
tar與gzip命令結合使用實現文件打包、壓縮。 tar只負責打包文件,但不壓縮,用gzip壓縮tar打包後的文件,其擴展名一般用xxxx.tar.gz。
gzip使用格式如下:
gzip [選項] 被壓縮文件
常用選項:
tar與bzip2命令結合使用實現文件打包、壓縮(用法和gzip一樣)。
tar只負責打包文件,但不壓縮,用bzip2壓縮tar打包後的文件,其擴展名一般用xxxx.tar.gz2。
在tar命令中增加一個選項(-j)可以調用bzip2實現了一個壓縮的功能,實行一個先打包後壓縮的過程。
壓縮用法:tar -jcvf 壓縮包包名 文件...(tar jcvf bk.tar.bz2 *.c)
解壓用法:tar -jxvf 壓縮包包名 (tar jxvf bk.tar.bz2)
通過zip壓縮文件的目標文件不需要指定擴展名,默認擴展名為zip。
壓縮文件:zip [-r] 目標文件(沒有擴展名) 源文件
解壓文件:unzip -d 解壓後目錄文件 壓縮文件
whoami該命令用戶查看當前系統當前賬號的用戶名。可通過cat /etc/passwd查看系統用戶信息。
由於系統管理員通常需要使用多種身份登錄系統,例如通常使用普通用戶登錄系統,然後再以su命令切換到root身份對傳統進行管理。這時候就可以使用whoami來查看當前用戶的身份。
who命令用於查看當前所有登錄系統的用戶信息。
常用選項:
如果是圖形界面,退出當前終端;
如果是使用ssh遠程登錄,退出登陸賬戶;
如果是切換後的登陸用戶,退出則返回上一個登陸賬號。
在Unix/Linux中添加用戶賬號可以使用adser或useradd命令,因為adser命令是指向useradd命令的一個鏈接,因此,這兩個命令的使用格式完全一樣。
useradd命令的使用格式如下:
useradd [參數] 新建用戶賬號
在Unix/Linux中,超級用戶可以使用passwd命令為普通用戶設置或修改用戶口令。用戶也可以直接使用該命令來修改自己的口令,而無需在命令後面使用用戶名。
可以通過su命令切換用戶,su後面可以加「-」。su和su –命令不同之處在於,su -切換到對應的用戶時會將當前的工作目錄自動轉換到切換後的用戶主目錄:
注意:如果是ubuntu平台,需要在命令前加「sudo」,如果在某些操作需要管理員才能操作,ubuntu無需切換到root用戶即可操作,只需加「sudo」即可。sudo是ubuntu平台下允許系統管理員讓普通用戶執行一些或者全部的root命令的一個工具,減少了root 用戶的登陸和管理時間,提高了安全性。
方法一:
方法二:
groupadd 新建組賬號 groupdel 組賬號 cat /etc/group 查看用戶組
使用方法:usermod -g 用戶組 用戶名
新創建的用戶,默認不能sudo,需要進行一下操作
-g用來制定這個用戶默認的用戶組
-G一般配合'-a'來完成向其它組添加
chmod 修改文件許可權有兩種使用格式:字母法與數字法。
字母法:chmod u/g/o/a +/-/= rwx 文件
cal命令用於查看當前日歷,-y顯示整年日歷
設置時間格式(需要管理員許可權):
date [MMDDhhmm[[CC]YY][.ss]] +format
CC為年前兩位yy為年的後兩位,前兩位的mm為月,後兩位的mm為分鍾,dd為天,hh為小時,ss為秒。如: date 010203042016.55。
顯示時間格式(date '+%y,%m,%d,%H,%M,%S'):
進程是一個具有一定獨立功能的程序,它是操作系統動態執行的基本單元。
ps命令可以查看進程的詳細狀況,常用選項(選項可以不加「-」)如下:
top命令用來動態顯示運行中的進程。top命令能夠在運行後,在指定的時間間隔更新顯示信息。可以在使用top命令時加上-d 來指定顯示信息更新的時間間隔。
在top命令執行後,可以按下按鍵得到對顯示的結果進行排序:
kill命令指定進程號的進程,需要配合 ps 使用。有些進程不能直接殺死,這時候我們需要加一個參數「 -9 」,「 -9 」 代表強制結束.
使用格式:
kill [-signal] pid
df命令用於檢測文件系統的磁碟空間佔用和空餘情況,可以顯示所有文件系統對節點和磁碟塊的使用情況。
命令用於統計目錄或文件所佔磁碟空間的大小,該命令的執行結果與df類似,更側重於磁碟的使用狀況。
命令的使用格式如下: [選項] 目錄或文件名
❸ Linux系統中對文件和目錄操作的命令有哪些
顯示當前目錄pwd
切換目錄cd
創建目錄mkdir
創建文件touch
刪除文件或目錄rm
剪切mv
拷貝cp
符號鏈接ln
❹ Linux文件系統操作命令
Linux文件系統操作命令大全
Linux命令有很多,那麼Linux文件系統操作命令又有哪些呢?下面我為你介紹!
文件系統操作命令:
1. cat:可以顯示文件的內容(經常和more搭配使用),或將多個文件合並成一個文件。
2. chgrp:用來改變文件或目錄所屬的用戶組,命令的參數以空格分開的要改變屬組的文件列表,文件名支持通配符,如果用戶不是該文件的所有者,則不能改變該文件的所屬組。
3. chmod:用於改變文件或目錄的訪問許可權,該命令有兩種用法:一種是使用圖形化的方法,另一種是數字設置法。
4. chown:用來將指定用戶或組為特定的所有者。用戶可以設置為用戶名或用戶ID,組可以是組名或組ID。特定的文件是以空格分開的可以改變許可權的文件列表,文件名支持通配符。
5. clear:用來清除終端屏幕。
6. cmp:用來比較兩個文件的大小。
7. cp:()可以將文件或目錄復制到其他目錄中,就如同Dos下的命令一樣,功能非常強大。在使用cp命令時,只需要指定源文件名或目標目錄即可。
8. cut:用來移除文件的部分內容。
9. diff:用來找出兩個文件的不同之處。
10. : 用來顯示磁碟的剩餘空間的大小。
11. file:用來顯示文件的類型。
12. find:用來在目錄中搜索文件,並執行指定的操作。
13. head:只查看文件的頭幾行內容,而不必瀏覽整個文件。
14. ln:可以在文件之間創建鏈接,實際上是給某個文件指定一個訪問它的別名。
15. less:用法與more類似,可以查看超過一屏的文件內容,不同的是less除了可以按空格鍵向下顯示文件外,還可以利用方向鍵來滾動顯示文件,要結束瀏覽,只要在less的提示符“:”後按Q即可。
16. locate:可用於查找文件,且比find命令的搜索速度快。
17. ls(list):用來顯示當前目錄中的文件和子目錄列表。
18. mkdir(make directory):建立子目錄。
19. more:用於顯示內容超過一屏的文件,為了避免文件內容顯示瞬間就消失,可以使用more命令讓文件顯示滿一屏時暫停,在按下任意鍵的時候繼續顯示下一屏的內容。
20. rmkdir(remove directory):用來刪除“空”的子目錄或無用的目錄文件。
21. mv(move):可以將文件以及目錄移到其他位置,或更改文件以及目錄的名稱。
22. pico:可指定文本的編輯方式。
23. pwd(print working directory):可顯示用戶當前所在的目錄。
24. rm:用來刪除系統中過時或無用的文件,可以刪除目錄中的文件或目錄本身,對於鏈接文件,原有文件保持不變。
25. sort:將文本文件自動分類。
26. stat:用於顯示文件或文件系統的狀態。
27. Strings:顯示文件中要列印的字元串。
28. tail:輸出文件的結尾。
29. touch:改變文件的時間戳。
30. umask:用於啟動bash shell。
31. uniq:移除已分類文件中的重復文本行。
32. vi:啟動vi文本編輯器。
33. wc:顯示文件中位元組、片語合文本行的數目。
34. whereis:查找特定目錄下的原始程序,二進製程序或用戶手冊等文件的位置。
35. man:如果用戶對某個命令想了解更詳細的話,可使用此命令。
36. dd:復制一個文件。
37. df:查看一個文件系統的磁碟空間使用情況。
38. edquoat:設置用戶與用戶組的磁碟空間限制,即Windows系統中的配額。
39. fdformat:格式化軟盤。
40. fdisk:執行Linux下的`磁碟分區。
41. mkfs:建立一個Linux文件系統。
42. mkswap:創建一個Linux交換分區。
43. mount:掛載一個文件系統。
44. quota:限制和顯示用戶可用的磁碟空間。
45. swapon,swapoff:啟用或取消設備和文件的交換頁。
46. quotaon,quotaoff:啟用或取消quota限制。
47. umount:取消文件系統的裝備。
系統管理命令
1. finger:查詢用戶信息,也能查看默認的用戶環境。
2. ftp:標準的文件傳輸協議的用戶介面,是在網路上傳輸文件最簡單有效的方法。
3. host:用於DNS查詢。
4. hostname:用於顯示或設置系統的主機名。
5. ifconfig:用於配置網卡介面。(可以使用down或up參數來禁用或啟用某個網卡介面)
6. mail:發送和接收郵件。
7. netstat:顯示網路連接、路由表和網路介面信息,用戶可以知道目前那些網路連接正在運行。
8. ping:此命令用於測試本計算機和網路上其它的計算機是否相連。
9. rlogin:遠程登陸命令,該命令與telnet命令很相似,允許用戶啟動遠程系統的交互會話。
10. rcp:rcp(remote file )命令是遠程文件復制命令,該命令用於在計算機之間復制文件,有兩中格式,一種格式用於文件動文件的復制,另一種用於把文件或目錄復制到其他文件目錄中。
11. route:此命令用於顯示或設置IP路由表。
12. tcpmp:此命令用於測試網路的通信量。
13. talk:此命令可用於事項網路用戶的適時交談,但是必須將雙方系統的信息加入各自的/etc/hosts文件中,以相互識別。
14. telnet:此命令用於通過網路登陸遠程計算機,如同操作本地計算機一樣。
15. wall:wall(write all)命令可以用於發送消息給登陸本機的用戶。在發送消息時,可直接輸入要發送的消息,也可以把文件當成消息發送。
16. wget:此命令用於Linux環境下從Internet上下載文件,支持http和ftp協議,支持代理伺服器和斷點連續傳功能,能夠遞歸遠程主機上的目錄,查找合乎要求的的文件並下載到本地硬碟上。Wget命令可以在後台運行,截獲並忽略hantfup信號,因此用戶退出登陸後,仍可繼續運行。
17. &,bg:&,bg命令是後台執行命令,有時候用戶執行的程序可能要話很多時間,如果放在前台執行,可能無法繼續其他操作,最好將他放在後台執行。
18. fg:fg命令是前台執行命令,如果用戶有程序在後台運行,可以通過fg命令將程序從後台移到前台執行。
19. jobs:此命令用於顯示正在後台執行的任務清單。Bg,fg,jobs命令都屬於bash命令,
20. kill:此命令用於終止一個程序,例如:#[root@rathat9 root]kill 3793
21. ps:此命令用於顯示程序的狀態。
22. top:此命令用於顯示當前CPU進程。
23. at batch atp atrm:這些命令用於排序,檢查或刪除後台運行的任務。
Linux與用戶有關的命令:
1. passwd命令:更改用戶口令。
格式:passwd [用戶名]
2. su命令:可以讓一個普通用戶擁有超級用戶或其他用戶的許可權,也可以讓超級擁護以普通用戶的身份做一些事情。
格式:su[選項][?][使用者賬號]
說明:若沒有指定的使用者賬號,則系統預設值為超級用戶root。該命令中個選項的含義分別為:
-c:執行一個命令後就結束。
-:加了這個減號的目的是使環境變數和欲轉換的用戶相同。
-m:保留環境變數不變。
Linux系統管理命令:
1. wall命令:對全部以登陸的用戶發送信息。
2. write命令:向系統中某一用戶發送信息。
格式:write 用戶賬號 [終端名稱]
3. mesg命令:設定是否允許其他用戶用write命令給自己發送信息。
如果允許輸入命令:mesg y
如果不允許輸入命令:mesg n
4. sync命令:在關閉Linux系統是使用的。Sync是強制把內存中的數據寫回硬碟,以免數據丟失。
5. shutdown命令:可以安全的關閉或重啟Linux它在系統關閉之前給系統上的所有登陸用戶提示一條警告信息。
格式:shutdown [選項][時間][警告信息]
命令中選項的含義:
-k:並不真正關機,而只是發出警告信息給所有用戶。
-r:關機後立即重新啟動。
-h:關機後不重新啟動。
-f快速關機,重新啟動時跳過fsck。
-n:快速關機,不經過init程序。
-c:取消一個已經運行的shutdown。
6. free命令:查看當前系統內存的使用情況,它顯示系統中剩餘及已用的物理內存和交換內存,以及共享內存和被核心使用的緩沖區。
格式:free [-b | -k |-m]
命令中各個選項的含義:
-b:以位元組為單位顯示。
-k:以K位元組為單位顯示。
-m:以兆位元組為單位顯示。
7. uptime命令:顯示系統已經運行了多長時間,它依次顯示下列信息:現在時間、系統已經運行了多長時間、目前有多少登陸用戶、系統在過去的1分鍾、5分鍾和15分鍾內的平均負載。
8. df命令:檢查文件系統的磁碟空間佔用情況。
格式:df [選項]
說明:df命令可顯示所有文件系統對I節點和磁碟塊的使用情況。
命令中各個選項的含義:
-a:顯示所有文件系統的磁碟使用情況,包括0塊(block)的文件系統。
-k:以k位元組為單位顯示。
-i:顯示i節點信息,而不是磁碟塊。
-t:顯示各指定類型的文件系統的磁碟空間使用情況。
-x:列出不是某一指定類型文件系統的磁碟空間使用情況。
-T:顯示文件系統類型。
9. 命令:顯示磁碟空間的使用情況。統計目錄(或文件)所佔磁碟的大小。
格式: [選項] [Names…]
說明:該命令逐級進入指定目錄的每一個子目錄並顯示該目錄佔用文件系統數據塊(1024位元組)的情況。若沒有給出Names,則對當前目錄進行統計。
命令中各個選項的含義:
-s:對每個Names參數只給出佔用的數據塊總數。
-a:遞歸的顯示指定目錄中各文件及子孫目錄中個文件佔用的數據塊數。若既不指定-s,也不指定-a,則顯示Names中的每一個目錄及其中的各子目錄所佔的磁碟塊數。
-b:以位元組為單位列出磁碟空間使用情況(系統預設以k位元組為單位)。
-k:以1024位元組為單位列出磁碟空間的使用情況。
-c:最後再加上一個總計(系統預設設置)。
-l:計算所有的文件大小,對硬鏈接文件,則計算多次。
-x:跳過在不同文件系統上的目錄不予統計。
10. dd命令:把指定的輸入文件拷貝到指定的輸出文件中,並且在拷貝過程中可以進行格式轉換。
格式:dd [選項]
命令中各個選項的含義:
if = 輸入文件(或設備名稱)。
of = 輸出文件(或設備名稱)。
ibs = bytes 一次讀取bytes位元組,及讀入緩沖區的位元組數。
skip = blocks 跳過讀入緩沖區開頭的ibs*blocks塊。
obs = bytes 一次寫入bytes位元組,及寫入緩沖區的位元組數。
bs = bytes 同時設置讀/寫緩沖區的位元組數(等於設置ibs和obs).
cbs = byte 一次轉換bytes位元組。
count = blocks 只拷貝輸入的block塊。
conv = ASCⅡ 把EBCDIC碼轉換為ASCⅡ。
conv = ebcdic 把ASCⅡ碼轉換為EBCDIC碼。
conv = ibm ibm把ASCⅡ碼轉換為alternate EBCDIC碼。
conv = block 把變動位轉換成固定字元。
conv = ublock 把固定位轉換成變動位。
conv = ucase 把字母由小寫轉換為大寫。
conv = lcase 把字母由大寫轉換為小寫。
conv = notrunc 不截短輸出文件。
conv = swab 交換每一對輸入位元組。
conv = noerror 出錯是不停止處理。
conv = sync 把每個輸入記錄的大小都調到ibs的大小(用NUL填充)。
11. fdformat命令:低級格式化軟盤。
格式:format [-n] device
說明:-n 軟盤格式化後不作檢驗。
12. echo命令:在顯示器上顯示一段文字,一般起到一個提示作用。
格式:echo [-n] 字元串
13. cal命令:顯示某年某月的日歷。
格式:cal [選項] [月 [年]]
命令中各個選項的含義:
-j:顯示出給定月中的每一天是一年中的第幾天(從1月1日算起)。
-y:顯示出整年的日歷。
14. date命令:顯示和設置系統日期和時間。
格式:date [選項] 顯示時間格式 (以 + 開頭,後面接格式)
date [選項] 設置時間格式
命令中各個選項的含義:
15. clear命令:清除屏幕上的信息。
Vi的基本命令:
1. 移動游標:
Ctrl + b:上滾一屏
Ctrl + f:下滾一屏
Ctrl + d:下滾半屏
Ctrl + u:上滾半屏
G: 移到文件最後
W:移到下個字的開頭
B:跳至上個字的開頭
2. 刪除
x:刪除當前游標所在後面一個字元
#x:刪除當前游標所在後面#個字元。例如,5x表示刪除5個字元。
dd:刪除當前游標所在行
#dd:刪除當前游標所在後面#行。例如,5dd表示刪除字游標算起的5行。
:l,#d:例如,:1,12d表示刪除自行1至行12的文字
X:刪當前游標的左字元
D:刪至行尾
3. 更改
cw:更改游標處的字到此單字的字尾處
c#w:例如,c3w表示更改3個字
cc:修改行
c:替換到行尾
4. 取代
r:取代游標處的字元
R:取代字元直到按ESC為止
5. 復制
yw:拷貝游標處的字到字尾只緩沖區
P:把緩沖區的資料貼上來
yy:拷貝游標所在之行至緩沖區
#yy:例如:5yy,拷貝游標所在之處以下5行至緩沖區
Linux文件的復制,刪除和移動命令
1.cp命令:該命令的功能是將給出的文件或目錄拷貝到另一文件或目錄中,同MSDOS下的COPY命令一樣,功能十分強大。
語法:cp[選項]源文件或目錄,目標文件或目錄
說明該命令把指定的源文件復制到目標文件或把多個源文件復制到目標目錄中。
該命令的各項選項含義如下:
-a:該選項通常在拷貝目錄是使用。他保留鏈接,文件屬性,並遞歸地拷貝目錄,其作用等於dpr選項的組合。
-d:拷貝是保留鏈接
-f:刪除已經存在的目標文件而不提示。
-I:和 f選項相反,在覆蓋目標文件之前將給出提示要求擁護確認。回答y時目標文件將被覆蓋,是互動式拷貝。
-p:此時cp除復制源文件的內容外,還將把其修改時間和反問許可權也復制到新文件中。
-r;若給出的源文件是一目錄文件,此時cp將遞歸復制該目錄下所有的子目錄和文件。此時目標文件必須為一個目錄名。
-L:不作拷貝,只是鏈接文件。
需要說明的是,為防止用戶在不經意的情況下用cp命令破壞另一個文件,如用戶指定的目標文件名已存在,用cp 命令拷貝文件後,這個文件酒會被新源文件覆蓋,因此,建議用戶在使用cp命令拷貝文件時,最好使用I選項。
2.mv命令:用戶可以使用mv命令來為文件或目錄改名或將文件由一個目錄移入另一個目錄中。該命令如同MS-DOS下的ren 和 move 的組合。
語法:mv[選項]源文件或目錄 目標文件或目錄。
說明:視mv命令中第二個參數類型的不同(是目標文件還是目標目錄),mv命令將文件重命名或將其移至一個新的目錄中。當第二個參數類型是文件時,mv命令完成文件重命名,此時,源文件只能有一個(也可以是源目錄名),他將所給的源文件或目錄重命名為給頂的目標文件名。當第二個參數是已存在的目錄名稱時,源文件或目錄參加參數可以有很多個,mv命令將個參數指定的源文件均移至目標目錄中。在跨文件系統移動文件時,mv先拷貝,再將原有文件刪除,而鏈至該文件的鏈接也將丟失。
命令中各選項的含義為:
-I:交互方式操作。如果mv操作將導致對已存在的目標文件的覆蓋,此時系統詢問是否重寫,要求用戶回答y或n,這樣可以避免誤覆蓋文件。
-f:禁止交互操作。在mv操作要覆蓋某已有的目標文件是不給任何指示,指定此選項後,I選項將不再起作用。
如果所給目標文件(不是目錄)已存在,此時該文件的內容將後備新文件覆蓋,為防止用戶用mv命令破壞另一個文件,使用mv命令移動文件時,最好使用I選項。
3.rm命令:用戶可以用rm命令刪除不需要的文件。該命令的功能問刪除一個目錄中的一個或多個文件或目錄,他也可以將某個目錄及其下的所有文件及子目錄均刪除。對於鏈接文件,只是斷開了鏈接,源文件保持不變。
Rm命令的一般形式為:
Rm [選項]文件……
如果沒有使用-r選項,則rm不會刪除目錄。
該命令的各選項含義如下:
-f:忽略不存在的文件,從不給出提示。
-r:指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除。
-I:進行互動式刪除。
使用rm命令要小心。因為一旦文件被刪除,他是不能被恢復的。為了防止這種情況的發生可以使用I選項倆逐個確認要刪除的文件。如果用戶輸入y,文件將被刪除。如果輸入任何其他東西,文件則不會刪除。
Linux目錄的創建與刪除命令:
1. mkdir命令
功能:創建一個目錄(類似MS-DOS下的md命令)。
語法:mkdir[選項]dir-name
說明:該命令創建由dir-name命名的目錄。要求創建目錄的用戶在當前目錄中(dir-name的父目錄中)具有寫許可權,並且dirname不能是當前目錄中已有的目錄或文件名稱。
命令中個選項的含義為:
-m:對新建目錄設置存取許可權。也可以用chmod命令設置。
-p:可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項後,系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄。
2. rmdir命令
功能:刪除空目錄。
語法:rmdir[選項]dir-name。/
說明:dir-name表示目錄名。該命令從一個目錄中刪除一個或多個子目錄項。需要特別注意的是,一個目錄被刪除之前必須是空的。Rm-r dir 命令可代替rndir,但是有危險性。刪除某目錄時也必須具有對父目錄的、寫許可權。
命令中個選項的含義為:
-p遞歸刪除目錄dirname,當子目錄刪除後其父目錄為空時,也一同被刪除。如果整個路徑被刪除或者由於某種原因保留部分路徑,則系統在標准輸出上顯示相應的信息。
3. cd命令
功能:改變工作目錄。
語法:cd[directory]
說明:該命令將當前目錄改變至directory所指定的目錄。若沒有指定directory,則回到用戶的主目錄。為了改變到指定目錄,用戶必須擁有對指定目錄的執行和讀許可權。
該命令可以使用通配符(如”*,_”這樣的通配符號)。
4. pwd命令
在Linux層次結構中,用戶可以在被授權的任意目錄下利用mkdir命令創建新目錄,也可以利用cd命令從一個目錄轉換到另一個目錄。然而,沒有提示符來告知用戶目前處於哪一個目錄中。想要知道當前所處的目錄,可以用pwd命令,該命令顯示整個路徑名。
語法:pwd
說明:此命令顯示出當前工作目錄的絕對路徑。
5. ls命令
ls是list的簡寫,其功能為列出目錄的內容。這是擁護最常用的一個命令之一,因為用戶需要不時地查看某個目錄的內容,該命令類似於DOS下的dir命令
語法:ls[選項][目錄或是文件]
對於每個目錄,該命令將列出其中的所有子目錄與文件。對於每個文件,ls將輸出其文件名以及所要求的其他信息。默認情況下,輸出條目按字母順序排序。但未給出目錄名或是文件名時,就顯示當前目錄的信息。
命令中各個選項的含義:
-a:顯示指定目錄下所有子目錄與文件,包括隱藏文件。
-A:顯示指定目錄下所有子目錄與文件,包括隱藏文件。但不列出“.”和“..”.
-b:對文件名中的不可顯示字元用把禁止
linux中所有設備都是以文件的形式顯示
linux下文件的後綴名無實際意義
命令
pwd 顯示路徑
man +命令 列出操作說明
ls -l/-help列出 文件目錄
cd / 目錄做實驗
安裝步驟 configure make make install?
rm -r dl 遞歸刪除目錄
rm -rf 刪除所有目錄
rm -f 加文件名 刪除文件
rmdir +文件地址 刪除文件夾所有和rm -rf功能差不多
touch 加名字 創建新文件
cp 復制 mv 移動 rm 刪除
vi 文本編輯器 輸入a將從命令格式變成輸入格式
head tail 查看前面和後面
find 加位置 加文件名 查找
echo $PATH 查詢路徑
useradd 加名字 添加用戶
userdel 加名字 刪除用戶
su 加用戶名 切換用戶
chmod +x/-x 加文件名 修改文件許可權
chmod 755 加文件名 改變許可權在安裝程序時
grep 加文本字元 加在那個文件 查找字元存在那行
fdisk -l 查看磁碟信息
命令1|命令2|命令三... 管道
ps -ef查看進程
ifconfig linux查看ip
重定向
linux和其它機器之間共享文件vsftp Windows和linux傳輸文件15-17
putty遠程登錄軟體ssh
gzip 壓縮和解壓縮 -d解壓 21
service iptables off防火牆關閉
tar -xvf 第二層解壓縮
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(註:tar是打包,不是壓縮!)
———————————————
.gz
解壓1:gunzip FileName.gz
解壓2:gzip -d FileName.gz
壓縮:gzip FileName
.tar.gz 和 .tgz
解壓:tar zxvf FileName.tar.gz ./DirName
壓縮:tar zcvf FileName.tar.gz DirName
.tar.bz2
解壓:tar xjf FileName.tar.bz2 ./DirName
壓縮:tar cjf FileName.tar.bz2 DirName
rpm -ivh 加.rpm文件 安裝
安裝sudo apt-get install 軟體名
;❺ linux給文件創建硬鏈接
在了Linux下創建硬連接和軟連接(也就是符號連接)都是用ln命令,當使用ln命令時加上-s選項就表示創建的連接文件是一個軟連接,如果使用ln命令時不帶-s選項就表示創建的是一個硬連接。而ln命令的格式則是:ln 原文件 連接文件
比如如下命令是創建硬連接的,/home/testfile就是創建的硬連接文件,它連接到/root/testfile這個文件:
ln /root/testfile /home/testfile
下面的則是創建軟連接的,這次/home/testfile是一個軟連接文件:
ln -s /root/testfile /home/testfile
❻ linux軟連接命令是L還是i
都不是。
?1、首先有一個目錄dir, 執行ln -s dir dir_link 創建目錄的軟鏈接。
?2、重新創建mkdir源目錄,目錄軟鏈接重新生效。
?3、執行命令ln dir dir_hard,創建目錄的硬鏈接。
?4、執行命令ln -s file file_link,創建文件file的軟鏈接file_link。
?5、執行命令ln file file_hard創建文件file的硬鏈接file_hard。
?6、修改硬鏈接file_hard、cat file,同時更新到源文件中即可。
❼ Linux基本命令-2021-0717
[root@localhost ~]# ls -l
總用量 44
-rw------. 1 ---- root ---- root --------1207 1 月14 18:18 anaconda-ks.cfg
許可權--引用計數 所有者 -- 所屬組--- 大小-- 文件修改時間 文件名
ls [選項] [文件名或目錄名]
選項:
-a :顯示所有文件
--color=when:支持顏色輸出
-d :顯示目錄信息,而不是目錄下的文件
-h :人性化顯示﹐按照我們習慣的顯示文件大小
-i :顯示文件的i節點號
-l:長格式顯示
pwd 命令是查詢當前所在的目錄的絕對路徑
選項:
-L (默認值)列印環境變數"$PWD"的值,可能為符號鏈接。
-P 列印當前工作目錄的物理位置。
mkdir 是創建目錄的命令
選項:
-Z:設置安全上下文,當使用SELinux時有效;
-m或--mode:建立目錄的同時設置目錄的許可權;
-p或--parents:若所要建立目錄的上層目錄目前尚未建立,則會一並建立上層目錄;
rmdir 是刪除空目錄的命令
-p: 遞歸刪除目錄
touch 是 創建空文件或修改文件的時間戳
[root@localhost ~]# touch [選項] 文件名
-a:或--time=atime或--time=access或--time=use 只更改存取時間;
-c:或--no-create 不建立任何文件;
-d:<時間日期> 使用指定的日期時間,而非現在的時間;
-f:此參數將忽略不予處理,僅負責解決BSD版本touch指令的兼容性問題;
-m:或--time=mtime或--time=modify 只更該變動時間;
-r:<參考文件或目錄> 把指定文件或目錄的日期時間,統統設成和參考文件或目錄的日期時間相同;
-t:<日期時間> 使用指定的日期時間,而非現在的時間;
--help:在線幫助;
--version:顯示版本信息。
stat 是查看文件詳細信息的命令,而且可以看到文件的這三個時間戳
選項:
-L:支持符號連接;
-f:顯示文件系統狀態而非文件狀態;
-t:以簡潔方式輸出信息;
cat 命令用來查看文件內容
選項:
-A: 相當於-vET 選項的整合,用於列出所有隱藏符號
-E: 列出每行結尾的回車符$
-n: 顯示行號
-T: 把 Tab 鍵用^I顯示出來
-v: 列出特殊字元
more 是分屏顯示文件的命令
less 是分行顯示文件的命令
用less命令顯示文件時,用PageUp鍵向上翻頁,用PageDown鍵向下翻頁。要退出less程序,應按Q鍵。
選項:
-e:文件內容顯示完畢後,自動退出;
-f:強制顯示文件;
-g:不加亮顯示搜索到的所有關鍵詞,僅顯示當前顯示的關鍵字,以提高顯示速度;
-l:搜索時忽略大小寫的差異;
-N:每一行行首顯示行號;
-s:將連續多個空行壓縮成一行顯示;
-S:在單行顯示較長的內容,而不換行顯示;
-x<數字>:將TAB字元顯示為指定個數的空格字元。
head 是用來顯示文件開頭的命令
選項:
-c --bytes=[-]NUM 顯示前NUM位元組;如果NUM前有"-",那麼會列印除了文件末尾的NUM位元組以外的其他內容。
-n, --lines=[-]NUM 顯示前NUM行而不是默認的10行;如果NUM前有"-",那麼會列印除了文件末尾的NUM行以外的其他行。
-q, --quiet, --silent 不列印文件名行。
-v, --verbose 總是列印文件名行。
-z, --zero-terminated 行終止符為NUL而不是換行符。
tail 是用來顯示文件末尾的命令
選項:
-c, --bytes=NUM 輸出文件尾部的NUM(NUM為整數)個位元組內容。
-f, --follow[={name|descript}] 顯示文件最新追加的內容。「name」表示以文件名的方式監視文件的變化。
-F 與 「--follow=name --retry」 功能相同。
-n, --line=NUM 輸出文件的尾部NUM(NUM位數字)行內容。
--pid=<進程號> 與「-f」選項連用,當指定的進程號的進程終止後,自動退出tail命令。
-q, --quiet, --silent 當有多個文件參數時,不輸出各個文件名。
--retry 即是在tail命令啟動時,文件不可訪問或者文件稍後變得不可訪問,都始終嘗試打開文件。使用此選項時需要與選項「--follow=name」連用。
-s, --sleep-interal=<秒數> 與「-f」選項連用,指定監視文件變化時間隔的秒數。
-v, --verbose 當有多個文件參數時,總是輸出各個文件名。
ln 是用來為文件創建鏈接的命令
[root@localhost ~]# ln [選項] 源文件 目標文件
選項:
-s: 建立軟鏈接文件。如果不加「-s」選項,則建立硬鏈接文件
-f: 強制。如果目標文件已經存在,則刪除目標文件後再建立鏈接文件
-d, -F, --directory 創建指向目錄的硬鏈接(只適用於超級用戶)
-f, --force 強行刪除任何已存在的目標文件
-i, --interactive 覆蓋既有文件之前先詢問用戶
-L, --logical 取消引用作為軟鏈接的目標
-n, --no-dereference 把軟鏈接的目的目錄視為一般文件
-P, --physical 直接將硬鏈接到軟鏈接
-r, --relative 創建相對於鏈接位置的軟鏈接
-s, --symbolic 對源文件建立軟鏈接
硬鏈接特徵:
源文件和硬鏈接文件擁有相同的 Inode 和 Block
修改任意一個文件,另一個都改變
刪除任意一個文件,另一個都能使用
硬鏈接標記不清,很難確認硬鏈接文件位置,不建議使用
硬鏈接不能鏈接目錄
硬鏈接不能跨分區
軟鏈接特徵:
軟鏈接和源文件擁有不同的 Inode 和 Block
兩個文件修改任意一個,另一個都改變
刪除軟鏈接,源文件不受影響;刪除源文件,軟鏈接不能使用
軟鏈接沒有實際數據,只保存源文件的 Inode,不論源文件多大,軟鏈接大小不變
軟鏈接的許可權是最大許可權 lrwxrwxrwx.,但是由於沒有實際數據,最終訪問時需要參考源文
件許可權
軟鏈接可以鏈接目錄
軟鏈接可以跨分區
軟鏈接特徵明顯,建議使用軟連接
rm 是強大的刪除命令,不僅可以刪除文件,也可以刪除目錄
[root@localhost ~]# rm [選項] 文件或目錄
選項:
d:直接把欲刪除的目錄的硬連接數據刪除成0,刪除該目錄;
-f:強制刪除文件或目錄;
-i:刪除已有文件或目錄之前先詢問用戶;
-r:遞歸處理,將指定目錄下的所有文件與子目錄一並處理;
--preserve-root:不對根目錄進行遞歸操作;
-v:顯示指令的詳細執行過程。
cp 是文件或目錄用於復制的命令
[root@localhost ~]# cp [選項] 源文件 目標文件
選項:
-a:此參數的效果和同時指定"-dpR"參數相同;
-d:當復制軟鏈接時,把目標文件或目錄也建立為軟鏈接,並指向與源文件或目錄連接的原始文件或目錄;
-f:強行復制文件或目錄,不論目標文件或目錄是否已存在;
-i:覆蓋既有文件之前先詢問用戶;
-l:對源文件建立硬連接,而非復制文件;
-p:保留源文件或目錄的屬性;
-r:遞歸處理,將指定目錄下的所有文件與子目錄一並處理;
-s:對源文件建立軟鏈接,而非復制文件;
-u:使用這項參數後只會在源文件的更改時間較目標文件更新時或是名稱相互對應的目標文件並不存在時,才復制文件;
-S:在備份文件時,用指定的後綴「SUFFIX」代替文件的默認後綴;
-b:覆蓋已存在的文件目標前將目標文件備份;
-v:詳細顯示命令執行的操作。
mv 是用來對文件或目錄重新命名,或者將文件移動至其他目錄
[root@localhost ~]# mv [選項] 源文件 目標文件
選項:
-b:當文件存在時,覆蓋前,為其創建一個備份;
-f:若目標文件或目錄與現有的文件或目錄重復,則直接覆蓋現有的文件或目錄;
-i:互動式操作,覆蓋前先行詢問用戶,如果源文件與目標文件或目標目錄中的文件同名,則詢問用戶是否覆蓋目標文件。用戶輸入」y」,表示將覆蓋目標文件;輸入」n」,表示取消對源文件的移動。這樣可以避免誤將文件覆蓋。
--strip-trailing-slashes:刪除源文件中的斜杠「 / 」;
-S<後綴>:為備份文件指定後綴,而不使用默認的後綴;
--target-directory=<目錄>:指定源文件要移動到目標目錄;
-u:當源文件比目標文件新或者目標文件不存在時,才執行移動操作。
[root@localhost ~]# ls -l install.log
-rw-r--r--. 1 root root 24772 1 月 14 18:17 install.log
第一列的許可權位如果不計算最後的「.」,則共有 10 位。
第 2~4 位代表文件所有者的許可權。
chmod 用來變更文件或目錄的許可權
[root@localhost ~]# chmod [選項] 許可權模式 文件名
選項:
-c, --changes:當文件的許可權更改時輸出操作信息。
--no-preserve-root:不將'/'特殊化處理,默認選項。
--preserve-root:不能在根目錄下遞歸操作。
-f, --silent, --quiet:抑制多數錯誤消息的輸出。
-v, --verbose:無論文件是否更改了許可權,一律輸出操作信息。
--reference=RFILE:使用參考文件或參考目錄RFILE的許可權來設置目標文件或目錄的許可權。
-R, --recursive:對目錄以及目錄下的文件遞歸執行更改許可權操作。
用戶身份
首先,讀、寫、執行許可權對文件和目錄的作用是不同的。
目錄的可用許可權其實只有以下幾個。
chown 是修改文件和目錄的所有者和所屬組的命令
[root@localhost ~]# chown [選項] 所有者:所屬組 文件或目錄
選項:
-c或——changes:效果類似「-v」參數,但僅回報更改的部分;
-f或--quite或——silent:不顯示錯誤信息;
-h或--no-dereference:只對軟鏈接的文件作修改,而不更改其他任何相關文件;
-R或——recursive:遞歸處理,將指定目錄下的所有文件及子目錄一並處理;
-v或——version:顯示指令執行過程;
--reference=<參考文件或目錄>:把指定文件或目錄的擁有者與所屬群組全部設成和參考文件或目錄的擁有者與所屬群組相同;
普通用戶不能修改文件的所有者,哪怕自己是這個文件的所有者也不行
普通用戶可以修改所有者是自己的文件的許可權
chgrp 是修改文件和目錄的所屬組的命令
[root@phato ~]# chgrp [選項] 所屬組 文件或目錄
-R 遞歸式地改變指定目錄及其下的所有子目錄和文件的所屬的組
-c或——changes:效果類似「-v」參數,但僅回報更改的部分;
-f或--quiet或——silent:不顯示錯誤信息;
-h或--no-dereference:只對符號連接的文件作修改,而不是該其他任何相關文件;
-H如果命令行參數是一個通到目錄的軟鏈接,則遍歷軟鏈接
-R或——recursive:遞歸處理,將指令目錄下的所有文件及子目錄一並處理;
-L:遍歷每一個遇到的通到目錄的軟鏈接
-P:不遍歷任何符號鏈接(默認)
-v或——verbose:顯示指令執行過程;
--reference=<參考文件或目錄>:把指定文件或目錄的所屬群組全部設成和參考文件或目錄的所屬群組相同;
umask 是顯示或設置創建文件的許可權掩碼。我們需要先了解一下新建文件和目錄的默認最大許可權。
我們在這里按照許可權字母來講解 umask 許可權的計算方法。我們就按照默認的 umask 值是 022來分別計算一下新建文件和目錄的默認許可權吧。
❽ linux系統中鏈接文件什麼意思
鏈接:一種在共享來文自件和訪問它的用戶的若干目錄項之間建立聯系的一種方法。
Linux中包括兩種鏈接:硬鏈接(Hard Link)和軟鏈接(Soft Link),軟鏈接又稱為符號鏈接(Symbolic link)。
❾ Linux常用命令之鏈接命令和許可權管理命令
例子:
對於上面的語法 chmod 【{ugoa}{+-=}{rwx}】【文件或目錄】,我們要知道ugoa分別是:u:表示所有者,g:表示所屬組,o:表示其他人,a:表示所有人。而rwx表示的意思如下:
對於【mode=421】【文件或目錄】,這是我們將許可權用數字表示,其中 r 表示4,w表示2,x表示1,分別是2的0次方,1次方,2次方。那麼我們可以這樣理解:具有 rwx 許可權的數字就是 7,具有 rw- 許可權的數字是 6,具有 r-- 許可權的數字是 4。
示例1:我們賦予 tmp 目錄下的 tmp.log 所有者 x 的許可權;賦予 所屬組 w 許可權,其他人 w 許可權。
將上面例子改為用 數字來操作,也就是說我們要給 tmp.log賦予的文件許可權是 rwxrw-rw-,用數字表示是766。
我們還可以遞歸賦予許可權,也就是加上 -R 參數給指定目錄下的所有文件或目錄賦予指定許可權。
示例2:給 tmp 目錄下所有文件和目錄賦予 776 的許可權
這里我們通過useradd【用戶名】命令創建用戶,然後通過passwd【用戶名】輸入密碼,這兩個命令後面會將。我們通過這兩個命令創建 vae 用戶
然後我們將tmp.log的所有者更改為 vae 用戶:chown vae tmp.log
其中umask 執行顯示結果是 0022,第一個0表示特殊許可權,後面我們會單獨進行講解有哪幾種特殊許可權。022表示許可權的掩碼值,我們用7 7 7 減去 0 2 2得到755(是每一位相減),表示的就是下面通過加上-S輸出的rwxr-xr-x,這個值用數字表示就是755.
這個意思說明創建一個文件的默認許可權所有者為rwx,所屬組為rx,其他人為rx。也就是說創建一個新文件默認許可權為 rwxr-xr-x,我們創建一個文件來驗證一下:
我們發現使用touch命令創建了一個文件a.txt,然後發現許可權並不是rwxr-xr-x,而是rw-r--r--。對比發現少了三個x,也就是少了可執行許可權。這是為什麼呢?
這是因為在Linux系統中,所有新創建的文件都是沒有可執行許可權的。這是出於Linux系統的一種自我保護,因為類似的病毒木馬程序都是具有可執行許可權的。所以在Linux系統中,新創建的文件是沒有可執行許可權的。
那麼我們如何設置默認許可權呢?比如我們想將新創建的文件許可權設置為rwxr-xr--,也就是754。我們用777減去754得到023。也就是通過執行 umask 023 來完成默認許可權設置。