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指令的作用:如果其中有某個層級不存在,系統(tǒng)會自動幫我們創(chuàng)建缺少的層級(例如A文件夾下面沒有B,也就不存在C文件夾了,這個時候系統(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指令的兩點作用:
① 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的縮寫形式);
刪除文件夾時使用 rm + 文件夾名,一般提示無法刪除,需要使用rm -r 文件夾名or文件名,例如rm -r D(Linux系統(tǒng)是rm D -r,可以通過rm —help指令查看rm指令在該系統(tǒng)下有哪些操作指令,沒必要強記),表示刪除D文件夾。 -r指令其實就是遞歸刪除。
open 文件名 打開文件(打開后可以自由編輯。在Linux上,可以使用gedit指令打開文件并自由編輯,可惜Unix上面沒有g(shù)edit)。[Tips:倘若該文件名太長不方便輸入,可以敲入文件名的前1~n個字母,然后按tab鍵,終端會智能匹配最合適的文件名]
open 文件夾名稱 顯示文件夾。例如:open Test,會打開Finder顯示當(dāng)前目錄下的Test文件夾,功能類似于show in Finder。
也可以使用通配符指令,如:open *.txt打開當(dāng)前目錄下的所有.txt文件。
cat 文件名 查看文件內(nèi)容,直接將文件內(nèi)容顯示在終端上面;
touch file.txt 新建一個file.txt文件。如果需要編輯,可以使用open file.txt 命令打開文件,然后自由編輯。也可以使用gedit(Unix上面gedit指令無效??);
history 指令用于查看歷史指令記錄。所有近期使用的指令都會按先后順序列舉出來,如 :
...省略前面n多條指令...
555 ..............................
566 cat vimTest.txt
567 ls
568 open vimTest.txt
此時,我們可以通過 ! 序號 (例如:!568),我們自己的terminate此時即執(zhí)行對應(yīng)需要的指令,這里!568表示 終端列表上面第568條指令,即open vimTest.txt指令。
通配符
通配符有兩種:
① *, *可以匹配0~n位;
② ?, ?只能匹配一位;
ls 1[1234]1.txt 也是通配符,表示只通配111.txt、121.txt、131.txt、141.txt這幾個選項;
ls 1[1-4]1.txt 等價于ls1[1234]1.txt,都表示中間只能是111.txt、121.txt、131.txt、141.txt這幾個選項。
重定向
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中;
> 與 >>的異同點:
相同點:如果之前的文件xxx.txt不存在,這兩者都會新建一個xxx.txt文件的。
不同點:>>會往文件中追加內(nèi)容,> 會覆蓋原來的文件中的內(nèi)容。
more 命令
ls | more指令可以結(jié)合使用。這樣可以不通過重定向這一步驟將文件寫入到指定的文檔中再查看。直接ls | more可以翻頁查看,|表示通道的意思。
ls ; ls -alh 多個命令一起使用的時候,中間用;(英文分號)隔開;但是一般不這樣用,畢竟低效嘛(這就好比買了輛法拉利,在高速上面開20km/h??)
control c 撤銷已經(jīng)輸入的指令(不執(zhí)行已輸入的指令。情景:一段指令輸入錯誤,由于指令太長,刪除起來麻煩,可以直接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)建一個軟鏈接,軟鏈接名稱為 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方式的大一點;
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號 強制殺掉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è)置擁有者、同組者、其他人的權(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)限等價為:chmod u = rwx,g=w,o=x test.txt;
系統(tǒng)重啟、關(guān)機(jī)(定時)
sudo shutdown -h now 立即關(guān)機(jī);
sudo reboot 重啟計算機(jī);
sudo shutdown -h +10 十分鐘后自動關(guān)機(jī);
sudo shutdown -r now 重啟計算機(jī);
sudo shutdown -r +1 一分鐘后重啟計算機(jī);
vim 指令:
vim xxx.py 打開xxx.py文件,如果xxx.py文件不存在,就自動創(chuàng)建一個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 其實是剪切的功能, 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 快速回到整個代碼最后一行;
gg 快速回到代碼的第一行;
w, 以單詞進(jìn)行劃分,向后跳一個單詞的長度,調(diào)到下一個單詞的開頭;
b,向前跳一個單詞的長度,調(diào)到上一個單詞的開頭;
D 從當(dāng)前的光標(biāo)開始剪切,一直到行末;
d0 從當(dāng)前光標(biāo)開始剪切,一直到行首;
u 撤銷剛剛的操作;
control r 反撤銷;
x 刪除當(dāng)前的光標(biāo)后面的元素,每次只刪除一個元素;
X 刪除當(dāng)前光標(biāo)前面的元素,每次只刪除一個元素;
選中一片代碼:
v
V
>> 向右移動代碼;
<< 向左移動代碼;
. 重復(fù)執(zhí)行上一次命令。
{ 跳到光標(biāo)所在段的段首;
} 跳到光標(biāo)所在段的段尾;
dw 刪除光標(biāo)所在位置的這個單詞的,光標(biāo)的后面字符,包含光標(biāo)所在的字符
r 替換當(dāng)前字符;
R 替換當(dāng)前行光標(biāo)后的字符;
查找命令:
/ str查找
n 下一個
N 上一個
替換:
:%s/hello/hi/g 將hello全部替換為hi;
:11,16s/hello/hi/g 將line11~line16中的hello全部替換為hi;
末行模式:
w保存
q 退出
wq 保存并退出
shift zz 相當(dāng)于wq 。