Linux文件與目錄管理命令小結
1、cd
cd ~,cd:回到自己的主文件夾;cd ..:目前的上一層;cd -:回到剛才那個目錄
2、pwd顯示當前的所在的目錄
-p:標書不以連接文件的數據顯示,而是顯示正確的完整路徑
3、mkdir新建新目錄
-p:自行創建多層目錄;-m mod:強制設置權限
4、rmdir刪除“空”的目錄
當要將一個非空的目錄下的東西刪掉:rm -r dirName
5、ls查看文件與目錄
-a:全部文件,包括隱藏文件;-d:僅列出目錄本身;-F:根據文件、目錄等信息給予附加數據結構(*:代表可執行文件,/:代表目錄,=:代表socket文件,|:代表FIFO)
-i:列出inode號碼;-l:列出長數據串(常用);-S:以文件容量大小排序;-t:以時間排序;--color=never/always/auto(文件特性是否給予顏色),--time={atime,ctime}
6、cp [-adfilprsu] 源文件 目標文件
-a:相當於-pdr;-d:若源文件為連接文件的屬性,則復制連接文件屬性而非文件本身;-i:若目標文件已經存在,在覆蓋時會先詢問操作;-l:進行硬連接的連接文件創建,而非復制文件本身;-p:連同文件的屬性一起復制過去;-r:遞歸持續復制(用於目錄)
7、rm(移除文件或者目錄)
-i:互動模式;-r:遞歸刪除
8、mv(移動文件與目錄、或更名)
-f:如果目標文件已經存在,不會詢問而直接覆蓋;-i:互動模式;-u:若目標文件已經存在,且比較新的時候才會更新
9、cat(查看文件內容)
-b:列出行號(空白行布不標號);-E:將結尾處的斷行字符$顯示;-n:打印行號(包括空白行);-V:列出特殊字符;-T:將【Tab】以^I顯示出來
10、tac(反向列示)
11、nl(添加行號打印)
-b:指定行號的方式 a:空行也列出 t:空行不列;-n:列出行號的表示的方法 ln:行號在屏幕的最左邊顯示 rn:行號在自己字段的最右邊顯示,不加0 rz:同rn且加0;-w:行號字段占用的位數
12、more(翻頁查看)
在more這個程序額運行過程中,一下幾個按鍵功能:
空格鍵:向下翻一頁 Enter:向下翻一行 /字符串:向下查詢字符串 :f:立即顯示出文件名以及目前顯示的行數 q:退出 b:往回翻頁(只對文件有用,管道無用)
13、less(一頁一頁翻動)
空格鍵:向下翻一頁 【PageDown】:向下翻動一頁 【PageUp】:向上翻動一頁 /字符串:向下查詢字符串 ?字符串:向上查詢字符串 n:復制前一個查詢 N:反向復制前一個查詢 q:退出
14、head(取出前幾行)
-n number:後面接數字代表幾行(不寫number默認顯示10行,負數表示後面number行數據都不打印)
15、tail(取出後面幾行)
-n number:(後面接數字,代表後幾行的意思,不寫默認10行,+number代表前面的number行數據不打印)
16、od(非純文本文件)
-t:後面可以接各種類型
c:ASCII字符輸出;d[size]:十進制;f[size]:浮點數;o[size]:八進制;x[size]:十六進制
17、touch修改文件時間或創建文件
-a:僅修改access time(訪問時間);-c:僅修改status time(狀態時間),若文件不存在則不新建;-d:後面可以接欲修改的日期;-m:僅修改modification time;-t:後面可以接欲修改的時間,格式【YYMMDDhhmm】
18、umask:設置新建文件或目錄默認的權限
19、chattr設置問阿金的隱藏屬性
+:增加特殊參數;-:減少某一個特殊參數;=:僅有後面接的參數
a:此文件只能增加數據,而不能刪除和修改數據(常用)
i:讓一個文件不能被刪除、改名、設置連接也無法寫入或添加數據(常用)
20、lsattr顯示文件的隱藏屬性
-a:將隱藏文件的屬性也列出來;-d:如果是目錄,僅列出目錄本身屬性而非目錄內的問文件名;-R:連同子目錄的數據也一同列出來
21、(關於SUID、SGID、SBIT下一篇在詳細記錄)
22、file查看文件的類型
23、which尋找“執行文件”(腳本文件名、命令)
24、whereis(文件名的查找,利用數據庫來查找數據,快速高效)
-b:只找二進制文件;-s:只找source源文件;-m:只找在說明文件manual路徑下的文件
25、locate(文件名的查找,尋找的數據由已經創建的/var/lib/mlocate裡面的數據提供)
-i:忽略大小寫;-r:後面接正則表達式的顯示方式
26、find(最常用)
參數一:
-mtime n:n為數字,在n天之前的“一天之內”被更改的文件
-mtime +n:意思是n天之前(不含n天本身)
-mtime -n:意思是n天之內(含n天)
-atime、-ctime的用法和-mtime一樣參數二:
-uid n:查找屬於n這個用戶賬號Id的文件
-gid n:查找屬於n這個用戶組Id的文件
-user name:查找屬於name這個用戶的文件
-group name:查找屬於name這個用戶組的文件
-nouser:不屬於任何用戶
-nogroup:不屬於任何用戶組
參數三:
-name filename:查找名為filename的文件
-size [+-]size:查找比size還大(+)或小(-)的文件,單位為c:byte,k:1024bytes
-type TYPE:指定文件類型,一般文件(f)、目錄(d)、socket文件(s)、FIFO(p)、連接文件(b/c)
-perm mod:查找文件權限剛好為mod的文件
-perm -mod:查找問文件必須包含mod所有文件(必須全部包含)
-perm +mod:查找文件包含mod任一權限(有一個即可)
參數四:
-exec command:-exec後面可再接其他命令來處理查找到的結果
fiind的幾個例子:
例一:找出/etc下面,文件容量大於50KB且文件的所有者不是root的文件名,並將權限完整列出
find /etc -size +50k -uid +0 -exec ls -l {} \;
例二:找出/etc下面,容量大於1500KB以及容量等於0的文件,並完整列出
finf /etc \( -size +1500k -o -size 0k \) -exec ls -l {} \;
最後再補充一點:權限與命令的關系
情況一:讓用戶能進入某個目錄(比如cd):
(1)目錄:至少x的權限
(2)文件:如果用戶需要查閱(ls等),則文件需要r權限
情況二:用戶在某個目錄內讀取一個文件(cat、more、less)
(1)目錄:至少x權限
(2)文件:至少r權限
情況三:用戶修個一個文件
(1)目錄:至少r和x權限
(2)文件:至少r和w
情況四:讓一個用戶在一個目錄下創建文件
(1)目錄:至少w和x權限
情況五:讓用戶進入目錄並執行目錄下的某個命令
(1)目錄:至少x權限
(2)文件:至少x權限