基本的shell命令1
1.文件和目錄列表
1.1較常見的Linux頂層虛擬目錄名及其內容:
目 錄 | 用 途 |
/ | 虛擬目錄的根目錄。通常不會在這裏存儲文件 |
/bin |
二進制目錄,存放許多用戶級的GNU工具 |
/boot |
啟動目錄,存放啟動文件 |
/dev |
設備目錄,Linux在這裏創建設備節點 |
/etc |
系統配置文件目錄 |
/home |
主目錄,Linux在這裏創建用戶目錄 |
/lib |
庫目錄,存放系統和應用程序的庫文件 |
/media |
媒體目錄,可移動媒體設備的常用掛載點 |
/mnt |
掛載目錄,另一個可移動媒體設備的常用掛載點 |
/opt |
可選目錄,常用於存放第三方軟件包和數據文件 |
/proc |
進程目錄,存放現有硬件及當前進程的相關信息 |
/root |
root用戶的主目錄 |
/sbin |
系統二進制目錄,存放許多GNU管理員級工具 |
/run |
運行目錄,存放系統運作時的運行時數據 |
/srv |
服務目錄,存放本地服務的相關文件 |
/sys |
系統目錄,存放系統硬件信息的相關文件 |
/tmp |
臨時目錄,可以在該目錄中創建和刪除臨時工作文件 |
/usr |
用戶二進制目錄,大量用戶級的GNU工具和數據文件都存儲在這裏 |
/var | 可變目錄,用以存放經常變化的文件,比如日誌文件 |
1.2cd命令:
單點符(.),表示當前目錄;
雙點符(..),表示當前目錄的父目錄。
1.3ls 命令:
-F 輕松區分文件和目錄
-a 把隱藏文件和普通文件及目錄一起顯示出來
-R 遞歸選項,它列出了當前目錄下包含的子目錄中的文件
-D 只列出目錄本身的信息,不列出其中的內容。
-l 產生長列表格式的輸出,包含了目錄中每個文件的更多相關信息
這種長列表格式的輸出在每一行中列出了單個文件或目錄。除了文件名,輸出中還有其他有用信息。輸出的第一行顯示了在目錄中包含的總塊數。在此之後,每一行都包含了關於文件(或目錄)的下述信息:
? 文件類型,比如目錄( d )、文件( - )、字符型文件( c )或塊設備( b );
? 文件的權限;
? 文件的硬鏈接總數;
? 文件屬主的用戶名;
? 文件屬組的組名;
? 文件的大小(以字節為單位);
? 文件的上次修改時間;
? 文件名或目錄名。
1.4ls過濾輸出列表:
$ ls -l my_script
-rwxrw-r-- 1 christine christine 54 May 21 11:26 my_script
ls 命令能夠識別標準通配符,並在過濾器中用它們進行模式匹配:
? 問號( ? )代表一個字符;
? 星號( * )代表零個或多個字符。
問號可用於過濾器字符串中替代任意位置的單個字符。例如:
$ ls -l my_scr?pt
-rw-rw-r-- 1 christine christine 0 May 21 13:25 my_scrapt
-rwxrw-r-- 1 christine christine 54 May 21 11:26 my_script
在過濾器中使用星號和問號被稱為文件擴展匹配(file globbing),指的是使用通配符進行模式匹配的過程。通配符正式的名稱叫作元字符通配符(metacharacter wildcards)。除了星號和問號之外,還有更多的元字符通配符可用於文件擴展匹配。可以使用中括號。也可以指定字符範圍,例如字母範圍 [a – i]
$ ls -l f[a-i]ll
-rw-rw-r-- 1 christine christine 0 May 21 13:44 fall
-rw-rw-r-- 1 christine christine 0 May 21 13:44 fell
-rw-rw-r-- 1 christine christine 0 May 21 13:44 fill
另外,可以使用感嘆號(!)將不需要的內容排除在外。
$ ls -l f[!a]ll
-rw-rw-r-- 1 christine christine 0 May 21 13:44 fell
-rw-rw-r-- 1 christine christine 0 May 21 13:44 fill
-rw-rw-r-- 1 christine christine 0 May 21 13:44 full
基本的shell命令1