1.linux的目錄結(jié)構(gòu)
bin:(binaries)存放二進(jìn)制可執(zhí)行文件
sbin(super user binaries)存放二進(jìn)制可執(zhí)行文件
etc:(etcetera)存放系統(tǒng)配置文件
usr(unix shared resources)用于存放共享的系統(tǒng)資源
home存放用戶(hù)文件的根目錄
root超級(jí)用戶(hù)目錄
dev(devices)存放設(shè)備文件
lib(library)存放跟文件系統(tǒng)中的程序運(yùn)行所需要的共享庫(kù)及內(nèi)核模塊
mnt(mount)系統(tǒng)管理員安裝臨時(shí)文件系統(tǒng)的安裝點(diǎn)
boot存放用于系統(tǒng)引導(dǎo)時(shí)使用的各種文件
tmp(temporary)用于存放各種臨時(shí)文件
var(variable)用于存放運(yùn)行時(shí)需要改變數(shù)據(jù)的文件
2.切換目錄命令cd
cd test 切換到test目錄
cd .. 切換到上級(jí)目錄
cd / 切換到系統(tǒng)跟目錄
cd ~ 切換到用戶(hù)主目錄
cd – 切換到上一個(gè)所在目錄
3.目錄的操作命令(增刪改查)
增加目錄:
mkdir 目錄名稱(chēng)
mkdir test 就是在當(dāng)前目錄下產(chǎn)生一個(gè)test目錄
查看目錄:
ls
ls:就是在當(dāng)前目錄下的所有目錄和文件
ls -a:可以看到該目錄下的所有文件和目錄,包括隱藏的
ls -l:可以縮寫(xiě)成ll,可以看到該目錄下的文件的詳細(xì)信息
查詢(xún)目錄:
find 目錄 參數(shù)
find/root -name ‘*test*’:查找/root下的與test相關(guān)的目錄文件
修改目錄名稱(chēng):
mv目錄名稱(chēng) 新目錄名稱(chēng)
mv oldTest newTest:在當(dāng)前目錄下將oldTest目錄的名字改為newTest
注意:mv的語(yǔ)法不僅可以對(duì)目錄進(jìn)行重命名而且也可以對(duì)各種文件,壓縮包進(jìn)行重命名操作
移動(dòng)目錄的位置(剪切):
mv 目錄名稱(chēng) 目錄的新位置
mv newTest /usr:將當(dāng)前目錄下的newTest文件剪切到usr目錄下
拷貝目錄:
cp -r 目錄名稱(chēng) 目錄拷貝的目標(biāo)位置(r代表遞歸拷貝)
cp -r /usr/newTest /test:將usr下的newTest文件拷貝到test目錄下
注意:cp命令不僅可以拷貝目錄還可以拷貝文件,壓縮包.拷貝文件和壓縮包時(shí)不用寫(xiě)-r遞歸
刪除目錄:
rm -rf 目錄
rm -rf newTest/:刪除當(dāng)前目錄下的newTest文件和它里面的所有文件,并且 不需要詢(xún)問(wèn)
4.文件的操作命令
文件的創(chuàng)建
touch 文件名稱(chēng)(空文件)
touch a.txt:在當(dāng)前目錄下創(chuàng)建一個(gè)名為a.txt的空文件
文件的查看
cat/more/less/tail 文件
使用cat只能顯示最后一屏的內(nèi)容
使用more可以顯示百分比,回車(chē)可以向下一行,空格可以向下一頁(yè),q可以退出查看
使用less可以使用鍵盤(pán)上的PgUp和PgDn向上和向下翻頁(yè),q結(jié)束查看
使用tail -f 文件 可以對(duì)某個(gè)文件進(jìn)行動(dòng)態(tài)監(jiān)控,就像tomcat的日志文件,會(huì)隨著程序的運(yùn)行,日志會(huì)變化.
修改文件的內(nèi)容
vim 文件
vim的啟動(dòng)命令:vim filename 打開(kāi)vim并創(chuàng)建一個(gè)名為filename的文件
文件命令
打開(kāi)單個(gè)文件 vim file
同時(shí)打開(kāi)多個(gè)文件:vim file1,file2……
在vim窗口打開(kāi)一個(gè)新文件:open file
在新窗口中打開(kāi)文件:split file
切換到下一個(gè)文件:bn
切換到上一個(gè)文件:bp
查看當(dāng)前打開(kāi)的文件列表,當(dāng)前正在編輯的文件會(huì)用[]括起來(lái):args
打開(kāi)遠(yuǎn)程文件,比如ftp或者share folder
:e ftp://192.168.10.76/abc.txt
:e qadrive est.txt
vim的模式
正常模式(按ESC+[鍵進(jìn)入)左下角顯示文件或?yàn)榭?br /> 插入模式(按i鍵進(jìn)入)左下角顯示–INSERT–
可視模式:左下角顯示–VISUAL–
vim的插入命令
i:在當(dāng)前位置前插入
I:在當(dāng)前行首插入
a:在當(dāng)前位置后插入
A:在當(dāng)前行尾插入
o:在當(dāng)前行之后插入
O:在當(dāng)前行之前插入
vim的查找命令
/text 查找text,按n鍵查找下一個(gè),按N鍵查找前一個(gè)
?text 查找text,反向查找,按n鍵查找下一個(gè),按N鍵查找前一個(gè)
:set ignorecase 忽略大小寫(xiě)的查找
:set noignorecase不忽略大小寫(xiě)的查找
:set hlsearch 高亮搜索結(jié)果,所有結(jié)果都高亮顯示,而不是只顯示一個(gè)匹配
:set nohlsearch關(guān)閉高亮搜索顯示
查找很長(zhǎng)的詞,如果一個(gè)詞很長(zhǎng),鍵入麻煩,可以將光標(biāo)移動(dòng)到該詞上,按*或者#鍵
即可以該單詞進(jìn)行搜索,相當(dāng)于/搜索,而#命令相當(dāng)于?搜索
vim的替換命令
ra 將當(dāng)前字符替換為a,當(dāng)前字符即光標(biāo)所在字符
s/old/new/ 用old替換new,替換當(dāng)前行的第一個(gè)匹配
s/old/new/g 用old替換new,替換當(dāng)前行的所有匹配
%s/old/new/ 用old替換new,替換所有行的第一個(gè)匹配
%s/old/new/g 用old替換new,替換整個(gè)文件的所有匹配
ddp 交換光標(biāo)所在行和其下緊鄰的一行
vim的移動(dòng)命令
h左移一個(gè)字符
l右移一個(gè)字符(一般用w代替)
k上移一個(gè)字符
j下移一個(gè)字符
以上四個(gè)命令可以配合數(shù)字使用,比如20j就是向下移動(dòng)20行
w向前移動(dòng)一個(gè)單詞,如果已到行尾,則轉(zhuǎn)至下一行行首,此命令塊,可以代替l命令
b向后移動(dòng)一個(gè)單詞,3b向后移動(dòng)三個(gè)單詞
^移動(dòng)到本行第一個(gè)非空白字符上
0(數(shù)字0)移動(dòng)到本行第一個(gè)字符上
$移動(dòng)到行尾
gg移動(dòng)到文件頭
G移動(dòng)到文件尾
f(find)命令也可以用于移動(dòng),fx將找到光標(biāo)后第一個(gè)x的字符,3fd將找到第三個(gè)為d的字符
F,同f,反向查找
:10+回車(chē):就是跳轉(zhuǎn)到10行,10G跳轉(zhuǎn)到10行
Ctrl + e向下滾動(dòng)一行
Ctrl + y向上滾動(dòng)一行
Ctrl + d向下滾動(dòng)半屏
Ctrl + u向上滾動(dòng)半屏
Ctrl + f向下滾動(dòng)一屏
Ctrl + b向上滾動(dòng)一屏
vim的撤銷(xiāo)和重做
u(Undo)撤銷(xiāo)
U撤銷(xiāo)整行的操作
Ctrl + r重做
vim的刪除命令
x 刪除當(dāng)前行
3x 刪除當(dāng)前光標(biāo)開(kāi)始向后三個(gè)字符
X刪除當(dāng)前字符的前一個(gè)字符
dl刪除當(dāng)前字符
dh刪除當(dāng)前一個(gè)字符
dd刪除當(dāng)前行
dj刪除上一行
dk刪除下一行
10d刪除當(dāng)前行開(kāi)始的10行
D刪除當(dāng)前字符至行尾
d$刪除當(dāng)前字符之后的所有字符(本行)
kdgg刪除當(dāng)前行之前所有行(不包括當(dāng)前行)
jdG(jd+shift+g)刪除當(dāng)前行之后的所有行
:1,10d:刪除1-10行
:11,$d:刪除11行以及后面的所有行
:1,$d:刪除所有行
J:合并兩行
vim的拷貝和粘貼
yy拷貝當(dāng)前行
nyy拷貝當(dāng)前行開(kāi)始的n行
p在當(dāng)前光標(biāo)后粘貼,如果之前使用了yy命令來(lái)復(fù)制一行,那么就在當(dāng)前行的下一行進(jìn)行粘貼
P在當(dāng)前行前粘貼
:1,10 co 20 將1-10行插入到第20行
:1,$ co $將整個(gè)文件復(fù)制一份并添加到末尾
ddp交換當(dāng)前行和其下一行
xp交換當(dāng)前字符和其后一個(gè)字符
vim的剪切命令
正常模式下按v(逐字)或V(逐行)進(jìn)入可視模式,然后用jklh命令移動(dòng)即可選擇某些行或字符,再按d即可剪切
ndd剪切當(dāng)前行之后的n行,利用p命令可以對(duì)剪切的內(nèi)容進(jìn)行粘貼
:1,10d將1-10行剪切,利用p命令可將剪切后的內(nèi)容進(jìn)行粘貼
:1,10 m 20將第1-10行移動(dòng)到20行之后
vim退出命令
:wq保存并退出
:ZZ保存并退出
:q!強(qiáng)制退出并忽略所有更改
:e!放棄所有更改,并打開(kāi)原來(lái)文件
vim的窗口命令
:split或new 打開(kāi)一個(gè)新窗口,光標(biāo)在頂層的窗口上
:split file或:new file 用新窗口打開(kāi)文件
split打開(kāi)的窗口都是橫向的,使用vsplit可以縱向打開(kāi)窗口
Ctrl + ww 移動(dòng)到下一個(gè)窗口
Ctrl + wj 移動(dòng)到下方的窗口
Ctrl + wk 移動(dòng)到上方的窗口
:close 最后一個(gè)窗口不能使用此命令,可以防止意外退出vim
:q 如果是最后一個(gè)被關(guān)閉的窗口,那么將退出vim
vim執(zhí)行shell命令
:!ls 列出當(dāng)前目錄 下文件
:!perl -c script.pl 檢查perl腳本語(yǔ)法,可以不用退出vim
:!perl scrip.pl 執(zhí)行perl腳本,可以不用退出vim
:suspend或Ctrl + Z 掛起vim,回到shell,按fg可以返回vim
vim的注釋命令
perl程序中#開(kāi)始的行為注釋,所以要注釋某些行,只需在行首加入#
3,5 s/^/#/g 注釋第3-5行
3,5 s/^/#//g 解除3-5行的注釋
1,$ s/^/#/g 注釋整個(gè)文檔
:%s/^/#/g 注釋整個(gè)文檔,
vim的幫助命令
:help or F1 顯示整個(gè)幫助
:help xxx 顯示xxx的幫助
:help ‘number’ vim選項(xiàng)的幫助用單引號(hào)括起
:help
:help -t vim啟動(dòng)參數(shù)的幫助用-
vim其他非編輯命令
.重復(fù)前一次命令
:set ruler? 查看是否設(shè)置了ruler,在.vimrc中,使用set命令設(shè)置的選項(xiàng)都可以通過(guò)這個(gè)命令查看
:scriptnames 查看vim腳本文件的位置,比如.vimrc文件,語(yǔ)法文件及plugin等.
:set list 顯示非打印字符,如tab,空格,行尾,如果tab無(wú)法顯示,請(qǐng)確定用set
:syntax 列出已經(jīng)定義的語(yǔ)法項(xiàng)
:syntax clear 清除已定義的語(yǔ)法規(guī)則
:syntax case match 大小寫(xiě)敏感,int和Int將視為不同的語(yǔ)法元素
:syntax case ignore 大小寫(xiě)無(wú)關(guān),int和Int將視為相同的語(yǔ)法元素,并使用同樣的配色方案
5.打壓文件的操作命令
linux中的打包文件一般是以.tar結(jié)尾的,壓縮的命令一般是以.gz結(jié)尾的,而一般情況下打包和壓縮是一起進(jìn)行的,
打包并壓縮后的文件的后綴名一般.tar.gz
tar -zcvf 打包壓縮后的文件名 要打包壓縮的文件,z代表用gzip壓縮命令進(jìn)行壓縮,c代表打包文件,v顯示運(yùn)行過(guò)程,f代表指定文件名
tar -zcvf xxx.tar.gz a.txt b.txt:打包當(dāng)前目錄下的a.txt和b.txt文件成名為xxx.tar.gz壓縮文件
解壓壓縮包:tar -xvf,x代表解壓,
tar -xvf xxx.tar.gz:將當(dāng)前目錄下名為xxx.tar.gz的壓縮文件解壓
tar -xvf xxx.tar.gz -C/usr,C代表指定解壓的位置,這段代表將這個(gè)文件解壓到usr文件下
6.其他命令
pwd:顯示當(dāng)前所在位置
grep要搜索的字符串,要搜索的文件
grep to test.conf:搜索當(dāng)前目錄下的test.conf文件中的包含字符串to的行
| 將前一個(gè)命令的輸出作為本次目錄的輸入
ps -ef | grep system :代表乍看當(dāng)前系統(tǒng)中所有的進(jìn)程中包括system字符串的進(jìn)程
ps -ef 查看當(dāng)前系統(tǒng)中運(yùn)行的進(jìn)程
kill -9 進(jìn)程的pid 殺死進(jìn)程
7.網(wǎng)絡(luò)通信命令
查看當(dāng)前系統(tǒng)的網(wǎng)卡信息:ifconfig
查看與某臺(tái)機(jī)的連接情況:ping
查看當(dāng)前系統(tǒng)的端口使用:netstat -an
8.linux的權(quán)限命令
每個(gè)文件/目錄等都具有權(quán)限,通過(guò)ls -|命令我們可以查看某個(gè)目錄下的文件或目錄的權(quán)限
r讀取權(quán)
w寫(xiě)入權(quán)
x執(zhí)行權(quán)
-無(wú)操作權(quán)
最前面的符號(hào):d代表目錄,-代表文件,|代表連接(可以認(rèn)為是window中的快捷方式)
chmod u=rwx,g=rw,o=r aaa.txt:代表修改當(dāng)前目錄下aaa.txt文件的權(quán)限為屬主有全部權(quán)限,屬組所在的組有讀寫(xiě)權(quán)限,其他用戶(hù)為只讀