Linux指令
cd ~
( 'cd' <=> change directory )回到根目錄所在位置均唉;
cd -
回到上次目錄所在位置;
pwd
顯示當(dāng)前位置的路徑;
ls -a
(顯示包含目標(biāo)目錄下的隱藏文件辱挥。以".a"開頭命名的文件會自動隱藏,正常模式下我們看不到)边涕;
ls -l
(以列表形式顯示)晤碘;
ls -h
(以合適的單位來顯示文件大小);
ls -a -l -h
(等效于ls -alh
功蜓,命令的順序不影響作用园爷,例如:ls -a -l -h
等效于 ls -a -h -l
);
ll
與 ls -la
命令等效;
文件或文件夾操作(剪切式撼、復(fù)制童社、刪除、打開)
mkdir -p A
創(chuàng)建文件夾A著隆, mkdir
也可以創(chuàng)建嵌套的文件夾扰楼,如下:
mkdir -p A/B/C/D
(Linux下是mkdir A/B/C/D -p),表示在A文件夾下的B文件夾下的C文件夾下創(chuàng)建D文件夾美浦。關(guān)于-p
指令的作用:如果其中有某個(gè)層級不存在弦赖,系統(tǒng)會自動幫我們創(chuàng)建缺少的層級(例如A文件夾下面沒有B,也就不存在C文件夾了浦辨,這個(gè)時(shí)候系統(tǒng)自動幫我們在A下創(chuàng)建B蹬竖,然后在B下創(chuàng)建C,再在C下創(chuàng)建文件夾D)荤牍。
cp me.txt A/B/
將me.txt
復(fù)制到當(dāng)前目錄下的路徑A/B/中案腺;
mv
指令的兩點(diǎn)作用:
① mv A AA
將文件夾A改名為AA,mv也可以修改文件的名稱
康吵,mv 2.txt file.txt
表示將文件2.txt重命名為file.txt劈榨;
② mv me.txt
AA/ 將'me.txt'文件移動到當(dāng)前目錄下的路徑AA/中;
rm
刪除指令(rm 就是 remove的縮寫形式)晦嵌;
刪除文件夾時(shí)使用 rm + 文件夾名,一般提示無法刪除同辣,需要使用rm -r 文件夾名or文件名
,例如rm -r D
(Linux系統(tǒng)是rm D -r
惭载,可以通過rm —help
指令查看rm
指令在該系統(tǒng)下有哪些操作指令旱函,沒必要強(qiáng)記),表示刪除D文件夾。 -r
指令其實(shí)就是遞歸刪除描滔。
open 文件名
打開文件(打開后可以自由編輯棒妨。在Linux上,可以使用gedit指令打開文件并自由編輯含长,可惜Unix上面沒有g(shù)edit
)券腔。[Tips:倘若該文件名太長不方便輸入伏穆,可以敲入文件名的前1~n個(gè)字母,然后按tab鍵纷纫,終端會智能匹配最合適的文件名]
open 文件夾名稱
顯示文件夾枕扫。例如:open Test
,會打開Finder顯示當(dāng)前目錄下的Test文件夾辱魁,功能類似于show in Finder
烟瞧。
也可以使用通配符指令,如:open *.txt
打開當(dāng)前目錄下的所有.txt文件染簇。
cat 文件名
查看文件內(nèi)容参滴,直接將文件內(nèi)容顯示在終端上面;
touch file.txt
新建一個(gè)file.txt文件剖笙。如果需要編輯卵洗,可以使用open file.txt
命令打開文件,然后自由編輯弥咪。也可以使用gedit
(Unix上面gedit指令無效??)过蹂;
history
指令用于查看歷史指令記錄。所有近期使用的指令都會按先后順序列舉出來聚至,如 :
...省略前面n多條指令...
555 ..............................
566 cat vimTest.txt
567 ls
568 open vimTest.txt
此時(shí)酷勺,我們可以通過 ! 序號
(例如:!568),我們自己的terminate
此時(shí)即執(zhí)行對應(yīng)需要的指令扳躬,這里!568
表示 終端列表上面第568條指令脆诉,即open vimTest.txt
指令。
通配符
通配符有兩種:
① *
, *
可以匹配0~n位;
② ?
, ?
只能匹配一位;
ls 1[1234]1.txt
也是通配符贷币,表示只通配111.txt击胜、121.txt、131.txt役纹、141.txt這幾個(gè)選項(xiàng);
ls 1[1-4]1.txt
等價(jià)于ls1[1234]1.txt
偶摔,都表示中間只能是111.txt、121.txt促脉、131.txt辰斋、141.txt這幾個(gè)選項(xiàng)。
重定向
ls > xxx.txt
表示將當(dāng)前文件夾下面ls指令應(yīng)該顯示出來的信息輸入到xxx.txt文件中瘸味;
ls -alh > xxx.txt
"ls -alh"指令應(yīng)該顯示的信息輸入到xxx.txt文件中宫仗;
ls -alh >> xxx.txt
追加文件內(nèi)容到xxx.txt中;
>
與 >>
的異同點(diǎn):
相同點(diǎn):如果之前的文件xxx.txt不存在旁仿,這兩者都會新建一個(gè)xxx.txt文件的藕夫。
不同點(diǎn):>>
會往文件中追加內(nèi)容,>
會覆蓋原來的文件中的內(nèi)容。
more 命令
ls | more
指令可以結(jié)合使用汁胆。這樣可以不通過重定向這一步驟將文件寫入到指定的文檔中再查看梭姓。直接ls | more
可以翻頁查看,|
表示通道的意思嫩码。
ls ; ls -alh
多個(gè)命令一起使用的時(shí)候,中間用;(英文分號)隔開罪既;但是一般不這樣用铸题,畢竟低效嘛(這就好比買了輛法拉利,在高速上面開20km/h??)
control c
撤銷已經(jīng)輸入的指令(不執(zhí)行已輸入的指令琢感。情景:一段指令輸入錯(cuò)誤丢间,由于指令太長,刪除起來麻煩驹针,可以直接control+c另起一行烘挫,重新輸入)。友情提示:control+c會不會與系統(tǒng)的熱鍵重復(fù)柬甥?比如Mac上面QQ的截圖功能就是control+c,如果想使用該鍵饮六,可以在QQ的偏好設(shè)置中修改QQ的截圖熱鍵。
cat a.txt b.txt >> c.txt
(將a.txt 與b.txt文件內(nèi)容合并到c.txt文件中苛蒲,如果c.txt不存在卤橄,就自動創(chuàng)建c.txt)
grep "1" c.txt
在c.txt中查找含1的字段;
grep "^1" c.txt
在c.txt中查找開頭為1的字段臂外;
grep "xt$" c.txt
在c.txt中查找末尾為xt的字段窟扑;
軟鏈接和硬鏈接
ln -s file.txt soft-link.txt
為file.txt創(chuàng)建一個(gè)軟鏈接,軟鏈接名稱為 soft-link.txt
;
ln -s file.txt soft-link.txt
cat b.txt >> c.txt
將b.txt文件內(nèi)容追加到c.txt中;
echo "I am fine!" >> me.txt
寫入一段連續(xù)的字符串到me.txt文件中漏健;
cat << EOF >> me.txt
> I am fine.
> Thanks.
> Have a good trip.
> EOF
通過cat << EOF EOF
的形式可以借助終端寫入多段內(nèi)容到me.txt中嚎货。
grep指令
grep
用來從文件里面搜內(nèi)容
打包、解包蔫浆、壓縮殖属、解壓縮指令
tar -cvf test.tar *.txt
打包(test.tar打包后文件名, *.txt 該目錄下需要打包的文件類型)
tar -xvf test.tar
解包
tar -zcvf test.tar.gz *.txt
壓縮(test.tar壓縮后文件名, *.txt 該目錄下需要壓縮的文件類型)
tar -zxvf test.tar.gz
解壓縮;
tar -jcvf test.tar.bz2 *.txt
這種方式壓縮后體積比.gz方式的大一點(diǎn)克懊;
tar -jxvf test.tar.bz2
解壓縮忱辅;
zip test.zip *.txt
.zip方式的壓縮;
unzip test.zip
.zip解壓縮命令谭溉;
unzip -d ./test test.zip
-d + ./xxx 指令表示支持解壓到當(dāng)前目錄中test文件夾下墙懂;
tar -zxvf test.tar.gz -C ./GZ
(tar.gz方式解壓到指定路徑)
unzip -d ZIP test.zip
(zip方式解壓到指定路徑)
date "+%T-%Y-%m-%d"
查看程序占用內(nèi)存情況
ps aux
查看內(nèi)存占用情況,不直觀扮念;
top
查看內(nèi)存使用情況(直觀)损搬;
kill -9 內(nèi)存PID號
強(qiáng)制殺掉PID號對應(yīng)的進(jìn)程;
文件權(quán)限基礎(chǔ)及操作
drwxr-xr-x 5 zhouyong staff 160B 4 21 14:28 BZ2
擁有者 u
同組者 g
其讓人 o
chmod u=rx c14.txt
chmod u=r,g=r,o=r c14.txt
(同時(shí)設(shè)置擁有者、同組者巧勤、其他人的權(quán)限)
chmod
修改文件權(quán)限嵌灰,有兩種方式:
① "字母法",也就是上述 u颅悉、g沽瞭、o;
② “數(shù)字法”剩瓶,其中r w x
位分別用 4 2 1數(shù)字表示有效驹溃,則指令chmod 7 4 1 test.txt
表示設(shè)置 test.txt文件的權(quán)限等價(jià)為:chmod u = rwx,g=w,o=x test.txt
;
系統(tǒng)重啟延曙、關(guān)機(jī)(定時(shí))
sudo shutdown -h now
立即關(guān)機(jī)豌鹤;
sudo reboot
重啟計(jì)算機(jī);
sudo shutdown -h +10
十分鐘后自動關(guān)機(jī)枝缔;
sudo shutdown -r now
重啟計(jì)算機(jī)布疙;
sudo shutdown -r +1
一分鐘后重啟計(jì)算機(jī);
vim 指令:
vim xxx.py
打開xxx.py
文件愿卸,如果xxx.py文件不存在灵临,就自動創(chuàng)建一個(gè)xxx.py文件
;
i
表示切換到輸入模式擦酌,esc
退出輸入模式俱诸,并切換到指令模式;
yy
復(fù)制光標(biāo)所在行內(nèi)容赊舶;
pp
粘貼拷貝的內(nèi)容 ;
esc
回到命令模式睁搭;
a
,i
均可切換到編輯模式。區(qū)別:a
為在光標(biāo)后面插入笼平, i
為在光標(biāo)前面插入园骆;
o命令切換到下一行;
O切換到光標(biāo)所在行的上一行寓调; 命令模式
A插入到光標(biāo)所在行的行尾锌唾;
I`插入到光標(biāo)所在行的行首;
n yy
(n為數(shù)字) 夺英,表示復(fù)制光標(biāo)行開始的n行晌涕。如5 yy
,則從光標(biāo)位置開始往下復(fù)制5行內(nèi)容痛悯;
dd
刪除光標(biāo)所在的行余黎。n dd
(n為數(shù)字),表示從光標(biāo)所在行開始往下刪除n行內(nèi)容载萌;
dd
其實(shí)是剪切的功能惧财, dd之后可以使用p粘貼剪切的內(nèi)容巡扇;
光標(biāo)定位功能
M
定位到屏幕可見區(qū)域中央;
L
定位到屏幕可見區(qū)域最下部垮衷;
H
定位到屏幕可見區(qū)域最上部厅翔;
control f
下一頁
control b
上一頁
control u
向上半屏
control d
向下半屏
n G
快速定位到第n行。
n G
快速定位到第n行代碼搀突。如18G
刀闷,快速定位到第18行;
G
快速回到整個(gè)代碼最后一行仰迁;
gg
快速回到代碼的第一行涩赢;
w
, 以單詞進(jìn)行劃分,向后跳一個(gè)單詞的長度轩勘,調(diào)到下一個(gè)單詞的開頭;
b
怯邪,向前跳一個(gè)單詞的長度绊寻,調(diào)到上一個(gè)單詞的開頭;
D
從當(dāng)前的光標(biāo)開始剪切悬秉,一直到行末澄步;
d0
從當(dāng)前光標(biāo)開始剪切,一直到行首和泌;
u
撤銷剛剛的操作村缸;
control r
反撤銷;
x
刪除當(dāng)前的光標(biāo)后面的元素武氓,每次只刪除一個(gè)元素梯皿;
X
刪除當(dāng)前光標(biāo)前面的元素,每次只刪除一個(gè)元素县恕;
選中一片代碼:
v
V
>>
向右移動代碼东羹;
<<
向左移動代碼;
.
重復(fù)執(zhí)行上一次命令。
{
跳到光標(biāo)所在段的段首忠烛;
}
跳到光標(biāo)所在段的段尾属提;
dw
刪除光標(biāo)所在位置的這個(gè)單詞的,光標(biāo)的后面字符美尸,包含光標(biāo)所在的字符
r
替換當(dāng)前字符冤议;
R
替換當(dāng)前行光標(biāo)后的字符;
查找命令:
/
str查找
n
下一個(gè)
N
上一個(gè)
替換:
:%s/hello/hi/g
將hello全部替換為hi师坎;
:11,16s/hello/hi/g
將line11~line16中的hello全部替換為hi恕酸;
末行模式:
w
保存
q
退出
wq
保存并退出
shift zz
相當(dāng)于wq
。