天天看點

超實用 Linux 常用指令

  • ​​Shell 詳解​​
  • ​​Shell 簡介​​
  • ​​常用指令​​
  • ​​BASH 常用快捷方式​​
  • ​​Linux 目錄結構​​
  • ​​Linux 常用指令​​
  • ​​目錄操作命名​​
  • ​​檔案操作指令​​
  • ​​檔案内容操作指令​​
  • ​​歸檔及壓縮指令​​

Shell 詳解

Shell 簡介

  • Linux精髓在于指令行操作
  • Shell是一種特殊的程式
  • 是核心與使用者的一種接口
  • Shell指令解釋器
  • Shell一種解釋性的語言(内部指令/外部指令)
  • 内部指令:系統自帶的,随系統核心一起啟動(56)
  • 外部指令:一些額外的軟體或者程式
  • sh (Borurne Shell)
  • csh
  • ksh
  • BASH: 是rhel中預設的一種
  • shell指令規範
  • 指令字 [選項] [參數]
  • 選項
  • 作用:用于調節指令的具體功能
  • “-” 引導短格式選項(單個字元)ex: “-l”
  • “–” 引導長格式選項(多個字元) ex: “–color”
  • 多個短格式選項可以寫在一起
  • -a -l -z -x --> -alzx
  • 參數
  • 指令操作的對象
  • 有檔案、目錄等
  • ex: ls -l /home

在Liunx當中嚴格區分大小寫

在Linux當中一切皆文本

常用指令

  • su [-] username 切換目前登陸
  • 有 - : 代表切換bash
  • 無 - : 代表不切換bash
  • exit:退出
  • 檢視系統目前主機名
  • hostname
  • 修改主機名并生效
  • hostnamectl set-hostname yourhostname
  • 關機操作
  • poweroff
  • init 0
  • shutdown -h now
  • halt
  • 重新開機指令
  • reboot
  • shutdown -r now # 現在重新開機
  • shutdown -r now # 15分鐘後重新開機
  • 檢視目前系統時間
  • date
  • 檢視月曆
  • cal
  • cal 年份 # 檢視全年月曆
  • cal 月份 年份 # 檢視某年某月的月曆
  • 檢視系統目前IP位址
  • ifconfig
  • ip addr show (rhel7)
  • 測試網絡連通性
  • ping 127.0.0.1
  • ping 127.0.0.1 -c 4 # 限制ping包次數

BASH 常用快捷方式

  • 中斷目前操作
  • CTRL + c
  • 清屏
  • CTRL + l = clear
  • 換行
  • \
  • 光标跳到行首
  • CTRL + a
  • 光标跳到行尾
  • CTRL + e
  • 清空到光标所在位置的前面所有内容
  • CTRL + u
  • 清空到光标所在位置的後面所有内容
  • CTRL + k
  • 檢視曆史指令 (預設保留1000行)
  • history
  • 調用曆史指令
  • !n (ex: !22)
  • 清空曆史指令
  • history -c
  • 字型放大
  • CTRL + SHIFT + +
  • 字型縮小
  • CTRL + -

Linux 目錄結構

  • boot:存放系統引導檔案和核心檔案
  • bin:存放可執行檔案(二進制檔案)(ls,cat,mkdir)
  • sbin:root使用者執行指令
  • home:普通使用者的家目錄
  • root:root使用者的家目錄
  • dev:放置所有裝置檔案(外設 u盤、磁盤、光驅)/dev/md* /dev/sd* /dev/hd*
  • etc: 放置所有配置檔案(服務)
  • lib/lib64:動态連結庫檔案(共享庫) 類似于 .dll
  • media:媒體庫檔案
  • opt:檔案安裝目錄,安裝軟體就在opt目錄下
  • mnt:挂載點目錄 mount * *
  • var: 存放一些需要改變資料的檔案 日志,某些大檔案的溢出區
  • proc:虛拟檔案系統目錄,放的是記憶體的一個映射
  • cat /proc/cpuinfo # 檢視CPU運作狀态
  • cat /proc/meminfo # 參看記憶體運作狀态
  • cat /proc/version # 檢視系統版本
  • uname -m # 檢視CPU架構
  • uname -r # 檢視核心版本
  • usr: 最大的目錄 隻要用到的目錄或者檔案都在這兒 /usr/sbin  /usr/doclinux
  • tmp: 共享檔案夾,臨時目錄
  • lost+found:平時為空,隻有系統在非正常關機時才會有,儲存意外掉電記憶體資料
Linux中,如何獲得指令幫助
  • help (内部指令) cd,kill 56條

    - ex:help cd

  • –help (适用于大多數外部指令查找) ls

    - ls --help

  • 使用man手冊進行指令檢視(man:指令閱讀手冊)
  • “男人沒有什麼搞不定的”
  • man 指令字
  • 上下鍵滾動文本
  • Page down & Page Up 上下翻頁
  • 空格也支援翻頁,Enter鍵走一行
  • 輸入 / ,可以查找
  • info 也可進行指令幫助查找(使用與man接近)
  • pinfo 指令字 以浏覽器的形式檢視詳細的GUN資訊
  • /usr/share/doc # 所有已安裝軟體的說明檔案
  • firefox file:///usr/share/doc

Linux 常用指令

目錄操作命名

  • cd指令: 切換工作目錄
  • cd [目錄位置]
  • 絕對路徑: cd /home/ruochen
  • 相對路徑:
  • cd . 切換到目前目錄
  • cd … 傳回到上一級目錄
  • cd - 傳回上一次所在的工作路徑
  • cd …/…/ 傳回到上一級目錄的上一級目錄
  • cd ~ 傳回到使用者的家目錄
  • pwd: 檢視目前所在的工作目錄
  • ls: 列出目前目錄下的檔案或者目錄
在Liunx中,以.開頭的檔案是隐藏檔案
- 格式: ls [選項] [目錄或檔案名]
- 選項:
  - -l 以長格式顯示
  - -a 顯示所有檔案目錄資訊,包括隐藏檔案
  - -d 顯示目錄本身的屬性
  - -h 顯示詳情資訊,變換了統計機關
  - --color 以顔色區分不同類型的檔案
  - ll == ls -l      
  • mkdir: 建立一個新目錄
  • 格式: mkdir [選項-p] [路徑] 目錄名
  • -p: 遞歸建立多級目錄
  • mkdir -p b/c/e/f/g
  • rmdir: 删除一個空目錄
  • -p: 遞歸删除

檔案操作指令

  • touch,cp,mv,rm,find
  • touch: 建立一個空檔案,更新檔案時間标記
  • 格式: touch filename
在Linux中,不以字尾區分檔案
  • echo: 列印某個東西
  • 重定向寫
  • echo “hello world” > a.txt
  • cp: 複制檔案或者目錄
  • 格式: cp [選項] 源檔案/目錄 目标檔案/目錄
  • -r: 遞歸複制整個目錄樹
  • cp /root/aa/a.txt /root/bb
  • cp …/aa/a.txt .
  • rm: 删除檔案或目錄
rm -rf * 從删庫到跑路
- 格式: rm [選項] 檔案或者目錄
- -r: 遞歸删除整個目錄樹
- -f: 強制删除不給任何提示      
  • mv:移動檔案或者目錄
  • 格式: mv [選項] 源檔案/目錄 目标檔案/目錄
  • mv text/b.txt text-2/
  • 注: 若移動目标位置與原位置相同(目前下操作),則此操作相當于重命名
  • mv text text-1
  • find: 用于查找檔案或者目錄
  • 格式: find [查找範圍] [查找條件]
  • 查找條件
  • -name: 按檔案名查找
[root@localhost ~]# find / -name initial-setup-ks.cfg
 /root/initial-setup-ks.cfg
 [root@localhost ~]# find / -name initial-*
 /root/initial-setup-ks.cfg
 [root@localhost ~]# find / -name initial-*-*
 /root/initial-setup-ks.cfg
 [root@localhost ~]#       
  • -type: 按檔案類型查找
  • f: 普通檔案
  • d: 目錄
  • b: 塊裝置檔案
  • c: 字元裝置檔案
[root@localhost ~]# find / -name text -type d      
  • -user: 按檔案屬主查找(這個檔案是誰的)
[root@localhost ~]# find / -user ruochen -name initial-setup-ks.cfg -type f
 [root@localhost ~]# find / -user ruochen -type f -name ruochen.initial-setup-ks.cfg       
  • -size: 按檔案大小進行查找
[root@localhost ~]# find /var/ -size +10k -type f
 [root@localhost ~]# find /var/ -size -1k -type f
 [root@localhost ~]# find /var/ -size +10k -size -11k -type f      
  • -a: 邏輯與
  • -o: 邏輯或
[root@localhost ~]# find / -name anaconda-ks.cfg -o -name initial-setup-ks.cfg 
 /root/anaconda-ks.cfg
 /root/initial-setup-ks.cfg      
  • !: 邏輯非
[root@localhost ~]# find / ! -name temp -type f      
  • alias 别名; 為使用頻率較高的指令設定簡短的調用名稱
  • 檢視目前使用者所有别名

    alias [别名]

  • 設定别名

    alias 别名=“實際執行的指令”

grep -c 'boot' initial-setup-ks.cfg 
  7
  [root@localhost ~]# alias aa="grep -c 'boot' initial-setup-ks.cfg "
  [root@localhost ~]# alias aa
  alias aa='grep -c '\''boot'\'' initial-setup-ks.cfg '
  [root@localhost ~]# aa
  7      
  • 取消别名: unalias [别名/-a]
  • -a: 取消所有别名
[root@localhost ~]# unalias aa      
  • 讓别名永久生效
  • 将别名設定在~/.bashrc檔案中
  • vim .bashrc

cd cd. cd…

針對目錄來說 . 目前位置/目錄 pwd

針對檔案來講 . 在Linux中代表隐藏檔案

cd cd. cd …
什麼都不跟,代表切換到目前使用者家目錄 目前目錄 代表切換到上級目錄

檔案内容操作指令

  • cat,less,head,tail,grep,wc
  • cat: 檔案内容檢視,顯示出檔案的全部内容
  • 格式: cat filename
  • less(more): 全屏方式分頁顯示檔案内容
  • 格式: less/more filename
  • 按回車Enter逐行滾動
  • 按空格鍵向下翻頁
  • 按b鍵向上翻頁
  • 按q鍵退出
  • more用法與less一緻,隻是多了一個百分比顯示
  • head(頭部): 顯示檔案頭部若幹行,預設10行
  • 格式: head [選項] filename
[root@localhost ~]# head -n 5 initial-setup-ks.cfg       
  • tail(尾部): 顯示檔案尾部若幹行,預設10行
  • 格式: tail [選項] filename
[root@localhost ~]# tail -n 5 initial-setup-ks.cfg       
  • wc: 統計檔案内容的,預設情況下統計結果為: 行數 詞數 位元組數
  • 格式: wc [選項] filename
[root@localhost ~]# wc initial-setup-ks.cfg       
  • 選項:
  • -w: 統計字數 一個字被定義為由空白,跳格(制表符),換行以這些為分割字元串
  • -l: 行數
  • -c: 位元組數
  • -m: 字元數 -m -c不能一起使用
  • -L: 列印最長行的長度
[root@localhost ~]# wc -l -c -w -L initial-setup-ks.cfg       
  • grep: 在檔案中查找并顯示包含指定字元串的行
  • 格式: grep [選項] 查找條件 目标檔案
  • 選項:
  • -c: 顯示比對行的數量
  • -i: 查找時不區分大小寫
  • -v: 反轉查找
[root@localhost ~]# grep -c 'boot' initial-setup-ks.cfg 
  7
  [root@localhost ~]# grep -c -v 'boot' initial-setup-ks.cfg
  42
  [root@localhost ~]# grep -i 'agent' initial-setup-ks.cfg       
  • 查找條件設定:
  1. 查找條件用引号引起來
  2. “^…”: 表示以… 開頭
  3. “…$”: 表示以… 結尾
  4. “^$”: 比對空行
[root@localhost ~]# grep -c '^$' anaconda-ks.cfg 
 [root@localhost ~]# grep -cv '^$' anaconda-ks.cfg 
 [root@localhost ~]# grep -c '^#' anaconda-ks.cfg 
 12
 [root@localhost ~]# grep -c 'ation$' anaconda-ks.cfg 
 5      

歸檔及壓縮指令

  • tar: 壓縮與解壓縮 制作歸檔檔案和釋放歸檔檔案
  • 格式:
  • 制作歸檔檔案

    tar [選項] [目錄]/歸檔檔案名 原檔案/目錄

  • 釋放歸檔檔案

    tar [選項] 歸檔檔案 [-C 目标檔案]

  • 指令:
  • 壓縮:
  • tar -czvf [存放路徑]歸檔檔案名.tar.gz 原檔案/目錄
  • tar -cjvf [存放路徑]歸檔檔案名.tar.bz2 原檔案/目錄
  • -c 壓縮
  • -z 壓縮為.gz 格式
  • vf 顯示詳情資訊
  • -j 壓縮為.bz2格式
  • 解壓縮:
  • tar -xzvf [存放路徑]歸檔檔案名.tar.gz [-C 解壓目錄]
  • tar -xjvf [存放路徑]歸檔檔案名.tar.bz2 [-C 解壓目錄]
  • -x 解壓
tar -czvf text.tar.gz text
  tar -cjvf text.tar.bz2 text
  tar -czvf /root/var.tar.gz /var/
  tar -cjvf /root/var.tar.bz2 /var/
  tar -czvf a.tar.gz text-1 text-2

  [root@localhost ~]# tar -xzvf text.tar.gz 
  [root@localhost ~]# tar -xjvf text.tar.bz2 
  [root@localhost ~]# tar -xjvf text.tar.bz2 -C test      

繼續閱讀