Linux 的文件管理命令

  Linux系統信息存放在文件裏,文件與普通的公務文件類似。每個文件都有自己的名字、內容、存放地址及其它一些管理信息,如文件的用戶、文件的大小等。文件可以是一封信、一個通訊錄,或者是程序的源語句、程序的數據,甚至可以包括可執行的程序和其它非正文內容。 Linux文件系統具有良好的結構,系統提供了很多文件處理程序。這裏主要介紹常用的文件處理命令。
下面介紹幾個常用的文件處理命令:

  • file
  • mkdir

  • grep

  • dd

  • find

  • mv

  • ls

  • diff

  • cat

  • ln

file
  • 1

1.作用
file通過探測文件內容判斷文件類型,使用權限是所有用戶。
2.格式

file [options] 文件名  
  • 1

3.[options]主要參數

-v:在標準輸出後顯示版本信息,並且退出。  
-z:探測壓縮過的文件類型。  
-L:允許符合連接。  
-f name:從文件namefile中讀取要分析的文件名列表。 
  • 1
  • 2
  • 3
  • 4

4.簡單說明
使用file命令可以知道某個文件究竟是二進制(ELF格式)的可執行文件, 還是Shell Script文件,或者是其它的什麼格式。file能識別的文件類型有目錄、Shell腳本、英文文本、二進制可執行文件、C語言源文件、文本文件、DOS的可執行文件。
5.應用實例
如果我們看到一個沒有後綴的文件grap,可以使用下面命令:
$ file grap

grap: English text

此時系統顯示這是一個英文文本文件。需要說明的是,file命令不能探測包括圖形、音頻、視頻等多媒體文件類型。

mkdir
  • 1

1.作用
mkdir命令的作用是建立名稱爲dirname的子目錄,與MS DOS下的md命令類似,它的使用權限是所有用戶。
2.格式
mkdir [options] 目錄名
3.[options]主要參數

-m, --mode=模式:設定權限<模式>,與chmod類似。   
-p, --parents:需要時創建上層目錄;如果目錄早已存在,則不當作錯誤。  
-v, --verbose:每次創建新目錄都顯示信息。  
--version:顯示版本信息後離開。  
  • 1
  • 2
  • 3
  • 4

4.應用實例
在進行目錄創建時可以設置目錄的權限,此時使用的參數是“-m”。假設要創建的目錄名是“tsk”,讓所有用戶都有rwx(即讀、寫、執行的權限),那麼可以使用以下命令: $ mkdir -m 777 tsk
grep
1.作用
grep命令可以指定文件中搜索特定的內容,並將含有這些內容的行標準輸出,grep全稱是Global regular expression print,表示全局正則表達式版本,它的使用權限是所有用戶
2.格式
grep [options]
3.主要參數
[options]主要參數

-c:只輸出匹配行的計數
-l:不區分大小寫(只適用於單字符)
-h:查詢多文件時不顯示文件名。
-l:查詢多文件時只輸出包含匹配字符的文件名
-n:顯示匹配行及行號
-s:不顯示不存在或無匹配文本的錯誤信息
-v:顯示不包含匹配文本的所有行
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
dd
  • 1

1.作用
dd命令用來複制文件,並根據參數將數據轉換和格式化。
2.格式 dd [options]
3.應用實例
dd命令常常用來製作Linux啓動盤。先找一個可引導內核,令它的根設備指向正確的根分區,然後使用dd命令將其寫入軟盤:

 $ rdev vmlinuz /dev/hda   $dd if=vmlinuz of=/dev/fd0  
  • 1

上面代碼說明,使用rdev命令將可引導內核vmlinuz中的根設備指向/dev/hda,請把“hda”換成自己的根分區,接下來用dd命令將該內核寫入軟盤。

find 
  • 1

1.作用
find命令的作用是在目錄中搜索文件,它的使用權限是所有用戶。
2.格式

find [path][options][expression]  
  • 1

path指定目錄路徑,系統從這裏開始沿着目錄樹向下查找文件。它是一個路徑列表,相互用空格分離,如果不寫path,那麼默認爲當前目錄。
3.應用技巧
find命令查找文件的幾種方法:
(1)根據文件名查找
例如,我們想要查找一個文件名是lilo.conf的文件,可以使用如下命令: find / -name lilo.conf
find命令後的“/”表示搜索整個硬盤。
(2)快速查找文件
可以使用下面命令: find /etc -name smb.conf
這樣,使用“快速查找文件”方式可以縮短時間。
(3)根據部分文件名查找方法
有時我們知道只某個文件包含有abvd這4個字,那麼要查找系統中所有包含有這4個字符的文件可以輸入下面命令:

find / -name '*abvd*'   
  • 1

輸入這個命令以後,Linux系統會將在/目錄中查找所有的包含有abvd這4個字符的文件(其中*是通配符),比如abvdrmyz等符合條件的文件都能顯示出來。
(4) 使用混合查找方式查找文件
find命令可以使用混合查找的方法,例如,我們想在/etc目錄中查找大於500000字節,並且在24小時內修改的某個文件,則可以使用-and (與)把兩個查找參數鏈接起來組合成一個混合的查找方式。 find /etc -size +500000c -and -mtime +1
mv
1.作用
mv命令用來爲文件或目錄改名,或者將文件由一個目錄移入另一個目錄中,它的使用權限是所有用戶。該命令如同DOS命令中的ren和move的組合。 2.格式
mv[options] 源文件或目錄 目標文件或目錄
3.應用實例
(1)將/usr/cbu中的所有文件移到當前目錄(用“.”表示)中: $ mv /usr/cbu/ * .
(2)將文件cjh.txt重命名爲wjz.txt: $ mv cjh.txt wjz.txt
ls
1.作用
ls命令用於顯示目錄內容,類似DOS下的dir命令,它的使用權限是所有用戶。
2.格式

ls [options][filename]
  • 1

3.options主要參數

-a, --all:不隱藏任何以“.” 字符開始的項目。   
-A, --almost-all:列出除了“ . ”及 “.. ”以外的任何項目。      
--block-size=大小:塊以指定<大小>的字節爲單位。  
-B, --ignore-backups:不列出任何以 ~ 字符結束的項目。  
-f:不進行排序,-aU參數生效,-lst參數失效。  
-F, --classify:加上文件類型的指示符號 (*/=@| 其中一個)。  
-g:like -l, but do not list owner。   
-G, --no-group:inhibit display of group information。  
-i, --inode:列出每個文件的inode號。  
-I, --ignore=樣式:不印出任何符合Shell萬用字符<樣式>的項目。  
-k:即--block-size=1K。 
-l:使用較長格式列出信息。  
-L, --dereference:當顯示符號鏈接的文件信息時,顯示符號鏈接所指示的對象,而並非符號鏈接本身的信息。  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

diff
1作用
diff命令用於兩個文件之間的比較,並指出兩者的不同,它的使用權限是所有用戶。
2格式
diff [ options]源文件目標文件
3 options ]主要參數
-a:將所有文件當作文本文件來處理
-b:忽略空格造成的不同
-B:忽略空行造成的不同
-c:使用綱要輸出格式
-H:利用試探法加速對大文件的搜索
-I:忽略大小寫的變化
-n –res:輸出RCS格式

cat
1.作用
cat(“concatenate”的縮寫)命令用於連接並顯示指定的一個和多個文件的有關信息,它的使用權限是所有用戶。
2.格式

cat [options] 文件1 文件2……  
  • 1

3.[options]主要參數

-n:由第一行開始對所有輸出的行數編號。   -b:和-n相似,只不過對於空白行不編號。   
-s:當遇到有連續兩行以上的空白行時,就代換爲一行的空白行。   
  • 1
  • 2

4.應用舉例
(1)cat命令一個最簡單的用處是顯示文本文件的內容。例如,我們想在命令行看一下README文件的內容,可以使用命令: $ cat README
(2)有時需要將幾個文件處理成一個文件,並將這種處理的結果保存到一個單獨的輸出文件。cat命令在其輸入上接受一個或多個文件,並將它們作爲一個單獨的文件打印到它的輸出。例如,把README和INSTALL的文件內容加上行號(空白行不加)之後,將內容附加到一個新文本文件File1 中: $ cat README INSTALL File1
對行進行編號功能有-b(只能對非空白行進行編號)和-n(可以對所有行進行編號)兩個參數: $ cat -b /etc/named.conf
ln
1.作用
ln命令用來在文件之間創建鏈接,它的使用權限是所有用戶。
2.格式
ln [options] 源文件 [鏈接名]
3.參數

-f:鏈結時先將源文件刪除。   
-d:允許系統管理者硬鏈結自己的目錄。   -s:進行軟鏈結(Symbolic Link)。   
-b:將在鏈結時會被覆蓋或刪除的文件進行備份。
  • 1
  • 2
  • 3

鏈接有兩種,一種被稱爲硬鏈接(Hard Link),另一種被稱爲符號鏈接(Symbolic Link)。默認情況下,ln命令產生硬鏈接。
硬連接指通過索引節點來進行的連接。在Linux的文件系統中,保存在磁盤分區中的文件不管是什麼類型都給它分配一個編號,稱爲索引節點號(Inode Index)。在Linux中,多個文件名指向同一索引節點是存在的。一般這種連接就是硬連接。硬連接的作用是允許一個文件擁有多個有效路徑名,這樣用戶就可以建立硬連接到重要文件,以防止“誤刪”的功能。其原因如上所述,因爲對應該目錄的索引節點有一個以上的連接。只刪除一個連接並不影響索引節點本身和其它的連接,只有當最後一個連接被刪除後,文件的數據塊及目錄的連接纔會被釋放。也就是說,文件纔會被真正刪除。
與硬連接相對應,Lnux系統中還存在另一種連接,稱爲符號連接(Symbilc Link),也叫軟連接。軟鏈接文件有點類似於Windows的快捷方式。它實際上是特殊文件的一種。在符號連接中,文件實際上是一個文本文件,其中包含的有另一文件的位置信息。

發佈了38 篇原創文章 · 獲贊 5 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章