單元三:檔案與Shell基礎
指令pwd(Print Working Directory)顯示目前所在目錄的絕對路徑。cd 指令用于改變目前目錄,後跟絕對路徑或相對路徑。絕對路徑以“ / ”開始,而相對路徑通常以“.”、“..”或者下級目錄名開始。例如:
$ cd /tmp/mydir
$ cd ..
$ cd mydir
$ cd - (到前一個所在目錄)
$ pwd
/tmp
每個使用者都有一個home 目錄,一般在/home 目錄下。home 目錄中包含了使用者特定的配置和使用者檔案。字元“ ~ ”代表目前使用者的home 目錄。例如,目前使用者為feng_ye,則他的home 目錄下的某個檔案就可以這樣寫:~/text/example.txt ,即/home/feng_ye/text/example.txt 。如果feng_ye使用者可以通路别的使用者home 目錄,則~kim/text/another.txt 代表了kim使用者home 目錄下的text/another.txt 檔案,即/home/kim/text/another.txt 。
檔案名可以長達255個字元,以“ . ”開頭的檔案為隐藏檔案,在ls 時必須加-a 顯示才能看到。檔案名一般來說避免在其中使用 / , >, <, ?, *, ", ' 和控制符号(不可列印的字元)。如果想要使用特殊字元,比如空格,那麼将檔案名用雙引号“ " ” 括起來,例如:
$ ls -l "file name with spaces.txt"
或者
$ ls -l file\ name\ with\ spaces.txt
Red Hat Linux 和大多數Linux 發行版一樣,遵循FHS(Filesystem Hierarchy Standard)。系統目錄中:
/bin , /sbin , /usr 存放系統編譯後的可執行檔案、指令;
/var 存放日志檔案,PID 檔案和電子郵件;
/proc 目前的程序都會在這個目錄中出現,可看作是一個通向核心的虛拟視窗;
/etc 存放配置檔案;
/lib 存放共享庫;
/dev 裝置檔案;
/boot 核心和啟動檔案;
/home 使用者的home 目錄;
/opt 為安裝第三方軟體包的目錄。
df 指令顯示磁盤用量,加-h 選項可以以KB、MB、GB等機關輸出,加-H 也以KB、MB、GB輸出,但是是以1000為K,而非1024。du 指令計算目錄下檔案占用磁盤的大小,以KB為機關,也加-h 選項。例如du -sh 。
檔案操作中,mv 指令用來移動檔案或者将檔案改名。注意如果mv 指令的第二個參數,也就是移動目的地是一個目錄,則源檔案移動到該目錄下;若不存在第二個參數所指定的目錄,則mv 将認為第二個參數是一個檔案名,并将源檔案改名。cp 指令複制檔案。可用-a 選項複制整個目錄及其子目錄和檔案,并保持其修改時間。touch 指令更新檔案的最後修改時間,若檔案不存在則建立空檔案。rm 指令删除檔案。可以用-rf 指令删除任何檔案或者目錄,及其子目錄下的檔案。如果需要的話可以用-i 選項讓rm 指令具有互動功能。
目錄操作中,mkdir 指令建立目錄,rmdir 用于删除空目錄,若需要删除非空目錄,使用rm -r 将删除目錄及其子目錄中所有檔案。
file 指令用于獲得檔案的類型,如ASCII檔案或者可執行檔案等。
cat 指令用于顯示整個檔案的内容。-A 選項顯示所有字元,包括控制字元和不可列印的字元;-s 選項壓縮檔案中的多個空行為一個空行;-b 為所有非空行加注行号。
less 指令用于在分屏顯示檔案,空格向後翻頁;b 向前翻頁;/text 在檔案中向前查找text;?text 在檔案中向後查找text;n 重複上一次的查找;N 重複上次查找,但方向相反;q 退出。
less 的選項有 -c 在顯示前清屏;-r 顯示控制字元;-s 壓縮多個空行為一個空行。
tail 和head 指令顯示檔案最後n 行和最前的n 行。n 預設為10。
-n 或者 -n n 選項:顯示n行(例:-20 或者-n 20)
-c n 選項:顯示n個位元組
-f 選項為tail 所獨有,它用來實時觀察檔案的末尾增加的行,在觀察系統日志時非常有用。
pico 是一個通用文本編輯器,當編輯系統配置時務必加-w 選項以防止自動換行。
檔案可以用通配符 * 和 ? ,* 表示0個或者多個字元,? 表示單個字元。[a-z] 表示在範圍之内的字元,[^a-z]表示除範圍之外的字元。
$ echo ??ee*.txt
bleeding-edge.txt sheeptrix.txt
kill [PID] 用來殺死程序。不易殺死的程序可用kill -9 [PID] 殺死。
本文轉自gauyanm 51CTO部落格,原文連結:http://blog.51cto.com/gauyanm/227285,如需轉載請自行聯系原作者