天天看點

鳥哥私房菜 Linux最常用的基礎指令總結

1.CentOS 基礎指令

  • [Ctrl] + [Alt] + [F1] ~ [F6]  :文字介面登入 tty1 ~ tty6 終端機;
  • [Ctrl] + [Alt] + [F7]   :圖形介面桌面。
  • 登出: exit
  • 改變語言: LANG=en_US  (改為了us)  echo $LANG (顯示目前語言)
  • 顯示日期與時間的指令: date
  • 顯示日曆的指令: cal
  • 關機(1):shutdown -h now (root特權下才可以執行)
  • 重起(1):reboot
  • 關機(2):init 0
  • 重起(2):init 6

2.目錄管理

  • 改變所屬群組, chgrp [-R] name   (R 表示包括檔案下的所有目錄都改變)
  • 改變檔案擁有者, chown [-R] name  (R 表示包括檔案下的所有目錄都改變)
  • 改變權限,   chmod [-R] xyz filename (xyz 表示 數字如 770)
  • cd:變換目錄
  • pwd:顯示目前的目錄
  • mkdir:建立一個新的目錄
  • rmdir:刪除一個空的目錄
  • 檔案與目錄的檢視: ls -al
  • 複製檔案或目錄 cp -a  來源檔 目的檔   (全部copy 連同所有的設定也都copy)
  • 移除檔案或目錄 rm -r filename    全部删除

3.文檔查詢

  • 由第一行開始顯示檔案內容 cat
  • 一頁一頁的顯示檔案內容  more
  • 上一頁                 less
  • /字串         :代表在這個顯示的內容當中,向下搜尋『字串』這個關鍵字;
  • q             :代表立刻離開 more ,不再顯示該檔案內容
  • 檔案檔名的搜尋(1)  locate  + 檔案的部分名稱   (限制是從資料庫中擷取資料,故可能有些資料找不到)
  • 檔案檔名的搜尋(1)  find +  檔案名

4.磁碟與目錄的容量

  • df -h  列出檔案系統的整體磁碟使用量 以易讀的形式
  • du -h  列出檔案系統的目錄和檔案的使用量 以易讀的形式

5.磁碟的分割、格式化、掛載

  • fdisk 裝置名稱   磁盤分割   (未來重新作一個專題)
  • mkfs  裝置名稱   磁盤格式化
  • 挂載CD光牒---mkdir /media/cdrom (首先要先建立一個目錄)
  •          mount /dev/cdrom /media/cdrom (挂載CD光牒)
  • 挂載優盤---fdisk -l (看是否有此優盤)
  •            mkdir /mnt/flash (建立一個目錄)
  •            mount -t vfat /dev/sda1 /mnt/flash
  • 解除安裝CD光牒---umount /media/cdrom  
  • 解除安裝優盤--- umount /mnt/flash

6.壓縮和解壓縮

  • 壓 縮:tar -jcvf filename.tar.bz2 要被壓縮的檔案或目錄名稱
  • 解壓縮:tar -jxvf filename.tar.bz2 -C 欲解壓縮的目錄
  • 壓 縮:tar -zcvf filename.tar.gz 要被壓縮的檔案或目錄名稱
  • 解壓縮:tar -zxvf filename.tar.gz -C 欲解壓縮的目錄

7.vim 簡單使用

  • 第一部份:一般模式可用的按鈕說明,遊標移動、複製貼上、搜尋取代等
  •          移動-- gg 移動到這個檔案的第一行
  •          搜尋,取代 -- /word  (向下搜尋一個字元串) ?word (向上搜尋一個字元串)
  •                       :n1,n2s/word1/word2/g  (n1 與 n2 為數字。在第 n1 與 n2 行之間尋找 word1 這個字串,並將該字串取代為 word2 !舉例來說,在 100 到 200 行之間搜尋 vbird 並取代為 VBIRD 則:『:100,200s/vbird/VBIRD/g』)
  •         删除複制--- dd  删除整一行   yy 複制遊标所在的一行  u 複原上一個動作  [Ctrl]+r 重做上一個動作
  • 第二部份:一般模式切換到編輯模式的可用的按鈕說明
  • i, I 進入插入模式(Insert mode):
  • r, R 進入取代模式(Replace mode):
  • 第三部份:一般模式切換到指令列模式的可用的按鈕說明
    :q 離開 vi
    :wq 儲存後離開,若為 :wq! 則為強制儲存後離開 (常用)
    8.擷取指令(一般配合管線一起使用)
    • cut  以“一行”為機關  ciut -d'分隔字元' -f fields <==用於有特定分隔字元
    • grep 可以解析一行文字,取得關鍵字,若該行有存在關鍵字,就會整行列出來! grep '搜尋字串' filename
    9.排序指令(一般配合管線一起使用)
    • sort 按字母排序
    • uniq 唯一值
    • wc  統計字數  (多少行,多少字數,多少位元組數)

    10.帳号管理

    • useradd  增加一個使用者 (背景已經做了 1.有一個以使用者名的群組 2.未設定密碼 3.home 權限為700)
    • passwrd + 賬号名  更改使用者密碼
    • userdel + 賬号名  删除一個賬号
    • groupadd + 名稱   增加一個群組
    • groupdel + 名稱   删除一個群組
    • su + 賬号名     切換賬号
    • sudo + 語句     使用root 權限執行語句(需要授權,不然不能使用該語句)
    • visudo        授權

      ...(前面省略)....

      root    ALL=(ALL)       ALL  <==找到這一行,大約在 76 行左右

      vbird1  ALL=(ALL)       ALL  <==這一行是你要新增的!

    11.例行性工作

    • crontab -e  編輯例行工作

    0   12  *  *  * mail dmtsai -s "at 12:00" < /home/dmtsai/.bashrc

    #分 時 日 月 週 |<==============指令串========================>|

    代表意義 分鐘 小時 日期 月份 指令
    數字範圍 0-59 0-23 1-31 1-12 0-7 呀就指令啊
    /n 那個 n 代表數字,亦即是『每隔 n 單位間隔』的意思,例如每五分鐘進行一次,則:
    */5 * * * * command
    很簡單吧!用 * 與 /5 來搭配,也可以寫成 0-59/5 ,相同意思!
    • crontab -l  察看所有的例行工作

    12.系統資源的觀察

    • uname -a  查閱系統與核心相關資訊
    • uptime  觀察系統啟動時間與工作負載
    • netstat  追蹤網路或插槽檔 (tcp 和 UDP 的狀态)

    13.服務的啟動

    • 服務的啟動 (1)    /etc/init.d/*  服務名稱 {start|stop|status|restart|condrestart}
    • 服務的啟動 (2)    service [服務名稱] (start|stop|restart)

    14.觀察系統啟動的服務

    • netstat -tulp

    15.開機啟動的服務管理

    • 列出所有的開機服務   chkconfig --list
    •  更改開機服務       chkconfig [--level [0123456]] [服務名稱] [on|off]
    • 基于圖形界面的服務管理 ntsysv
    16.系統設定工具
    • setup   (隻有red hat 系列有)
    17.軟體安裝:原始碼與 Tarball
  • ./configure  這個步驟就是在建立 Makefile 這的檔案囉 (一般來說 configure 設定參數較重要的就是那個 --prefix=/path 了,--prefix 後面接的路徑就是『這個軟體未來要安裝到那個目錄去?』如果你沒有指定 --prefix=/path 這個參數,通常預設參數就是 /usr/local)
  • make clean  因為他可以去除目標檔案
  • make   make 會依據 Makefile 當中的預設工作進行編譯的行為
  • make install 通常這就是最後的安裝步驟了
  • 安裝建議
    1.  最好將 tarball 的原始資料解壓縮到 /usr/local/src 當中
    2. 安裝時,最好安裝到 /usr/local 這個預設路徑下
    3. 考慮未來的反安裝步驟,最好可以將每個軟體單獨的安裝在 /usr/local 底下
    4. 為安裝到單獨目錄的軟體之 man page 加入 man path 搜尋
    • 你就必需要在 /etc/man.config 裡面差不多 40~50 行左右的地方,加入底下這一行:
    MANPATH /usr/local/rp-pppoe/man
          這樣就可以使用 man 來查詢線上檔案囉!
  •  18.軟體安裝: RPM,  YUM 功能

  • rpm -ivh package_name  RPM 安裝 (install)
  • rpm -Uvh 或 -Fvh   RPM 更新
    -Uvh 後面接的軟體即使沒有安裝過,則系統將予以直接安裝; 若後面接的軟體有安裝過舊版,則系統自動更新至新版;
    -Fvh 如果後面接的軟體並未安裝到你的 Linux 系統上,則該軟體不會被安裝;亦即隻有已安裝至你 Linux 系統內的軟體會被『升級』!
    • rpm -q[ai] RPM 查詢  

    -q  :僅查詢,後面接的軟體名稱是否有安裝;

    -qa :列出所有的,已經安裝在本機 Linux 系統上面的所有軟體名稱;

    -qi :列出該軟體的詳細資訊 (information),包含開發商、版本與說明等;

    • rpm -e 軟體名           RPM 反安裝

    19.YUM查詢,安裝,更新,移除功能

    • yum list 軟體名稱  :列出目前 yum 所管理的所有的軟體名稱與版本,有點類似 rpm -qa;
    • yum install 軟體名稱  :後面接要安裝的軟體!
    • yum update  :後面接要升級的軟體,若要整個系統都升級,就直接 update 即可
    • yum remove  移除軟體

    20.yum 安裝/移除大型的軟體

    • yum groupinstall 軟體名稱
    • yum groupremove  軟體名稱

    21.系統自動更新

    • yum -y update  系統更新指令

        vim /etc/crontab

        ....(前面省略並保留設定值)....

        0  3 * * * root /usr/bin/yum -y update(每天三點自動更新)

    繼續閱讀