Linux — 檔案、目錄管理

K戰神發表於2017-09-26

目錄與路徑

  • .  此層目錄
  • .. 上層目錄
  • -  之前一個工作目錄
  • ~ 主資料夾
  • ~ account 指定使用者的主資料夾,account --賬號名稱
  • cd 切換目錄
  • pwd (print working directory)顯示當前目錄
  • mkdir 建立一個新的目錄
      • mkdir -p t1/t2/t3  建立多層目錄
      • mkdir -m 711 t1  建立檔案許可權
  • rmdir 刪除一個空目錄
      • rmdir -p  t2  連同刪除上層空目錄
  • 環境變數:$PATH  執行的命令都會根據這個路徑去查詢相關的命令,找到就返回。echo $PATH      

 檔案目錄:ls

  • ls -a   全部檔案
  • ls -A   全部檔案 != . || ..
  • ls -d    列出目錄本身
  • ls -f     不排序
  • ll -al    檢視明細說明   ll

 

複製、刪除、移動:cp、rm、mv

  • cp  -a   相當於-pdr
  • cp  -i    覆蓋存在的檔案前先詢問
  • cp  -r   子目錄遞迴複製
  • cp  -p   檔案屬性一起復制,用於備份
  • cp  -l    建立快捷方式 ,硬連結
  • cp  -s  建立快捷方式,軟連線
  • rm -f 忽略不存在的檔案
  • rm -i 互動模式,提醒操作
  • rm -r 遞迴刪除
  • mv -f 強制覆蓋
  • mv -i 詢問
  • mv -u update

 

 檔案內容查詢

  • cat 由第一行開始顯示檔案內容
      •  -A 特殊字元顯示  相當於 -vET
      •  -b  行號,空白行不算
      •  -E  顯示斷行符$
      •  -n   列印行號,空白行也算
      •  -T  tab鍵顯示^I
      •  -v   列出天特殊字元
  • tac 從最後一行開始顯示
      • tac 與cat 相反
  • nl 顯示時輸出行號
      • -b a 空行也顯示行號 ; nl -b t 空行不顯示行號
      • -n ln 行號在螢幕最左方 ; nl -n rn 行號在自己欄位的最右方,不加0;nl -n rz 右方加0
      • -w 行號佔用的位數
  • more 一頁一頁顯示
      • 空格 翻頁
      • Enter 滾動一行
      • :f  檔名和當前行數
      • q 退出
      • b 或 ctrl -b  往回翻頁
      • /字串   當前顯示內容,向下查詢字串
  • less 同more , 但是可以往前翻頁
      • 空格  翻頁
      • PageDown  下翻一頁
      • PageUp 上翻一頁
      • 上、下 前後看
      • /字串 向下查詢
      • ?字串  向上查詢
      • n 重複上一個查詢
      • N 反向重複上一個查詢
      • q 退出
  • head 頭幾行,行級單位進行選取
      • n 顯示的行數 ,預設10
  • tail  結尾幾行
      • -n 後幾行,預設10
      • -f  持續監測
  • od 二進位制方式讀取
      • -t 輸出型別

 修改檔案時間或建立新檔案:touch

  • 三個比較重要的時間引數:ls -l  預設的是mtime
      • modification time(mtime) : 檔案內容更改時,就會更新這個時間。--檔案內容
      • status time(ctime) : 檔案狀態時間--許可權和屬性
      • access time(atime) : 檔案被取用 ,更新時間-- 比如cat 讀取
  • 修改時間:touch  檔案不存在會自動建立檔案
      • -a 訪問時間
      • -c  檔案時間
      • -d  待修改的日期時間,或者 --date(日期或者時間)
      • -m 修改mtime
      • -t   修改時間[YYYYMMDDhhmm]

檔案與目錄的預設許可權與隱藏許可權

  • 設定隱藏屬性  chattr    ;檢視隱藏屬性:lsattr

 

檔案的預設許可權 umask:指定目前在新建檔案或者目錄時候的許可權預設值(分數指的是需要減掉的許可權)

  • 檢視預設許可權:umask ; umask -s
  • 設定預設許可權:umask 當前使用者許可權分數 使用者組許可權分數 其他使用者組分數    ;  設定的分數就是需要在預設基礎上減掉的許可權分數

        

      •  umask -p  umask -S  命令
      •    umask 000 => umask 022  原來的預設許可權是全部許可權,現在設定為 當前使用者組全部許可權,所在使用者組減去2=w 許可權,其他使用者組減去2=w許可權

檔案隱藏屬性 charrt 、lsattr

  • chattr [+ - =] [ASacdistu]
      • + 增加一個特殊引數,其他原本存在的引數則不動
      • -  刪除一個特殊引數,其他原本存在的引數不動
      • = 重新賦值引數
      • A 訪問時間atime 不會修改,減少IO讀寫
      • S 同步寫入磁碟
      • a root才能設定此屬性,只能增減資料,不能刪除和修改
      • c 儲存時先壓縮檔案在儲存,讀取時先解壓縮再讀取
      • d 可以跳過備份
      • i  讓檔案不能刪除、改名、設定連線、無法寫入資料、新增資料
      • s 刪除檔案時 徹底刪除
      • u 與s相反
  • lsattr [-adR] 
      • -a 顯示隱藏檔案的屬性
      • -d 目錄本身的屬性
      • -R 連同子目錄一起顯示

檢視檔案型別 : file

  • 指令碼檔名的查詢: which  [-a]  command   
  • 檔名的查詢:優先選用 whereis,資料庫查詢速度快,但是會找不到新新增
      • -b 只找二進位制格式檔案
      • -m 只找說明檔案manual路徑下的檔案
      • -s 只找source 原始檔
      • -u 查詢不在上述三個選項中的其他特殊檔案
  • 檔名的查詢:其次選用 locate,同whereis
      • -i 忽略大小寫查詢
      • -r 正規表示式
  • 檔名的查詢:最後選用 find ,find [parh] option]  [action]
      • 時間相關引數:-atime  -ctime  -mtime
      • 使用者或者使用者組名引數:-uid id  ; -gid id ; -user name ; -nouser  ; -nogroup 
      • 檔案許可權和名稱:-name filename ; -size [+-]SIZE ; -type TYPE ; -perm mode 查詢檔案許可權 ; -perm -mode 許可權包含mode ; -perm +mode 包含任意mode
      • 其他: -exec command  ; -print

相關文章