Linux 學習筆記

      linux命令語法
 
          命令_參數_路徑文件 ("_"爲空格)
 
          rm_-f_/tmp/t.log 
 
      特殊符號
 
          .. 上級目錄
          .  當前目錄 
          \. 表明點號 (\ 讓一個有意義的字符,脫掉馬甲)
           | 管道(把前一個命令結果的輸出交給後一個程序繼續處理)
          ~ 用戶的家目錄,針對root ~就表明/root
          ;  分隔符 分割連個不一樣的命令 
         {} 生成序列包括數值和字符,相似seq, echo stu{001..100}生成stu001 到 stu100的文件         
           !+字母  調用最近以m開頭的命令
           !! 表示使用最近一次操做的命令 至關於 向上 按鍵
          '! +數字' 表示調出歷史的第幾條命令
           -  用戶上次所在的目錄
           * 表明0到無窮個數,可自動識別    file*(*=1......)
           ?  表明一個有必定意義的字符       file? file?? file???.....
             
 
     快捷鍵
 
     tab 命令或路徑補全鍵
     ctrl+c 終止當前任務命令和程序
     ctrl+d 退出當前用戶環境
     ctrl+a 光標移動到最前
     ctrl+e 光標移動到最後
     ctrl+u 剪切光標前的內容
     ctrl+k 剪切光標後的內容
     ctrl+l 清屏 clear
     ctrl+Shift+c ssh客戶端SecureCRT裏複製的命令
     ctrl+Shift+v ssh客戶端SecureCRT裏黏貼的命令
     
     操做命令
 
  1. pwd : 顯示當前工做目錄

    

  1. ls:  顯示文件和目錄列表。 ls [參數] [文件/目錄..]

    

          ls -a : 顯示全部文件可目錄,包括隱藏文件。
   
     
         
     ls -l : 使用長格式列出信息
     ls -lh: 人性化的展現文件列表 h = human
 
   
  
          ls -c :根據狀態改變時間(ctime)排序
          ls -t  :根據最後修改時間(mtime)排序
          ls -u :根據最後訪問時間(atime)排序
 
          
          ls -d: 顯示目錄屬性     
          ls -ld: 顯示長格式的屬性

         [root@sam ~]# ls -ld
         dr-xr-x---. 32 root root 4096 May 4 12:34linux

 
  1. cd: 切換目錄。cd [參數] [目錄]
          cd /tmp/dir (絕對路徑)
 
    
         
          cd ~ 返回根目錄
 
   
 
          cd .. 返回上級目錄
 
   
 
          cd ../..  返回上兩級級目錄  
 
   
         
    cd - 返回上一次查找目錄  
          
   
         
 
  1. mkdir :  建立目錄。 mkdir [參數] <目錄>
          mkdir somepath/
 
   
 
          mkdir -p some/path/dir/ 建立目錄樹 (-p遞歸建立目錄)
      
        
  1. rmdir: 刪除空目錄。 rmdir[參數]<目錄>
          rmdir somepath/
    
   
 
          rmdir -p some/path/dir/ 刪除目錄樹
 
     
 
  1. rm: 刪除文件 rmdir[參數]<文件名/目錄>
          rm -f filename 刪除文件
 
     
 
      rm -fr directionname 刪除目錄
   
  1. cp : 複製文件或目錄。cp[參數]<源文件><目錄>
          cp a.txt b.txt 複製一個文件生成另外一個文件
 
   
    
          cp some/dir/file other/dir/file2
 
   
 
          解除cp= 'cp -i' (-i 須要人工確認),進入alias,  /cp 可屏蔽'cp -i'的人工確認
 
  1.  mv : 移動文件或目錄、文件或目錄更名。mv[參數]<源文件><目錄>
           mv /some/dir/file1 /some/dir/file2
 
    
 
           mv file newname_file       
       
           
        
  1. touch: 生成新的空文件或更改現有文件的時間戳。 touch [參數] <文件>
          touch file 
 
        
 
          touch -a file (只更改訪問時間)
          touch -m file (只更改訪問時間 )
 
          
 
          touch -t 201604281133(時間戳) file
 
    
 
          
  1. ln : 建立連接文件   ln [參數]<被連接的文件><連接文件名>
          ln somefile otherfile
    
   
    
    
    
          ln -s somefile otherfile (建立符號連接,非硬連接)
 
  1. cat : 查看文件內容
          cat file1 從第一個字節開始正向查看文件內容
 
         
 
          tac file1 從最後一行開始反向查看一個文件內容
 
      
 
          cat -n /dir/path 顯示行號 查看文件內容
 
   
 
          cat >>test.txt <<EOF: 把內容寫入文件中
          
          
          
  1. echo : 打印輸出內容 echo 輸出內容
          
    
     echo 「文件內容" > file  覆蓋文件內容
 
    
    
          echo   "文件內容」>> file 追加文件內容到文件尾部
 
    
 
  1. vi / vim<文件名>: 進入記事本模式/emeditor編輯器.
    i,a 進入文本編輯,「Esc」退出文本編輯
          w = write   q = quit  != 強制
    :wq :q :q! :wq! 退出vi/vim
          :set nu顯示行號,dd刪除當前行, yy拷貝當前行, p黏貼
           G切換到文件尾部, gg切換到文件頭部, 行號gg定位改行
 
          vim  .<文件名> 建立一個隱藏文件
 
 
        
 
  1. head: 顯示文件頭部內容,默認10前行;
           
 
    -n 顯示首行到n行數的內容  -行數,
 
     
 
  1. tail : 顯示文件尾部內容,默認最後10行
          
 
    -n  顯示文件尾部到倒數第n行
    tail -3 test.txt
 
    
   
          head -30 test.txt|tail -11 顯示文件第30行到倒數11行的內容
 
    
 
    -f 跟蹤顯示文件尾部的實時變化
          
  1. more:從文件頭到文件尾分屏顯示文本
          more file
    
          more +n file 從第行開始顯示文本
 
    
 
  1. cut : 縱向切割出文本指定的部分並寫到標準輸出。cut [參數] <文件>
          cut -b-5 file 分割出每行前五個字節
 
       
 
          cut - c5- file 分割出每行最後五個字節
 
    
 
  1. find : 用於在文件喜用中查找知足條件的文件。
    查找文件 按-type 文件類型查找
 
    ! 取反 , -a(and) 而且, -o (或者)
 
     find /目錄/  
    
    
 
          find /目錄/ -type f 查找目標 文件
 
          
 
          find /目錄/ -type d 查找目標 目錄
 
          find /目錄/ -type f -exec rm -f {} \:  刪除目標文件(-exec 處理查找的結果)(rm -f 前面找到的內容進行處理)({} 查找到的內容)(\: 轉譯)
   
          
 
           find /目錄/ -type f|xargs rm -f  刪除目標文件
 
          
 
          刪除指定文件外的其餘文件 (!取反值)
 
     find /目錄/ -type f ! -name "文件名" -exec rm -f {} \:  
    
          find /目錄/ -type f ! -name "文件名"|xargs rm -f 
 
    
    
 
  1. sed :(stream editor) 過濾內容,取行,
     
    
 
   -n取消sed默認輸出, sed -n '/A/p' test.txt  打印包含'A'的行
        
          
 
   sed -n '2p' test1.txt (-n 取消默認,'2p' 打印第2行)
   sed -n '3p' test1.txt (-n 取消默認,'2p' 打印第3行)
 
   
 
    sed -n '20, 30p' test1.txt (-n 取消默認,'2p' 打印第2至5行)
 
    
 
          -i 改變文件內容
 
          sed -i 's#原內容#替換內容#g' test1.txt 替換文件內容 (-i 修改文件內容)   
 
    
     
          
          
          '/內容/d' d = 刪除, p = 打印  
 
          sed '/AA/d' test1.txt 過濾文件中‘AA’的內容
 
    
         
 
          sed 's#原內容#替換內容#g ' test.txt 替換文件內容
    
          s=(查找並替換) g=(globa全局) 
 
          #=分隔符,也能夠用其餘符號
 
    
 
          
          
         
    查找目錄內的指定文本,並替換文本內容。
    
    find/ root/data/ -type f -name "test.txt"|xargs sed -i 's#oldboy#oldgirl#g'
 
          find/ root/data/ -type f -name "test.txt" exec sed -i 's#oldboy#oldgirl#g' {} \;
          
          
 
  1. awk: 過濾內容(取列)
          awk '{print $1}' 打印第一列,分隔符爲空格
 
          awk '{print $1""$2"" $NF}' oldboy.txt ($NF 表示最後一行)
 
          
          
          awk -F ":" '{print $1"="$2"="$3}' /etc/passwd  (-F爲指定分隔符)
 
          $1第一列 $2第二列 $3第三列 $NF最後一列,$(NF-1)
 
          awk '{if (NR>31 && NR<19) printf $1 "\n"}' test.txt
 
          NR表明行號,&&(and)而且  \n回車換行 $1第一列($0 所有內容)
 
          
 
  1.  grep : 過濾器, 把想要的或者不想要的分離開
           grep "內容" 文件名: 截取指定內容
 
    
    
           grep -v "內容" 文件名:截取指定內容外的內容(-v排除)
 
         
 
           grep -i 包括大小寫
 
    
 
           grep -E 過濾多個字符串
           grep -E "字符1|字符2" /文件名/
 
    
    
           grep -o 輸出精確匹配的字符,非整行
 
    
 
           grep -B  除了顯示匹配的一行以外,而且顯示該行之 前 的num行
           grep -A  除了顯示匹配的一行以外,而且顯示該行之 後 的num行
           grep -C  除了顯示匹配的一行以外,而且顯示該行之 先後各 num行
               
           grep 30 -B 10 test.txt
           grep 20 -A 10 test.txt
           grep 25 -C 5 test.txt
 
            
          
           cat test.txt|grep -v "oldboy" test.txt 先用cat查找內容,而後grep過濾
 
       
 
  1.  alias: 查看以及定義別名          
          
          
           alias (自定義命令) = (原命令) 定義別名信息
           alias ipconfig = 'ifconfig'
 
          
 
          alias rm ='echo "rm can not be used, pls use mv"'
    
   
    
          別名生效的位置:針對root用戶:/root/.bashrc
          全部用戶生效: /etc/bashrc 或 /etc/profile定義
          生效souce /etc/profiles
 
  1.  unalias: 取消別名
           unalias (自定義命令) 刪除別名
 
           unalias ifconfig 
 
   
          
  1.  tree : 顯示目錄樹
           tree /文件目錄/ 
    tree /root/sam/
 
   
 
  1.  yum :linux裏包管理器, 幫助解決依賴問題
           yum install tree -y 如今tree包調用rpm安裝,並安裝其餘相關的包
 
        
 
           yum update更新全部軟件。
     
  1.  rpm : -ivh (安裝、顯示輸出,人類可讀展現)
           rpm -ivh /路徑/包名. rpm
 
    rpm -ivh /mnt/Packages/libjpeg-turbo-devel-1.2.1-1.el6.i686.rpm 
            -i    表示安裝
            -v   可視化
            -h    顯示安裝進度     
 
           rpm -qa tree (-q query, -a all)
    
    
 
    rpm -e 已安裝程序:卸載軟件
 
      
  1.  seq: sequence序列  -s 指定序列的分隔符 -w
           seq [首行] [尾行]
           seq [首行] [步長] [尾行]
 
    
 
  1.  xargs : 把前面的結果在後面逐個處理, 至關於 { }的功能
           find /目錄/ -type f|xargs rm -f  刪除目標文件
 
    
 
  1.  useradd : useradd [用戶名]
       查看建立用戶信息
           tail -1 /etc/passwd 用戶名
           tail -1  /etc/group  用戶組名
           tail -1 /etc/shadow 用戶密碼
 
    
 
  1.  man:  按照手冊的章節號的順序進行搜索的
           man (指令) : 幫助內容比help詳細
 
  1.  help:  查看全部Shell內置命令的幫助信息
           help (命令): 幫助內容比man簡單
 

    32.  paste : 縱向合併多個文本並寫到保準輸出。 paste [參數][<文件>]正則表達式

           paste file1 file2
           paste -s file1 file2 不使用平行的行目輸出,每行文件佔用一行
           paste -d ' '  file1 file2 (-d ' ' 分隔符)
 
          
 

  33.  sort: 以行爲單位對文件進行排序. sort[參數][<文件>]shell

     sort <文件> 
      
     
    
    sort -n <文件> 按字符串的數值進行排序
 
     
 

  34.  uniq :刪除文本文件中相鄰的重複的行並寫到標準輸出vim

            uniq [參數] [<輸入文件>[<輸出文件>]]
 
     
 
    unip -d <文件> 只顯示重複出現的行。
 
    
 
    unip -u <文件> 只顯示出現一次的行。
     
     
 

  35.  wc :統計指定文本文件的行數、字數、字符數。windows

            wc [參數][<文件>]
 
    
 
    wc -w <文件> 統計字數
 
    
 

  36.  file: 顯示文件類型安全

            file [參數]<文件>   
 
         
 

  37.  history 打印出用戶操做命令的歷史記錄bash

 
           
 

  38.  uname 查看系統信息服務器

             uname -r 內核    
             uname -m 32bit/64bit
             uname -a 查看全部信息
 
     
 

  39.  hostname 查看主機名網絡

         

  40.  passwd: 修改用戶密碼ssh

            passwd [用戶名]
 
    
 
    passwd -S [用戶名] 顯示用戶口令狀態
 
    
 
    passwd -l [用戶名] 鎖定帳戶
    
    
 
    passwd -u [用戶名] 接觸已鎖定的帳戶
 
    
 

  41.  whoami :查看當前用戶

     
 

  42.  su [用戶名] 切換用戶

    

            su - [用戶名] 切換用戶並切換環境
 
    
 
    

  43.  sudo: 讓普通用戶執行root權限的命令

            sudo [命令] 
            輸入密碼     
          
    

  44.  dmesg:顯示開機信息

     
            
       

     dmesg | grep eth0 : 查看第一張網卡的信息

 

    

         
  

  45.  uptime:顯示從開機到當前的時間

          
    
 

  46.  stat:顯示文件狀態信息或文本系統信息

            stat [參數] [<文件>]
 
     stat -f 顯示文件系統信息
 
    
 
    stat -t 使用簡潔格式輸出信息
 
    
           

  47.  du:統計問津的磁盤用量,目錄取總用量. du[參數]

 

            du -c 顯示全部項目相加後的總量
 
 
     
 
            du -h 以人類習慣的方式顯示
 
    
 
     du --max-depth=N (統計N層目錄,N爲整數)
 
    
          

  48.  df:查看磁盤剩餘狀況

            df [參數]
 
    
 
     df -h 以人類理解的方式顯示磁盤當前的使用量 
 
    
     

  49.  top:實時顯示進程任務

            top [參數]
     
    
 
    top -s 使用安全模式消除互動模式下的潛在威脅
 
    
 

  50.  free:顯示內存使用情況

            free [參數]
 
    
       
            free -s<秒速> 持續觀測內存情況,<秒>刷新
 
    
 
     free -m 以MB爲單位顯示內存使用狀況
 
    
 
 

  51. LANG 修改系統語言

    LANG = en 使用English解決亂碼問題

 

  52.  getenforce: 檢查selinux狀態

     
      53.  setenforce: 設置selinux狀態 1啓動 0警告、不啓動
     

  54.  runlevel:查看當前系統運行級別

     
  55.  init: 切換運行級別,後面接對應級別的數字
 

  56.  chkconfig: 設定開機啓動服務

    

      chkconfig | grep network

    

  

  57.  diff: 比較,接兩個文件
 
    
 

  58.  vimdiff: 高級比較,高亮顯示兩個文件內容區別

 

    

 
  59.  chown: 改變文件的用戶權限
 
            chown [用戶/屬主].[用戶組/屬組] <文件名>
 
       
            
    
 

  60.  chmod: 修改文件權限

     chmod [權限] <文件名> 

     

  61.  rev: 把每行的內容翻轉

 

  62. which: 在環境變量PATH設置的目錄下查找指定文件的位置  which[參數]<文件>

    which [命令]

    

 

    which -a [命令] -a :將全部由 PATH 目錄中能夠找到的命令均列出,而不止第一個被找到的命令名稱

    

 

  63.  whereis 在特定目錄中查找符合條件的文件

     whereis[參數]<文件>

    -b :只找 binary 格式的文件

    -m :只找在說明檔 manual 路徑下的文件

    -s :只找 source 來源文件  

     -u :搜尋不在上述三個項目當中的其餘特殊文件

 

    

 

  64.  locale 顯示本地支持的語言系統信息

     locale [參數]

     

    -a: 顯示本地支持的語言系統

   65.  locate 查找系統中全部與 被查找內容 相關的檔名

          -i :忽略大小寫的差別;

    -r :後面可接正規表示法的顯示方式

    

 

  66. 

 

 

    

 

    

 

    

  

    

 

SSH Secure Shell Protocol
 
   SSH 是專門問遠程登陸回話和其餘網絡服務提供的安全協議
 
   openssh提供SSH服務的程序
 
   openssl視爲SSH提供連接加密的程序
 
     
 
    ps -ef|grep ssh 啓動ssh服務
          
    SSH服務器 192.168.36.129:22
    SSH客戶端  Windows平臺 SecureCRT, Xshell, Putty
                
     ss- lntup|grep ssh
     netstat -lntup|grep 22 啓動SSH服務
 
     
 
     ps -ef 查看進程的命令
     netstat -lntup 查看端口的命令
     ifconfig  查看配置IP地址 
     ip add 查看配置 IP地址
 
     SSH服務連通性檢查:
 
  1.  物理鏈路
               ping server_ip  (ICMP協議,默認64字節包)
               windows cmd: ping 192.168.11.11 (ip地址)
 
  1.   檢查服務器   telnet 192.168.11.11 22 檢查服務端是否正常
     
               
               
               不能連通服務器:
 
               檢查物理鏈路 
               關閉服務器防火牆             
               /etc/init.d/iptables stop 
               檢查服務器和客戶端是否在同一網段
               
 
     互傳文件
 
     WINDOWS 《====》 LINUX
     ftp/winscp/http/rz-sz
 
     yum install lrzsz-y 安裝文件
     yum install telnet lrzsz nmap dos2unix -y
     rz -y 選擇上傳文件
     sz -y 選擇如今文件    
     -y 覆蓋同名文件
     
     正則表達式
     
     . 單個任意字符 * 重複前面任意0個或多個字符
     .* 匹配任意字符
     sed -i 's#(能夠用正則匹配)#、3#g' oldboy.txt  '( )' 能夠用正則匹配
     sed - r 's#(.*)fff#\1#g' oldboy.txt
     
     
  
相關文章
相關標籤/搜索