1. 程式人生 > >工作上使用Linux運維部署時,常用的命令詳解

工作上使用Linux運維部署時,常用的命令詳解

linux 經驗:
    1.linux 伺服器“只能”掛載,不能關機
    2.登入完伺服器一定要logout
    
common sense:
    常見的UNIX:
    AIX --IBM,
    HP-UX --HP,
    solaris --SUN
    常見的linux:
    1. fedora RedHat CentOS SUSE gentoo 紅旗 mandriva turbolinux RHEL enterprise
    2. Debian Ubuntu
1.  Linux分割槽包括主分割槽,擴充套件分割槽,邏輯分割槽,swap等
    一般/boot和swap分割槽為主分割槽,其他為邏輯分割槽,但是也不一定。根分割槽一般為8G
    /dev/cdrom -- 光碟機
    /dev/sda -- scsi硬碟

    主分割槽為sda1-sda4 ----第一塊scsi硬碟的1-4個主分割槽
    邏輯分割槽為sda5-sda16
    1~4為主分割槽或擴充套件分割槽
    5~7為邏輯分割槽
2.  
    ifconfig eth0    --檢查網絡卡ip是否生效
    ifconfig eth0 ip --    臨時設定網絡卡ip
    service network restart -- 網絡卡重啟
    telnet ip 埠號 -- 檢視服務埠是否開啟
    
3.  ubuntu中沒有預設為superman,如果想獲得管理員許可權,需要用sudo su ->根據提示輸入密碼
4.  安裝原始碼包:.tar.gz
    1.解壓:sudo tar zxvf 壓縮包名 --也可以是tar zvxf,看到解壓過程
    2.也可以解壓縮包到home:->cd /home->cd 資料夾名字/->./vmware-install.pl,然後下一步下一步
    3. 檢視結果 lsmod | grep vmblock
5.  設定共享資料夾:
    共享資料夾被建立在/mnt/hgfs目錄下,新增工具:sudo apt-get install open-vm-dkms,然後:sudo mount -t vmhgfs .host/ /mnt/hgfs,
    這時/mnt/hgfs裡就有share檔案夾了
6.  ls -- 列出當前目錄下的所有資料夾和檔案 
    ls -l --長格式顯示    -> long
    ls -a --顯示所有檔案(包含隱藏檔案)  ->all
    ls -al --長格式顯示(包含隱藏檔案)    ->all long
    ls -hl --檔案大小顯示為常見大小單位    B    KB    MB  ->human-readable 
    ls -ahl -- 
    ls -d --檢視目錄屬性 -- 貌似沒作用
    附加:
    ll -- 同ls -l
    ls -lR 目錄 --遞迴檢視目錄
    ls -l 檔名 -- 檢視檔案屬性
7.  cd  ~    進入當前使用者的家目錄        /root        /home/aa/
    cd    (回車)-- 到家目錄    
    cd  -        進入上次目錄
    cd  ..        進入上一級目錄
    cd  .        進入當前目錄
    pwd --顯示當前所在目錄--得到絕對路徑
    
    mkdir 目錄名 --建立目錄
    mkdir -p 11/22/33/44/ 遞迴建立目錄
    mkdir ariel briel criel --同時建立多個目錄,中間用空格隔開,同時建立多個檔案也是如此
    mkdir dirctory{1..8} -- 集合操作
    
    touch 檔名 --建立檔案,再次touch是修改時間
    touch file{1..10} --{}集合操作符 // 建立file1-file10十個檔案
    
    vi file1(檔名) --修改檔案 
    
    rmdir 目錄名 --刪除空目錄
    rm 檔名 --刪除檔案 --提醒是否刪除空(一般)檔案...選擇y or n
    
    rm -rf 目錄名 --刪除目錄和檔案
    rm -r 目錄名 --遞迴刪除目錄
    rm -f 目錄名 --強制刪除
    
    tree 目錄名 --顯示指定目錄下所有內容的目錄樹
        -a -- 顯示檔案加目錄樹
8.     linux常見目錄
    普通使用者的Desktop     -- /home/ariel/Desktop
    root使用者的桌面在      -- /root/Desktop
    /            根目錄
    /bin        命令儲存目錄(普通使用者就可以讀取的命令)
    /boot        啟動目錄,啟動相關檔案
    /dev        裝置檔案儲存目錄 -- device裝置,裝置
    /etc        配置檔案儲存目錄 -- 
    /home        普通使用者的家目錄
    /lib        系統庫儲存目錄 -- library 圖書館
    /mnt        系統掛載目錄
    /media        掛載目錄
    /root        超級使用者的家目錄
    /tmp        臨時目錄 --temporary 臨時的,暫時的
    /sbin        命令儲存目錄(超級使用者才能使用的目錄)
    /proc        直接寫入記憶體的
    /sys        
    /usr        系統軟體資源目錄
        /usr/bin/        系統命令(普通使用者)
        /usr/sbin/        系統命令(超級使用者)
    /var        系統相關文件內容
        /var/log/        系統日誌位置
        /var/spool/mail/        系統預設郵箱位置

9. 如果配置靜態ip,則新增如下內容:

     auto eth0

     iface eth0 inet static

     address 192.168.33.201

     netmask 255.255.255.0

     gateway 192.168.33.1  (在新開啟的檔案中直接加入這些內容 然後儲存退出即可)

     要是配置生效,需要重啟網絡卡:

     ifconfig eth0 down

     ifconfig eth0 up
     
     若還有沒有配置成功,則需重啟下網路服務
             /etc/init.d/network restart
            service network restart
10. ctrl+c 強制中斷
11. clear 清空當前螢幕,->ctrl+l
12. centos中設定ip:
    setup->網路配置 -- tab鍵切換出來
13. touch 檔名 --建立檔案,或者修改檔案時間
    rm -rf ——刪除檔案
14. cat 檔名 --檢視檔案內容
    -n --列出行號
15. more 檔名 ——分屏顯示內容 空格——向下翻頁 b——向上翻頁   q——退出
16. head 檔名 ——顯示檔案頭
    -n (1.2.3)行數  指定顯示檔案頭幾行
17. tail 檔名 ——顯示檔案尾部
    -n  同上
18. ln -s —快捷方式   
    -- 軟連線
    ln -s 原始檔 目標檔案  檔名都必須寫絕對路徑 [link]
    -- 硬連線
    ln 原始檔 目標檔案  檔案都必須寫絕對路徑 [link]
19. root使用者的桌面在/root/Desktop

20. cp -a 原始檔 目標位置  -- -pdr 複製目錄加檔案連帶檔案屬性
     -r ——複製目錄連帶子目錄  
     -p -連帶檔案屬性複製   
     -d 若原始檔是連結檔案,則複製連結屬性

21. mv 原始檔 目標位置 --移動檔案或目錄
    mv 原始檔名 新檔名 --修改檔名或者目錄
    
22. man 命令名 -- 幫助命令 --進入man以後,輸入q退出
    命令 --help 檢視命令的常用選擇 --兩個-
23. whereis 命令名 -- 查詢命令的位置
    which 命令 -- 查詢命令的命令,能看到相關別名,但不能檢視檔案
    locate 檔名 -- 在儲存檔名的資料庫中按檔名查詢
    updatedb -- 強制更新資料庫
24. z --搜尋命令
    find 查詢位置 -name 檔名    -- 如果沒有指定目錄,則表示在當前目錄下查詢
        -user 使用者名稱
        -group 組名
        -nouser 找沒有屬主的檔案
        -size 按照檔案大小 +50k:大於50K  ,  -50k:小於50k, 50k:等於50k  --預設單位是資料塊
            大於50M小於100M-- +50M -a -size -100M   -M必須大寫  ,k必須小寫
        -type 型別 按照檔案型別查詢f:普通   d:目錄   |:連結
    --- 如果要加萬用字元,要在萬用字元外加引號   -name "^aabb*"
        eg: find /root -perm 644  按照許可權查詢
        -iname 按照檔名查詢,不區分大小寫
        -mtime 修改時間
        -inum  --inode - i節點
    -- 查詢檔案並刪除
        find /var/log/ -mtime +10 -exec rm -rf {} \;
    -- 查詢檔案並同時列出詳細資訊
        find /home -name test.php -exec ls -l {} \; -- 必須有;
25. grep “字串” 檔名  查詢符合條件的字序列,檔名可給絕對路徑
    -i “root” /etc/passwd
    -v 反向選擇 -- eg:grep -v "^#" file.txt // 返回檔案中沒有以"#"開頭的行
    -i 忽略大小寫
        grep “key” 檔名
        grep “a*” 檔名 匹配整個文件,包括空白行
        
26. 管道符:
    命令1 | 命令2   命令1的執行結果作為命令2的執行條件
    netstate -an | grep ESTABLISHED | wc -l  統計正在連線的網路連線數量
    more 檔名 | grep "字串"  -- 提取含有“字串”的行
27. netstat 檢視網路狀態的命令
    -t  檢視tcp埠
    -u  檢視udp埠
    -l  監聽
    -n  以ip和埠號顯示,不用域名和服務名顯示
28. 壓縮和解壓縮
    .gz   .bz2   .zip -- linux 可以識別的最常見的壓縮格式
    .tar.gz    .tar.bz2 -- 常見的壓縮和打包命令
    -- 解壓 .tar 檔案 ------tar xvf 檔名
    
    壓縮同時打包
        tar -zcvf 壓縮檔名  原始檔
            -z --識別.gz格式
            -c 壓縮 -- compress
            -v 顯示壓縮過程
            -f 指定壓縮之後的檔名
    --eg:tar -zcvf aa.tar.gz aa
    解壓縮同時解打包
        tar  -zxvf  壓縮檔名    
             -x  解壓縮
    --eg:tar -zxvf aa.tar.gz
--------------------------------------------------
    壓縮同時打包
        tar -jcvf 壓縮檔名 原始檔
            -j --識別為.bz2格式
    解打包同時解壓縮
        tar -jxvf 壓縮檔名
-------------------------------------------------    
    壓縮.zip
        zip 壓縮包名 檔名
    解壓縮.zip
        unzip 壓縮包名
--------------------------------------------------
    .tar 打包
    tar -cvf 打包檔名 原始檔
    -c 打包
    -v 顯示打包過程
    -f 指定產生後的檔名
    tar 解包
    tar -xvf 打包檔名
    -x 解打包
    -v 顯示解打包過程
    -f 指定產生後的檔名
--------------------------------------------------    
    檢視不解包
        tar -ztvf 壓縮檔名
        tar -jtvf 壓縮檔名
            -t 只檢視不解壓
    
    指定解壓縮位置 解壓時追加目錄路徑
    tar -zxvf 壓縮檔名 -C/tmp
30. 關閉和重啟命令

    sync 資料同步 
    shutdown -h now  沒有特殊情況使用此命令
    shutdown -r now  重啟
    
    reboot --重啟 

31. 掛載命令
    linux 中所有儲存裝置都必須掛載使用,包括硬碟

    光碟掛載 --光碟不能自動掛載

        /dev/sda1    第一個scsi硬碟的第一分割槽
        /dev/cdrom    光碟 --快捷方式
        /dev/hdc    光碟 --原始檔
    1. mount -- 檢視所有掛載的裝置
        mount -t 檔案系統 裝置描述檔案 掛載點(已經存在空目錄,保證光碟在光碟機中)
        mount 【-t iso9660】/dev/cdrom-裝置檔案 /mnt/cdrom--掛載點
        
    2. 光碟解除安裝
        umount  /dev/cdrom
    或者umount  /mnt/cdrom --強調:退出掛載目錄(cdrom),才能解除安裝

    3,掛載U 盤
    fdisk -l //檢視所有分割槽,確定U 盤的裝置檔名
    mount -t vfat /dev/sdb1 /mnt/usb
    -t vfat-->fat32
    fat--->fat16
    //linux 預設情況下不識別ntfs 格式,如果要使用,必須重新編譯內    
32.  網路命令:
    1.    ping 測試網路連通性
            ping -c 次數 -s 包大小 ip   探網路暢通 (-c 需要加上哦)
    eg : ping -c 10 -s 1000 192.168.140.168
    2.    ifconfig 查詢本機網路資訊
        

33. 許可權管理

    1  許可權位
    -rw-r--r--   1   root root     0 08-11 01:45 aa

        許可權位是十位
        第一位:    代表檔案型別

            -    普通檔案
            d    目錄檔案 -- dir
            l    連結檔案 -- link

            九位    所有者許可權u(ser    屬組許可權g(roup     其他人許可權o(ther
                r    讀        4
                w    寫        2
                x    執行        1
        7->讀寫執行   6->讀寫   5->讀,執行 
        4->只讀       3->寫執行 2->寫 1->執行
        
    2    修改許可權
            chmod  ----change mode
            chmod  u+x  aa    --u-user    aa檔案的屬主加上執行許可權
            chmod  u-x  aa -- 移除aa檔案屬主的執行許可權
            chmod  g+w,o+w  aa  --g-group  對aa檔案的組加上寫許可權,其他人也加上寫許可權
            chmod  u=rwx  aa -- 對aa檔案的屬主加上全部許可權
            
            -R  --遞迴修改

            chmod  755  aa        
            chmod  644  aa

        3    許可權意義:
            1)許可權對檔案的含義
                r:讀取檔案內容
                w:編輯、新增、修改檔案內容
                   但是不包含刪除檔案
                x:可執行
            /tmp/11/22/abc   ---------    
                
            2)許可權對目錄的含義
                r:可以查詢目錄下檔名
                w:具有修改目錄結構的許可權。如新建檔案和目錄,刪除此目錄下檔案和目錄,
                重新命名此目錄下檔案和目錄,剪下
                x:可以進入目錄
                chmod -R 777 /dir -- 對/dir目錄及其目錄下的所有檔案為所有使用者加上全部許可權
        4    屬主和屬組命令
            chown    ------change owner 
            
            chown  使用者名稱  檔名        改變檔案屬主
            chown  user1  aa        user1必須存在

            --chown :user1  aa    改變屬主同時改變屬組
            // chgrp  改變屬組  --change group
            chgrp 組名 檔名 --改變檔案的屬組
            useradd  使用者名稱         新增使用者
            passwd  使用者名稱            設定使用者密碼
--------------------------------------------------------------------------------
34. vi編輯器 --zhcon中文外掛
    vim --- 全螢幕純文字編輯器
    別名  alias 命令=‘命令別名’
          alias vi='vim'
    1.linux 使用者環境變數配置檔案 
       #vi /root/.bashrc  --修改環境變數配置檔案
          要想生效必須重新登入   logout->
    2. vi 的三種模式:
        命令模式
        -- 1.游標移動
            :n -- 移動到第幾行
            gg -- 移動到檔案頭
            G  -- 移動到檔案尾
            ^  -- 移動到行首
            $  -- 移動到行尾
        -- 2.刪除字母
            x  -- 刪除單個字母
            nx -- 刪除n個字母
        -- 3.刪除整行 相當於剪下
            dd  -- 刪除單行
            ndd -- 刪除多行
            dG  -- 從游標所在行刪除到檔案尾
        -- 4.複製
            yy  -- 複製單行
            nyy -- 多行復制
        -- 5.貼上
            p         -- 貼上
            P(大寫) -- 貼上到游標前
        -- 6.撤銷
            u      -- 撤銷
            ctrl+r -- 反撤銷
        -- 7.顯示行號
            :set nu   -- 顯示
            :set nonu -- 不顯示:
        -- 8.顏色開關
            :syntax off --關
            :syntax on  --開
-- vi配置檔案 
    ~/.vimrc 手工建立的,vi配置檔案
        -- 9.查詢
            /查詢內容
            n -- 下一個
            N -- 上一個
        -- 10.替換
            :1,10s/old/new/g -- 替換1到10行的所有old為new
            :%s/old/new/g -- 替換整個檔案的old為new
        -- 11.註釋    
            :1,5s/^/#/g -- 註釋1-5行
            :1,5/^#//g -- 取消註釋
            
            :1,5/^\/\//g -- 檔案頭加入//
            
        輸入模式
            a --追加,游標之後
            i --插入,在游標之前
            o -- 在下行插入
            O -- 在上行插入
        末行模式
            :
            :q --不儲存直接退出 
            :q! --強制不儲存退出
            :wq /:x-- 儲存退出
            :wq! -- 強制儲存退出,只有管理員能用

35. 安裝軟體:
    1. 原始碼包
        優點:開源,自由定製
        缺點:編譯時間長,一旦報錯很難解決
    2. 指令碼安裝包
    3. 二進位制rpm包
    
36. 二進位制rpm包 --在掛載光碟中,首先掛載 mount -t iso9660 /dev/cdrom /mnt/cdrom
        優點:安裝速度快,簡易
        缺點:自定義性差,庫檔案依賴性--www.rpmfind.net找其目錄
        
        包全名: 包名-版本號-釋出次數-適合的linux平臺-硬體平臺.rpm
                如果我們操作的是未安裝包,那麼必須使用全包名,而且要使用絕對路徑
                如果我們操作的物件是已經安裝的包,那麼必須使用包名,但是任何路徑都可以執行
        --安裝:
        rpm -ivh 包全名 --install -- 安裝rpm包 庫檔案依賴 www.rpmfind.net
        rpm -Uvh 包全名 --update --升級,也可以直接安裝
        --解除安裝:
        rpm -e 包名 -- 解除安裝rpm包,先解除安裝依賴包、、、、、
        rpm -e --nodeps 包名 -- 強制解除安裝,只允許試驗使用
        --檢查:
        rpm -q 包名 -- 檢查包是否安裝
        rpm -qa | grep 包名 -- 檢查所有安裝包,提取符合條件的包
        
        rpm -qi 包名 -- 查詢包的資訊 -i--information
        rpm -qip 包全名 -- 查詢未安裝包的資訊
        
        rpm -ql 包名-- 查詢包中檔案的安裝位置   -l--list
        rpm -qlp 包全名 -- 查詢沒有安裝的包,打算安裝的位置
        
        rpm -qf 系統檔名 -- 查詢系統檔案屬於哪個包 -f -- file
        
-- 啟動httpd服務
    1. service httpd restart|start|stop|status -- 不是標準命令
    2. /etc/rc.d/init.d/httpd start|restart|stop|status-- 絕對路徑啟動,標準啟動模式


37. yum 包    -- 跟的只有包名    
        yum 包 --自動補全庫檔案,聯網安裝 -- 不允許解除安裝
        yum -y install 包名 -- 安裝
    --    yum -y remove 包名 -- 解除安裝,一般不允許
        yum -y update 包名 -- 更y新升級
        yum list  --查詢所有可以安裝的包
        
        光碟作為yum源:
            1.cd /etc/yum.repos.d/
            (mv CentOS-Base.repo CentOS-BS.repo.bak--修改檔名)
            
            2. mount /dev/hdc /mnt/cdrom
            
    -- 如果沒有網路,先使修改--(mv) CentOS-Base.repo檔名為CentOS-Base.repo.bak使其使用失效,
    -- 從而使系統使用CentOS-Media.repo檔案
            3. vi /etc/yun.repos.d/CentOS-Media.repo
                baseurl=file:///mnt/cdrom    --指定yum源位置
                enabled=1     --原始檔生效
                gpgcheck=0    --rpm驗證不生效

            pkill -9 yum-updatesd        如果yum報錯正在升級,執行此命令,強制殺死升級程序

            yum  -y  install  gcc         (gcc是c語言編譯器,不裝gcc,原始碼包不能安裝)

38. 原始碼包安裝
    1. 遠端傳輸工具winscp傳輸apache到linux
        httpd
    2. 安裝
        1.解壓
        2.cd 解壓目錄--tar zxvf 檔名
        3.檢視安裝文件 -- INSTALL  README -- 裡面有每一個原始碼包的配置檔案
        4.編譯前準備
        ./configure --prefix=/usr/local/apache2(名)--安裝路徑
            功能:
                1.檢測系統環境,生成makefile
                2.定義軟體選項
        -- 若安裝中報錯,使用make clean退出安裝        
        5.編譯
            make
        6.編譯安裝
            make install
    3. 啟動
        /usr/local/apache2/bin/apachectl start   --原始碼包apaceh的啟動方式
    4. 刪除
        直接刪除安裝目錄
        
39. date        檢視系統時間
    date  -s  20130220        設定日期
    date  -s  09:30:00        設定時間

    du  -sh  目錄名        統計目錄大小
        -s    和
        -h    習慣單位
40. 普通使用者轉換到root使用者
    su - root -- - 連帶環境變數一起切換
    sudo su 
-------------------------------------------------------------------------------    
41.使用者操作  
    使用者資訊檔案: vi /etc/passwd
    -- 七列:
        briel :   x   : 501:501 :  briel  :/home/briel:/bin/bash
          |       |      |   |       |          |            |       
        使用者名稱:密碼位:UID:GID:使用者說明:使用者家目錄:使用者登入之後的許可權
    UID -- 使用者ID, >500為普通使用者
    GID -- 初始值ID
    影子檔案:/etc/shadow
    
    組資訊檔案:/etc/group
        briel:   x   : 501 :
          |      |      |h        |
        組名 :密碼位:組ID:組中附加使用者
    
    1. -- 新增使用者
        useradd 【選項】 使用者名稱
        選項:
            -g -- 指定初始組,一般不手工指定
            *-G -- 指定附加組,把使用者加入組,一般使用附加組
            -c -- 新增說明
            -d -- 手工指定家目錄,不需要事先建立
            -s -- /bin/bash 手工指定使用者登入之後的許可權
    -- eg useradd -G ariel(附加組) briel(使用者) --新增使用者briel,同時指定附加組為ariel(初始組為briel)
    初始組:每個使用者初始組只能有一個,一般都是和使用者名稱相同的組作為初始組
    附加組:每個使用者可以屬於多個附加組。要把使用者加入組,都是加入附加組

    2. -- 新增密碼
        passwd 使用者名稱
        
        普通使用者修改自己的密碼:
            passwd -> 當前密碼->新密碼->新密碼
    3. -- 刪除使用者
        userdel -r 使用者名稱  --連帶家目錄一起刪除
    4. -- 新增組
        groupadd 組名
    5. -- 刪除組
        groupdel 組名 注意:組中沒有初始使用者才能刪除
    6. -- 把已經存在的使用者加入組
        gpasswd -a 使用者名稱 組名 -- 把使用者加入組  -add
        gpasswd -d 使用者名稱 組名 -- 把使用者從組中刪除  -delete

42. 使用者相關命令
    1.id 使用者名稱 -- 顯示使用者的UID,初始值,附加組
        id ariel -- uid=500(ariel) gid=500(ariel) groups=500(ariel)
    *2. su - 使用者名稱  -- 連帶環境變數一起切換
43. ACL許可權:
    1. getfacl 檔名 -- 查詢檔案的acl許可權
    2. setfacl 選項 u:使用者名稱:許可權 檔名 -- 設定acl許可權
        -m -- 設定許可權
        -b -- 刪除許可權
    --eg:     
    setfacl  -m  u:使用者名稱:許可權 檔名/目錄
    setfacl  -m  g:組名:許可權 檔名/目錄
    -- 給特定使用者設定acl許可權
    setfacl -m u:ariel:rwx 檔名/目錄    
    *setfacl -m u:ariel:rwx -R 目錄     -- 遞迴賦予acl許可權,只能賦予目錄
    -- 刪除許可權
    setfacl -b 檔名/目錄 -- 刪除acl許可權
    --注意: 更該或刪除某個使用者對某個檔案的acl許可權時,只需要給這個使用者重新賦予acl許可權 空是---
    
    -- acl 預設許可權    注意:預設許可權只能賦予目錄
    // setfacl -m d:u:使用者名稱:rwx -R 目錄名  --d--default -- 對未來要新建的檔案生效
    --注意:如果給目錄賦予acl許可權,兩條命令都要輸入
    /********************************************************
        -R 遞迴
        -m  u:使用者名稱:-R 許可權        只對已經存在的檔案生效
        -m  d:u:使用者名稱:-R 許可權        只對未來要新建的檔案生效
    *********************************************************/
44. 輸出重定向
    1.輸出重定向:
        把應該輸出到螢幕的內容儲存在檔案裡
          > 覆蓋寫    >> 追加寫
    ls 【目錄】 > 檔名  -- 輸出資訊覆蓋寫到檔案中
    ls 【目錄】 >> 檔名 -- 輸出資訊追加寫到檔案中
    
    ls gdlslga 2>>檔名  -- 錯誤資訊輸出到檔案中  強調:錯誤輸出,不能有空格
               2 --錯誤資訊

    *掌握的知識:
    ls 【目錄】>> 檔名 2>&1 --錯誤和正確資訊都輸入到檔案中,可以追加寫
                2>&1 --把標準錯誤重定向到標準正確資訊中輸出
    ls 【目錄】 >> 檔名1 2>>/home/test/檔名2   -- 正確資訊輸出到檔案1中,錯誤資訊輸出到檔案2中            

45. 服務和程序管理
    一. 程序檢視
        1. ps aux --檢視當前系統所有執行的程序
            -a     顯示前臺所有程序
            -u    顯示使用者名稱
            -x    顯示後臺程序
            -------------------------
            user:使用者名稱
            pid:-- 程序id。PID        1  init  系統啟動的第一個程序
            %CPU -- cpu佔用百分比
            %MEM -- 記憶體佔用百分比
            VSZ    -- 虛擬記憶體佔用量        KB
            RSS    -- 固定記憶體佔有量
            tty    -- 登入終端    tty1-7    本地終端    1-6 字元  7圖形    pts/0-5  alt+F1-F7
            stat -- 狀態  S:睡眠 D:不可喚醒    R:執行      T:停止  Z:僵死  W:進入記憶體交換    X:死掉的程序     <:高優先順序    N:低優先順序    L:被鎖進記憶體        s:含子程序    +:位於後臺    l:多執行緒
            start -- 程序觸發時間
            time -- 佔用cpu時間
            command    -- 程序本身

        2. pstree -- 檢視程序樹
        3. top -- 
                第一行:系統當前時間 系統持續時間 登入使用者    1,5,15分鐘之前的平均負載
                第二行:程序總數
                第三行:CPU佔用率    %id     空閒百分比
                第四行:記憶體使用:    總共    使用    空閒    快取
                第五航:swap使用

                操作命令:    M    記憶體排序
                            P    CPU排序
                            q    退出
        4. 程序管理  --終止程序
            kill --訊號 PID   -- 結束單個程序
                -9 --強制
            killall -9 程序名 -- 結束一類程序
            pkill -9 程序名
            
            pkill -9 -t 終端號 -- 把某個終端登入的使用者踢出
            pkill -9 -t tty1 --把本地登入終端1登入使用者踢出
            
    二.linux 服務管理
        1.分類
            系統預設安裝的服務 --rpm包
            --1. 獨立的服務
            --2. 基於xinetd的服務,xinetd是系統超級守護程序
            
            原始碼包安裝的服務
            
        2. 系統預設安裝的服務;
            *chkconfig --list   --檢視服務的自啟動狀態
            執行級別:0-6
                0   關機
                1    單使用者模式
                2    不完全多使用者,不包含NFS服務
                3    完全多使用者    字元介面
                4    未分配
                5    圖形介面
                6    重啟

                init 0    關機    
                init 3  字元介面
                init 5  startx 圖形介面
                init 6    重啟
        3. 獨立的伺服器管理
            ①啟動:
            /etc/rc.d/init.d/服務名   start|stop|restart|status
            --eg /etc/rc.d/init.d/httpd  start

            service   服務名   start|stop|restart|status
            ②自啟動
            *chkconfig --level 2345 服務名    on|off
            
            *推薦:vi  /etc/rc.local---->/etc/rc.d/rc.local
                  /etc/rc.d/init.d/httpd  start
            ②圖框:ntsysv  --所有系統預設安裝服務都可以使用ntsysv命令進行自啟動管理
            -- 空格鍵新增*    tab鍵切換
        4. *原始碼包安裝的服務
            1. 絕對路徑啟動:
                /usr/local/apache2/bin/apachectl start
                
            2. 自啟動
                vi /etc/rc.local
                /usr/local/apache2/bin/apachectl start
            
            -- apache配置檔案
                - vi /etc/httpd/conf/httpd.conf   --ServerName localhost

    三、計劃任務
        
        echo 11 >> /root/aa  --在aa檔案中追加11,一會定時任務驗證用
        
        *迴圈定時任務
         crontab -e  編輯定時任務
            *  *  *  *  * 命令
            10  *  31  *  *  命令  // 每月的31號每小時的第10分鐘執行
            10  *  *  *  *  命令   // 每小時的第十分鐘執行
            5  4  *  5-10  *  命令 // 每月的5-10號的凌晨4點零分執行
            */10  *  *  *  *  命令 // 每十分鐘執行一次
            5 4  1,15  *  *  命令    // 每月的1號和15號的凌晨4點零5分執行
            -- 日期和星期不要同時指定,會超出預期
            5 4 10 * 5 命令
            
            crontab -e 0 0 * * *  /sbin/reboot   --- 每天的0點鐘重啟
            
            第一個*:一小時中第幾分鐘        0-59
            第二個:一天中第幾個小時        0-23
            第三個:一個月中第幾天            1-31
            第四個:一年第幾個月            1-12
            第五個:一週中星期幾            0-6        
        注意:
            crontab -l --檢視系統定時任務
            crontab -r -- 刪除定時任務

    注意事項:
        選項都不能為空,必須填入,不知道的值使用萬用字元*表示任何時間 
        每個時間欄位都可以指定多個值,不連續的值用,間隔,連續的值用-間隔
        間隔固定時間執行書寫為*/n格式 
        命令應該給出絕對路徑 
        星期幾何第幾天不能同時出現
        最小時間範圍是分鐘,最大時間範圍是月

    四    系統執行級別
        
        *1    dmesg    -- 檢視系統啟動資訊--相當於硬體管理

            cat  /var/log/dmesg        系統啟動資訊日誌
            
            dmesg | grep eth0        檢視eth0資訊
            dmesg | grep CPU        檢視cpu資訊

        2    系統執行級別
            0    關機
            1    單使用者
            2    不完全多使用者,不含NFS
            3    完全多使用者
            4    保留
            5    圖形介面
            6    重啟

            runlevel          查詢系統執行級別

            init  執行級別        改變執行級別    init 0     init  6


            *修改系統預設執行級別
            vi  /etc/inittab            init配置檔案
            id:3:initdefault:            系統預設執行級別
補充知識:
    1. df -h -- 檢視分割槽使用情況
    2. du -h -- 統計目錄大小
    3. du -sh -- 統計檔案大小
------------------------------------------------------------------------------------------------     
46. 常見網路埠:
        20、21 -- ftp服務,檔案共享
        22 -- ssh服務  安全遠端網路管理
        23 -- telnet服務
        25 -- smtp: 簡單郵件傳輸協議  --發信
        110 -- pop3 : 郵件協議   -- 發信
        80 -- www 網頁服務
        3306 -- mysql 埠
        53 -- DNS埠
        
        /etc/services -- 檢視埠
        埠數量 --tcp 65535 udp --65535
        
        telnet ip 埠號 -- 測試埠是否可以正常連線
            ctrl +l 退出測試
47. 抓包命令:
        
     
48.vsftp搭建:
    1.安裝:
        >rpm -ivh -vsftpd……
        >yum -y install vsftpd
    2.ftp使用者:
        就是系統使用者,密碼也是系統密碼
    3.相關檔案:
        配置檔案:/etc/vsftpd/vsftpd.conf
        使用者訪問控制:/etc/vsftpd/ftpusers --寫入此檔案的使用者都不能訪問ftp伺服器
        /etc/vsftpd/chroot_list  --不存在,需要手工建立        定義是否把使用者限制在家目錄
        
    4. 配置檔案配置

        /etc/vsftpd/vsftpd.conf

        1    主機相關配置
            listen_port=21            監聽埠
            connect_from_port_20=YES        資料傳輸埠
            ftpd_banner=                歡迎資訊

        2    匿名使用者登入            在linux下識別為  ftp  使用者

            anonymous_enable=YES            允許匿名使用者登入,一般禁用
        
        3    本地使用者
            local_enable=YES            允許系統使用者登入
            write_enable=YES            允許上傳
            local_umask=022            預設上傳許可權
            local_max_rate=300            上傳限速

        4    限制使用者訪問目錄
            chroot_local_user=YES        只有此句,所有使用者限制在家目錄下

            chroot_local_user=YES        如有三句話,只有檔案chroot_list中的使用者可以訪問任何目錄,其他使用者限制在家目錄
            chroot_list_enable=YES
            chroot_list_file=/etc/vsftpd/chroot_list            
        5.重啟服務:
            service vsftpd restsrt
    ftp客戶端使用
        ftp  ip
            get  檔名        下載
            put  檔名        上傳        不能上傳和下載目錄

49.linux常用命令:
    1. w -- 查詢當前登入伺服器的所有使用者
    2. who -- 查詢登入使用者
    3. last -- 查詢登入系統相關資訊,重啟動時間
    4. lastlog -- 顯示所有使用者最後一次的登入時間
    5. write 使用者名稱 -- 給線上使用者寫資訊
        write root tty1
        內容
        //ctrl+d 儲存、傳送
    6. wall -- 對所有線上使用者說話
    7. telnet ip 埠 測試埠是否可以正常連線
        ctrl+] ----------- quit
    8. netstat -tlun 檢視本機所有監聽埠
        -t tcp -u udp -l 監聽 -n 以IP 和埠號顯示