Linux常用命令總結

2022-09-22 06:04:10

埠防火牆相關

開放指定埠:

firewall-cmd --zone=public --add-port=5601/tcp --permanent

開啟/重啟防火牆:

systemctl start firewalld
firewall-cmd --reload

檢視埠號:

netstat -ntlp   #檢視當前所有tcp埠·

netstat -ntulp |grep 1935   #檢視所有1935埠使用情況·

1、基本屬性:

檢視檔案屬性

1、$ll 或者 ls -l $

2、例如在以下圖片中:

  • # 代表是root使用者 **$ **表示其他使用者

  • 檔案的第一個屬性用$d$表示,$d$ 代表該檔案是一個目錄檔案

    • 當為[d]則是目錄
    • 當為[-]則是檔案
    • 當為[l]則表示為連結檔案
      • 連結:軟連結和硬連結 命令 $ln -s 原始檔名 連結檔名$(不加-s為硬連結)
  • 接下來的字元中,以三個為一組,且均為[rwx]的引數組合(read可讀、write可寫、execute可存取)

    • 這三個許可權的位置不會改變,如果沒有許可權,就會出現減號[-]代替
    • 從左至右用0-9這些數位來表示

修改檔案屬性

  • chgrp:更改檔案屬主
    • chgrp【-R】屬組名 檔名
      • 【-R】 遞迴更改檔案屬組,就是該目錄所有檔案都會更改
    • chown:更改檔案屬主,也可以同時更改檔案屬組
      • chown【-R】 屬主名 檔名
      • chown【-R】 屬主名:屬組名 檔名
    • chmod【-R】:更改檔案9個屬性
      • chmod【-R】xyz 檔案或目錄
  • Linux檔案屬性有兩種設定方法,一種是數位,一種是符號
  • Linux檔案的基本許可權就有九個,分別是owner/group/others三種身份各自有自己的read/write/execute許可權

小結

  • 每種身份(owner/group/others)各自的三個許可權(r/w/x)分數是需要累加的:各自分數為:r:4 w:2 x:1
    • 例如當許可權為:[-rwxrw-r--]分數為(二進位制相加):764
      • owner = rwx = 4+2+1 = 7
      • group = rw- = 4+2+0 = 6
      • others = r-- = 4+0+0 = 4

2、文字操作

文字的複製與貼上

  • 命令模式下的文字複製(複製+貼上)
    • yw:將遊標所在位置到字尾的字元複製到緩衝區。
    • nyw:將從遊標所在位置開始的n個字複製到緩衝區。
    • yy:將遊標所在的行復制到緩衝區。
    • nyy:將遊標所在的行開始連續n行復制到緩衝區。
    • p:將緩衝區的字元貼上到遊標所在位置。
  • 末行模式下的文字複製
  • $:行x,行y co 行z$
    • 即將文字x-y行的內容,複製到z行下。例如:
      • :1, 4 co 5
      • 當前編輯的檔案1-4行復制到5行下,即原來檔案內容新增了4行。
  • 暫存器操作
    • 自定義暫存器
      • 從當前遊標複製n行到指定暫存器a下:命令模式下:輸入["anyy]

3、shell程式設計

  • shell基礎

    • 標準輸入(stdin) 編號為0
      • 輸入重定向 wc < /etc/passwd 命令解釋:表示讀取使用者的密碼檔案的行數、字元數、位元組數
    • 標準輸出(stdout) 編號為1
      • 輸出重定向ls > ls.out :將當前目錄下所有檔名輸出到ls.out檔案
      • 輸出重定向追加>> command [引數] >> 檔名 wc < /etc/passwd >> ls.out
    • 標準錯誤(stderr) 編號為2
    • 管道 |
    • 特殊字元
      • 引號
        • 單引號 '' 表示普通字串
        • 雙引號 """ $、\、'、" "幾個特殊字元保留特殊功能外,其餘都為普通字串
        • 反引號 (``) 被反引號括起來的命令
      • 註釋符
        • # 開頭的正文行表示註釋行
    • 別名
      • alias alias-name = 'original-command' 可以簡寫命令
      • unalias alias-name 取消別名
    • 命令歷史
      • history 顯示機器的歷史命令
      • !歷史命令編號 即可執行歷史命令
  • shell指令碼

    • 執行方式
      • ./shell 指令碼檔名
      • sh shell指令碼檔名
      • . shell指令碼名
  • shell變數

    • 一個變數就是記憶體中被命名的一塊儲存空間

    • 可以包含數位、字母、下劃線,只允許是字母和數位開頭

    • 大小寫敏感、理論上長度無限制

    • 有四種變數:使用者自定義、環境、位置、特殊

      • 使用者自定義變數:var=hello var="he llo" echo $hello 定義變數時等號兩邊不能有空格,若中間有空格要用雙引號

        • 清除變數unset variable-name
      • 環境變數:大寫字母作為變數名

        • 常用:PATH、HOME、PS1
      • 位置變數(引數):在執行指令碼時用於存放shell指令碼名及引數

        • test.sh指令碼檔案內容如下:
        echo $0
        echo $1 $2 $3 $4 $5 $6 $7 $8 $9
        shift
        echo $1 $2 $3 $4 $5 $6 $7 $8 $9
        shift
        echo $1 $2 $3 $4 $5 $6 $7 $8 $9
        
        • 執行指令碼檔案sh test.sh 1 2 3 4 5 6 7 8 9
        • 執行結果如下:
        test.sh
        1 2 3 4 5 6 7 8 9
        2 3 4 5 6 7 8 9 0
        3 4 5 6 7 8 9 0 0
        
      • 特殊變數

        • $@$*:當 $@$* 不被雙引號 " " 包圍時,它們之間沒有任何區別,都是將接收到的每個引數看做一份資料,彼此之間以空格來分隔$* 會將所有的引數從整體上看做一份資料,而不是把每個引數都看做一份資料。 $@仍然將每個引數都看作一份資料,彼此之間是獨立的。
        [root@malongfei /]# set aa bb cc
        [root@malongfei /]# echo "$@"
        aa bb cc
        [root@malongfei /]# echo "$*"
        aabbcc
        
    • shell程式設計基礎

      • 指令碼輸入/輸出

        • 輸出命令:echo

        • 匯出命令:export 範例如下所示:

          [root@malongfei tmp]# cat export1.sh 
          var1="this is first variable(var)"
          export var2="the is export variable"
          sh export2.sh
          [root@malongfei tmp]# cat export2.sh 
          echo "$var1"
          echo "$var2"
          [root@malongfei tmp]# sh export1.sh
          
          the is export variable
          [root@malongfei tmp]#
          
      • shell的邏輯運算

        • 條件測試
          • test 條件表示式
          • [ 條件表示式 ] 注意:括號前後需要保留空格,否則會報錯error
        • 算術運算
          • ···

4、系統管理基礎

4.1. 系統啟動、執行、關閉

  • 系統啟動
    • GRUB
  • 系統執行級別
    • Linux提供7種執行級別(0~6)
      • 0:系統停機狀態,系統預設執行級別不能設定為0,否則不能正常啟動
      • 1:單使用者工作狀態
      • 2:多使用者狀態(沒有NFS支援)
      • 3:完全的多使用者狀態(有NFS),標準執行級別,登陸後進入命令列模式
      • 4:系統未使用,保留。
      • 5:多使用者模式,x11控制檯,登陸後進入GUI模式。
      • 6:系統正常關閉並重啟,預設執行級別不能設定為6,否則不能正常啟動
    • 執行級別組態檔
      • vim /etc/inittab
      • id:3:initdefault:
    • 執行級別切換
      • 檢視執行級別runlevel
      • init N
    • 系統關閉
      • 命令shutdown halt reboot init
      • 範例:
        • 立即關機重啟shutdown -r now
        • 立即關機shutdown -h now
        • 定時5分鐘後關機,且發警告訊息shutdown +5 "system will shutdown after 5 minutes"

4.2 使用者管理

  • 使用者型別
    • Linux系統中的使用者三種型別:可登入的使用者型別兩種
      • 超級使用者 root
      • 普通使用者
      • 特殊使用者(系統使用者):預設情況無法登入
  • 使用者管理方法
    • 通過GUI方式管理
    • 通過修改相關組態檔管理
    • 通過命令管理
  • 使用者管理相關組態檔
    • /etc/passwd檔案:存放關於賬戶相關資訊
    • /etc/shadow檔案:/etc/shadow 的影子檔案
    • /etc/group檔案:存放使用者組相關資訊
  • 使用者管理相關命令
    • useradd範例:
      • 建立使用者時指定mlf使用者主目錄為/mlf:useradd -d /mlf mlf
      • 建立使用者時,指定mlf使用者屬於student組:useradd -g student mlf
    • usermod範例:
      • 將使用者mlf組名改為userusermod -g user mlf
      • 將使用者mlf主目錄改為/home/testusermod -d /home/test mlf
      • 將使用者mlf的登入shell改為/bin/cshusermod -s /bin/csh mlf
    • usedel範例:
      • 刪除使用者及全部使用者主目錄userdel -r username
    • groupadd
    • groupmod
    • groupdel
    • groups檢視自己屬組

4.3 裝置管理

  • 裝置標識

    • 兩部分構成:主裝置號次裝置號
  • 裝置管理命令

    • 磁碟和分割區管理命令fdisk

      • fdisk -l /dev/sda2
    • 磁碟分割區格式命令mkfs

      • mkfs -t 檔案系統型別 分割區裝置
    • 檔案系統檢查和修復fsck

    • 檢視檔案系統的磁碟空間df

    • 統計目錄或檔案所佔磁碟空間的大小du

    • 顯示使用者或者工作組的磁碟配額資訊quata

    • 掛載或解除安裝裝置mount/umount

      • 設定自動掛載:在$/etc/fstab$檔案末尾新增:

        /dev/cdrom /mnt/cdrom ext3 defaults 0 0
        

4.4 程序管理

  • 程序分為兩類:系統程序和使用者程序
  • 程序啟動
    • 手工啟動
    • 排程啟動(at命令、cron命令)
  • 管理程序相關命令
    • ps命令:觀察程序狀態
    • top命令:動態實時顯示系統程序狀態
    • renice命令:調整程序優先順序
      • renice -number PID
    • sleep命令:程序休眠
      • sleep time
    • at命令:指定時刻執行指定的命令
      • 範例:指定/pwd_script 在3:15執行 at -f /pwd_script 03:15
    • &命令:後臺執行程序
    • kill命令:殺死後臺程序