Ubuntu常用命令

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.deb

  • pwd 查看當前路徑

  • 解壓命令
    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 相當於-pdr

    • mv [源文件或路徑] [目標路徑] #移動文件或者文件重命名。

    • echo #打印信息。

    • find #查找文件(一般格式:find ./ -name src.cpp)。

    • grep #查找匹配字符串(一般格式:grep -nr “name” ./)。

    • source #將當前文件的修改同步到父shell中,文件一般爲shell腳本。

    • top #查看當前系統進程的信息。

    • cat #查看文件內容,顯示在當前終端,常用格式:cat filename.txt

    • ps #查看系統中進程的信息。

    • 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現在關機
  • haltpoweroffinit 0

    這三個均爲關機命令,一般不建議使用,最好用shutdown

  • rebootinit 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 #清屏

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 用戶名  #顯示用戶詳細資料

延伸閱讀

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章