1. 程式人生 > >Linux 檔案以及 操作檔案的shell命令 (一)

Linux 檔案以及 操作檔案的shell命令 (一)

linux下一切皆檔案。
Linux下檔案型別
Linux下有三種檔案型別:普通檔案,目錄檔案,裝置檔案。
1.普通檔案:
使用者經常訪問的檔案,分為文字檔案和二進位制檔案。
文字檔案:以文字的ASCII碼形式儲存在計算機中。他是以”行”為基本結構的一種資訊組織和儲存方式。
二進位制檔案:這類檔案以文字的二進位制形式儲存在計算機中,使用者一般不能直接讀懂他們,只有通過想用的軟體才能將其顯示出來。常見的可執行檔案,影象,聲音等都是二進位制檔案
2.目錄檔案
用於管理和組織系統中的大量檔案,在Linux系統中,目錄以檔案的形式存在,目錄檔案儲存了一組相關檔案的位置,大小等與檔案有關的資訊。目錄檔案簡稱為目錄。
3.裝置檔案
Linux系統通過把每一個I/O裝置都看成一個檔案,與普通檔案一樣處理,這樣可以是檔案與裝置的操作儘可能的統一。從使用者角度看,把裝置當檔案使用,就如同黑盒,無需知道其細節。

操作檔案的shell命令
1.檔案檢視和連線命令 cat
使用方式: cat [選項] < file1 > < file2 > ….
說明:把檔案內容顯示在標準輸出上。
主要選項及其意義:

  • -n :由1開始對所有的輸出的行數進行編號
  • -b :由1開始對輸出的行進行編號,空行不編號
  • -s :遇到連續空行,縮減成1行空行
  • -v :顯示不可列印的字元

2.分屏顯示命令 more
使用方式: more [選項] < file >
說明:把檔案內容顯示在顯示屏上,但是隻顯示1頁,顯示檔案時,按空格顯示下一頁,< q >退出,< h > 幫助。
主要選項及其意義:

  • -< num > :指定螢幕顯示的行數為 num 行
  • -d:在螢幕下方顯示提示資訊
  • -l :more 預設遇到特殊自負 ^L 時會暫停,使用該選項跳過
  • -f : 計算行數時,計算實際行數而不是自動換行的行數,因為單行太長會導致換行
  • -p:不以捲動方式顯示,而是在顯示下一頁時清楚螢幕
  • -s :遇到連續空行縮減為一行
  • -u :不顯示下劃線
  • + / < string > :在檔案中搜索字串string,然後顯示這個頁
  • + < num >: 從第num行開始顯示

2.按頁顯示命令 less
使用方式: less [選項] < file >
說明:把檔案內容顯示在顯示屏上,但是隻顯示1頁,顯示檔案時,按空格顯示下一頁,< q >退出,< h > 幫助。
主要選項及其意義:

  • -i :查詢時忽略大小寫
  • -p < string > :搜尋制定字串,並從第一個符合條件的地方開始顯示
  • – <顯示列數>:改變頁面的顯示列數
  • -S:當某行的內容超過頁面寬度時,直接將超出的部分截斷捨棄,預設情況less 會換行把超出的部分顯示

3.複製命令cp
使用方式: cp [選項] < source > < dest >
說明:將一個檔案拷貝到另一個檔案,或一個或多個檔案拷貝到一個目錄下
主要選項及其意義:

  • -r:若source 中含有目錄,則遞迴的將目錄下的檔案進行復制
  • -f:若目的地已經存在同名檔案,則在複製前先進行刪除
  • -a:儘可能的將檔案模式、所有者、時間標籤等進行復制

4.刪除命令rm
使用方式: rm [選項] < name >
說明:逐個刪除指定的檔案或者目錄,預設情況下, < name > 是檔名, rm 不能刪除目錄,只有指定-d時才能刪除制定的目錄。
主要選項及其意義:

  • -i:刪除前逐個詢問
  • -f:強制刪除
  • -r:遞迴的刪除目錄下的檔案

5.移動或重新命名命令 mv
使用方式: mv [選項] < source > < dest > 或者 mv [選項] < source > ….. < directory >
說明:將檔案重新命名為另一個檔案,或將數個檔案移動到另一個目錄
主要選項及其意義:

  • -i:若目的地存在同名檔案,則詢問是否覆蓋
  • -f:強制移動,如果目的地存在同名檔案,則覆蓋

6.建立刪除目錄命令 mkdir
使用方式: mkdir [-p] < Dirname >
說明:如果指定目錄不存在,則建立
主要選項及其意義:

  • -p:若要建立的目錄上層未建立,則先建立上層

7.刪除目錄命令 rmdir
使用方式: rmdir [-p] < Dirname >
說明:刪除空目錄dirname
主要選項及其意義:

  • -p:如果刪除了指定目錄後,該目錄的上層也為空目錄,則一併刪除

8.切換工作目錄命令 cd
使用方式: cd < dirname >
說明:將工作目錄切換到dirname

9.顯示當前目錄命令 pwd
使用方式: pwd
說明:將當前使用者所在的目錄顯示出來

10.檢視目錄命令ls
使用方式: ls [選項] [ < name > … ]
說明:列出檔案或者目錄的資訊
主要選項及其意義:

  • -a: 顯示所有的檔案及目錄,ls預設以”.”開頭的檔案或者目錄為隱藏
  • -b:當檔名含有不可列印字元時,以8進位制進行列印
  • -d:如果name引數是一個目錄時,則只顯示目錄名,不列出目錄的檔案
  • -l:使用長格式,除了檔名,還顯示檔案的型別,許可權,硬連結的個數,所有者名字,群組名,檔案大小,修改時間等詳細資訊;如果列表是一個目錄,則在最前面顯示 “總用量…” 表示該目錄佔用的總塊數(1塊 = 1024位元組)
  • -r:將檔案以相反的順序排序
  • -t:按修改時間排序,新的在前面
  • -A:同”-a”,但是不顯示”.”和”..”檔案
  • -F:列出檔名後在後面以字元表示檔案型別
  • -R:若目錄下還有檔案,則遞迴的顯示

11.查詢檔案或目錄命令 find
使用方式: find [ path… ] < expression >
說明:在目錄樹初層中,從path開始向下查詢檔案,將符合 expression 的檔案列出來
expression 主要選項及其意義:

  • -amin < n > :在過去n分鐘被訪問的檔案
  • -anwser < file >:比file更晚訪問的檔案
  • -atime < n > :在過去n天被訪問的檔案
  • -cmin < n >:在過去n分鐘被修改過的檔案
  • -cnewer < file > :比file更新的檔案
  • -empty:內容為空的檔案
  • -gid < n >:gid是n的檔案
  • -group < n > :同上
  • -ipath < p > , -path < p >: 路徑符合p的檔案,ipath忽略大小寫
  • -name < name >:檔名稱符合name的檔案,iname忽略大小寫
  • -size < n 單位 >:檔案大小是n個單位的檔案,單位b代表512位的子塊,c表示字元數,w表示由兩個位元組組成的字
  • -type < c >:檔案型別為c的檔案。其中檔案型別可以是:d,c,b,p,f,l,s之一,表示含義與ls中-l一樣
  • -pid < n >:程序為id為n的檔案