Linux基礎命令

1; find /web/phpweind/  -type d -exec chmod -R 777 { } \;         //批量修改權限 php

2; log-slave-updates                                                               //將 relay-bin-log  寫到到 bin-log,雙主應用 mysql

3; cat >/home/test <<EOF    hello  EOF   與  cat >>/home/test <<EOF .. git

4;  find /home/  -name a  &> /dev/null web

5; useradd -d  /itiit //指定家目錄    userdel -r //刪除家目錄相關 sql

6;經常使用熟知端口: ftp 21 ssh 22   dns 53  dhcp 67 68   pop3  110   imap 143  mysql 3306  http  80   smtp 25 apache

0-1023     熟知端口 安全

1024-65535  動態端口  bash

7;raid 0 多個磁盤,提升傳輸率     raid1  ,數據磁盤鏡像實現數據冗餘,安全性 ; raid 5,分佈式奇偶校驗獨立磁盤結構,奇偶校驗碼存在全部磁盤,經過校驗位恢復損壞磁盤(至少3塊 服務器

8; apache 工做模式: prefork (多進程,進程生子進程  ),worker(多進程,每一個進程生成多線程)   http -l  查看apache當前的模塊,有 worker.c 就是在worker,有prefork.c就在prefork下。 多線程

腳本基礎:

1;if  [ ] ;then
        command
     else
        command
      fi

     for (( var=1 ; var < 6 ; var++ ))
            do
                command
            done

     while  [條件]
     do
           command
     done

    case  "chioce" in
       "var1" )
           command
         ;;
         "var2" )
          command
         ;;
         * )
         command
      esac

  

2; $0  ,腳本名 ; $1,第一個參數  $$ ,運行的PID;  $*,全部參數 ; $#,參數個數 $? ,執行是否成功;

   $!, shel最後運行進程的pid;

   $@ 與 $* 基本上與上面相同。只不過是
 「$*」返回的是一個字符串,字符串中存在多外空格。
 「$@」返回多個字符串

3; #! /bin/bash     //腳本實現mysql操做

mysql <<ab

show databases;

quit

ab   //任意與前面一致

4; ^#    以#號開頭 #$    以#號結束;#$    以#號結束   ;[^abc]    只要出現了abc這三個字母之外的字符就都匹配

    大寫 [[:upper:]]  [A-Z]
    小寫 [[:lower:]]  [a-z]
    字母 [[:alpha:]] [a-Z]    
    字母數字 [[:alnum:]]
    空格或者製表符 [[:blank:]]
    純數字 [[:digit:]] [0-9]
    標點符號 [[:punct:]]

5; cut -d" "  -f1   ;sort -t" " -k1  ; awk -F" " '{print $1}'      //$0 全部域,整條記錄數;$1 第一個域  內置變量 NF(瀏覽記錄域的個數 ,NR (已讀的記錄數($NR最後一列

awk -F"[:)]"   --以:或)爲分隔符    awk -F"[:)]*"    --多個

awk  -F:  ‘BEGIN {處理前執行的代碼塊} {處理過程當中執行的代碼塊} END {處理文件後執行的代碼塊}'   filename

awk -F: 'BEGIN {line=0;field=0} { if (NF>5)  line=line+1; if (NF>5) field=field+NF} END {print "大於5的總行 數爲"line"\n大於5的總列數爲"field}' /etc/passwd    --正確寫法

6; sed -e '2d'    --指定刪除第二行  ;sed -ne '/^root/p'    --只打印匹配的行

   sed -e '2,4s/:/&@_@&/g' --指定替換2到4行

7 ;分區命令 fdisk (2T之內); parted(2T以上  

fdisk  /dev/sda --> 分區,格式化(mkfs.ext4 /dev/sda ),掛載 ,放fstab --> mount -a (配置生效   

parted /dev/sda  --> mklabel gpt --> mkpart 分區 -->格式化(mkfs.ext4 /dev/sda ),掛載 ,放fstab --> mount -a (配置生效

8; df -h //全部文件系統  du -sh //一個文件夾大小

9;查看在線用戶數 uptime ,查看系統版本 uname -a ,  查操做系統版本: /etc/issue

10;tar -xf   /解壓

   tar -c[z,j]f  /壓縮   eg:  tar  --exclude  /home/no -zcvf myfile.tar.gz /home/* /etc   #除/home不壓 

   tar -zcvf 打包後生成的文件名全路徑 要打包的目錄
   tar -zcvf /home/xahot.tar.gz /test

11; 端口檢查,經常使用命令: 

     netstat -anp/lnt |grep port   #查看端口的佔用狀況

     lsof -i:8080|grep "\[LISTEN\]"

    ss -l

    ss -l 顯示本地打開的全部端口
    ss -pl 顯示每一個進程具體打開的socket
    ss -t -a 顯示全部tcp socket
    ss -u -a 顯示全部的UDP Socekt
    ss -o state established '( dport = :smtp or sport = :smtp )' 顯示全部已創建的SMTP鏈接
    ss -o state established '( dport = :http or sport = :http )' 顯示全部已創建的HTTP鏈接
    ss -x src /tmp/.X11-unix/* 找出全部鏈接X服務器的進程
    ss -s 列出當前socket詳細信息:


十二、usermod -a -G group user  / gpasswd -a user group   //兩種方法添加其餘用戶

1三、date -d '-30 day' +%Y-%m-%d              //三十天之前 

1四、 modprobe drbd                                                //加載模塊

        lsmod |grep drbd                                           //查看模塊是否加載到內核中


1五、 strace                                                     //追蹤命令

       strace -p 5086 -o result.txt -t 

       strace -c  -p 5086                                //查看一個進程cpu 時間,錯誤等


1六、模塊相關命令

lsmod                          //列出已加載模塊

modprobe    ip_table     // 加載 ip_talbe 模塊         

1七、tcpdump

tcpdump tcp port 25 and host 192.168.0.184

tcpdump host 192.168.0.183 and !192.168.0.183

相關文章
相關標籤/搜索