首先,我們需要知道一個概念,就是家目錄。雖然 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