linux命令學(xué)習(xí)筆記

注:所有命令適用于CentOs 6,部分適用于CentOs 7

文件石挂、目錄訪問創(chuàng)建相關(guān)命令

  • ls

    ls -a -l -h -d(查看文件或目錄屬性) --a -i 查看文件或目錄i節(jié)點(diǎn)

  • cd (change directory)
    e.g. cd .. (切換到上一級目錄) cd / (切換到根目錄) cd /root (切換到指定目錄) ps: cd (后面不加任何選項(xiàng)): 跳轉(zhuǎn)到用戶的家目錄

  • pwd (print working directory)

    (顯示當(dāng)前目錄的絕對路徑)

  • mkdir

    (創(chuàng)建目錄) -p (遞歸創(chuàng)建)
    e.g. mkdir /tmp/japan mkdir -p /tmp/us/states (其中us目錄之前并不存在) mkdir /tmp/china /tmp/russia ...(同時創(chuàng)建多個目錄)

  • rmdir (remove empty directories)

    (刪除空目錄) e.g. rmdir /tmp/emptyFolder

  • cp

    語法:cp -rp [原文件或目錄] [目標(biāo)目錄]) -r 復(fù)制目錄 -p 保留文件屬性
    e.g. cp -r /tmp/japan /root (復(fù)制并保存目錄/文件名) cp -r /tmp/japan /root/Japan (復(fù)制并改名)

  • mv (move)

    (剪切文件或目錄、改名) 語法:mv [原文件或目錄] [目標(biāo)目錄]
    e.g. mv /tmp/japan /root/nvshen (剪切并改名) mv japan Japan (在同樣目錄下移動并改名)

  • rm (remove)

    (刪除文件或目錄) 語法:rm -rf [文件或目錄] -r 刪除目錄 -f 強(qiáng)制執(zhí)行
    e.g. rm /tmp/yum.log (刪除文件) rm -rf /tmp/empty (強(qiáng)制刪除目錄) ps: rm -rf * 刪除當(dāng)前目錄所有文件

  • touch (創(chuàng)建空文件) 語法:touch [文件名] (在當(dāng)前目錄創(chuàng)建)
    e.g. touch /root/film.list (在指定目錄創(chuàng)建文件) 若要創(chuàng)建文件名帶空格的文件,需用""括起來

  • cat

    (顯示文件內(nèi)容)[主要是內(nèi)容較短的文件] -n 顯示行號 -A 顯示所有字符(包括隱藏字符)
    e.g. cat /etc/issue cat -n /etc/services

  • tac

    (顯示文件內(nèi)容-反向列式) e.g. tac /etc/issue

  • more

    (分頁顯示文件內(nèi)容)
    e.g. more /etc/services 按"空格"或"f"可一頁一頁往下翻 按"回車"可一行一行往下翻 按"B"可往回翻頁 按"Q"或"q"可退出

  • less

    (分頁顯示文件內(nèi)容(可向上翻頁))
    按"空格"或"f"可一頁一頁往下翻
    按"回車"可一行一行往下翻
    按"B"可往回翻頁
    按"Q"或"q"可退出
    此外: 按pageup可向上翻頁 按方向鍵"↑"可向上按行翻 輸入"/"可按指定關(guān)鍵詞搜索,搜索時按"n"繼續(xù)搜索

  • head

    (顯示文件前面幾行) -n 指定行數(shù)
    e.g. head -n 20 /etc/services 若未指定行數(shù)倘零,默認(rèn)顯示前10行

  • tail

    (顯示文件后面幾行) -n 指定行數(shù) 默認(rèn)顯示10行 -f 動態(tài)顯示文件末尾內(nèi)容

  • ln (link)

    (生成鏈接文件) (symbolic link: 軟鏈接)
    語法:ln -s [原文件] [目標(biāo)文件]
    -s 創(chuàng)建軟鏈接文件,不加-s戳寸,創(chuàng)建硬鏈接文件。
    e.g. ln -s /etc/issue /tmp/issue.soft
    創(chuàng)建文件/etc/issue的軟鏈接/tmp/issue.soft
    ln /etc/issue /tmp/issue.hard
    創(chuàng)建文件/etc/issue的硬鏈接/tmp/issue.soft

軟鏈接特征:
類似Windows快捷方式

  1. lrwxrwxrwx l代表軟鏈接文件 軟鏈接文件權(quán)限均為rwxrwxrwx
  2. 文件占用空間小-只是符號鏈接
  3. 標(biāo)識類似:/tmp/issue.soft -> /etc/issue 箭頭指向源文件

硬鏈接特征:

  1. 相當(dāng)于cp -p(保存文件信息的拷貝) + 同步更新
    echo "www.lampbrother.net" >> /etc/issue (往issue文件最后寫入"www.lampbrother.net")

  2. 通過i節(jié)點(diǎn)識別拷泽,i節(jié)點(diǎn)與原文件相同

  3. 不能跨分區(qū)

  4. 不能針對目錄使用

文件疫鹊、目錄權(quán)限相關(guān)命令

  • chmod(change the permissions mode of a file)

    (改變文件或目錄權(quán)限)
    語法:chmod [{ugoa}{+-=}{rwx}] [文件或目錄]
    【ps】只有所有者和root可以改變文件或目錄的權(quán)限
    [mode=421] [文件或目錄] -R 遞歸修改,同時修改多個用戶的權(quán)限只需用逗號分割
    權(quán)限的數(shù)字表示: r ---- 4 w ----2 x -----1

    e.g. rwxrw-r-- 7 6 4
    chmod g+w testfile 賦予文件testfile所屬組寫權(quán)限
    chmod -R 777 testdir 修改目錄testdir及其目錄下文件為所有用戶具有全部權(quán)限

    文件類型:
    c 配置文件(config file)
    d 普通文檔(documentation)
    g “鬼”文件(ghost file)司致,就是該文件不應(yīng)該被這個RPM包包含
    l 授權(quán)文件(license file)
    r 描述文件(read me)

  • chown(change file ownership)

    (改變文件或目錄的所有者) 語法:chown [用戶] [文件或目錄] 【ps】只有root可以改變文件或目錄的所有者 e.g. chown shenchao fengjie 改變文件fengjie的所有者為shenchao

  • chgrp(change file group ownership)

    (改變文件或目錄的所屬組) 語法:chgrp [用戶組] [文件或目錄] e.g. chgrp lampbrother fengjie 改變文件fengjie的所屬組為lampbrother

  • umask(the user file-creation mask)

    (顯示拆吆、設(shè)置文件的缺省權(quán)限)
    語法:umask [-S] -S 以rwx形式顯示新建文件缺省權(quán)限
    e.g. umask -S 不加-S選項(xiàng)僅使用umask時可改變文件和目錄的缺省(默認(rèn))ugo權(quán)限
    語法:umask [三位數(shù)值]
    e.g. 將缺省權(quán)限 改為 rwx r-x r-x (目錄) rw- r-- r-- (文件) 可使用命令:umask 022

文件(內(nèi)容)搜索相關(guān)命令

  • find

    (文件搜索)
    *語法:
    find [搜索范圍] [匹配文件]
    find /etc -name init(按文件名查找) --->在目錄/etc中查找文件init脂矫,換成-iname 選項(xiàng)不區(qū)分大小寫枣耀。 init 查找包含init字符串的所有文件,init
    查找以init開頭的文件庭再,? 匹配單個字符捞奕,例:init???(查找包含init+3個字符的文件) 。
    e.g.

  1. find / -size +204800 (linux中用數(shù)據(jù)塊表示數(shù)據(jù)大小 1個數(shù)據(jù)塊=512字節(jié)=0.5KB) 在根目錄下查找大于100MB的文件拄轻,+n 大于 -n 小于 n 等于颅围。
  2. find /home -user shenchao
    在根目錄下查找所有者為shenchao的文件。
    -group 根據(jù)所有組查找恨搓。
  3. find /etc -cmin -5 (+ 超過多長時間 - 少于 不寫 等于多長時間)
    在/etc下查找5分鐘內(nèi)被修改過屬性的文件和目錄院促,-amin 訪問時間(access)筏养,-cmin 文件屬性(change), -mmin(文件內(nèi)容 modify)
  4. find /etc -size +163840 -a -size -204800
    在/etc下查找大于80MB小于100MB的文件常拓,-a 兩個條件同時滿足渐溶,-o 兩個條件滿足任意一個即可
  5. find /etc -name inittab -exec ls -l {} ;
    在/etc下查找inittab文件并顯示其詳細(xì)信息,-exec/-ok <命令{} ; 對搜索結(jié)果執(zhí)行操作 (使用-ok有詢問確認(rèn)的環(huán)節(jié)) 弄抬,-type 根據(jù)文件類型查找(f 文件 d 目錄 l 軟鏈接文件)掌猛,-inum 根據(jù)i節(jié)點(diǎn)查找
    e.g. find . -inum 31531 -exec rm {} ; 在當(dāng)前目錄查找i節(jié)點(diǎn)為31531的文件 并刪除
  • locate

    (在文件資料庫中查找文件) 語法:locate 文件名 -i 不區(qū)分大小寫 e.g. locate inittab locate -i INITTAB updatedb 更新文件資料庫 (不會涵蓋/tmp目錄下的文件)

  • which

    (搜索命令所在目錄及別名信息)
    語法:which命令 e.g. which ls which rm 結(jié)果:alias rm='rm -i' /bin/rm 其中的 rm -i 即rm的別名,打出rm命令后眉睹,系統(tǒng)實(shí)際上使用的是其別名 rm -i(因此會有詢問確認(rèn)環(huán)節(jié)) ps: Shell內(nèi)置命令不能使用which來查看幫助

  • whereis

    (搜索命令所在目錄及幫助文檔路徑) 文件名中:1代表是命令的幫助荔茬,5代表是配置文件的幫助
    語法:whereis [命令名稱] e.g. whereis ls

  • grep

    (在文件中搜索字串匹配的行并輸出)
    語法:grep -iv [指定字串] [文件] -i 不區(qū)分大小寫 -v 排出包含指定字串
    e.g. grep mysql /root/install.log grep -v ^# /etc/inittab (^表示排除所有以#開頭的行) ps: #在linux中代表注釋

幫助信息相關(guān)命令

  • man(manual)

    (獲得幫助信息) 【相似命令:info】
    語法:man [命令或配置文件]
    空格->翻頁 回車->按行翻 q->退出 (類似more命令瀏覽)。
    在:后輸入命令選項(xiàng)(例如:-l)竹海,可查看匹配該字符串的文本慕蔚,按n翻頁,輸入/-l可精確查找(類似less)斋配。
    e.g. man ls 查看ls命令的幫助信息
    man services 查看配置文件services的幫助信息(直接man services, 不要寫出services的絕對路徑)
    ps: 若命令與配置文件重名孔飒,則輸入 man 5 [命令]

  • whatis

    獲取命令的簡短描述信息 語法:whatis 命令

  • apropos

    獲取配置文件的簡短描述信息 語法:apropos 命令

--help 選項(xiàng)可列出命令的所有選項(xiàng) e.g. touch --help (列出touch的所有選項(xiàng))

  • help

    (獲得Shell內(nèi)置命令的幫助信息) 語法:** help 命令 e.g. help umask 查看umask命令的幫助信息 ps: Shell內(nèi)置命令不能使用man來查看幫助

  • date

    (查看系統(tǒng)時間)

管理、查看用戶相關(guān)命令

  • useradd

    (添加新用戶) 語法:useradd 用戶名 e.g. useradd yangmi

  • passwd

    (設(shè)置用戶密碼) 語法:passwd 用戶名 e.g. passwd yangmi ps: 管理員root可以更改任何用戶的密碼

  • who(查看登錄用戶信息) 語法:who e.g. who 實(shí)例: [root@localhost ~]# who root tty1 2019-08-16 13:31

root pts/0 2019-08-16 13:32 (192.168.1.101)
登錄用戶名(一個用戶可多次登錄) 登錄終端(tty表示本地終端艰争,pts表示遠(yuǎn)程終端坏瞄,用不同數(shù)字表示不同的登錄終端) 登錄時間 登錄主機(jī)的ip地址(不寫,表示是主機(jī)登錄)
  • w

    (查看登錄用戶詳細(xì)信息) 語法:w e.g. w

文件壓縮相關(guān)命令

  • gzip

    (壓縮文件) 只能壓縮文件 語法:gzip [文件] 壓縮后文件格式:gz ps: 壓縮后不保留原文件

  • gunzip(GUN unzip)

    (解壓縮.gz的壓縮文件) 語法:gunzip [壓縮文件] e.g. gunzip country.gz ps: gzip -d 也可以

  • tar

    (打包目錄) 語法: tar 選項(xiàng)-zcf[目錄] -c 打包 (把目錄打包) -v 顯示詳細(xì)信息 -f 指定文件名 -z 打包同時壓縮 tar命令解壓縮語法 -x 解包 -v 顯示詳細(xì)信息 -f 指定解壓文件 -z 解壓縮

  • zip

    (壓縮文件或目錄)(壓縮后保留原文件) 語法: zip 選項(xiàng)[-r] [壓縮后文件名] [文件或目錄] -r 壓縮目錄

  • unzip

    (解壓.zip的壓縮文件) 語法:unzip [壓縮文件] e.g. unzip test.zip

  • bzip2

    (壓縮文件)(壓縮比驚人) 語法: bzip2 選項(xiàng) [-k] [文件] -k 產(chǎn)生壓縮文件后保留原文件 壓縮后文件格式:.bz2 e.g. bzip2 -k country tar -cjf japan.tar.bz2 japan

  • bunzip2

    (解壓縮) 語法: bunzip2 選項(xiàng) [-k] [壓縮文件] e.g. bunzip2 -k country.bz2 tar -xjf japan.tar.bz2

用戶通信相關(guān)命令

  • write

    (給用戶發(fā)信息甩卓,以Ctrl+D保存結(jié)束) 語法:write <用戶名> e.g. write linzhiling

  • wall(write all)

    (發(fā)廣播信息) 語法:wall [message] e.g. wall ShenChao is an honest man!

網(wǎng)絡(luò)相關(guān)命令

  • ping

    (測試網(wǎng)絡(luò)連通性) 語法:ping 選項(xiàng) IP地址 -c 指定發(fā)送次數(shù) e.g. ping 192.168.1.101 ping -c 3 192.168.1.101

  • ifconfig(interface configure)

    (查看和設(shè)置網(wǎng)卡信息) 語法:**ifconfig 網(wǎng)卡名稱 IP地址 e.g. ifconfig eth0 192.168.1.102 ps: 執(zhí)行權(quán)限為:root

  • mail

    (查看發(fā)送電子郵件) 語法:mail [用戶名] e.g. mail root ps: "/var/spool/mail/root" 為郵箱地址目錄

  • last

    (列出目前與過去登入系統(tǒng)的用戶信息) e.g. last

  • lastlog

    (檢查某特定用戶上次登錄的時間) 語法:lastlog e.g. lastlog lastlog -u 502/用戶名 (502為用戶的身份標(biāo)識(user id)) ps: [id 用戶名] 可查詢用戶的uid

  • traceroute

    (顯示數(shù)據(jù)包到主機(jī)間 的路徑) 語法: traceroute e.g. traceroute www.lampbrother.net

  • netstat

    (顯示網(wǎng)絡(luò)相關(guān)信息) 語法:netstat [選項(xiàng)] -t TCP協(xié)議 -u UDP協(xié)議 -l 監(jiān)聽 -r 路由 -n 顯示IP地址和端口號 e.g. netstat -tlun 查看本機(jī)監(jiān)聽的端口 netstat -an 查看本機(jī)所有的網(wǎng)絡(luò)連接 netstat -rn 查看本機(jī)路由表

  • setup

    (配置網(wǎng)絡(luò)) 語法:setup e.g. setup ps: 執(zhí)行權(quán)限為:root

掛載外部存儲設(shè)備相關(guān)命令

  • mount

    (掛載命令) 語法:mount [-t 文件系統(tǒng)] [-L 卷標(biāo)名] [-o 特殊選項(xiàng)] 設(shè)備文件名 掛載點(diǎn) e.g. mount -t iso9660 /dev/sr0 /mnt/cdrom (其中 -t iso9660可省略) ps: /dev/sr0 為系統(tǒng)默認(rèn)的設(shè)備文件名

  • umount

    (卸載命令) 語法: umount 設(shè)備文件名/掛載點(diǎn) e.g. umount /dev/sr0 或 /mnt/cdrom

系統(tǒng)啟動關(guān)閉相關(guān)命令

  • shutdown 語法:shutdown [選項(xiàng)] 時間 -c: 取消前一個關(guān)機(jī)命令 -h: 關(guān)機(jī) -r: 重啟

其他關(guān)機(jī)命令:

  • halt

  • poweroff (相當(dāng)于直接斷電)

  • init 0

其他重啟命令:

  • reboot

  • init 6

系統(tǒng)運(yùn)行級別:

  • 0 關(guān)機(jī)

  • 1 單用戶 (啟動最核心的程序鸠匀,用于修復(fù),只能root可以登錄)

  • 2 不完全多用戶逾柿,不含NFS服務(wù)

  • 3 完全多用戶

  • 4 未分配

  • 5 圖形界面(X代表圖形界面)

  • 6 重啟

cat /etc/inittab 查看系統(tǒng)的配置文件 id:3:initdefault 修改該行中的數(shù)字可以改變系統(tǒng)的默認(rèn)運(yùn)行級別(不能改為0) runlevel 查詢系統(tǒng)運(yùn)行級別 (其中的N代表上次啟動的運(yùn)行級別)

  • logout (退出登錄命令)

VIM相關(guān)

  • VIM工作模式
    vim工作模式.JPG

vim(命令): (輸入":"進(jìn)入編輯模式, 在命令模式下按Enter可退出編輯模式)

  1. 插入命令

    • a 在光標(biāo)所在字符后插入

    • A 在光標(biāo)所在行尾插入

    • i 在光標(biāo)所在字符前插入

    • I 在光標(biāo)所在行行首插入

    • o 在光標(biāo)下插入新行

    • O 在光標(biāo)上插入新行

  2. 定位命令

    • : set nu 設(shè)置行號

    • : set nonu 取消行號

    • gg 到第一行

    • G 到最后一行

    • nG 到第n行 在編輯模式輸入行號可到達(dá)指定行

    • : n 到第n行

    • $ 移至行尾

    • 0 移至行首(不進(jìn)入插入模式)

  3. 刪除命令

    • x 刪除光標(biāo)所在處字符

    • nx 刪除光標(biāo)所在處后n個字符

    • dd 刪除光標(biāo)所在行缀棍,ndd字刪除n行

    • dG 刪除光標(biāo)所在行到文件末尾內(nèi)容

    • D 刪除光標(biāo)所在處到行尾內(nèi)容

    • :n1,n2d 刪除指定范圍的行

  4. 復(fù)制和剪切命令

    • yy 復(fù)制當(dāng)前行

    • nyy 復(fù)制當(dāng)前行以下n行

    • dd 剪切當(dāng)前行

    • ndd 剪切當(dāng)前行以下n行

    • p、P 粘貼在當(dāng)前光標(biāo)所在行下或行上

  5. 替換和取消命令

    • r 取代光標(biāo)所在處字符

    • R 從光標(biāo)所在處開始替換字符机错,按Esc結(jié)束

    • u 取消上一步操作

  6. 搜索和搜索替換命令

    • /string 搜索指定字符串

      搜索時忽略大小寫 :set ic

      n 搜索指定字符串的下一個出現(xiàn)位置

    • :%s/old/new/g 全文替換指定字符串(g可以換成c爬范,表示詢問確認(rèn))

    • :n1,n2s/old/new/g 在一定范圍內(nèi)替換指定字符串

  7. 保存和退出命令

    • :w 保存修改

    • :w new_filename 另存為指定文件

    • :wq 保存修改并退出

    • :ZZ 快捷鍵,保存修改并退出

    • :q! 不保存修改退出

    • :wq! 強(qiáng)制保存修改并退出(文件所有者及root可使用)

Vim 使用技巧

  • 導(dǎo)入命令執(zhí)行結(jié)果 :r !命令 (:!命令 可在不退出Vim的情況下執(zhí)行Linux系統(tǒng)命令)

  • 定義快捷鍵 :map 快捷鍵 想要觸發(fā)的命令 e.g. :map ^P I#<ESC> ("^P" 得同時按住ctrl+v+p) (該命令意思是將ctrl+p定義為快捷鍵弱匪,按下后在行首插入#然后退出插入模式) :map ^B 0x

  • 連續(xù)行注釋 :n1,n2s/^/#/g :n1,n2s/^/#//g :n1,n2s/^////g

  • 替換 :ab mymail samlee@lampbrother.net (每次輸入mymail后青瀑,按空格鍵就會把mymail替換成samlee@lampbrother.net

ps: 若要使用命令的本意,而非別名萧诫,可在命令前加轉(zhuǎn)義符\

軟件安裝相關(guān)命令

  1. rpm安裝

    rpm -ivh 選項(xiàng): -i (install) 安裝 -v (verbose) 顯示詳細(xì)信息 -h (hash) 顯示進(jìn)度 --nodeps 不檢測依賴性

  2. rpm包升級 rpm -Uvh 包全名 選項(xiàng): -U (update) 升級

  3. 卸載 rpm -e 包名 選項(xiàng): -e (erase) 卸載 --nodeps 不檢查依賴性

  4. 查詢RPM包

    1. 查詢是否安裝

      • rpm -q 包名 (查詢包是否安裝) 選項(xiàng): -q 查詢(query

      • rpm -qa (查詢所有已經(jīng)安裝的RPM包) 選項(xiàng): -a 所有(all)

    2. 查詢軟件包詳細(xì)信息 rpm -qi 包名 選項(xiàng): -i 查詢軟件信息(information) -p 查詢未安裝包信息 (package)

    3. 查詢包中文件安裝位置 rpm -ql 包名 選項(xiàng): -l 列表 (list) -p 查詢未安裝包信息(package)

    4. 查詢系統(tǒng)文件屬于哪個RPM包 rpm -qf 系統(tǒng)文件名 選項(xiàng): -f 查詢系統(tǒng)文件屬于哪個軟件包

    5. 查詢軟件包的依賴性 rpm -qR 包名 選項(xiàng): -R 查詢軟件包的依賴性(requires) -p 查詢未安裝包信息(package)

  5. RPM包校驗(yàn) rpm -V 已安裝的包名 選項(xiàng): -V 校驗(yàn)指定RPM包中的文件(verify)

    驗(yàn)證內(nèi)容中的8個信息的具體內(nèi)容如下:

  • S 文件大小是否改變
  • M 文件的類型或文件的權(quán)限(rwx)是否被改變
  • 5 文件MD5校驗(yàn)和是否改變(可以看成文件內(nèi)容是否改變)
  • D 設(shè)備的中斥难,從代碼是否改變
  • L 文件路徑是否改變
  • U 文件的屬主()所有者是否改變
  • G 文件的所屬組是否改變
  • T 文件的修改時間是否改變
  1. RPM包中文件提取

    1. rpm2cpio 包全名 | \ cpio -idv .文件絕對路徑 #先將指定包轉(zhuǎn)換成cpio格式,再從轉(zhuǎn)換后的包中提取文件絕對路徑代表的文件财搁,并還原到當(dāng)前目錄 (""代表命令沒有輸完蘸炸,"."代表當(dāng)前目錄)

    2. rpm2cpio 將rpm包轉(zhuǎn)換為cpio格式

    3. cpio

      一個標(biāo)準(zhǔn)工具,用于創(chuàng)建軟件檔案文件和從檔案文件中提取文件

      語法:cpio 選項(xiàng) <(從)[文件|設(shè)備] -i: copy-in模式尖奔,還原 -d: 還原時自動新建目錄 -v: 顯示還原過程

  2. RPM包安裝位置
    系統(tǒng)默認(rèn)位置 RPM包默認(rèn)安裝路徑
    /etc/ 配置文件的安裝目錄
    /usr/bin/ 可執(zhí)行的命令的安裝目錄
    /usr/lib/ 程序所使用的函數(shù)庫保存位置
    /usr/share/doc/ 基本的軟件使用手冊保存位置
    /usr/share/man/ 幫助文件保存位置

  3. 源碼包安裝位置 安裝在指定位置當(dāng)中搭儒,一般是 /usr/local/軟件名/

  4. RPM包安裝的服務(wù)的管理方法(啟動穷当、停止等) 可使用service命令管理 e.g. 啟動RPM包安裝的apache,可使用如下命令: /etc/rc.d/init.d/httpd start service httpd start

【IP地址配置】

  1. setup

  2. vi /etc/sysconfig/network-scripts/ifcfg-eth0 把ONBOOT="no"改為 ONBOOT="yes" 啟動網(wǎng)卡

yum相關(guān)命令

常用命令:

  1. 查詢 yum list #查詢所有可用軟件包列表 yum search 關(guān)鍵字 #搜索服務(wù)器上所有和關(guān)鍵字相關(guān)的包

  2. 安裝 yum -y install 包名 選項(xiàng): install 安裝 -y 自動回答yes

  3. 更新 yum -y update 包名 選項(xiàng): update 升級 -y 自動回答yes

  4. 卸載 yum -y remove 包名 選項(xiàng): remove 卸載 -y 自動回答yes

  5. YUM軟件組管理命令 yum grouplist #列出所有可用的軟件組列表 yum groupinstall 軟件組名 #安裝指定軟件組淹禾,組名可以由grouplist查詢出來 yum groupremove 軟件組名 #卸載指定軟件組

用戶配置文件查看與修改

文件位置:
/etc/passwd

第1字段:用戶名稱
第2字段:密碼標(biāo)志
第3字段:UID (用戶ID) 0: 超級用戶 1-499: 系統(tǒng)用戶(偽用戶) 500-65535: 普通用戶
第4字段:GID (用戶初始組ID)
第5字段:用戶說明
第6字段:家目錄 普通用戶:/home/用戶名/ 超級用戶:/root/
第7字段:登錄之后的Shell
(Shell就是Linux的命令解釋器在/etc/passwd當(dāng)中馁菜,除了標(biāo)準(zhǔn)Shell是/bin/bash之外,還可以寫如/sbin/nologin)


Windows Powershell TIPS:

通配符:*

獲取計算機(jī)信息:Get-ComputerInfo
獲取所有環(huán)境變量:Get-ChildItem env: 或 Set-Location env: -> Get-ChildItem
獲取CPU信息:Get-WmiObject Win32_processor | Select-Object *

shell編程常用命令

  • 修改系統(tǒng)語言: LANG=en_US.utf8 export LC_ALL=en_US.utf8

  • 顯示日期 date [OPTION]... [+FORMAT]

  • 顯示日歷:cal

  • 計算器:bc

  • df

    (文件系統(tǒng)查看命令)
    語法: df [選項(xiàng)] [掛載點(diǎn)]
    選項(xiàng):
    -a 顯示所有的文件系統(tǒng)信息铃岔,包括特殊文件系統(tǒng)汪疮,如/proc、/sysfs
    -h 使用習(xí)慣單位顯示容量
    -T 顯示文件系統(tǒng)類型
    -m 以MB為單位顯示容量
    -k 以KB 為單位顯示容量(默認(rèn))
    ps:df命令是從文件系統(tǒng)考慮的毁习,涵蓋文件占用的空間以及命令或程序占用的空間智嚷。

  • du

    (統(tǒng)計目錄或文件大小)
    *語法:

  • du [選項(xiàng)] [目錄或文件名]
    選項(xiàng):
    -a 顯示每個子文件的磁盤占用量。默認(rèn)只統(tǒng)計子目錄的磁盤占用量
    -h 使用習(xí)慣單位顯示磁盤占用量
    -s 統(tǒng)計總占用量纺且。
    ps: du命令是面向文件的盏道,只會計算文件或目錄占用的空間

  • dumpe2fs

    (顯示磁盤狀態(tài)命令) 語法: dumpe2fs 分區(qū)設(shè)備文件名

  • echo [-e] e 表示識別轉(zhuǎn)義字符

    echo -e "\e[1;31m abcd\e[0m"
    輸出顏色: #30m=黑色,31m=紅色载碌,32m=綠色猜嘱,33m=黃色 #34m=藍(lán)色,35m=洋紅嫁艇,36m=青色朗伶,37m=白色

  • history

    (歷史命令)
    語法:history [選項(xiàng)] [歷史命令保存文件]
    -c 清空歷史命令
    -w 把緩存中的歷史命令寫入歷史命令保存文件
    ps: 歷史命令默認(rèn)保存文件為~/.bash_history

    歷史命令默認(rèn)保存1000條,可以在變量配置文件/etc/profile中進(jìn)行修改

  • !n

    重復(fù)執(zhí)行第n條歷史命令

  • !! 執(zhí)行上一條命令

  • !字符串 執(zhí)行最后一條以該字符串開頭的命令

  • alias 別名='原命令' (設(shè)定命令別名)

  • unalias(刪除別名)

  • alias 別名 (查詢命令是誰的別名)

vim /root/.bashrc(讓別名永久生效)

分區(qū)相關(guān)命令

  • fdisk

    設(shè)備符(分區(qū)) 例:fdisk /dev/sdb

  • partprobe:

    重新讀取分區(qū)表信息

  • mkfs -t ext4 /dev/sdb1

    (格式化分區(qū))

  • 建立掛載點(diǎn)并掛載 mkdir /disk1 mount /dev/sdb1 /disk1

自動掛載與fstab文件修復(fù) 編輯 /etc/fstab 文件

ps: 文件編輯完成后不應(yīng)立即重啟步咪,而應(yīng)執(zhí)行mount -a 命令论皆,使系統(tǒng)依據(jù)配置文件/etc/fstab的內(nèi)容,自動掛載

  • /etc/fstab 文件修復(fù) mount -o remount,rw /

bash常用快捷鍵

  • ctrl+U 刪除或剪切光標(biāo)之前的命令

  • ctrl+K 刪除或剪切光標(biāo)之后的內(nèi)容

  • ctrl+Y 粘貼ctrl——U或ctrl+K剪切的內(nèi)容

  • ctrl+R 在歷史命令中搜索

  • ctrl+D 退出當(dāng)前終端

標(biāo)準(zhǔn)輸入輸出

  • 鍵盤 /dev/stdin(設(shè)備文件名) 0(文件描述符) 標(biāo)準(zhǔn)輸入

  • 顯示器 /dev/stdout 1 標(biāo)準(zhǔn)輸出

  • 顯示器 /dev/stderr 2 標(biāo)準(zhǔn)錯誤輸出

標(biāo)準(zhǔn)輸出重定向

  • 命令 > 文件 把命令的正確輸出覆蓋到指定的文件或設(shè)備

  • 命令 >> 文件 把命令的正確輸出追加到指定的文件或設(shè)備

標(biāo)準(zhǔn)錯誤輸出重定向

  • 錯誤命令 2> 文件 把命令的正確輸出覆蓋到指定的文件或設(shè)備

  • 錯誤命令 2>> 文件 把命令的正確輸出追加到指定的文件或設(shè)備

正確輸出和錯誤輸出同時保存:

  • 命令 > 文件 2>&1 把命令的正確輸出和錯誤輸出同時覆蓋到指定的文件

  • 命令 >> 文件 2>&1 把命令的正確輸出和錯誤輸出同時追加到指定的文件

  • 命令 &> 文件 把命令的正確輸出和錯誤輸出同時覆蓋到指定的文件

  • 命令 &>> 文件 把命令的正確輸出和錯誤輸出同時追加到指定的文件

  • 命令 >> 文件1 2>> 文件2 把命令的正確輸出追加到文件1歧斟,把錯誤輸出追加到文件2

計算文件字?jǐn)?shù)

  • wc [選項(xiàng)] [文件名] -c 統(tǒng)計字節(jié)數(shù) -w 統(tǒng)計單詞數(shù) -l 統(tǒng)計行數(shù) 例:wc < anaconda-ks.cfg wc -l < anaconda-ks.cfg

; 命令分隔符 前后的命令順序執(zhí)行

管道符 | 命令1 | 命令2 命令1的正確輸出作為命令2的操作對象纯丸,通常和grep命令一起使用。

grep

語法: grep [選項(xiàng)] "搜索內(nèi)容" 文件名 (在文件當(dāng)中搜索符合條件的行) 選項(xiàng): -i 忽略大小寫 -n 輸出行號 -v 反向查找 --color=auto 搜索出的關(guān)鍵字用顏色顯示 例: netstat -an | grep "ESTABLISHED"

shell編程基礎(chǔ)知識

  • $() 和 `` 用來引用系統(tǒng)命令

  • $ 用來調(diào)用變量值

  • 變量疊加:aa="aa"456 或 aa={aa}789

  • 查看變量:set

  • 刪除變量:unset name

  • 申明環(huán)境變量: export 變量名=變量值

  • env 查詢變量

  • unset 變量名 刪除變量

  • PS1 定義系統(tǒng)提示符的變量

  • 位置參數(shù)變量 $n
    表示第n個參數(shù)静袖,例如$1。
    10以上的數(shù)字需用{}括住俊扭,例如${10}队橙。
    此外,$*表示命令行中所有參數(shù)萨惑,將所有參數(shù)視作整體捐康。$@ 也表示命令行中所有參數(shù),但將每個參數(shù)單獨(dú)對待庸蔼。$#代表命令行中所有參數(shù)的個數(shù)。

  • 預(yù)定義變量
    $? 最后一次執(zhí)行命令的返回狀態(tài)
    $$ 當(dāng)前進(jìn)程的線程號(PID)
    $! 后臺運(yùn)行的最后一個進(jìn)程的進(jìn)程號

  • 接收鍵盤輸入
    read [選項(xiàng)] [變量名] -p "提示信息"
    等待read輸入,同時輸出提示信息往史。
    -t 秒數(shù) 指定等待時間
    -n 字符數(shù) 指定允許的字符數(shù)
    -s 隱藏輸入的數(shù)據(jù)
    -e 識別轉(zhuǎn)義符

  • declare
    用于聲明類型屬性。

declare為shell指令刻盐,在第一種語法中可用來聲明變量并設(shè)置變量的屬性([rix]即為變量的屬性),在第二種語法中可用來顯示shell函數(shù)劳翰。若不加上任何參數(shù)敦锌,則會顯示全部的shell變量與函數(shù)(與執(zhí)行set指令的效果相同)。

語法:
declare [+/-][rxi][變量名稱=設(shè)置值] 或 declare -f

參數(shù)說明:

  • +/-  "-"可用來指定變量的屬性佳簸,"+"則是取消變量所設(shè)的屬性乙墙。
  • -f  僅顯示函數(shù)。
  • r  將變量設(shè)置為只讀生均。
  • x  指定的變量會成為環(huán)境變量听想,可供shell以外的程序來使用。
  • i  [設(shè)置值]可以是數(shù)值马胧,字符串或運(yùn)算式汉买。

實(shí)例:

聲明整數(shù)型變量

# declare -i ab //聲明整數(shù)型變量
# ab=56 //改變變量內(nèi)容
# echo $ab //顯示變量內(nèi)容
56

改變變量屬性

# declare -i ef //聲明整數(shù)型變量
# ef=1  //變量賦值(整數(shù)值)
# echo $ef //顯示變量內(nèi)容
1
# ef="wer" //變量賦值(文本值)
# echo $ef 
0
# declare +i ef //取消變量屬性
# ef="wer"
# echo $ef
wer

設(shè)置變量只讀

# declare -r ab //設(shè)置變量為只讀
# ab=88 //改變變量內(nèi)容
-bash: ab: 只讀變量
# echo $ab //顯示變量內(nèi)容
56 

聲明數(shù)組變量

# declare -a cd='([0]="a" [1]="b" [2]="c")' //聲明數(shù)組變量
# echo ${cd[1]}
b //顯示變量內(nèi)容

# echo ${cd[@]} //顯示整個數(shù)組變量內(nèi)容
a b c

顯示函數(shù)

# declare -f
command_not_found_handle () 
{ 
  if [ -x /usr/lib/command-not-found ]; then
    /usr/bin/python /usr/lib/command-not-found -- $1;
    return $?;
  else
    if [ -x /usr/share/command-not-found ]; then
      /usr/bin/python /usr/share/command-not-found -- $1;
      return $?;
    else
      return 127;
    fi;
  fi
}
  • 數(shù)值運(yùn)算:

    • "$((運(yùn)算式))"或"$[運(yùn)算式]"
      例:aa=11 bb=22 ff=$(( $aa+$bb )) gg=$[ $aa+$bb ]

    • dd=$(expr $aa + $bb)

  • source 配置文件 或 . 配置文件
    (重新加載配置文件)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市漓雅,隨后出現(xiàn)的幾起案子录别,更是在濱河造成了極大的恐慌,老刑警劉巖邻吞,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件组题,死亡現(xiàn)場離奇詭異,居然都是意外死亡抱冷,警方通過查閱死者的電腦和手機(jī)崔列,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來旺遮,“玉大人赵讯,你說我怎么就攤上這事」⒚迹” “怎么了边翼?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長鸣剪。 經(jīng)常有香客問我组底,道長,這世上最難降的妖魔是什么筐骇? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任债鸡,我火速辦了婚禮,結(jié)果婚禮上铛纬,老公的妹妹穿的比我還像新娘厌均。我一直安慰自己,他們只是感情好告唆,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布棺弊。 她就那樣靜靜地躺著晶密,像睡著了一般。 火紅的嫁衣襯著肌膚如雪镊屎。 梳的紋絲不亂的頭發(fā)上惹挟,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天,我揣著相機(jī)與錄音缝驳,去河邊找鬼连锯。 笑死,一個胖子當(dāng)著我的面吹牛用狱,可吹牛的內(nèi)容都是我干的运怖。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼夏伊,長吁一口氣:“原來是場噩夢啊……” “哼摇展!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起溺忧,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤咏连,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后鲁森,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體祟滴,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年歌溉,在試婚紗的時候發(fā)現(xiàn)自己被綠了垄懂。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡痛垛,死狀恐怖草慧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情匙头,我是刑警寧澤漫谷,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站蹂析,受9級特大地震影響抖剿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜识窿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望脑融。 院中可真熱鬧喻频,春花似錦、人聲如沸肘迎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至姻蚓,卻和暖如春宋梧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背狰挡。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工捂龄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人加叁。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓倦沧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親它匕。 傳聞我的和親對象是個殘疾皇子展融,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評論 2 348