Ubuntu常用命令
author@jason_ql(lql0716)
http://blog.csdn.net/lql0716
1 常用命令
Ubuntu顯示隱藏文件夾:
Ctrl+H
雙系統,windows啓動不了了,ubuntu可以啓動,從ubuntu修復windows啓動的方法,在終端裏輸入:
sudo update-grub
終端提示符:
# 表示超級用戶,即管理員
$ 表示一般用戶
- Linux系統文件夾:
/root 超級用戶的目錄
/tmp 臨時目錄
/sbin 命令保存目錄(超級用戶權限)
/proc 直接寫入內存的
/sys
/usr 系統軟件資源目錄
/usr/bin/ 系統命令(普通用戶)
/usr/sbin/ 系統命令(超級用戶)
/var 系統相關文檔內容
1.1 解壓縮
- .gz
解壓1:gunzip FileName.gz
解壓2:gzip -d FileName.gz
壓縮:gzip FileName .tar.gz
解壓:tar -zxvf FileName.tar.gz
壓縮:tar -zcvf FileName.tar.gz DirName
- .bz2
解壓1:bzip2 -d FileName.bz2
解壓2:bunzip2 FileName.bz2
壓縮: bzip2 -z FileName .tar.bz2
解壓:tar -jxvf FileName.tar.bz2
壓縮:tar -jcvf FileName.tar.bz2 DirName
- .bz
解壓1:bzip2 -d FileName.bz
解壓2:bunzip2 FileName.bz
壓縮:未知 .tar.bz
解壓:tar jxvf FileName.tar.bz
壓縮:未知
- .Z
解壓:uncompress FileName.Z
壓縮:compress FileName .tar.Z
解壓:tar Zxvf FileName.tar.Z
壓縮:tar Zcvf FileName.tar.Z DirName
- .tgz
解壓:tar zxvf FileName.tgz
壓縮:未知 .tar.tgz
解壓:tar zxvf FileName.tar.tgz
壓縮:tar zcvf FileName.tar.tgz FileName
- .zip
解壓:unzip FileName.zip
格式:unzip 壓縮文件
壓縮:zip FileName.zip DirName
格式:zip 壓縮文件名 文件
- .rar
解壓:rar a FileName.rar
壓縮:r ar e FileName.rar
1.2 目錄文件操作
.deb
.deb文件,直接雙擊即可安裝
終端命令安裝:sudo dpkg -i lantern-installer-beta-64-bit.debpwd 查看當前路徑
解壓命令
tar -xvf 文件名
新建文件
在終端中進入要新建文件的目錄下,使用以下命令:touch 文件名
delete
完整命令:sudo rm firle_name
rm [選項] 文件
-f, --force #強力刪除,不要求確認
-i #每刪除一個文件或進入一個子目錄都要求確認
-I #在刪除超過三個文件或者遞歸刪除前要求確認
-r, -R #遞歸刪除子目錄
-d, --dir #刪除空目錄
-v, --verbose #顯示刪除結果
常用如下幾個:
rm -d 目錄名
#刪除一個空目錄
rmdir 目錄名
#刪除一個空目錄
rm -r 目錄名
#刪除一個非空目錄
rm 文件名
#刪除文件
jobs
查看當前有多少在後臺運行的命令.kill
法子1:通過jobs命令查看job號(假設爲num),然後執行kill %num
法子2:通過ps命令查看job的進程號(PID,假設爲pid),然後執行kill pid
前臺進程的終止:Ctrl+c打開文件
在Ubuntu下,當需要打開其他格式文件時,比如pdf、jpg、mp3等格式文件,通常做法是進入到文件所在的目錄,雙擊打開,很影響效率。事實上,可以通過命令xdg-open打開這些格式文件,甚至是網頁,像打開文件一樣簡單。
舉兩個例子:
ctrl+alt+t打開終端
用戶名@主機名:xdg-open la_isla_bonita.mp3
用戶名@主機名:xdg-open http://www.baidu.com
xdg-open會選擇默認的程序打開指定文件,跟雙擊打開效果一樣。
常用
cd
#切換工作目錄。cd -
#返回歷史記錄的上一個目錄cd ~
#返回用戶主目錄cd ..
#返回當前目錄的父目錄ls
#顯示目錄(-l -d等參數),特別說明ls命令不支持管道命令。mkdir
#創建目錄。mkdir -p test/test2
遞歸的創建目錄,即二級目錄rmdir
#刪除目錄(若目錄下有文件或子目錄,無法刪除)。touch
#創建一個新文件或者修改文件的時間戳。rm
#刪除文件或目錄(刪除目錄一般會使用-rf參數)。cp
#拷貝文件,常用格式:cp /home/source.txt /home/tmp/[選項]
-r
複製目錄
-p
連帶文件屬性複製
-d
若源文件是鏈接文件,則複製鏈接屬性
-a
相當於-pdrmv [源文件或路徑] [目標路徑]
#移動文件或者文件重命名。echo
#打印信息。find
#查找文件(一般格式:find ./ -name src.cpp)。grep
#查找匹配字符串(一般格式:grep -nr “name” ./)。source
#將當前文件的修改同步到父shell中,文件一般爲shell腳本。top
#查看當前系統進程的信息。cat
#查看文件內容,顯示在當前終端,常用格式:cat filename.txtps
#查看系統中進程的信息。date
#顯示或設置系統時間或日期。chmod
#設置文件的權限。chown
#設置文件的所有者、所屬組等。clear
#清屏。reset
#重啓終端的窗口。tar
#歸檔、解壓縮。ifconfig
#查看網絡設置。su
#切換用戶。sudo
#以root身份來執行命令。man
#查看幫助手冊。
鏈接命令
ln
- 格式:
ln -s [源文件] [目標文件]
-s 創建軟鏈接
- 格式:
1.3 文件搜索
文件搜索命令:
locate 文件名
使用方法:
1、 updatedb //更新後臺數據庫
2、 /var/lib/mlocate //locate主要在該路徑下快速搜索,只能按文件名搜索,速度快
3、 locate 文件名whereis與which
whereis [選項]
查找系統 命令所在的路徑及幫助文檔所在的位置
- 選項
-b
只查找可執行文件- 選項
-m
只查找幫助文件
which [命令]
搜索命令及別名
find
- 格式:
find [搜索範圍] [搜索條件]
find /root -iname 文件名
不區分大小寫搜索find /root -user root
安裝所有者搜索find /root -nouser
查找沒有所有者的文件find /var/log/ -mtime +10
-10
表示10天內修改的文件
10
表示10天當天修改的文件
+10
表示10天前修改的文件
atime
文件訪問時間
ctime
改變文件屬性
mtime
修改文件內容find . -size 25k
該命令中.
表示當前目錄,該命令爲查找文件大小爲25k的文件
-25k
表示小於25k的文件
25k
表示等於25k的文件
+25k
表示大於25k的文件find . -inum 262422
查找i節點是262422的文件find /etc -size +20k -a -size -50k
查找/etc/路徑下,大於20k並且小於50k的文件
-a
and 邏輯與,兩個條件都滿足
-o
or 邏輯或,兩個條件滿足一個即可find /etc -size +20k -a -size -50k -exec ls -lh{}\;
查找/etc/路徑下,大於20k並且小於50k的文件,並顯示詳細信息注意:
避免大範圍搜索,會非常耗費系統資源;
find是在系統中搜索符合條件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配- 通配符:
*
表示匹配任意內容
?
表示匹配任意一個字符
[]
表示匹配任意一箇中括號內的字符
- 格式:
grep
- 格式:
grep [選項] 字符串 文件名
在文件中匹配符合條件的字符串 - 選項
-i
忽略大小寫
-v
排除指定字符串
- 格式:
1.4 幫助命令
man 命令
獲取指定命令的幫助
man ls
查看ls的幫助
man -f ls
相當於whatis ls
即man -f 命令
相當於whatis 命令
man -k 命令
查看所有相關命令的幫助命令 --help
獲取命令選項的幫助info 命令
詳細命令幫助
- 回車
進入子幫助頁面(帶有*號標記)
- u
進入上層頁面
- n
進入下一個幫助小節
- p
進入上一個幫助小節
- q
退出
1.5 關機與重啓命令
shutdown [選項] 時間
- 選項
-c
:取消前一個關機命令
-h
:關機
-r
:重啓 - 示例:
shutdown -h now
現在關機
- 選項
halt
、poweroff
、init 0
這三個均爲關機命令,一般不建議使用,最好用
shutdown
reboot
、init 6
這兩個均爲重啓命令,一般不建議使用,最好用
shutdown
logout
退出登錄命令
1.6 掛載命令
mount
查詢系統中已經掛載的設備
mount -a
依據配置文件/etc/fstab的內容,自動掛載
mount [-t 文件系統] [-o 特殊選項] 設備文件名 掛載點
掛載命令格式
- 選項
-t
文件系統:加入文件系統類型來指定掛載的類型,可以ext3、ext4、iso9660等文件系統
-o
特殊選項:可以指定掛載的額外選項
- 選項
1.6.1 掛載光盤
mkdir /mnt/cdrom/
建立掛載點
mount -t iso9660
掛載光盤
mount /dev/sr0 /mnt/cdrom/
umount 設備文件名或掛載點
- 卸載命令
- 例如:
umount /mnt/cdrom
fdisk -l
查看u盤設備文件名
mount -t vfat /dve/sdbl /mnt/usb/
注:Linux默認是不支持NTFS文件系統的
1.7 用戶登錄查看命令
w 用戶名
(可以不加用戶名)命令輸出:
USER
登錄的用戶名
TTY
登陸終端
FROM
從哪個IP地址登陸
LOGIN@
登陸時間
IDLE
用戶閒置時間
JCPU
指的是和該終端連接的所有進程佔用的時間。這個時間裏並不包括過去的後臺作業時間,但卻包括當前正在運行的後臺作業所佔用的時間
PCPU
是指當前進程所佔用的時間
WHAT
當前正在運行的命令who 用戶名
(可以不加用戶名)last
last命令默認是讀取/var/log/wtmp/文件數據
命令輸出:
- 用戶名
- 登錄終端
- 登錄IP
- 登陸時間
- 退出時間(在線時間)
lastlog
last命令默認是讀取/var/log/lastlog/文件數據
命令輸出:
- 用戶名
- 登錄終端
- 登錄IP
- 最後一次登錄時間
1.8 終端快捷鍵
Ctrl + r #實現快速檢索使用過的歷史命令。Ctrl+r中r是retrieve中r。
Ctrl + a #光標回到命令行首。 (a:ahead)
Ctrl + e #光標回到命令行尾。 (e:end)
Ctrl + b #光標向行首移動一個字符。 (b:backwards)
Ctrl + f #光標向行尾移動一個字符。 (f:forwards)
Ctrl + w #刪除光標處到行首的字符。
Ctrl + k #刪除光標處到行尾的字符。
Ctrl + u #刪除整個命令行文本字符。
Ctrl + h #向行首刪除一個字符。
Ctrl + d #向行尾刪除一個字符。
Ctrl + y #粘貼Ctrl+u,Ctrl+k,Ctrl+w刪除的文本。
Ctrl + p #上一個使用的歷史命令,相當於方向向上的方向鍵。 (p:previous)
Ctrl + n #下一個使用的歷史命令,相當於方向向下的方向鍵。(n:next )
Ctrl + t #交換光標所在字符和其前的字符。
Ctrl + i #相當於Tab鍵。
Ctrl + o #相當於Ctrl+m.
Ctrl + m #相當Enter鍵。
其他控制鍵:
Ctrl + s #使終端發呆,靜止,可以使快速輸出的終端屏幕停下來。
Ctrl + q #退出Ctrl+s引起的發呆。
Ctrl + z #使正在運行在終端的任務,運行於後臺。 (可用fg恢復)
Ctrl + c #中斷終端中正在執行的任務。
Ctrl + d #在空命令行的情況下可以退出終端。
Ctrl + [ #相當於Esc鍵。
Esc鍵 #連續按3次顯示所有的支持的終端命令。
Tab鍵 #命令、文件名等自動補全功能。按兩次tab鍵,顯示所有文件名
Ctrl + l #清屏
在終端上訪問網站和下載文件
Wget 的用法:
1、下載一個文件終端命令:
wget http://www.website-name.com/file
2、下載整個網站終端命令:
wget -r http://www.website-name.com
3、下載指定類型的文件(比如 PDF 和 PNG):
wget -r -A png,pdf http://www.website-name.com
1.9 Shell命令
1.9.1 概述
Shell是一個命令行解釋器,它爲用戶提供了一個向Linux內核發送請求以便運行程序的界面系統級程序,用戶可以用Shell來啓動、掛起、停止甚至是編寫一些程序。
Shell還是一個功能相當強大的編程語言,易編寫,易調試,靈活性較強。Shell是解釋執行的腳本語言,在Shell中可以直接調用Linux系統命令。
1.9.2 腳本執行方式
1.9.2.1 echo [選項] [輸出內容]
- 選項
-e
支持反斜線控制的字符轉換- 控制字符
\a
輸出警告音
\b
退格鍵,也就是向左刪除鍵
\n
換行符
\r
回車鍵
\t
製表符,也就是tab鍵
\v
垂直製表符
\0nnn
按照八進制ASCII碼錶輸出字符。其中0爲數字零,nnn是三位八進制數
xhh
按照十六進制ASCII碼錶輸出字符。其中hh是兩位十六進制數echo -e "hell\bo"
刪除左側字符echo -e "h\te\tl\nl\to"
製表符與換行符echo -e "\x68\t\x65\t\x6c\t\x6f\t"
按照十六進制ASCII碼也同樣可以輸出echo -e "\e[1;31m 佳人 \e[0m"
輸出顏色
30m=黑色,31m=紅色,32m=綠色,33m=黃色,34m=藍色,35m=洋紅,36m=青色,37m=白色
1.9.2.2 腳本 vi hello.sh
vi hello.sh
#!/bin/bash
#The first program 註釋
echo -e "好了" #輸出命令
1.9.2.3 腳本運行方式
- 賦予執行權限,直接執行
chmod 755 hello.sh
./hello.sh
- 通過Bash調用執行腳本
bash hello.sh
1.9.3 Bash的基本功能
1.9.3.1 命令別名與快捷鍵
alias
查看系統中所有的命令別名alias 別名='原命令'
設定命令別名vi ~/.bashrc
寫入環境變量配置文件unalias 別名
刪除別名- 命令生效順序
第一順位執行用絕對路徑或相對路徑執行的命令
第二順位執行別名
第三順位執行Bash的內部命令
第四順位執行按照$PATH環境變量定義的目錄查找順序找到的第一個命令
1.9.3.2 歷史命令
history [選項] [歷史命令保存文件]
- 選項
-c
清空歷史命令
-w
把緩存中的歷史命令寫入歷史命令保存文件~/.bash_history- 歷史命令默認會保存1000條,可以在環境變量配置文件/etc/profile中進行修改,命令
vim /etc/profile
- 歷史命令的調用
1、使用上、下箭頭調用以前的歷史命令
2、使用!n
重複執行第n條歷史命令
3、使用!!
重複執行上一條命令
4、使用!字串
重複執行最後一條以該字串開頭的命令
1.9.3.3 輸出重定向
- 標準輸出重定向
命令 > 文件
以覆蓋的方式,把命令的正確輸出輸出到指定的文件或設備當中
命令 >> 文件
以追加的方式,把命令的正確輸出輸出到指定的文件或設備當中- 標準錯誤輸出重定向
錯誤命令 2>文件
以覆蓋的方式,把命令的正確輸出輸出到指定的文件或設備當中(注意空格)
錯誤命令 2>>文件
以追加的方式,把命令的錯誤輸出輸出到指定的文件或設備中(注意空格)- 正確輸出和錯誤輸出同時保存
命令 > 文件 2>&1
以覆蓋的方式,把正確輸出和錯誤輸出都保存到同一個文件當中(注意空格)
命令 >> 文件 2>&1
以追加的方式,把正確輸出和錯誤輸出都保存到同一個文件當中(注意空格)
命令 &>文件
以覆蓋的方式,把正確輸出和錯誤輸出都保存到同一個文件當中(注意空格)
命令 &>>文件
以追加的方式,把正確輸出和錯誤輸出都保存到同一個文件當中(注意空格)
命令>>文件1 2>>文件2
把正確的輸出追加到文件1中,把錯誤的輸出追加到文件2中(注意空格)
1.9.3.4 輸入重定向:
wc [選項] [文件名]
- 選項
-c
統計字節數
-w
統計單詞數
-l
統計行數命令 < 文件名
把文件作爲輸入命令 << 標識符
1.9.3.5 多命令順序執行
;
分號
格式:命令1 ; 命令2
多個命令順序執行,命令之間沒有任何邏輯聯繫&&
邏輯與
格式:命令1 && 命令2
當命令1正確執行,則命令2纔會執行
當命令1執行不正確,則命令2不會執行||
邏輯或
格式:命令1 || 命令2
當命令1執行不正確,則命令2纔會執行
當命令1正確執行,則命令2不會執行
1.9.3.6 管道符
命令1 | 命令2
命令1的正確輸出作爲命令2的操作對象- 如:
ls -l /etc | more
分批查看該路徑的內容(more表示分批查看)
1.9.3.7 Shell中特殊符號
- 通配符
?
匹配一個任意字符*
匹配0個或任意多個任意字符,也就是可以匹配任何內容[]
匹配中括號中任意一個字符,例如:[abc]代表一定匹配一個字符或者是a,或者是b,或者是c[-]
匹配中括號中任意一個字符,代表一個範圍。例如:[a-z]代表匹配一個小寫字母[^]
邏輯非,表示匹配不是中括號內的一個字符。例如:[^0-9]代表匹配一個不是數字的字符- 其它符號
''
單引號。在單引號中所有的特殊符號,如$
和反引號都沒有特殊含義。""
雙引號。在雙引號中特殊符號都沒有特殊含義,但是$
,\
,反引號是例外,其分別擁有“調用變量的值”、“轉義符”、“引用命令”的特殊含義。``
反引號。反引號括起來的內容是系統命令,在Bash中會先執行它。和$()
作用一樣,不過推薦使用$()
,因爲反引號非常容易看錯。$()
和反引號作用一樣,用來引用系統命令#
在shell腳本中,#開頭的行代表註釋$
用於調用變量的值,如需要調用變量name的值時,需要用$name的方式得到變量的值\
轉義符,跟在\
之後的特殊符號將失去特殊含義,變爲普通字符。如\$
將輸出$
符號,而不是當做變量引用
1.10 Vim編輯器
1.10.1 vim概述
visual interface
目前vi升級爲vim操作
vim支持多級撤銷
vim可以跨平臺運行
vim支持語法高亮
vim支持圖形界面
1.10.2 vim編輯操作
- command mode - 命令模式
- insert mode - 輸入模式
- last line mode -底行模式(尾行,末行)
vim abc #打開指定文件,如abc文件,如果文件不存在,則自動創建文件
#編輯完之後輸入以下命令退出vim
Esc #按Esc退出鍵
:wq #再輸入該命令即可退出vim
vim + abc #該命令表示打開文件之後,光標定位到最後一行
vim +3 abc #該命令表示打開文件之後,光標定位到第三行,即輸入數字爲幾,就定位到第幾行
vim +/xxx abc #該命令表示打開文件之後,光標定位到xxx第一次出現的這一行
vim aa bb cc #該命令表示一次性打開文件aa,bb,cc,如果文件不存在,則自動創建文件
- 常用命令
:w
保存文件
:q
退出文件
:!
:ls
列出打開的所有文件
:n
切換到打開的下一個文件
:N
切換到打開的上一個文件
:15
定位到指定行
/xxx
定位到xxx第一次出現的位置
?xxx
從光標位置向前搜索第一次出現xxx的位置
h
光標左移
j
光標下移
k
光標上移
l
光標右移
ctrl + f
向下翻頁
ctrl + b
向上翻頁
ctrl + d
向下翻半頁
ctrl + u
向上翻半頁
dd
刪除光標所在的行
o
在光標所在的行的下方插入一行並切換到輸入模式
1.11 磁盤管理
df [選項]
查看磁盤分區使用狀況- 選項
-l
僅顯示本地磁盤(默認)
-a
顯示所有文件系統的磁盤使用情況,包含比如/proc/
-h
以1024進制計算最合適的單位顯示磁盤容量
-H
以1000進制計算最合適的單位顯示磁盤容量
-T
顯示磁盤分區類型
-t
顯示指定類型文件系統的磁盤分區
-x
不顯示指定類型文件系統的磁盤分區
- 選項
du [選項] [文件夾或文件]
統計磁盤上文件的大小- 選項
-b
以byte爲單位統計文件
-k
以KB爲單位統計文件
-m
以MB爲單位統計文件
-h
按照1024進制以最適合的單位統計文件
-H
按照1000進制以最適合的單位統計文件
-s
指定統計目標
- 選項
1.11.1 硬盤分區
1、主分區和擴展分區總數不能超過4個
2、擴展分區最多只能有一個
3、擴展分區不能直接存取數據
MBR分區
- 主分區不超過4個
- 單個分區容量最大2TB
GPT分區
- 主分區個數“幾乎”沒有限制
- 單個分區容量“幾乎”沒有限制
分區的格式化
mkfs
掛載分區
swap分區
1.12 用戶與用戶組
/etc/group
存儲當前系統中所有用戶組的信息Group : x : 123 : abc, def, xyz
分別表示組名稱:組密碼佔位符:組編號:組中用戶名列表
/etc/gshadow
存儲當前系統中用戶組的密碼信息Group: * : : abc, def, xyz
分別表示組名稱: 組密碼:組管理者: 組中用戶名列表
/etc/passwd
存儲當前系統中所有用戶的信息user : x : 123 : 456 : xxxxxxxx : /home/user : /bin/bash
分別表示用戶名:密碼佔位符:用戶編號:用戶組編號:用戶註釋信息:用戶主目錄:shell類型
/etc/shadow
存儲當前系統中所有用戶的密碼信息user: vf; /Zu8sdf... :::::
分別表示用戶名: 密碼 :::::
groupadd 用戶組名稱 #添加新的用戶組
groupmod -n 用戶組新名稱 用戶組原名稱 #修改用戶組的名稱
groupmod -g 編號 用戶組名稱 #修改用戶組的編號
groupdel 用戶組名稱 #刪除用戶組(需首先刪除用戶及其信息)
useradd -g 用戶組名稱 用戶名 #添加用戶到用戶組
usermod -c 用戶註釋 用戶名 #給用戶添加註釋
userdel 用戶名 #刪除用戶
userdel -r 用戶名 #刪除用戶及其信息
-----------------------------------------
passwd -l 用戶名 #鎖定用戶及其信息
passwd -u 用戶名 #解除用戶的鎖定
passwd -d 用戶名 #清除用戶的密碼
gpasswd -a 用戶名 新用戶組 #將用戶同時添加到新用戶組,即屬於多個組
gpasswd -d 用戶名 新用戶組 #將用戶從新用組(附屬組)移除
-----------------------------------------
id 用戶名 #顯示指定用戶信息,包括用戶編號、用戶名;主要組編號及名稱,附屬組列表
groups 用戶名 #顯示用戶所在的所有組
chfn 用戶名 #設置用戶資料,依次輸入用戶資料
finger 用戶名 #顯示用戶詳細資料
延伸閱讀
機器學習、深度學習、計算機視覺、自然語言處理及應用案例——乾貨分享(持續更新……)
http://blog.csdn.net/lql0716/article/details/70479493Ubuntu終端幾個常用的快捷鍵
http://blog.csdn.net/lql0716/article/details/54565304Ubuntu-可以編輯的PDF閱讀器Master
http://blog.csdn.net/lql0716/article/details/54972384Meld Diff 差異查看器(代碼對比軟件)(Ubuntu)
http://blog.csdn.net/lql0716/article/details/65447133