歡迎轉載,轉載請註明出處:http://blog.csdn.net/hust_superman/article/details/23926213
----------------------------------------------------cp命令-----------------------------------------------------------------
參數
-f (強制) – 在目標文件因沒有寫權限而無法打開時刪除目標文件。這一移除動作先於所有的cp命令複製動作。
-L (間接引用) – 使cp命令跟隨符號鏈接,這樣cp命令將複製符號鏈接指向的文件而不是符號鏈接到目的位置。
-i (交互) – 提示您將要被覆蓋之文件的文件名。當目標目錄或是目標文件中包含一個與原文件(或目錄)名字
相同的文件(或目錄)時,交互就會發生,如果你輸入 'y' 或者區域語言中等價於 'y'的字符,cp操作將覆蓋
目標文件,其餘的任意回答都會避免目標文件被原文件覆蓋。
-p (保持) – 對於每個原文件(或目錄),在複製時也複製下述特性:
-R or -r (遞歸) – 複製目錄(遞歸地複製目錄中的所有內容)
用法
將文件複製爲另一文件:
cp [-f] [-H] [-i] [-p][--] 源文件 目標文件
將文件複製到一目錄下:
cp [-f] [-H] [-i] [-p] [-r | -R] [--] 源文件 ... 目標目錄
將目錄複製爲另一目錄(必須使用參數 -r 或 -R):
cp [-f] [-H] [-i] [-p] [--] { -r | -R } 源目錄 ... 目標目錄
欲複製原文件的一份副本,執行:
cp prog.c prog.bak
這一操作把文件prog.c複製爲prog.bak。如果prog.bak文件不存在,cp命令將創建此文件。如果目標文件已存在,
cp命令將用原文件的內容替代目標文件中的內容。
欲複製當前工作目錄中的文件到另外一目錄中,執行:
cp jones /home/nick/clients
這一操作將 jones 文件複製到 /home/nick/clients/jones。
欲將文件複製爲新的文件,並保留修改日期與相關的訪問控制權限,執行:
cp -p smith smith.jr
操作將smith文件複製爲smith.jr文件。此時系統將給與smith.jr與smith文件相同的修改日期和時間而並不使用
當前的系統時間。smith.jr文件同時也繼承了smith文件的訪問控制保護。
欲將某目錄中所有文件複製到新目錄中,執行:
cp /home/janet/clients/* /home/nick/customers
這一操作僅將clients目錄中的文件複製到customers目錄中。
欲將一個目錄,包括其包含的所有文件與子目錄複製到另一目錄中,執行:
cp -R /home/nick/clients /home/nick/customers
這一複製將clients目錄以及其中包含的所有文件、子目錄與子目錄中的文件複製到customers/clients目錄下。
注意在原目錄的結尾無斜槓符:如果你在GNU基礎的系統上執行cp -R /home/nick/clients/ /home/nick/customers
,
這與原目錄沒有加結尾斜槓符的效果相同。 但如果你在BSD基礎系統上執行相同的命令,這將複製所有client目錄
中的內容,而不是client目錄本身。
欲將複製指定的一些文件到另一目錄中,執行:
cp jones lewis smith /home/nick/clients
這一操作複製當前工作目錄下的 jones、lewis和smith 文件到 /home/nick/clients 目錄。
欲使用模式匹配字符集來複制文件,執行:
cp programs/*.c .
這一操作將programs目錄下所有以 .c 結尾的文件都複製到當前目錄下,當前目錄用單個點符號 . 表示。
在 .c 和最後的 . 之間必須用空格隔開。
將文件複製到另一已存在文件的過程是:將已存在文件以更新模式打開(使用這一模式需要擁有目標文件的寫入權限)。
操作的結果是目標文件保留了其原來擁有的權限位。
-------------------------------------------------------------ls命令---------------------------------------------------------------------------------
ls是一個由POSIX和單一Unix標準規範的命令,在Unix和類Unix系統中都有實現。ls是英文list segment的縮寫,在Unix和類Unix操作系統中都有當前目錄的概念,也即程序目前在目錄樹中的位置。
當不加參數運行時,ls列出當前目錄下的所有文件和目錄名。如果以目錄名作爲參數,則會列出該目錄下的文件。
用戶也可以指定多個文件和目錄作爲參數,ls則會列出所有指定的文件和目錄中的文件名。
以 "."(圓點)開頭的目錄在一般情況下不會被列出。用戶可以加 -a 選項查看所有文件。
不加參數時,ls僅僅列出文件和目錄的名稱,不加任何修飾。這通常讓人很難區分文件的類型、大小、權限等屬性。
顯示文件常用信息的一些參數如下:
- -l(long)長格式,顯示文件類型、權限、硬鏈接的數目、文件擁有者、文件所在的組、大小、日期和文件名。
- -F 在不同類型的文件的文件名結尾追加一個字符以示區別。可執行文件後加"*",目錄後加"/",管道文件後加"|",
- 套接字文件後加"=",普通文件沒有後綴。
- -a(all)顯示所有文件,包括以 . 開頭的文件名(默認不顯示)。
- -R(recursive)迭代顯示目錄下所有的子目錄。ls -R/會顯示文件系統中的所有文件。
- -d(directory)顯示目錄本身的信息,而不是列出目錄下的文件。
在某些環境下,使用參數"--color"(GNU版)或者"-G"(FreeBSD版)後,ls會根據文件類型輸出不同色彩的格式。
GNU版的ls根據文件的類型、擴展名和使用權限來決定顏色,而FreeBSD版的ls僅僅檢查文件類型和使用權限。
使用上述彩色選項時,輸出示例如下:
brw-r--r-- 1 unixguy staff 64, 64 Jan 27 05:52 block
crw-r--r-- 1 unixguy staff 64, 255 Jan 26 13:57 character
-rw-r--r-- 1 unixguy staff 290 Jan 26 14:08 compressed.gz
-rw-r--r-- 1 unixguy staff 331836 Jan 26 14:06 data.ppm
drwxrwx--x 2 unixguy staff 48 Jan 26 11:28 directory
-rwxrwx--x 1 unixguy staff 29 Jan 26 14:03 executable
prw-r--r-- 1 unixguy staff 0 Jan 26 11:50 fifo
lrwxrwxrwx 1 unixguy staff 3 Jan 26 11:44 link -> dir
-rw-rw---- 1 unixguy staff 217 Jan 26 14:08 regularfile
ls有大量的選項,具體的用法請參考ls的手冊頁。
使用色彩來區分文件類型的功能已被禁用,默認設置和 --color=never 同時禁用了它。
使用 --color=auto 選項,ls 只在標準輸出被連至終端時才生成顏色代碼。
LS_COLORS 環境變量可改變此設置,可使用 dircolors 命令來設置。
下面的例子演示了不同參數下ls的使用。
$ pwd /home/unixguy $ ls -l drwxr--r-- 1 unixguy editors 4096 drafts -rw-r--r-- 1 unixguy editors 30405 edition-32 -r-xr-xr-x 1 unixguy users 8460 edit $ ls -F drafts/ edition-32 edit*
------------------------------------------------------------ln命令---------------------------------------------------------------------------------
ln 是一個用於創建鏈接文件的標準
Unix 命令。
通過鏈接文件,不同的文件名可以指向同一個文件。
ln 可以創建兩種類型的鏈接文件:
從以下命令示例可看出兩種鏈接文件的區別:
$ echo '文件內容' > oringinal.file $ ln oringinal.file hardlink.file $ ln -s oringinal.file softlink.file $ cat softlink.file 文件內容 $ rm oringinal.file $ cat softlink.file cat: softlink.file: 沒有那個文件或目錄 $ cat hardlink.file 文件內容
原始文件被刪除後,符號鏈接將失效,訪問軟鏈接時,會提示找不到文件,但硬鏈接文件還在,而且還保存有原始文件的內容。
ln 可以用兩種方式使用。第一種,是第一個參數指定原始文件,第二個參數指定鏈接文件;第二種,指定多於兩個選項,應該先是多個原始文件(或目錄),最後指定一個目錄,所有原始文件(或目錄)的鏈接將會被創建於最後指定的目錄裏。在後一種方式中,ln 命令的行爲和具體的程序實現有關。
用法:ln [選項]... [-T] 目標 鏈接名(第一種格式)
或:ln [選項]... 目標 (第二種格式)
或:ln [選項]... 目標... 目錄 (第三種格式)
或:ln [選項]... -t 目錄 目標... (第四種格式)
在第一種格式中,創建指定名稱且指向指定目標鏈接。
在第二種格式中,在當前目錄創建指向目標位置的鏈接。
在第三、四種格式中,在指定目錄中創建指向指定目標的鏈接。
默認創建硬鏈接,當使用--symbolic 時創建符號鏈接。
當創建硬鏈接時每個指定的目標都必須存在。符號鏈接可以指向任意的位置,
當鏈接解析正常時,將其解析爲一個與其父目錄關聯的鏈接。
長選項必須使用的參數對於短選項時也是必需使用的。
--backup[=CONTROL] 爲每個已存在的目標文件創建備份文件
-b 類似--backup,但不接受任何參數
-d, -F, --directory 創建指向目錄的硬鏈接(只適用於超級用戶)
-f, --force 強行刪除任何已存在的目標文件
-i, --interactive 刪除文件前進行確認
-L, --logical 將硬鏈接創建爲符號鏈接引用
-n, --no-dereference 如果目的地是一個鏈接至某目錄的符號鏈接,會將
該符號鏈接當作普通文件處理,先將該已存在的鏈
接備份或刪除
-s, --symbolic 創建符號鏈接而非硬鏈接
-S, --suffix=後綴 自行指定備份文件的後綴
-t, --target-directory=目錄 在指定目錄中創建鏈接
-T, --no-target-directory 將鏈接名稱當作普通文件
-v, --verbose 鏈接前先列出每個文件的名稱
--help 顯示此幫助信息並退出
--version 顯示版本信息並退出
備份文件的後綴爲"~",除非以--suffix 選項或是SIMPLE_BACKUP_SUFFIX
環境變量指定。版本控制的方式可通過--backup 選項或VERSION_CONTROL 環境
變量來選擇。以下是可用的變量值:
使用 -s 選項會忽略 -L 和 -P。
否則當源爲一個符號鏈接(默認-P)時,會由最後指定的一個選項來控制行爲。
none, off 不進行備份(即使使用了--backup 選項)
numbered, t 備份文件加上數字進行排序
existing, nil 若有數字的備份文件已經存在則使用數字,否則使用普通方式備份
simple, never 永遠使用普通方式備份