-f:鏈結時先將與 dist 同檔名的檔案刪除-d:允許系統管理者硬鏈結自己的目錄-i:在刪除與 dist 同檔名的檔案時先進行詢問-n:在進行軟連結時,將 dist 視為一般的檔案-s:進行軟鏈結(symbolic link)-v:在連結之前顯示其檔名-b:將在鏈結時會被覆寫或刪除的檔案進行備份-S SUFFIX:將備份的檔案都加上 SUFFIX 的字尾-V METHOD:指定備份的方式--help:顯示輔助說明--version:顯示版本
范例:
將檔案 yy 產生一個 symbolic link:zz
ln -s yy zz
將檔案 yy 產生一個 hard link:zz
ln yy xx
名稱:locate
使用權限:所有使用者
使用方式: locate [-q] [-d ] [--database=]
locate [-r ] [--regexp=]
locate [-qv] [-o ] [--output=]
locate [-e ] [-f ] <[-l ] [-c]
<[-U ] [-u]>
locate [-Vh] [--version] [--help]
說明:
locate 讓使用者可以很快速的搜尋檔案系統內是否有指定的檔案。其方法是先建立一個包括系統內所有檔案名稱及路徑的資料庫,之后當尋找時就只需查詢這個資料庫,而不必實際深入檔案系統之中了。在一般的 distribution 之中,資料庫的建立都被放在 contab 中自動執行。
一般使用者在使用時只要用
# locate your_file_name
的型式就可以了。 參數:
-u
-U
建立資料庫,-u 會由根目錄開始,-U 則可以指定開始的位置。
-e
將排除在尋找的范圍之外。
-l
如果 是 1.則啟動安全模式。在安全模式下,使用者不會看到權限無法看到的檔案。這會始速度減慢,因為 locate 必須至實際的檔案系統中取得檔案的權限資料。
-f
將特定的檔案系統排除在外,例如我們沒有到理要把 proc 檔案系統中的檔案放在資料庫中。
-q
安靜模式,不會顯示任何錯誤訊息。
-n
至多顯示 個輸出。
-r
使用正規運算式 做尋找的條件。
-o
指定資料庫存的名稱。
-d
指定資料庫的路徑
-h
顯示輔助訊息
-v
顯示更多的訊息
-V
顯示程式的版本訊息 范例:
locate chdrv:尋找所有叫 chdrv 的檔案
locate -n 100 a.out:尋找所有叫 a.out 的檔案,但最多只顯示 100 個
locate -u:建立資料庫
名稱:ls
使用權限:所有使用者
使用方式:ls [-alrtAFR] [name...]
說明:顯示指定工作目錄下之內容(列出目前工作目錄所含之檔案及子目錄)。
-a 顯示所有檔案及目錄 (ls內定將檔案名或目錄名稱開頭為"."的視為隱藏檔,不會列出)
-l 除檔案名稱外,亦將檔案型態,權限,擁有者,檔案大小等資訊詳細列出
-r 將檔案以相反次序顯示(原定依英文字母次序)
-t 將檔案依建立時間之先后次序列出
-A 同 -a ,但不列出 "." (目前目錄) 及 ".." (父目錄)
-F 在列出的檔案名稱后加一符號;例如可執行檔則加 "*", 目錄則加 "/"
-R 若目錄下有檔案,則以下之檔案亦皆依序列出
范例:
列出目前工作目錄下所有名稱是 s 開頭的檔案,愈新的排愈后面:
ls -ltr s*
將 /bin 目錄以下所有目錄及檔案詳細資料列出:
ls -lR /bin
列出目前工作目錄下所有檔案及目錄;目錄于名稱后加 "/", 可執行檔于名稱后加 "*":
ls -AF
名稱:more
使用權限:所有使用者
使用方式:more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
說明:類似 cat ,不過會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能(與 vi 相似),使用中的說明文件,請按 h 。
參數:-num 一次顯示的行數
-d 提示使用者,在畫面下方顯示 [Press space to continue, q to quit.] ,如果使用者按錯鍵,則會顯示 [Press h for instructions.] 而不是 嗶 聲
-l 取消遇見特殊字元 ^L(送紙字元)時會暫停的功能
-f 計算行數時,以實際上的行數,而非自動換行過后的行數(有些單行字數太長的會被擴展為兩行或兩行以上)
-p 不以卷動的方式顯示每一頁,而是先清除螢幕后再顯示內容
-c 跟 -p 相似,不同的是先顯示內容再清除其他舊資料
-s 當遇到有連續兩行以上的空白行,就代換為一行的空白行
-u 不顯示下引號 (根據環境變數 TERM 指定的 terminal 而有所不同)
+/ 在每個檔案顯示前搜尋該字串(pattern),然后從該字串之后開始顯示
+num 從第 num 行開始顯示
fileNames 欲顯示內容的檔案,可為復數個數
范例:
more -s testfile 逐頁顯示 testfile 之檔案內容,如有連續兩行以上空白行則以一行空白行顯示。
more +20 testfile 從第 20 行開始顯示 testfile 之檔案內容。
名稱:mv
使用權限:所有使用者
使用方式:
mv [options] source dest
mv [options] source... directory
說明:將一個檔案移至另一檔案,或將數個檔案移至另一目錄。
參數:-i 若目的地已有同名檔案,則先詢問是否覆蓋舊檔。
范例:
將檔案 aaa 更名為 bbb:
mv aaa bbb
將所有的C語言程式移至 Finished 子目錄中:
mv -i *.c
名稱:rm
使用權限:所有使用者
使用方式:rm [options] name...
說明:刪除檔案及目錄。
把計:
-i 刪除前逐一詢問確認。
-f 即使原檔案屬性設為唯讀,亦直接刪除,無需逐一確認。
-r 將目錄及以下之檔案亦逐一刪除。
范例:
刪除所有C語言程式檔;刪除前逐一詢問確認:
rm -i *.c
將 Finished 子目錄及子目錄中所有檔案刪除:
rm -r Finished
名稱:rmdir
使用權限:于目前目錄有適當權限的所有使用者
使用方式: rmdir [-p] dirName
說明: 刪除空的目錄。
參數: -p 是當子目錄被刪除后使它也成為空目錄的話,則順便一并刪除。
范例:
將工作目錄下,名為 AAA 的子目錄刪除:
rmdir AAA
在工作目錄下的 BBB 目錄中,刪除名為 Test 的子目錄。若 Test 刪除后,BBB 目錄成為空目錄,則 BBB 亦予刪除。
rmdir -p BBB/Test
名稱:split
使用權限:所有使用者
使用方式:split [OPTION] [INPUT [PREFIX]]說明:
將一個檔案分割成數個。而從 INPUT 分割輸出成固定大小的檔案,其檔名依序為 PREFIXaa, PREFIXab...;PREFIX 預設值為 `x。若沒有 INPUT 檔或為 `-,則從標準輸入讀進資料。
匡兜:
-b, --bytes=SIZE
SIZE 值為每一輸出檔案的大小,單位為 byte。
-C, --line-bytes=SIZE
每一輸出檔中,單行的最大 byte 數。
-l, --lines=NUMBER
NUMBER 值為每一輸出檔的列數大小。
-NUMBER
與 -l NUMBER 相同。
--verbose
于每個輸出檔被開啟前,列印出偵錯資訊到標準錯誤輸出。
--help
顯示輔助資訊然后離開。
--version
列出版本資訊然后離開。
SIZE 可加入單位: b 代表 512, k 代表 1K, m 代表 1 Meg。
范例:
PostgresSQL 大型資料庫備份與回存:
因 Postgres 允許表格大過你系統檔案的最大容量,所以要將表格 dump 到單一的檔案可能會有問題,使用 split進行檔案分割。
% pg_dump dbname | split -b 1m - filename.dump.
重新載入
% createdb dbname
% cat filename.dump.* | pgsql dbname
名稱:touch
使用權限:所有使用者
使用方式:
touch [-acfm]
[-r reference-file] [--file=reference-file]
[-t MMDDhhmm[[CC]YY][.ss]]
[-d time] [--date=time] [--time={atime,access,use,mtime,modify}]
[--no-create] [--help] [--version]
file1 [file2 ...]
說明:
touch 指令改變檔案的時間記錄。 ls -l 可以顯示檔案的時間記錄。
參數:
a 改變檔案的讀取時間記錄。
m 改變檔案的修改時間記錄。
c 假如目的檔案不存在,不會建立新的檔案。與 --no-create 的效果一樣。
f 不使用,是為了與其他 unix 系統的相容性而保留。
r 使用參考檔的時間記錄,與 --file 的效果一樣。
d 設定時間與日期,可以使用各種不同的格式。
t 設定檔案的時間記錄,格式與 date 指令相同。
--no-create 不會建立新檔案。
--help 列出指令格式。
--version 列出版本訊息。
范例:
最簡單的使用方式,將檔案的時候記錄改為現在的時間。若檔案不存在,系統會建立一個新的檔案。
touch file
touch file1 file2
將 file 的時間記錄改為 5 月 6 日 18 點 3 分,公元兩千年。時間的格式可以參考 date 指令,至少需輸入 MMDDHHmm ,就是月日時與分。