文件基本操作
ls ,rm , mv , ln
ls
ls [option] [files]
不帶參數時,列出當前工作目錄的內容
$ls
列出指定目錄的內容
ls dir1
或個別文件
ls file1
選項
-a 列出所有文件,包括隱藏文件和目錄 (以 .開頭)
-l 以長格式顯示文件名屬性和明細
-h 以k,m等適合用戶閱讀的單位取代字節
-F 以象征類型的鼓號來修飾特定文件名
/ 目錄
* 可執行文件
@ 符號文件(symbolic links)
l 命令管道(named pipes)
= 通信管道(sockets)
符號附加在文件名之後,可幫忙一眼看出他們的類型,這些符號並非文件名的一
部分,而是ls在顯示時自己加上去的。
-i 在問價名之前加注該文件的inode編號
-s 在文件名之前加注文件所占的塊數(1 block 一般是 1024 bytes)
-R 遞歸列出目錄內容
-d 列出目錄本身,而不是其內容
cp [option] files (file|dir)
不添加參數表示復制一個文件
$cp srcfile destfile
復制多個文件到某個目錄下
$cp file1 fle2 file3 dir
-a或者-R 選項,可以遞歸復制整個子目錄
-p 連同源文件的訪問模式,時間戳也一並復制給新文件,如果你的權限允許,新文件的擁有者和所屬組也和舊文件一樣。如果沒可以指定本項,新文件的擁有者是你,膝蓋時間是當前時間,而訪問模式則是源文件的訪問模式與你的umask的交集。
-a 復制整個目錄樹,而且保留特殊文件、訪問模式、符號連接與硬鏈接的關系。
本選項相當於同時指定 -R(包含特殊文件在內的遞歸復制), -p(訪問模式)
-d(鏈接)
-i 交互模式,覆蓋目標文件之前,先征求用戶的意見
-f 強行復制,及時目標文件已存在,也一律無條件改寫。
mv [option] sources target
移動和改名其實是一回事, move 命令也可改變文件名。
mv file1 file2
將文件或目錄移動到另一個目錄下
mv file1 file2 dir3 dir4 dest_dir
-i 交互模式
-f 強制移動
rm [options] files|dirs
rm (remove)命令可刪除文件
rm file1 file2 file3
也可刪除整個目錄
rm -r dir1 dir3
-i 交互模式
-f 強制刪除,忽略任賀錯誤或警告
-r 遞歸喊出目錄與其內容,
ln [options] source target
鏈接link是對另一個文件的引用reference,有ln命令所建立。鏈接分成兩種,符
號連接(symbolic link)以"路徑"來表示另一個文件,就想windows中的快捷方
式(shorcut)或macintosh的別名alias
$ln -s myfile softlink
若刪除源文件,符號鏈接文件因為只想不存在路徑二變得無效。另一方面,硬鏈接(hard link)是磁盤上某物理文件的第二個名稱(以術語來說,硬鏈接只想同一個inode)。刪除源文件並不會造成鏈接失敗那你仍然可通過硬鏈接來訪問源文件的內容。
$ln myfile softlink
符號鏈接可跨越磁盤分區,因為他們只是對源文件路徑的引用而已。但是硬鏈接則不可以,因為一個分區上的inode對其他分區是沒有意義。符號鏈接的對象可以使目錄,但是硬鏈接不可以,除非你是superuser而且使用-d選項。
常用選項
-s 制作符號鏈接(默認行為是制作硬鏈接)
-i 交互模式
-f 強制模式,無條件予以覆蓋
-d 容許superuser制作目錄的硬鏈接
使用下列命令之一,可輕易找出符號鏈接的對象為何
$readlink linkname
$ls -l linkname
目錄操作
cd 改變當前工作目錄
pwd 顯示當前工作目錄的名稱
basename 顯示文件路徑中的末端部分
dirname 像是文件路徑中的末端之外的部分
mkdir 創建目錄
rmdir 刪除空目錄
rm -r 刪除非空目錄及其內容
cd [directory] bash
shell 內置命令