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