Shell——linux\mac 日常入門命令行使用——文件以及文件夾操作


首先,我們需要知道一個概念,就是家目錄。雖然 windows 系統是多用戶系統,但我們大多數人還是把它當成單用戶系統使用。所以文件到處放,軟件到處安(也是沒有辦法,windows軟件管理做得不好,也確實沒辦法做好,太多太亂了)。

但是 linux 系統,是標准的多用戶系統。我們每個用戶的東西都應該放在屬於我們自己的目錄中。其實體路徑為 /home/fungleo/ 其中的 fungleo 是我的用戶名,你自己的系統需要替換成你的。

有一個快捷方式表示我們的家目錄,就是 ~。用這個快捷標識,我們就能快速的回到我們自己的家目錄。

cd 進入某個目錄

例如,我們要進入我們的家目錄,可以輸入下面的命令:

cd ~

cd 是英文 change directory 的縮寫,更改目錄的意思。

 

再例如,我們要進入下載目錄,就是這樣的命令:

cd ~/Downloads/

 

 

要輸入這樣的命令,是不是感覺有點長呢?其實大可不必,我們可以用 tab 鍵快速補全。例如,這樣:

cd ~/Dow<tab>

 

 

上面的 <tab> 表示按 tab 鍵。

如果需要返回上級目錄,則是使用

cd ..

 

 

在 linux 系統中 . 代表當前目錄,..代表上級目錄。如果是上級的上級目錄,就是 ../..

ls 查看目錄下的文件

當我們進入到某個文件夾之后,我們不知道里面有什么文件,就可以使用這個命令:

ls

 

 

ls 是英文 list 的縮寫

然后我們就可以看到這個目錄的文件了。這里,我們只能看到文件或者文件夾的名字,如果我們想要看到更多的內容,就可以加上 -l 參數。

ls -l

 

 

這樣,就會以一個列表的形式,把所有的內容全部輸出出來。

如果你還想要看看隱藏的文件,可以輸入

ls -a

 

 

當然,聰明的你肯定想要了,這命令可以組合起來嗎?當然可以,如下:

ls -la
 
        

linux/mac 系統和 windows 系統有一個很大的區別,就是,隱藏文件。在 linux 其中中,只要一個文件或者文件夾的名字第一個字符是 . 就表示這是一個隱藏文件。而 windows 系統是用文件的屬性來設置的。所以,使用 linux 系統,你如果想要給某個文件夾或者文件隱藏,右擊屬性什么的,是做不了什么的。只需要重命名文件,加個 . 就可以了。

mv 移動,重命名文件

在 linux 系統中,沒有 重命名 這個概念。只有一個概念,叫移動文件。把 a 文件重命名為 b 文件這個操作,要理解為——把 a 文件移動到 b

舉例如下:

mv a b
 

mv 是英文 move 的縮寫

就是把 a 文件重命名為 b

當然,這本來就是移動文件,也就是剪切文件。我們可以這樣操作

mv ~/Desktop/test/readme.txt ~/Desktop/test/fortest

 

 

就是表示,把當前目錄下的 readme.txt 文件,移動到當前目錄下fortest文件夾中

cp 復制文件和文件夾

復制文件也是一個很常見的操作。最簡單的,把 a 文件復制為 b 文件,執行下面的命令

cp a b
  • 1

cp 是英文 copy 的縮寫

很簡單吧?

當然,和 mv 命令一樣,也是可以跨目錄復制的。

cp ~/Downloads/love.txt ~/Documents/
  • 1

如果你需要保留文件所有的權限屬性之類的,可以加上參數 -a

例如

cp -a a b
  • 1

如果你復制的不是文件,而是文件夾,則要加上一個遞歸的參數 -r

cp -r a b
  • 1

當然,復制文件夾,並且要保留所有的權限屬性,加上參數 -ra

cp -ra a b
  • 1

另外,如果你復制的文件夾里面有很多內容,你想看到實時進度的話,可以用 -v 參數

cp -rav a b
  • 1

如上命令,你就可以把 a 目錄的所有內容原封不動的復制到 b 目錄去,並且可以看到實時的復制過程。

rm 刪除文件或文件夾

請注意, rm 命令進行的刪除操作,是不會放到系統的回收站里面去的。而是直接刪除,如果你希望通過軟件把文件找回來的話,也是很困難的。所以,在輸入 rm 命令的時候一定要頭腦清晰哦!

我們想要刪除某個文件,可以輸入:

rm a
  • 1

rm 是英文 remove 的縮寫

命令進入刪除。但是刪除的時候,一般 linux 會給你提示,你需要輸入 yes 同意,才能刪除。但是 mac 不會給提示,直接就刪除掉了。

當然,如果你不想看到這個提示,而是希望直接就刪除掉,可以加上一個參數 -f

rm -f a
  • 1

這樣,就會直接刪除掉,不會再要求你輸入 yes 了。

如果刪除的是某個目錄,直接用上面的命令是不行的。刪除目錄必須進行遞歸操作,所以需要加上參數 -r ,另外,你可能也不想確認,所以,命令就是:

rm -rf a
  • 1

這樣了。

最后,刪除操作一定要謹慎。

touch 新建文件

我們可以新建一個任意的文件。命令是 touch 至於為什么是這個命令,我不太清楚,我聯系不上 觸摸和 新建 之間的關系。

但是這個單詞是一個非常簡單的單詞,我們可以輕松的記住。

創建一個文件

touch a
  • 1

創建多個文件

touch a b c d
  • 1

就可以創建 a b c d 這四個文件了。

我們可以創建任意文件。只需要加上不同的后綴就可以了。

touch a.txt b.jpg c.doc d.pdf
  • 1

不過創建出來的,都是空的文件。里面需要錄入內容的話,需要你自己用對應的軟件打開進行編輯處理。

mkdir 新建文件夾

新建文件夾的命令是 mkdir 應該能夠看出來,這個命令是英文 make directory 的縮寫。

新建一個文件夾

mkdir a
  • 1

新建多個文件夾

mkdir a b c d
  • 1

新建多個層級的目錄,這就需要加上參數 -p 了。

mkdir -p res/style/scss
  • 1

就可以創建一個多層級的目錄。

less 查看文本文件

如果我們需要簡單的查看一個文件的內容,可以使用 less 命令。這個單詞是少的意思。同樣,多的英文 more 也可以用來查看文件。

不過一般情況下,我們使用 less 命令。如下:

less index.html
  • 1

就可以查看這個文件了。

如果文件比較長,可以使用 ctrl + f 往下翻頁,也可以使用 ctrl+b 向上翻頁。

pwd 看看自己在哪個目錄下

如果你的目錄層級比較多,你導出溜達着,忘記你在哪里了,怎么辦?或者,你需要把你當前的目錄路徑給復制出來,怎么辦?

沒關系,我們可以使用 pwd 命令,迅速輸出你的當前目錄路徑。

pwd
  • 1

需要說明的是,這里會返回完整的路徑,而不是 ~/xxx 這樣的縮寫路徑。

例如,你在家目錄里執行這個命令,那么輸出的將會是:

/home/fungleo
  • 1

這樣的。

man 查看某個命令的詳情

如果你看到一個命令,不清楚這是干啥的,就可以用 man 命令來看看這個命令的詳細介紹:

man cp
  • 1

就可以看 cp 命令的詳情。

不過,這個命令輸出的內容是英文的。如果你英文不行,可以到一個中文網站來看。網址是:http://man.linuxde.net/

需要注意的是,中文內容不一定是准確的,或者是最新的。

小結

好,掌握以上日常使用的命令,基本上你就可以愉快的使用命令行了。需要更多的內容,基本上可以使用搜索引擎來解決,你只需要提出正確的問題,基本上都能得到解答的。

本文由 FungLeo 原創,允許轉載,但轉載必須保留首發鏈接。

 

說明:

本文轉載自:https://blog.csdn.net/fungleo/article/details/78488656


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM