文件管理
cat
cat 命令用於連接文件並打印到標準輸出設備上。
cat filename :打印文件內容
cat >filename :從鍵盤創建一個文件,但只能創建新文件,不能編輯已有的文件,Ctrl+D保存
cat file1 file2 >>file :將file1和file2的內容附加到file中
注:> 是創建,>> 是追加
cat file1 > file2 :將file1的內容添加到file2中,file2中的內容將被覆蓋
cat /dev/null > file :清空file中的內容
參數:
-n|--number :顯示行號
-b|--number-nonblock :顯示行號除空白行
-s :如果遇到兩行以上的空行自動轉成一行
file
file命令用於辨別文件類型。
file filename :輸出文件名:辨識結果
參數:
-b :不輸出文件名,只輸出辨識結果
ln
ln命令可以爲某一個文件在另外一個位置建立一個同步的鏈接。
當我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個需要的目錄下都放一個必須相同的文件,我們只要在某個固定的目錄,放上該文件,然後在其它的目錄下用ln命令鏈接(link)它就可以,不必重複的佔用磁盤空間。例如:ln –s /bin/less /usr/local/bin/less
-s 是代號(symbolic)的意思。
more
more命令類似 cat ,不過會以一頁一頁的形式顯示,更方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能(與 vi 相似),使用中的說明文件,請按 h 。
more [options] filename
參數:
-d 顯示幫助,而不是響鈴
-f 統計邏輯行數而不是屏幕行數
-l 抑制換頁(form feed)後的暫停
-p 不滾屏,清屏並顯示文本
-c 不滾屏,顯示文本並清理行尾
-u 抑制下劃線
-s 將多個空行壓縮爲一行
-NUM 指定每屏顯示的行數爲 NUM
+NUM 從文件第 NUM 行開始顯示
+/STRING 從匹配搜索字符串 STRING 的文件位置開始顯示
-V 輸出版本信息並退出
常用操作命令:
Enter 向下n行,需要定義。默認爲1行
Ctrl+F 向下滾動一屏
空格鍵 向下滾動一屏
Ctrl+B 返回上一屏
= 輸出當前行的行號
:f 輸出文件名和當前行的行號
V 調用vi編輯器
!命令 調用Shell,並執行命令
q 退出more
mv
mv命令用於給文件或目錄改名,或將文件或目錄移入其他位置。
mv [options] source dest
mv [options] source... directory
options:
-i 若指定目錄已有同名文件,則先詢問是否覆蓋舊文件
-f 在mv操作要覆蓋某已有的目標文件時不給任何提示
命令格式 | 運行結果 |
---|---|
mv 文件名 文件名 | 將源文件名改爲目標文件名 |
mv 文件名 目錄名 | 將文件移動到目標目錄 |
mv 目錄名 目錄名 | 目標目錄已存在,將源目錄 移動到目標目錄;目標 目錄不存在則改名 |
mv 目錄名 文件名 | 出錯 |
rm
rm命令用於刪除一個文件或者目錄(無法恢復)
rm [options] name...
options:
-i 刪除前逐一詢問確認。
-f 即使原檔案屬性設爲唯讀,亦直接刪除,無需逐一確認。
-r 將目錄及以下之檔案亦逐一刪除。
注:刪除文件可以直接使用rm命令,若刪除目錄則必須配合選項"-r"
rm -r * :刪除當前目錄下的所有目錄及文件
touch
touch命令用於修改文件或者目錄的時間屬性,包括存取時間和更改時間。若文件不存在,系統會建立一個新的文件。
ls -l 可以顯示檔案的時間記錄。
cp
cp命令用於複製文件或目錄。
cp [options] source dest
cp [options] source directory
options:
-a:此選項通常在複製目錄時使用,它保留鏈接、文件屬性,並複製目錄下的所有內容。其作用等於dpR參數組合。
-d:複製時保留鏈接。這裏所說的鏈接相當於Windows系統中的快捷方式。
-f:覆蓋已經存在的目標文件而不給出提示。
-i:與-f選項相反,在覆蓋目標文件之前給出提示,要求用戶確認是否覆蓋,回答"y"時目標文件將被覆蓋。
-p:除複製文件的內容外,還把修改時間和訪問權限也複製到新文件中。
-r:若給出的源文件是一個目錄文件,此時將複製該目錄下所有的子目錄和文件。
-l:不復制文件,只是生成鏈接文件。
注意:用戶使用該指令複製目錄時,必須使用參數"-r"或者"-R"。
whereis
whereis命令用於查找文件
該指令會在特定目錄中查找符合條件的文件。這些文件應屬於原始代碼、二進制文件,或是幫助文件。
該指令只能用於查找二進制文件、源代碼文件和man手冊頁,一般文件的定位需使用locate命令。
whereis filename :查找file位置,
options:
-b:只查找二進制文件。
-B<目錄> 只在設置的目錄下查找二進制文件。
-f 不顯示文件名前的路徑名稱。
-m 只查找說明文件。
-M<目錄> 只在設置的目錄下查找說明文件。
-s 只查找原始代碼文件。
-S<目錄> 只在設置的目錄下查找原始代碼文件。
-u 查找不包含指定類型的文件
磁盤管理
cd
cd命令用於切換當前工作目錄至dirName(目錄參數)(change directory)
其中dirName表示法可爲絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的 home 目錄 (也就是剛 login 時所在的目錄)。
cd [dirName]
另外,"~" 表示爲 home 目錄,
"." 則是表示目前所在的目錄,
".." 則表示目前目錄位置的上一層目錄,
"-" 表示切換之前的目錄,
"/" 表示根目錄。
df
df命令用於顯示目前linux系統上的文件系統的磁盤使用情況統計。
df [options]
options:
-h:使用人類可讀的格式
mkdir
mkdir命令用於建立一個新的目錄。(make directory)
mkdir [-p] dirName
-p確保目錄名稱存在,不存在的就建一個
example:
mkdir test :在當前工作目錄下,新建一個名爲test的子目錄
mkdir -p AAA/test :在工作目錄下的AAA目錄中,新建一個名爲test的子目錄。若AAA不存在,則建立一個。(若不加-p,AAA目錄不存在時,則產生錯誤。)
pwd
pwd:用於顯示工作目錄。(print work directory)
ls
ls命令用於顯示指定工作目錄下的文件和子目錄。
ls [options] [name...]
options:
-a 顯示所有文件及目錄 (ls內定將文件名或目錄名稱開頭爲"."的視爲隱藏檔,不會列出)
-l 除文件名稱外,亦將文件型態、權限、擁有者、文件大小等資訊詳細列出
-r 將文件以相反次序顯示(原定依英文字母次序)
-t 將文件依建立時間之先後次序列出
-A 同 -a ,但不列出 "." (目前目錄) 及 ".." (父目錄)
-F 在列出的文件名稱後加一符號;例如可執行檔則加 "*", 目錄則加 "/"
-R 若目錄下有文件,則以下之文件亦皆依序列出
備份壓縮
tar
tar命令用於備份文件。
tar是用來建立,還原備份文件的工具程序,它可以加入,解開備份文件中的文件。
壓縮文件 非打包
# touch a.c
# tar -czvf test.tar.gz a.c //壓縮 a.c文件爲test.tar.gz
a.c
列出壓縮文件內容
# tar -tzvf test.tar.gz
-rw-r--r-- root/root 0 2010-05-24 16:51:59 a.c
解壓文件
# tar -xzvf test.tar.gz
a.c
管道符號
|
管道符|用於將兩個命令隔開,管道符左邊命令的輸出作爲管道符右邊命令的輸入。
cat a.txt | grep test :查看a.txt文件中包含test的內容。
文檔編輯
grep
grep命令用於查找文件裏符合條件的字符串。
grep指令用於查找內容包含指定的範本樣式的文件,如果發現某文件的內容符合所指定的範本樣式,預設grep指令會把含有範本樣式的那一列顯示出來。若不指定任何文件名稱,或是所給予的文件名爲"-",則grep指令會從標準輸入設備讀取數據。
grep [options] [要查找的字符串] filename :查找文件file中包含符合條件的字符串並打印
options:
-c:只輸出匹配行的計數。
-I:不區分大 小寫(只適用於單字符)。
-h:查詢多文件時不顯示文件名。
-l:查詢多文件時只輸出包含匹配字符的文件名。
-n:顯示匹配行及 行號。
-s:不顯示不存在或無匹配文本的錯誤信息。
-v:顯示不包含匹配文本的所有行。
pattern正則表達式主要參數:
\: 忽略正則表達式中特殊字符的原有含義。
^:匹配正則表達式的開始行。
$: 匹配正則表達式的結束行。
\<:從匹配正則表達 式的行開始。
\>:到匹配正則表達式的行結束。
[ ]:單個字符,如[A]即A符合要求 。
[ - ]:範圍,如[A-Z],即A、B、C一直到Z都符合要求 。
。:所有的單個字符。
* :有字符,長度可以爲0。