繼我們能在shell下愉快的“點擊鼠標”,恣意地在系統的目錄間溜達后,我們肯定需要在系統中增增減減,刪刪改改,充分的使用和個性化自己的系統。現在,在自己的家目錄下新增一個以自己名字命名的文件。
一個新增文件的手段:touch示例:touch 文件名… 多個文件名用空格隔開,可以新增多個文件

新增一個文件的方式有很多種,但是有些方式,或者有些命令的作用本不是新增一個文件,新增文件可能只是一個附帶的功能,隨著不斷地學習,會了解更多的新增文件的方式,這里先知道touch可以新增文件。
新增目錄命令:mkdir
mkdir是make directories的縮寫
示例:mkdir 文件夾名… 多個文件夾名用空格隔開,可以新增多個文件夾
好了,文件和文件夾都能創建了,常用的復制粘貼大法可是必修技能
復制文件或目錄命令:cp
cp是copy的縮寫
示例:
cp file… 目標目錄,復制一個或者多個文件到目標目錄,多個文件之間用空格隔
cp file1 file2 ,創建一個名為file2的file1副本到當前目錄(如果已存在file2文件,那么會覆蓋舊文件,添加選項“-i”可以給出覆蓋確認的提示)
cp -r dir1 dir2,復制目錄dir1中的內容到目錄 dir2。如果目錄dir2不存在,創建目錄dir2,復制后,目錄dir2中的內容和dir1中的一樣。 如果目錄dir2存在,則目錄dir1(和目錄中的內容)將會被復制到dir2中。(“-r”遞歸復制,復制文件夾及其內容必須添加該選項)
移動/重命名文件或目錄命令:mv
mv是move的縮寫
和cp命令的用法基本一致,只不過要注意的是,mv命令包含的兩種功能
示例:
mv file… 目標目錄,移動一個或者多個文件到目標目錄,多個文件之間用空格隔開
mv file1 file2,將file1文件重命名為file2(如果已存在file2文件,那么會覆蓋舊文件,添加選項“-i”可以給出覆蓋確認的提示)
mv dir1 dir2,dir2目錄存在,則dir1目錄及其內容會被移動到dir2中,如果dir2目錄不存在,那么重命名dir1為dir2
刪除文件或目錄命令:rm
rm是remove的縮寫
*在這里值得注意的是,shell下是沒有回收站這一說的,在使用rm命令的時候要格外的小心,所以,刪除之前不妨再次列表展示一下要刪除的文件,確保萬無一失。
示例:
rm file1 file2 …,刪除一個或多個文件,多個文件名之間用空格隔開
rm -r dir1 dir2 …,刪除一個或多個文件夾及其所包含的內容,多個文件夾名字之間用空格隔開(“-r”遞歸刪除,刪除文件夾必須添加的選項)
rm -rf file dir …,強制刪除file文件和dir文件夾,無論他們是否存在,不會給出相關提示(“-f”強制執行,忽略不存在的目標,沒有相關提示)
鏈接命令:ln
在Windows中,我們經常使用右鍵為一個文件創建快捷方式,在Linux下,同樣也可以做到。但是,在Linux中,使用“ln”創建的鏈接有軟硬之分。
創建軟鏈接
在硬盤的每個分區上,都有一個分區表,這其中記錄著這個文件系統的文件信息。比如某一條記錄會有文件的文件名,大小等,創建一個軟鏈接之后,軟鏈接在分區表中并不會記錄目標文件的這些信息,而是記錄了目標文件和分區表相關的信息,比如目標文件的分區表信息在哪個盤符等等,并不記錄分區表信息的內容。因為軟鏈接記錄的是目標文件的分區表信息,所以軟鏈接可以創建跨盤符的鏈接,可以對目錄創建鏈接,而且刪除這個軟鏈接不會對源文件造成任何影響,但是一旦刪除了源文件,那么這個軟鏈接就失效了,變成了一個垃圾鏈接,垃圾鏈接在“ls”查看詳細信息的時候會有特別的標注,留意觀察一下。當你打開一個軟鏈接的時候,實際上你打開的是軟鏈接指向的那個文件或者文件夾,打開之后的做的任何變動都會反映到目標文件上,但是你如果刪除一個軟鏈接,軟鏈接指向的目標文件并不會被刪除,這是一個需要特別記住的地方。
示例:
ln -s target targetLink,為target文件創建一個名為targetLink的軟鏈接,target可以寫成相對或者絕對路徑的形式(“-s”聲明創建的鏈接是軟鏈接)
創建硬鏈接
記得之前在說到“ls”命令的時候接觸到一個“-l”選項,使用長格式來顯示文件列表信息。顯示的內容有一列叫做硬鏈接數量,這里就是說的某個文件已經創建的硬鏈接數量。硬鏈接就是文件在某個文件系統中的引用數量。每創建一個硬鏈接,分區表上就會多一條和源文件相同的分區表記錄來記錄硬鏈接名和對應內容的記錄,創建好的硬鏈接和源文件的所有信息都相同,也包括分區表記錄,為了能更好的說明這一點,需要為“ls”命令添加一個“-i”選項,該選項意味著列表顯示文件的索引節點,索引節點相同,意味著他們是同一個文件。因此,當你創建一個硬鏈接,使用“ls -i”查看,你會發現目標文件和硬鏈接的信息完全一致,當然名字可能會不一樣。 硬鏈接的創建不能跨越盤符,因為他們必須在同一個分區內,也不能使用在目錄上,當一個文件的所有硬鏈接都被刪除,那么這個文件便沒有鏈接引用他,他本身所占用的磁盤空間也會被刪除?;蛟S,你應該猜得到,每個文件的文件名,就是他自身的第一個硬鏈接。
和軟鏈接一樣,打開硬鏈接就是打開目標文件,所做的任何變動都可以保留。當你刪除一個硬鏈接,除非這個硬鏈接是最后一個硬鏈接(文件本身),否則不會刪除源文件。
示例:
ln target targetLink,為target文件創建一個硬鏈接targetLink,源文件名和硬鏈接名要在同一個分區下。