Linux系統(tǒng):第三章:Linux基礎(chǔ)命令

Linux基礎(chǔ)命令

背景知識

Linux系統(tǒng)中一切皆文件

在Linux系統(tǒng)中任何東西都是以文件形式來存儲的。這其中不僅包括我們熟知的文本文件、可執(zhí)行文件等等,還包括硬件設(shè)備、虛擬設(shè)備、網(wǎng)絡(luò)連接等等,甚至連目錄其實(shí)都是一種特殊的文件。

Linux文件系統(tǒng)

Linux系統(tǒng)環(huán)境下的文件系統(tǒng)與Windows有很大區(qū)別。

在Windows中,每一個盤符下是一個獨(dú)立的文件系統(tǒng),硬盤有多少個分區(qū)就有多少個文件系統(tǒng)。

而在Linux系統(tǒng)中不管創(chuàng)建了多少個硬盤分區(qū)都只有一個文件系統(tǒng)。整個文件系統(tǒng)的根目錄是“/”,從“/”根目錄出發(fā)理論上可以找到Linux系統(tǒng)中的所有目錄和文件。

Linux系統(tǒng)中的路徑

絕對路徑:從“/”根目錄開始逐層查找文件和目錄。

/etc/sysconfig/network-scripts

/tmp/vmware-root/vmware-db.pl.2267

相對路徑:以當(dāng)前目錄或上一級目錄為基準(zhǔn)逐層查找文件和目錄

當(dāng)前目錄:“./”

當(dāng)前目錄的上一級目錄:“../”

用戶家目錄

Linux系統(tǒng)為每一個用戶提供了一個專屬的目錄用來存放它自己的文件內(nèi)容。在Linux中使用“~”代表用戶的家目錄。

root用戶作為系統(tǒng)的超級管理員,它的家目錄是/root目錄。

其他普通用戶在創(chuàng)建后會在/home目錄下創(chuàng)建與用戶名同名的目錄。例如:用戶tom的家目錄是/home/tom

操作系統(tǒng)不識別擴(kuò)展名

Linux系統(tǒng)本身不識別文件擴(kuò)展名,一個文件的類型不靠擴(kuò)展名來區(qū)分,所以在Linux系統(tǒng)中,很多文件沒有擴(kuò)展名,反之有些目錄的名字中有“.”。

文件操作命令

1.創(chuàng)建目錄
    使用絕對路徑創(chuàng)建目錄
        mkdir /root/fruit
    使用相對路徑創(chuàng)建目錄
        mkdir ./fruit/apple
        mkdir fruit/banana
        mkdir ../animal
        mkdir ~/fruit/grape
    創(chuàng)建多層目錄
        mkdir -p /root/fruit/orange/red/water/acid
2.進(jìn)入目錄
    使用絕對路徑進(jìn)入指定目錄
        cd /root/fruit/
    使用相對路徑進(jìn)入指定目錄
        cd ./fruit/orange/red/
        cd fruit/orange/red/
        cd ../apple/
    回到家目錄
        cd ~
3.清屏
    clear命令
    Ctrl+l快捷鍵
4.創(chuàng)建文件
    使用絕對路徑
        touch /root/fruit/apple/acid.txt
    使用相對路徑
        touch sweet.txt
5.ls命令
    單獨(dú)使用
        ls
    查看全部隱藏文件和目錄
        ls -a
    查看全部隱藏文件和目錄,同時不顯示“.”和“..”
        ls -A
    查看文件和目錄時在目錄后面附加“/”
        ls -F
    遞歸查看目錄
        ls -R
    組合使用多個參數(shù)
        例1:查看詳細(xì)信息同時在目錄后附加斜杠
            ls -lF
        例2:在例1基礎(chǔ)上附加遞歸效果
            ls -lFR
        例3:在例2基礎(chǔ)上附加顯示隱藏資源效果
            ls -lFRA
        例4:按照文件最新修改順序逆序顯示詳細(xì)信息
            ls -ltr
    使用管道
        在顯示詳細(xì)信息基礎(chǔ)上將所有目錄篩選出來
            ls -l | grep ^d
            ls -lF | grep /$
        在顯示詳細(xì)信息基礎(chǔ)上將所有文件篩選出來
            ls -l | grep ^-
    使用快捷方式列出詳情信息
        ll
6.復(fù)制操作
    復(fù)制文件
        cp apple/ orange/
    復(fù)制目錄
        cp -r apple/ orange/
7.刪除操作
    刪除文件
        詢問模式
            rm one
        強(qiáng)制刪除
            rm -f one
    刪除目錄
        詢問模式
            rm -r apple
        強(qiáng)制刪除
            rm -rf apple
8.移動操作
    移動文件或目錄
        mv grape/ banana/
    重命名文件或目錄
        mv banana/ banana2
9.VIM編輯器
    進(jìn)入vim編輯器
        執(zhí)行vim命令
    退出vim編輯器
        :q
    用vim編輯器打開一個文件
        vim 文件路徑
    在打開文件進(jìn)入后輸入內(nèi)容
        按i鍵進(jìn)入編輯模式,然后可以自由輸入。輸入完成按Esc鍵離開編輯模式,回到一般模式。
        按o鍵在當(dāng)前行的下一行開始輸入。
    保存文件內(nèi)容
        :w
    保存且退出
        :wq
    退出但是不保存
        :q!
    強(qiáng)制保存
        :w!
        這里還需要參考具體的文件操作權(quán)限
    顯示行號
        :set nu
    移動光標(biāo)
        k鍵相當(dāng)于↑
        j鍵相當(dāng)于↓
        h鍵相當(dāng)于←
        l鍵相當(dāng)于→
    回到第一行的開頭位置
        gg
    前往最后一行的開頭位置
        G
    前往指定某一行開頭位置
        30G
    刪除當(dāng)前行
        dd
    撤銷剛才的操作
        u
    重做
        Ctrl+r
    復(fù)制當(dāng)前行
        yy
    粘貼
        p
    復(fù)制多行
        y5y
    進(jìn)入編輯模式
        按i鍵在當(dāng)前光標(biāo)前插入
        輸入I在當(dāng)前行前面插入
        按a鍵在當(dāng)前光標(biāo)后插入
        輸入A在當(dāng)前行后面插入
        按o鍵在當(dāng)前光標(biāo)的下一行插入
    修改單個字符(始終都沒有進(jìn)入編輯模式)
        第一步:按r鍵
        第二步:輸入
    查找
        /關(guān)鍵詞
        n向下找
        N向上找
    替換
        :%s/舊字符串/新字符串/g
10.查看文件內(nèi)容
    查看整個文件內(nèi)容
        cat 文件路徑
    分屏查看文件內(nèi)容
        less 文件路徑
        空格向下翻頁
        b向上翻頁
        q退出
        /關(guān)鍵詞查找
        n向下找
        N向上找
    查看文件末尾內(nèi)容
        tail -n 5 文件路徑
    實(shí)時查看文件末尾新增內(nèi)容
        tail -f 文件路徑
        使用Ctrl+c終止
11.在一定范圍內(nèi)查找文件
    find /root -name "*.txt"
12.不進(jìn)入文件,在外部搜索文件內(nèi)容
    帶行號顯示匹配內(nèi)容:grep -n net anaconda-ks.cfg
    帶行號顯示不匹配內(nèi)容:grep -nv net anaconda-ks.cfg
13.查看進(jìn)程信息
    直接查看全部進(jìn)程信息
        ps -ef
    分屏查看全部進(jìn)程信息
        ps -ef | less
    查看指定名稱的進(jìn)程信息
        ps -ef | grep migration | grep -v grep
        這里使用了兩層管道,將查詢進(jìn)程的命令自身排除
14.查看某個端口號是否被監(jiān)聽
    netstat -anp|grep :2181
15.解壓tar包
    tar -zxvf tar包路徑
16.查看命令歷史
    history
17.將命令執(zhí)行的結(jié)果寫入文件
    history > history.txt
    history >> history.txt
18.打印當(dāng)前目錄的絕對路徑
    pwd
19.打印當(dāng)前系統(tǒng)的PATH環(huán)境變量值
    echo $PATH
20.使用幫助命令調(diào)出指定命令的文檔
    man ls
21.關(guān)機(jī)
    poweroff
22.重啟
    reboot