當(dāng)你進(jìn)入了 Linux 的世界周蹭,在下載显拜、安裝 了某個 Linux 發(fā)行版奄妨,體驗(yàn)了 Linux 桌面并安裝了一些你喜愛和需要的軟件之后烙如,應(yīng)該去了解下 Linux 真正的魅力所在:命令行么抗。每一個 Linux 命令其實(shí)就是一個程序,借助這些命令亚铁,我們可以辦到非常多的事情蝇刀。下面將會為大家介紹一下幾個常用的命令。
如何尋求幫助徘溢?
在 Linux 下遇到問題吞琐,最重要的是要自己尋求幫助,下面是三種尋求幫助的方法然爆。
man
man是 Linux 的幫助手冊站粟,即 manual
。因?yàn)榇蠖鄶?shù)程序都會自帶手冊曾雕,所以可以通過 man
命令獲取幫助奴烙。執(zhí)行以后,在 **man page **頁面中按 q退出剖张。
獲取 ls 的幫助
man ls
查看有多少(針對不同方面的)同名的手冊
man -f ls
ls (1)- list directory contents
ls (1p)- list directory contents
查看特定的手冊
man 1p ls
info
與 man
不同的是切诀,可以像瀏覽網(wǎng)頁一樣在各個節(jié)點(diǎn)中跳轉(zhuǎn)。
從文檔首頁開始瀏覽
info
獲取特定程序的幫助
info program
help
除了上面的兩種方法外搔弄,還有一種簡單使用的方法趾牧,那就是 --help
參數(shù),一般程序都會有這個參數(shù)肯污,會輸出最簡單有用的介紹翘单。
man --help ### 獲取 man 的幫助
info --help ### 獲取 info 的幫助
ls --help ### 獲取 ls 的幫助
如何簡單操作?
在 Terminal(終端)
中蹦渣,有許多操作技巧哄芜,這里就介紹幾個簡單的。
光標(biāo)
- up(方向鍵上) 可以調(diào)出輸入歷史執(zhí)行記錄柬唯,快速執(zhí)行命令
- down(方向鍵下) 配合 up 選擇歷史執(zhí)行記錄
- Home 移動光標(biāo)到本行開頭
- End 移動光標(biāo)到本行結(jié)尾
- PgUp 向上翻頁
- PaDN 向下翻頁
- ctrl + c 終止當(dāng)前程序
Tab 補(bǔ)全
Tab補(bǔ)全是非常有用的一個功能认臊,可以用來自動補(bǔ)全命令或文件名匾旭,省時(shí)準(zhǔn)確坦刀。
未輸入狀態(tài)下連按兩次 Tab
列出所有可用命令
已輸入部分命令名或文件名季希,按 Tab
進(jìn)行自動補(bǔ)全耻警,多用你就肯定會喜歡的了。
常用命令
以下命令按照通常的使用頻度排列涂屁。
cd
cd是打開某個路徑的命令书在,也就是打開某個文件夾,并跳轉(zhuǎn)到該處拆又。
cd path ### path 為你要打開的路徑儒旬。
其中 path 有絕對路徑和相對路徑之分,絕對路徑強(qiáng)調(diào)從 / 起帖族,一直到所在路徑栈源。相對路徑則相對于當(dāng)前路徑來說,假設(shè)當(dāng)前家目錄有etc文件夾(絕對路徑應(yīng)為 /home/username/etc)竖般,如果直接 cd etc 則進(jìn)入此文件夾甚垦,但若是 cd /etc/則是進(jìn)入系統(tǒng) etc,多琢磨一下就可以理解了涣雕。另外在 Linux 中 "."代表當(dāng)前目錄制轰,".." 代表上級目錄,因此返回上級目錄可以 cd ..
ls
ls 即 list 胞谭,列出文件垃杖。
ls ### 僅列出當(dāng)前目錄可見文件
ls -l ### 列出當(dāng)前目錄可見文件詳細(xì)信息
ls -hl ### 列出詳細(xì)信息并以可讀大小顯示文件大小
ls -al ### 列出所有文件(包括隱藏)的詳細(xì)信息
ls -a 相當(dāng)于 ll
注意: Linux 中 以 .
開頭的文件或文件夾均為隱藏文件或隱藏文件夾。
pwd
pwd用于返回當(dāng)前工作目錄的名字丈屹,為絕對路徑名调俘。
pwd
mkdir
mkdir用于新建文件夾。
mkdir folder
mkdir -p folder/subfolder ### -p 參數(shù)為當(dāng)父目錄存在時(shí)忽略旺垒,若不存在則建立彩库,用此參數(shù)可建立多級文件夾
rm
rm即 remove ,刪除文件或目錄先蒋。
- -f 強(qiáng)制的意思骇钦,如果不加這個選項(xiàng),當(dāng)刪除一個不存在的文件時(shí)會報(bào)錯竞漾。
- -i 這個選項(xiàng)的作用是眯搭,當(dāng)用戶刪除一個文件時(shí)會提示用戶是否真的刪除。
- -r 當(dāng)刪除目錄時(shí)业岁,加該選項(xiàng)鳞仙,如果不加這個選項(xiàng)會報(bào)錯。rm是可以刪除不為空的目錄的笔时。
rm filename ### 刪除 filename
rm -i filename ### 刪除 filename 前提示棍好,若多個文件則每次提示
rm -rf folder/subfolder/### 遞歸刪除 subfolder 下所有文件及文件夾,包括 subfolder 自身
rm -d folder ### 刪除空文件夾
alias
用來設(shè)置指令的別名。語法:alias[別名]=[指令名稱]借笙,例如 alias rm='rm -i' 扒怖,即當(dāng)我們使用rm命令時(shí),實(shí)際上是使用的是rm –i 业稼,而用絕對路徑的/bin/rm 則不會被alias
cp
cp即 copy 盗痒,復(fù)制文件。
cp source dest ### 將 source 復(fù)制到 dest
cp folder/* dest ### 將 folder 下所有文件(不含子文件夾中的文件)復(fù)制到 dest
cp -r folder dest ### 將 folder 下所有文件(包含子文件夾中的所有文件)復(fù)制到 dest
mv
mv即 move 盼忌,移動文件。
mv source folder ### 將 source 移動到 folder 下掂墓,完成后則為 folder/source
mv -i source folder ### 在移動時(shí)谦纱,若文件已存在則提示 **是否覆蓋**
mv source dest ### 在 dest 不為目錄的前提下,重命名 source 為 dest
cat
cat用于輸出文件內(nèi)容到 Terminal 君编。
cat /etc/locale.gen ### 輸出 locale.gen 的內(nèi)容
cat -n /etc/locale.gen ### 輸出 locale.gen 的內(nèi)容并顯示行號
more
more與 cat相似跨嘉,都可以查看文件內(nèi)容,所不同的是吃嘿,當(dāng)一個文檔太長時(shí)祠乃, cat只能展示最后布滿屏幕的內(nèi)容,前面的內(nèi)容是不可見的兑燥。這時(shí)候可用 more逐行顯示內(nèi)容亮瓷。
more /etc/locale.gen
more +100/etc/locale.gen ### 從 100 行開始顯示
less
less與 more相似,不過 less支持上下滾動查看內(nèi)容降瞳,而 more只支持逐行顯示嘱支。
less /etc/locale.gen
less +100/etc/locale.gen
nano
nano是一個簡單實(shí)用的文本編輯器,使用簡單挣饥。
nano filename ### 編輯 filename 文件除师,若文件不存在,則新打開一個文件扔枫,若退出時(shí)保存汛聚,則創(chuàng)建該文件
編輯完后,ctrl + X
提示是否保存短荐,按 y
確定保存即可倚舀。
注意:在使用過程中可用 ctrl + G獲取幫助。
reboot
reboot為重啟命令忍宋。
# reboot ### '$' 和 '#' 的區(qū)別在于 '$' 普通用戶即可執(zhí)行### 而 '#' 為 root 用戶才可執(zhí)行瞄桨,或普通用戶使用 'sudo'
poweroff
poweroff為關(guān)機(jī)命令。
poweroff ### 馬上關(guān)機(jī)
ping
ping主要用于測試網(wǎng)絡(luò)連通讶踪,通過對目標(biāo)機(jī)器發(fā)送數(shù)據(jù)包來測試兩臺主機(jī)是否連通芯侥,及延時(shí)情況。
ping locez.com ### 通過域名 ping,若 DNS 未設(shè)置好柱查,可能無法 ping 通
grep
grep主要用于返回匹配的項(xiàng)目廓俭,支持正則表達(dá)式。
grep PATTERN filename ### 返回所有含有 PATTERN 的行
grep zh_CN /etc/locale.gen ### 返回所有含 zh_CN 的行
mount
mount用于掛載一個文件系統(tǒng)唉工,需要 root用戶執(zhí)行研乒。一個磁盤可分為若干個分區(qū),在分區(qū)上面可以創(chuàng)建文件系統(tǒng)淋硝,而掛載點(diǎn)則是提供一個訪問的入口雹熬,將一個分區(qū)的文件系統(tǒng)掛載到某個目錄中,稱這個目錄為掛載點(diǎn)谣膳,并且可以通過這個掛載點(diǎn)訪問該文件系統(tǒng)中的內(nèi)容竿报。例如一塊硬盤在 Linux 中表示為 /dev/sda;那么它上面的分區(qū)應(yīng)該表示為 /dev/sda1 、/dev/sda2继谚。
mount ### 輸出系統(tǒng)目前的掛載信息
mount /dev/sda1 /mnt ### 將 sda1 掛載到 /mnt 中
cd /mnt ### 直接通過 /mnt 訪問內(nèi)容
mount -o remount,rw /mnt ### 重新掛載 sda1 到 /mnt 并設(shè)置為 可讀寫
mount -a ### 掛載 fstab 文件配置好的文件系統(tǒng)
umount
umount與 moung相反烈菌,是卸載一個掛載點(diǎn),即取消該入口花履。
umount /mnt ### 卸載 /mnt 這個掛載點(diǎn)的文件系統(tǒng)
umount -a ### 卸載所有已掛載的文件系統(tǒng)
tar
tar主要用于創(chuàng)建歸檔文件芽世,和解壓歸檔文件,其本身是沒有壓縮功能的诡壁,但可以調(diào)用 gzip济瓢、 bzip2 進(jìn)行壓縮處理。
參數(shù)解釋:
- -c 創(chuàng)建歸檔
- -x 解壓歸檔
- -v 顯示處理過程
- -f 目標(biāo)文件妹卿,其后必須緊跟 目標(biāo)文件
- -j 調(diào)用 bzip2進(jìn)行解壓縮
- -z 調(diào)用 gzip進(jìn)行解壓縮
- -t 列出歸檔中的文件
tar -cvf filename.tar .### 將當(dāng)前目錄所有文件歸檔葬荷,但不壓縮,注意后面有個 ’.‘ 纽帖,不可省略宠漩,代表當(dāng)前目錄的意思
tar -xvf filename.tar ### 解壓 filename.tar 到當(dāng)前文件夾
tar -cvjf filename.tar.bz2 .### 使用 bzip2 壓縮
tar -xvjf filename.tar.bz2 ### 解壓 filename.tar.bz2 到當(dāng)前文件夾
tar -cvzf filename.tar.gz ### 使用 gzip 壓縮
tar -xvzf filename.tar.gz ### 解壓 filename.tar.gz 到當(dāng)前文件夾
tar -tf filename ### 只查看 filename 歸檔中的文件,不解壓
ln
ln主要用于在兩個文件中創(chuàng)建鏈接懊直,鏈接又分為 Hard Links(硬鏈接)和 Symbolic Links(符號鏈接或軟鏈接)扒吁,其中默認(rèn)為創(chuàng)建硬鏈接,使用 -s參數(shù)指定創(chuàng)建軟鏈接室囊。
- 硬鏈接主要是增加一個文件的鏈接數(shù)雕崩,只要該文件的鏈接數(shù)不為 0,該文件就不會被物理刪除融撞,所以刪除一個具有多個硬鏈接數(shù)的文件盼铁,必須刪除所有它的硬鏈接才可刪除。
- 軟鏈接簡單來說是為文件創(chuàng)建了一個類似快捷方式的東西尝偎,通過該鏈接可以訪問文件饶火,修改文件鹏控,但不會增加該文件的鏈接數(shù),刪除一個軟鏈接并不會刪除源文件肤寝,即使源文件被刪除当辐,軟鏈接也存在,當(dāng)重新創(chuàng)建一個同名的源文件鲤看,該軟鏈接則指向新創(chuàng)建的文件缘揪。
- 硬鏈接只可鏈接兩個文件,不可鏈接目錄义桂,而軟鏈接可鏈接目錄找筝,所以軟鏈接是非常靈活的。
ln source dest ### 為 source 創(chuàng)建一個名為 dest 的硬鏈接
ln -s source dest ### 為 source 創(chuàng)建一個名為 dest 的軟鏈接
chown
chown用于改變一個文件的所有者及所在的組慷吊。
chown user filename ### 改變 filename 的所有者為 user
chown user:group filename ### 改變 filename 的所有者為 user袖裕,組為 group
chown -R root folder ### 改變 folder 文件夾及其子文件的所有者為 root
chmod
chmod永遠(yuǎn)更改一個文件的權(quán)限,主要有 讀取 罢浇、 寫入 陆赋、 執(zhí)行 沐祷,三種權(quán)限嚷闭,其中 所有者 、 用戶組 赖临、 其他 各占三個胞锰,因此 ls -l
可以看到如下的信息
-rwxr--r--1 locez users 154Aug3018:09 filename
其中 r=read
, w=write
兢榨, x=execute
chmod +x filename ### 為 user 嗅榕,group ,others 添加執(zhí)行權(quán)限
chmod -x filename ### 取消 user 吵聪, group 凌那,others 的執(zhí)行權(quán)限
chmod +w filename ### 為 user 添加寫入權(quán)限
chmod ugo=rwx filename ### 設(shè)置 user ,group 吟逝,others 具有 讀取帽蝶、寫入、執(zhí)行權(quán)限
chmod ug=rw filename ### 設(shè)置 user 块攒,group 添加 讀取励稳、寫入權(quán)限
chmod ugo=--- filename ### 取消所有權(quán)限
useradd
useradd用于添加一個普通用戶。
useradd -m -g users -G audio -s /usr/bin/bash newuser
### -m 創(chuàng)建 home 目錄囱井, -g 所屬的主組驹尼, -G 指定該用戶在哪些附加組, -s 設(shè)定默認(rèn)的 shell 庞呕,newuser 為新的用戶名
passwd
passwd用于改變用戶登錄密碼新翎。
passwd ### 不帶參數(shù)更改當(dāng)前用戶密碼
passwd newuser ### 更改上述新建的 newuser 的用戶密碼
whereis
whereis用于查找文件、手冊等。
whereis bash
bash:/usr/bin/bash /etc/bash.bashrc /etc/bash.bash_logout/usr/share/man/man1/bash.1.gz/usr/share/info/bash.info.gz
whereis -b bash ### 僅查找 binary
bash:/usr/bin/bash /etc/bash.bashrc /etc/bash.bash_logout
whereis -m bash ### 僅查找 manual
bash:/usr/share/man/man1/bash.1.gz/usr/share/info/bash.info.gz
find
find也用于查找文件料祠,但更為強(qiáng)大骆捧,支持正則,并且可將查找結(jié)果傳遞到其他命令髓绽。
find .-name PATTERN ### 從當(dāng)前目錄查找符合 PATTERN 的文件
find /home -name PATTERN -exec ls -l {} \; # 從 /home 文件查找所有符合 PATTERN 的文件敛苇,并交由 ls 輸出詳細(xì)信息
wget
wget是一個下載工具,簡單強(qiáng)大顺呕。
wget -O newname.md https://github.com/LCTT/TranslateProject/blob/master/README.md ### 下載 README 文件并重命名為 newname.md
wget -c url ### 下載 url 并開啟斷點(diǎn)續(xù)傳
Linux wget命令詳解 http://www.linuxidc.com/Linux/2012-08/67837.htm
Linux 下使用 wget/aria2 進(jìn)行離線迅雷批量下載 http://www.linuxidc.com/Linux/2011-10/46052.htm
Linux使用wget請求地址時(shí)報(bào)錯 http://www.linuxidc.com/Linux/2011-07/39345.htm
Linux下載命令wget使用詳解 http://www.linuxidc.com/Linux/2011-01/30980.htm
wget 使用大全 http://www.linuxidc.com/Linux/2008-09/15722.htm
Linux 命令行下載工具 wget 的使用技巧 http://www.linuxidc.com/Linux/2007-10/8293.htm
wget 命令實(shí)例 http://www.linuxidc.com/Linux/2014-10/108733.htm
恭喜你枫攀,你已經(jīng)學(xué)習(xí)了完了26 個基礎(chǔ)的 Linux 命令。雖然這里只是一些最基礎(chǔ)的命令株茶,但是熟練使用這些命令就踏出了你從一位 Linux 新手成為 Linux 玩家的第一步来涨!