Linux基本命令(三)

文件的幾種特殊權限
     ext2/3/4對單個文件提供的額外屬性
     1.lsattr     --列出文件的額外屬性
     2.chattr      --更改文件的額外屬性
          -A     --鎖定access time
          -a      --只能夠以append的模式去修改文件內容   
          -i      --鎖死文件,不能刪,不能重命名,不能寫
   
     3.access time - atime
          cat file
          less file
          more file
          head file
          vi file  
          注意:cat file一遍以後,沒做任何事情,再cat file,access time沒有效果
   
     4.modify time - mtime
          文件寫操作:
               echo string > file
               echo string >> file
               vi file   編輯,存一下
   
     5.chang time - ctime
          該文件內容,該文件權限等
               vi file 改一下
               chmod u+x file

     6.stat filename -查看文件或文件系統的狀態,如:atime,ctime,mtime
        
part 3: ACL的使用方法
     access control list(訪問控制列表)
   
     1. getfacl     --獲得文件的ACL
     2. setfacl      --設置文件的ACL
          setfacl -m|M 添加ACL
          setfacl -x|X 刪除ACL

          setfacl -m u:newuser1:rwx /tmp/file
          以命令的方式添加
          setfacl -M uglist_permission_file file
          以文件的形式添加

          setfacl -x u:newuser1 /tmp/file 刪除時不要含權限,不能只刪除設置權限

的一部分
          setfacl -X uglist     /tmp/file 設置文件中不能含權限
        
          setfacl -R -m u:newuser1:rw  /tmp/dir1
          setfacl -R -x u:newuser1:rw /tmp/dir1
          遞歸的添加和刪除的方法,-R需在前

          setfacl -d -m u:newuser1:rw /tmp/dir1
          設置默認ACL的方法

          臨時的啓用ACL:
               mount -o remount,acl /home
               mount |grep /home  (rw,acl)
        
          固定啓動的方法:
               修改/etc/fstab文件:
               /dev/xxxxxxx  /home  ext4   default,acl 1 2
   
part 4: 高級文件操作命令
     準備工作:head -10 /etc/passwd >> /tmp/file
          1.wc     --給出文件的行,多少byte,多少character, 多少words
               wc -l      行數,空行也算
               wc -c     多少個字符,abc....|123....,每行末尾的回車
               wc -w     單詞數,以空格,TAB,換行符區分單詞,空行不是一個

words
               wc -m   character字符數
               wc -L     最長的一列有多少列,不包含換行符
        
          2.sort     --排序命令
               -r     反向排序
               -n      數字排序
               -u     合併同類
               -t      制定分割符,默認的分割符tab
               -k     指定的列
             
               sort -t ':'  -k1  file   以':'爲分割符,對文件的第1列按字母排


               sort -t ':'  -k3  -n file   按數字排
               sort -t ':'  -k3  -n -r file  逆向排序
             
               sort -k4 file   文件中沒有空格,分割符等東西
               sort -t ':' -k3 -u -n file   合併同類項
        
          3.uniq  --報告並忽略重複的行
               -c     統計重複了的行,注意統計的爲鄰居是否相同
               -i     忽略大小寫
               -d     只顯示重複行

          4.cut     --將文件中的內容從section移除
               -d     --指定分割符
               -f     --僅僅選擇指定的列
               -c     --僅僅選擇指定的字符
               cat file | cut -f1
               cat file | cut -c1,3,4
               cat file | cut -d: -f2   
        
          5.paste     --合併文件
               cp file file1
               paste file file1 > file2      --按列合併
               paste -s file file1 > file2     --按行合併
        
          6.tee     --雙向重定向,將標準輸入的內容同時打印至文件和屏幕
               cat file | tee file3     --將內容同時打印至屏幕和file3
               cat file | tee -a file3     --a追加模式
               tee file3              --從鍵盤接收輸入,同時打印至file3
        
          7.ln
               硬鏈接: ln source_file   target_file
                    --不能跨分區建立硬鏈接,因是使用inode來標記文件存放位置的
               軟鏈接: ln -s source_file target_file
   
          8.cat     --輸出內容
   
          9.tac     --倒序輸出內容
   
          10.diff     --比較兩個文件的差異
               -b   忽略空格
               -i   忽略大小寫
               -B   忽略空行
             
          11.tr
               tr [a-z] [A-Z]     --小寫變大寫
               tr [A-Z] [a-z]     --大寫變小寫
               tr [a-z] [A-Z] < file 將文件中的字符進行大小寫轉換
               tr -d a < file     --將文件中的某些字母刪除
   
part 5: 查找命令
     1.which   ->$PATH
     2.whereis ->$PATH  $MANPATH

     3.locate --從數據庫中搜索包含特定關鍵詞的命令
          locate -r 'lesson*'       --搜索包含lesson的關鍵字的文件
          locate -r 'iso$'     --搜索以iso結尾的文件

     4.find dir [option]
          find /dir -type <bfcls...>     --指定文件類型進行搜索        
          find /dir -user <username>     --按用戶搜索
          find /dir -group <grpname>     --按組搜索
          find /dir -atime|ctime|mtime      --按a|c|mtime搜索
          find /dir -perm  +-777          --按權限進行搜索
          find /dir -size +1M -size -10M

          find /dir -type b -ls           --搜索出並用ls顯示
          find /dir -user newuser1 -exec cp {} /tmp \;
          find /dir -atime +1 -exec rm {} \;        數字表示的n*24小時內|外
          find /bin -size +10k -size -100k -exec cp {} ./ \; 
               將bin路徑下的10-100K大小的文件拷貝至當前路徑

part 6: 壓縮/解壓縮/打包
     1.zip/unzip     --windows/linux/unix
          zip -r demo.zip dir/     --壓縮
          unzip demo.zip          --解壓縮
          unzip demo.zip -d /tmp/newdir11     --解壓縮到某個文件夾
        
     2.gzip/gunzip     --壓縮速度快,佔用資源少,只能壓一個文件
          gzip filename  --對文件壓縮,生成filename.gz
          gzip -r dir    --遍歷dir,對其內所有文件壓縮,每個文件單獨進行壓縮
          gzip -1  filename     快速壓縮
          gzip -9  filename      高壓縮比壓縮
          gunzip filename.gz

     3.bzip2/bunzip2     --和gzip基本相同,比gzip壓縮比高
          bzip2   filename
          bunzip2 filename.bz2
   
     4.tar     --打包,壓縮,解壓縮
          xxx.tar.gz
               tar -czvf /dir/package_name.tar.gz source_dir
               tar -xzvf /dir/package_name.tar.gz -C /target_dir

               -c     創建
               -x     解壓縮包
               -z     gzip
               -j     bzip2
               -v      詳細信息
               -f     文件
        
          xxx.tar.bz2
               tar -cjvf /dir/package_name.tar.gz source_dir
               tar -xjvf /dir/package_name.tar.gz -C /target_dir

part 7: 源碼安裝
     1.下載源代碼包:mpich2-1.4.tar.gz
          去哪裏找包:www.google.com  www.sourceforge.net
     2.解壓縮:
          tar xzvf  mpich2-1.4.tar.gz
     3.配置,編譯,安裝:
          cd src_dir
          ./configure     --進行類型檢查,生成Makefile
          make          --編譯
          make install    --安裝(拷貝)
               --如果你安裝的路徑需要root權限,切換至root
     4.後期配置:
          更改系統PATH,MANPATH等環境變量

part 8: 進程管理
     1.常用的進程管理命令
          top
          ps
          pstree
          pgrep
          kill
          pkill
          killall
          nice
          renice
   
     2.top
          M     --以內存佔用率排名
          P     --以CPU佔用率排名
          q     --退出
     內容說明:
          PID     --進程的ID
          USER     --任務所有者的用戶名
          PR     --優先級
          NI     --NICE值
          VIRT     --虛擬內存使用量
          RES     --實際內存使用量
          SHR     --多個進程交互時的共享內存量
          S     --進程的狀態
               D     --不可中斷的睡眠進程
               R     --正在運行的進程
               S     --睡眠的進程
               Z     --殭屍進程,找不到爹的孤兒進程,退出不了
          %CPU     --CPU佔用率
          %MEM     --內存佔用率
          TIME+     --佔用的系統CPU時間
          COMMAND     --進程的程序名
   
     3.ps -aux | less
          USER
          PID
          %CPU
          %MEM   
          VSZ     --預分配的虛擬內存量
          RSS     --真實分配的內存量
          TTY
          STAT:
               <     --高優先級的進程
               N     --低優先級的進程        
               s     --有孩子的進程
               l     --上鎖的進程
               +     --前臺進程
          START
          TIME
          COMMAND

     4.pstree      --以樹狀結構列出所有進程

     5.pgrep    
          pgrep -l bash     --列出關鍵字bash對應的進程id
          pgrep -t pts/1  --列出終端對應的進程id
          pgrep -u root vsftpd  --查看root用戶啓動的vsftpd進程的id
   
     6.kill     --終結一個進程
          ps -aux |grep keyword    --找到你想找的進程PID
          kill PID
          kill -15 pid
          kill -9  pid
          kill -l 9     --KILL
          kill -l 15     --TERM
        
     7.killall  --根據完整的名字關閉進程
          killall -9 bash  殺死bash相關的進程
   
     8.pkill       --以關鍵字殺死進程
          pkill -9 bash
          pkill -t pts/2
          pkill -u root vsftpd
          pkill -u newuser1 command

     9.nice     --修改nice值
          進程的PR=老的PR+nice
        
          1.這個數值是用來調整進程的優先級的
          2.PR值越低,進程的優先級越高
          3.進程的優先級可通過ps -l -p PID查看
        
          nice -n -1  /bin/bash     對bash的nice值減1
          nice -n +1  /bin/bash     對bash的nice值加1
          nice --adjustment=10|-1|-10 /bin/bash    --adjustment調整的開關
          nice --adjustment=10 vi file 以某個nice值啓動vi file這個程序

     10.renice --alter priority of running processes
          renice -10 -p PID   
          renice +2  -p PID
        
          例子:
               vi file
               ps -aux |grep file
               ps -l -p PID
               renice -n -10 -p PID
               ps -l -p PID
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章