一.Linux常用基礎(chǔ)命令
1.tree命令:以樹狀形式查看指定目錄內(nèi)容(只能查看目錄內(nèi)容知押,不能查看文件內(nèi)容)
tree --以樹形結(jié)構(gòu)顯示當(dāng)前目錄下的文件信息
tree 目錄 --樹形結(jié)構(gòu)顯示指定目錄下的文件信息
2.clear :清屏操作
3.ls :查看當(dāng)前文件夾下的內(nèi)容
#1)使用方法
ls--顯示當(dāng)前目錄下文件信息
ls 目錄或文件名 --顯示指定目錄下文件信息
#2)相關(guān)參數(shù)
-a:顯示指定目錄下所有子目錄與文件数初,包含隱藏文件
-R:遞歸方式列出所有目錄中的內(nèi)容
-h:配合-l以人性的方式顯示文件大小
-l:以列表方式顯示文件的詳細(xì)信息
#3)文件類型(根據(jù)第一個(gè)字符判斷)
-: 普通文件
d : 目錄
l : 符號鏈接,相當(dāng)于windows中的快捷方式
s : 套接字
p : 管道
b : 塊設(shè)備
c : 字符設(shè)備
#4)用戶的操作權(quán)限(2-10個(gè)字符)
其他人對文件的操作權(quán)限(8蝙茶,9叁执,10個(gè)字符)
文件所有者對文件的操作權(quán)限(2,3蚁阳,4個(gè)字符)
文件所屬組用戶對文件的操作權(quán)限(5,6鸽照,7個(gè)字符)
#5)參數(shù)之間結(jié)合使用:
ls -la:列出當(dāng)前目錄下所有文件的相關(guān)信息螺捐,包括隱藏文件
ls-ltr:列出當(dāng)前目錄下的文件,按照時(shí)間逆向排序
#6)通配符
*:表示0個(gè)或多個(gè)字符
?:表示任一字符
[a-z]:表示a-zde任一字符矮燎,若是0-9表示任一數(shù)字字符
[abcd]:表示a|b|c|d任一字母
4.cd 切換目錄定血,命令使用方式:cd+路徑
# 1)切換到家目錄
cd
cd ~
cd /home
cd $HOME
# 2)回到上次目錄
cd -
5.pwd:查看用戶當(dāng)前所處的工作目錄
6.which:顯示命令所在的目錄
7.touch:如果文件存在,更新文件的最后修改時(shí)間诞外,如果文件不存在澜沟,創(chuàng)建新文件(touch文件名)
8.mkdir:創(chuàng)建文件夾(mkdir -p aa/bb/cc 創(chuàng)建多級目錄)
9.rmdir:只能刪除空文件夾
10.rm:刪除文件
-r 刪除目錄名
-i 提示用戶是否刪除文件或目錄
-f強(qiáng)制刪除()以此刪除的文件或目錄不會(huì)放入回收站中,數(shù)據(jù)不易恢復(fù)
11.cp源目錄或文件 目錄或文件(若有目錄拷貝需要用-r 參數(shù); 用-a參數(shù)峡谊,可以保留被拷貝文件的一些屬性信息 )
cp 要拷貝的文件(file1) file(不存在)茫虽; 創(chuàng)建file, 將file1中的內(nèi)容拷貝到file
cp file1 file(存在); file1 覆蓋 file
cp file dir(存在)既们;拷貝file 到 dir 目錄
cp - r dir(存在) dir1(存在)濒析; 將dir (包含)目錄拷貝到dir1目錄中
cp - r dir (存在) dir1(不存在); 創(chuàng)建dir1, 將dir (不包含)中的內(nèi)容拷貝到dir1中
12.mv改名或者移動(dòng)文件(mv file1 file2)
#1).改名
mv file(存在) file1(不存在)
mv dir(存在) dir1(不存在)
mv file(存在) file2(存在):file文件覆蓋file2文件啥纸,file 改名為file2
#2).移動(dòng)
mv file(文件) dir(存在的目錄):將file 文件移動(dòng)到dir中
mv fir(目錄存在) dir1(目錄存在):將dir移動(dòng)到dir1中号杏,dir就會(huì)作為dir1的子目錄而存在
13.cat(查看):將文件內(nèi)容一次性輸出到終端,使用方式 cat 文件名脾拆,缺點(diǎn):終端顯示的內(nèi)容有限馒索,如果文件太長無法全部顯示
14.more:將文件內(nèi)容顯示到終端,但是只能一直向下瀏覽名船,不能回退绰上,使用方式 more 文件名
顯示下一行:回車
顯示下一頁:空格
退出:q(ctrl+c)
15.less :文件內(nèi)容分頁顯示到終端,可以自由上下瀏覽渠驼。使用方式:less 文件名
顯示下一行:回車蜈块、ctrl+p胳赌、鍵盤向下鍵
顯示上一行:ctrl+n褪子、鍵盤向上鍵
顯示下一頁:空格、PageDown
顯示上一頁:PageUp
退出:q
16.head:從文件頭部開始查看前n行的內(nèi)容
#使用方式 如果沒有指定行數(shù)奕剃,默認(rèn)顯示前10行
head -n[行數(shù)] 文件名
17.tail:從文件尾部向上查看最后n行的內(nèi)容
#使用方式 如果沒有指定行數(shù)蜓席,默認(rèn)顯示最后10行內(nèi)容
tail -n[行數(shù)] 文件名
18.重定向
# 文件存在覆蓋
ls -l > text.log 2>&1
# 文件存在器一,在末尾追加
ls -l >> test.log 2>&1
19.管道:一個(gè)命令的輸出可以通過管道作為另一個(gè)管道的輸入(參數(shù))
20.軟連接
1) ln -s 文件名 快捷方式的名字
2) 目錄也可以創(chuàng)建軟連接
3) 注意事項(xiàng)
<1>ln創(chuàng)建軟連接要用絕對路徑,因?yàn)槿绻皇褂媒^對路徑厨内,一旦這個(gè)連接文件發(fā)生位置變動(dòng)祈秕,就不能找到那個(gè)文件了
<2>軟連接文件的大小是:路徑+文件名的總字節(jié)數(shù)
21.硬連接
1)ln 文件名 硬連接的名字
2)本質(zhì):不同文件名所在的inode節(jié)點(diǎn)是相同的渺贤,相同的inode節(jié)點(diǎn)指向了相同的數(shù)據(jù)塊,所以他們的文件內(nèi)容是一樣的请毛,文件內(nèi)容會(huì)同步
3)注意事項(xiàng)
<1>不能建在目錄上
<2>對絕對路徑?jīng)]有要求
<3>不能跨文件系統(tǒng)
4)應(yīng)用場景
<1>可以起到同步的作用(修改file的內(nèi)容志鞍,會(huì)在其余三個(gè)硬連接文件上同步)
<2>可以起到保護(hù)文件的作用(刪除文件的時(shí)候,只要硬連接計(jì)數(shù)比不為0方仿,不會(huì)真正刪除)
22.wc:顯示文件行數(shù)固棚,字節(jié),單詞數(shù)
1) wc -l file 顯示文件的總行數(shù)
2) wc -c file 顯示文件的總字節(jié)數(shù)
3) wc -w file 顯示文件的總單詞數(shù)
4) wc file 顯示文件的總行數(shù)仙蚜,單詞數(shù)和總字節(jié)數(shù)
23.whoami:顯示當(dāng)前登錄的用戶名
24.who:查看當(dāng)前所有登錄系統(tǒng)的用戶信息
25.shutdown | reboot | init
reboot:重啟系統(tǒng)
shutdown -r now:重啟系統(tǒng)此洲,shotdown會(huì)給別的用戶提示
shutdown -h now:立刻關(guān)機(jī)
shutdown -h 15:30:系統(tǒng)在今天的15:30會(huì)關(guān)機(jī)
shutdown -h + 10:再過十分后自動(dòng)關(guān)機(jī)
init 0: 關(guān)機(jī)
26.exit:退出當(dāng)前登錄的終端或者遠(yuǎn)程終端或者 su 切換的用戶
27.passwd:修改用戶密碼
28.sudo臨時(shí)獲得root權(quán)限(sudo 命令--會(huì)提示用戶輸入當(dāng)前用戶的密碼)
29.ssh
ssh要登錄的用戶名@ip, 然后提示輸入密碼
30. ftp
ftp ip,然后提示輸入用戶名和密碼,然后就登錄到了遠(yuǎn)程服務(wù)器上鳍征,get是下載黍翎, put是上傳文件
例:ftp localhost-->密碼--->pwd-->cd day02-->get a03.txt (下載)
例:ftp localhost-->密碼--->pwd-->cd day02-->put 23.txt (上傳)
31.scp:遠(yuǎn)程拷貝文件,若拷貝目錄需要 -r 參數(shù)
1) scp -r mytest@ip:/home/mytest/.... 本地目錄
例: scp python@localhost:/home/python/day02/a03.txt ./
2) scp -r filename 遠(yuǎn)程機(jī)器用戶@ip:路徑
例:scp 23.txt python@localhost:/home/python/day02/
二.用戶權(quán)限艳丛、用戶、用戶組
1.chmod 修改文件權(quán)限
1) 文字設(shè)定法
命令:chmod [who] [+|-|=] [mode] 文件名
操作對象【who】
u -- 用戶(user)
g -- 同組用戶(group)
o -- 其他用戶(other)
a -- 所用用戶(all)【默認(rèn)】
操作符【+-=】
+ -- 添加權(quán)限
- -- 取消權(quán)限
= -- 賦予給定權(quán)限并取消其他權(quán)限
權(quán)限【mode】
r -- 讀
w -- 寫
x -- 執(zhí)行
2)數(shù)字設(shè)定法
命令:chmod [+|-|=][mode] 文件名
操作符【+-=】
+ -- 添加權(quán)限
- -- 取消權(quán)限
= -- 賦予給定權(quán)限并取消其他權(quán)限 (默認(rèn)為=)
數(shù)字表示的含義
0 -- 沒有權(quán)限(-)
1 -- 執(zhí)行權(quán)限(x)
2 -- 寫權(quán)限(w)
4 -- 讀權(quán)限(r)
2.chown :修改文件所有者和所屬組
1) 修改文件所有者用法:chown 文件所有者 文件名
sudo chown mytest file.txt
2) 修改文件所有者和所屬組用法:chown 文件所有者:文件所屬組 文件名
sudo chown mytest:mytest file.txt
3.chgrp:修改文件所屬組
使用方法:chgrp 用戶組 文件或目錄
sudo chgrp mytest file.txt
4.find
1)按文件名查詢 -name
find 路徑 -name "文件名"
2)按文件類型查詢 -type
find 路徑 -type 類型(普通類型用f表示而不是 -)
3) 按文件大小查詢 -size
命令:find 路徑 -size 范圍
范圍
大于:+表示 -- +100k
小于:-表示 -- -100k
等于: 不需要添加符號 -- 100k
大小
M 必須大寫(10M)
k 必須小寫(20k)
c 表示字節(jié)數(shù)
4)按文件日期
創(chuàng)建日期:-ctime -n/+ n
-n: n天以內(nèi)
+n: n天以外
修改日期:-mtime -n/+n
訪問日期:-atime -n/+n
5) 高級查詢
find ./ -type d -exec shell命令 {} \;
find ./ -type d -exec ls -l {} \;
find ./ -type d -ok shell命令 {} \;
find ./ -type d -exec ls -l {} \;
find ./ -type d -ok shell命令 {} \;
find ./ -type d -ok ls -l {} \;
ok比較安全, 特別是在執(zhí)行rm刪除文件的時(shí)候.
find ./ -type d | xargs shell命令
find ./ -type d | xargs ls -l
5. grep
l grep -r(有目錄) “查找的內(nèi)容” 搜索的路徑
-r參數(shù), 若是目錄, 則可以遞歸搜索
-n參數(shù)可以顯示該查找內(nèi)容所在的行號
-i參數(shù)可以忽略大小寫進(jìn)行查找
-v參數(shù)不顯示含有某字符串
2 搜索當(dāng)前目錄下包含hello world字符串的文件
grep -r -n "hello world" ./ ------顯示行號
grep -r -i -n "HELLO world" ./ -------忽略大小小查找
3 先使用find命令查找文件, 然后使用grep命令查找哪些文件包含某個(gè)字符串
find . -name "*.c" | xargs grep -n "main"
6.壓縮工具
l gzip和bzip2
不能壓縮目錄趟紊,只能一個(gè)一個(gè)文件進(jìn)行壓縮氮双,壓縮之后會(huì)使原文件消失
gzip * 壓縮當(dāng)前目錄下所有的文件, 但是目錄不能壓縮
gunzip * 解壓當(dāng)前目錄下所有的.gz文件
bzip2 * 壓縮當(dāng)前目錄下所有的文件, 但是目錄不能壓縮
bunzip2 * 解壓當(dāng)前目錄下所有的. bz2文件
2 tar工具(*****)
相關(guān)參數(shù)說明
z:用gzip來壓縮/解壓縮文件
j:用bzip2來壓縮/解壓縮文件
c:create, 創(chuàng)建新的壓縮文件, 與x互斥使用
x:從壓縮文件中釋放文件, 與c互斥使用
v:詳細(xì)報(bào)告tar處理的文件信息
f:指定壓縮文件的名字
t: 查看壓縮包中有哪些文件
3 壓縮:
tar cvf 壓縮包名字.tar 原材料[要打包壓縮的文件或目錄]
tar zcvf 壓縮包名字.tar.gz 原材料[要打包壓縮的文件或目錄]
tar jcvf 壓縮包名字.tar.bz2 原材料[要打包壓縮的文件或目錄]
4 解壓縮:
tar xvf 已有的壓縮包(test.tar.gz)tar
tar zxvf 已有的壓縮包(test.tar.gz)
tar jxvf 已有的壓縮包(test.tar.bz2)
解壓到指定目錄:添加參數(shù) -C(大寫)
tar zxvf test.tar.gz -C 解壓目錄(./mytest)
5 查看壓縮包中有哪些文件
tar -tvf test.tar
6 zip工具
壓縮:zip -r 壓縮包名 要壓縮的文件(含文件或目錄)
壓縮目錄需要使用參數(shù)-r
使用該命令不需要指定壓縮包后綴
zip -r xxx file dir ---生成xxx.zip文件
解壓縮:unzip壓縮包名
解壓縮到指定目錄:添加參數(shù) –d 解壓目錄
unzip xxx.zip -d /home/itcast/test/day1
注意:解壓目錄若不存在則會(huì)創(chuàng)建.
7.軟件的安裝卸載
1.在線安裝
軟件安裝:sudo apt-get install 軟件名
軟件卸載:sudo apt-get remove 軟件名
更新軟件列表:sudo apt-get update
清理安裝包:sudo apt-get clean
清理的是緩存路徑:/var/cache/apt/archives
2 軟件包安裝
在Ubuntu系統(tǒng)下必須有deb格式的安裝包
軟件安裝
sudo dpkg -i xxx.deb
軟件卸載
sudo dpkg –r 軟件名
8.vim
1). 三種基本工作模式:命令模式、文本輸入模式霎匈、末行模式
2). 命令模式:用戶按下ESC鍵戴差, 就可以使vi進(jìn)入命令模式下
快捷鍵 |
操作 |
h |
光標(biāo)左移 |
j |
光標(biāo)下移 |
k |
光標(biāo)上移 |
l |
光標(biāo)右移 |
M |
移動(dòng)光標(biāo)到中間行 |
gg |
光標(biāo)移動(dòng)到文件開頭 |
G/L |
光標(biāo)移動(dòng)到文件末尾的行首 |
O |
光標(biāo)移到行首 |
$ |
光標(biāo)移到行尾 |
nG |
行跳轉(zhuǎn),例12G铛嘱,跳到12行處 |
快捷鍵 |
操作 |
x |
刪除光標(biāo)后一個(gè)字符暖释,相當(dāng)于Del |
X |
刪除光標(biāo)前一個(gè)字符,相當(dāng)于Backspace |
dw |
刪除光標(biāo)開始位置的字墨吓,包含光標(biāo)所在字符 |
D[d$] |
刪除光標(biāo)后本行所有內(nèi)容球匕,包含光標(biāo)所在字符 |
dd |
刪除光標(biāo)所在行(本質(zhì)其實(shí)是剪切) |
ndd |
從光標(biāo)當(dāng)前行向下刪除指定的行數(shù),如15dd |
v/ctrl+v |
使用h帖烘、j亮曹、k、l移動(dòng)選擇內(nèi)容秘症,然后按d刪除其中ctrl+v是列模式照卦,v為非列模式 |
快捷鍵 |
操作 |
u |
一步一步撤銷,相當(dāng)于word文檔ctrl+z |
ctrl-r |
反撤銷乡摹,相當(dāng)于word文檔的ctrl+y |
快捷鍵 |
操作 |
yy |
復(fù)制當(dāng)前行 |
nyy |
復(fù)制n行役耕,如10yy |
p |
在光標(biāo)所在位置向下新開辟一行,粘貼 |
P |
在光標(biāo)所在位置向上新開辟一行聪廉,粘貼 |
剪切操作 |
按dd或者ndd刪除瞬痘,將刪除的行保存到剪貼板中故慈,然后按p/P就可以粘貼了 |
快捷鍵 |
操作 |
v/ctrl+v |
使用h、j图云、k惯悠、l移動(dòng)選擇內(nèi)容;使用d刪除 使用y賦值 使用p粘貼到光標(biāo)的后面 使用P粘貼到光標(biāo)的前面 |
快捷鍵 |
操作 |
r |
替換當(dāng)前字符 |
R |
替換當(dāng)前行光標(biāo)后的字符 |
快捷鍵 |
操作 |
>> |
文本行右移 |
<< |
文本行左移動(dòng) |
快捷鍵 |
操作 |
/ |
/xxxx, 從光標(biāo)所在位置開始搜索竣况,按n向下搜索克婶,按N向上搜索 |
? |
丹泉?xxxx, 從光標(biāo)所在的到位置開始搜索情萤,按n向上搜索,按N向下搜索 |
3). 文本輸入模式:從命令模式切換到文本輸入模式模式只需輸入如下命令:
快捷鍵 |
操作 |
i |
在光標(biāo)前插入 |
a |
在光標(biāo)后插入 |
I |
在光標(biāo)所在行的行首插入 |
A |
在光標(biāo)所在行的行尾插入 |
o |
在光標(biāo)所在的行的下面新創(chuàng)建一行摹恨,行首插入 |
O |
在光標(biāo)所在的行的上面新創(chuàng)建一行筋岛,行首插入 |
s |
刪除光標(biāo)后邊的字符,從光標(biāo)當(dāng)前位置插入 |
S |
刪除光標(biāo)所在當(dāng)前行晒哄,從行首插入 |
按列模式插入 |
先按ctrl+v進(jìn)入列模式睁宰,按hjkl移動(dòng)選定某列,按I或者shift+i 向前插入寝凌,然后插入字符柒傻,最后按兩次esc |
4). 末行模式:從命令模式切換的末行模式,輸入冒號(:)
快捷鍵 |
操作 |
q |
退出 |
q! |
強(qiáng)制退出较木,不保存修改內(nèi)容 |
w |
保存修改內(nèi)容红符,不退出 |
wq |
保存并退出 |
x |
相當(dāng)與wq |
快捷鍵 |
操作 |
:s/old/new/ |
光標(biāo)所在行的第一個(gè)old替換為new |
:s/old/new/g |
光標(biāo)所在行的所有old替換為new |
:m, ns/old/new/g |
將第m行至第n行之間的old全部替換成new |
:%s/old/new/g |
當(dāng)前文件的所有old替換為new |
:1, $s/old/new/g |
當(dāng)前文件愛你的所有old替換為new |
:%s/old/new/gc |
同上,但是每次替換需要用戶確認(rèn) |
下面表格中old表示原字符串伐债,new表示新字符串
快捷鍵 |
操作 |
:s/old/new/ |
光標(biāo)所在行的第一個(gè)old替換為new |
:s/old/new/g |
光標(biāo)所在行的所有old替換為new |
:m, ns/old/new/g |
將第m行至第n行之間的old全部替換成new |
:%s/old/new/g |
當(dāng)前文件的所有old替換為new |
:1, $s/old/new/g |
當(dāng)前文件愛你的所有old替換為new |
:%s/old/new/gc |
同上预侯,但是每次替換需要用戶確認(rèn) |
快捷鍵 |
操作 |
ctr+u |
向上翻半屏 |
ctrl+d |
向下翻半屏 |
ctrl+f |
向上翻一屏 |
ctrl+b |
向后翻一屏 |
5). 分屏:在末行模式下執(zhí)行shell命令,峰锁!shell命令 按下兩次esc可以回到命令模式萎馅;從末行模式切換回命令模式,按兩次ESC,退格(backspace)或者回車鍵
* 在打開文件之后分屏
快捷鍵 |
操作 |
sp |
當(dāng)前文件水平分屏 |
vsp |
當(dāng)前文件垂直分屏 |
sp 文件名 |
當(dāng)前文件和另一個(gè)文件水平分屏 |
vsp 文件名 |
當(dāng)前文件和另一個(gè)文件垂直分屏 |
ctrl-w-w |
在多個(gè)窗口切換光標(biāo) |
wall/wqall/xall/qall/qall! |
保存/保存退出/保存退出/退出/強(qiáng)制退出分屏窗口 |
分屏: vim -on file1 file2...
垂直分屏: vim -On file1 file2 ...
注意 : n可以省略祖今,有幾個(gè)文件就分即屏
6).vim的配置文件
用戶級別配置文件
~/.vimrc, 修改用戶級別的配置文件只會(huì)影響當(dāng)前用戶, 不會(huì)影響其他的用戶.
例如: 在用戶的家目錄下的.vimrc文件中添加
set tabstop=4 ----設(shè)置縮進(jìn)4個(gè)空格
set nu ----設(shè)置行號
set shiftwidth=4 ---設(shè)置gg=G縮進(jìn)4個(gè)空格, 默認(rèn)是縮進(jìn)8個(gè)空格
系統(tǒng)級別配置文件
/etc/vim/vimrc, 修改了系統(tǒng)級別的配置文件將影響系統(tǒng)下的所有用戶.
說明: 由于linux是多用戶操作系統(tǒng), 建議只在用戶級別的配置文件下進(jìn)行修改, 不要影響其他用戶.
一.Linux常用基礎(chǔ)命令
1.tree命令:以樹狀形式查看指定目錄內(nèi)容(只能查看目錄內(nèi)容校坑,不能查看文件內(nèi)容)
tree --以樹形結(jié)構(gòu)顯示當(dāng)前目錄下的文件信息
tree 目錄 --樹形結(jié)構(gòu)顯示指定目錄下的文件信息
2.clear :清屏操作
3.ls :查看當(dāng)前文件夾下的內(nèi)容
#1)使用方法
ls--顯示當(dāng)前目錄下文件信息
ls 目錄或文件名 --顯示指定目錄下文件信息
#2)相關(guān)參數(shù)
-a:顯示指定目錄下所有子目錄與文件,包含隱藏文件
-R:遞歸方式列出所有目錄中的內(nèi)容
-h:配合-l以人性的方式顯示文件大小
-l:以列表方式顯示文件的詳細(xì)信息
#3)文件類型(根據(jù)第一個(gè)字符判斷)
-: 普通文件
d : 目錄
l : 符號鏈接千诬,相當(dāng)于windows中的快捷方式
s : 套接字
p : 管道
b : 塊設(shè)備
c : 字符設(shè)備
#4)用戶的操作權(quán)限(2-10個(gè)字符)
其他人對文件的操作權(quán)限(8耍目,9,10個(gè)字符)
文件所有者對文件的操作權(quán)限(2徐绑,3邪驮,4個(gè)字符)
文件所屬組用戶對文件的操作權(quán)限(5,6傲茄,7個(gè)字符)
#5)參數(shù)之間結(jié)合使用:
ls -la:列出當(dāng)前目錄下所有文件的相關(guān)信息毅访,包括隱藏文件
ls-ltr:列出當(dāng)前目錄下的文件沮榜,按照時(shí)間逆向排序
#6)通配符
*:表示0個(gè)或多個(gè)字符
?:表示任一字符
[a-z]:表示a-zde任一字符,若是0-9表示任一數(shù)字字符
[abcd]:表示a|b|c|d任一字母
4.cd 切換目錄喻粹,命令使用方式:cd+路徑
# 1)切換到家目錄
cd
cd ~
cd /home
cd $HOME
# 2)回到上次目錄
cd -
5.pwd:查看用戶當(dāng)前所處的工作目錄
6.which:顯示命令所在的目錄
7.touch:如果文件存在蟆融,更新文件的最后修改時(shí)間,如果文件不存在守呜,創(chuàng)建新文件(touch文件名)
8.mkdir:創(chuàng)建文件夾(mkdir -p aa/bb/cc 創(chuàng)建多級目錄)
9.rmdir:只能刪除空文件夾
10.rm:刪除文件
-r 刪除目錄名
-i 提示用戶是否刪除文件或目錄
-f強(qiáng)制刪除()以此刪除的文件或目錄不會(huì)放入回收站中型酥,數(shù)據(jù)不易恢復(fù)
11.cp源目錄或文件 目錄或文件(若有目錄拷貝需要用-r 參數(shù); 用-a參數(shù),可以保留被拷貝文件的一些屬性信息 )
cp 要拷貝的文件(file1) file(不存在)查乒; 創(chuàng)建file, 將file1中的內(nèi)容拷貝到file
cp file1 file(存在)弥喉; file1 覆蓋 file
cp file dir(存在);拷貝file 到 dir 目錄
cp - r dir(存在) dir1(存在)玛迄; 將dir (包含)目錄拷貝到dir1目錄中
cp - r dir (存在) dir1(不存在)由境; 創(chuàng)建dir1, 將dir (不包含)中的內(nèi)容拷貝到dir1中
12.mv改名或者移動(dòng)文件(mv file1 file2)
#1).改名
mv file(存在) file1(不存在)
mv dir(存在) dir1(不存在)
mv file(存在) file2(存在):file文件覆蓋file2文件,file 改名為file2
#2).移動(dòng)
mv file(文件) dir(存在的目錄):將file 文件移動(dòng)到dir中
mv fir(目錄存在) dir1(目錄存在):將dir移動(dòng)到dir1中蓖议,dir就會(huì)作為dir1的子目錄而存在
13.cat(查看):將文件內(nèi)容一次性輸出到終端虏杰,使用方式 cat 文件名,缺點(diǎn):終端顯示的內(nèi)容有限勒虾,如果文件太長無法全部顯示
14.more:將文件內(nèi)容顯示到終端嘹屯,但是只能一直向下瀏覽,不能回退从撼,使用方式 more 文件名
顯示下一行:回車
顯示下一頁:空格
退出:q(ctrl+c)
15.less :文件內(nèi)容分頁顯示到終端,可以自由上下瀏覽钧栖。使用方式:less 文件名
顯示下一行:回車低零、ctrl+p、鍵盤向下鍵
顯示上一行:ctrl+n拯杠、鍵盤向上鍵
顯示下一頁:空格掏婶、PageDown
顯示上一頁:PageUp
退出:q
16.head:從文件頭部開始查看前n行的內(nèi)容
#使用方式 如果沒有指定行數(shù),默認(rèn)顯示前10行
head -n[行數(shù)] 文件名
17.tail:從文件尾部向上查看最后n行的內(nèi)容
#使用方式 如果沒有指定行數(shù)潭陪,默認(rèn)顯示最后10行內(nèi)容
tail -n[行數(shù)] 文件名
18.重定向
# 文件存在覆蓋
ls -l > text.log 2>&1
# 文件存在雄妥,在末尾追加
ls -l >> test.log 2>&1
19.管道:一個(gè)命令的輸出可以通過管道作為另一個(gè)管道的輸入(參數(shù))
20.軟連接
1) ln -s 文件名 快捷方式的名字
2) 目錄也可以創(chuàng)建軟連接
3) 注意事項(xiàng)
<1>ln創(chuàng)建軟連接要用絕對路徑,因?yàn)槿绻皇褂媒^對路徑依溯,一旦這個(gè)連接文件發(fā)生位置變動(dòng)老厌,就不能找到那個(gè)文件了
<2>軟連接文件的大小是:路徑+文件名的總字節(jié)數(shù)
21.硬連接
1)ln 文件名 硬連接的名字
2)本質(zhì):不同文件名所在的inode節(jié)點(diǎn)是相同的,相同的inode節(jié)點(diǎn)指向了相同的數(shù)據(jù)塊黎炉,所以他們的文件內(nèi)容是一樣的枝秤,文件內(nèi)容會(huì)同步
3)注意事項(xiàng)
<1>不能建在目錄上
<2>對絕對路徑?jīng)]有要求
<3>不能跨文件系統(tǒng)
4)應(yīng)用場景
<1>可以起到同步的作用(修改file的內(nèi)容,會(huì)在其余三個(gè)硬連接文件上同步)
<2>可以起到保護(hù)文件的作用(刪除文件的時(shí)候慷嗜,只要硬連接計(jì)數(shù)比不為0淀弹,不會(huì)真正刪除)
22.wc:顯示文件行數(shù)丹壕,字節(jié),單詞數(shù)
1) wc -l file 顯示文件的總行數(shù)
2) wc -c file 顯示文件的總字節(jié)數(shù)
3) wc -w file 顯示文件的總單詞數(shù)
4) wc file 顯示文件的總行數(shù)薇溃,單詞數(shù)和總字節(jié)數(shù)
23.whoami:顯示當(dāng)前登錄的用戶名
24.who:查看當(dāng)前所有登錄系統(tǒng)的用戶信息
25.shutdown | reboot | init
reboot:重啟系統(tǒng)
shutdown -r now:重啟系統(tǒng)菌赖,shotdown會(huì)給別的用戶提示
shutdown -h now:立刻關(guān)機(jī)
shutdown -h 15:30:系統(tǒng)在今天的15:30會(huì)關(guān)機(jī)
shutdown -h + 10:再過十分后自動(dòng)關(guān)機(jī)
init 0: 關(guān)機(jī)
26.exit:退出當(dāng)前登錄的終端或者遠(yuǎn)程終端或者 su 切換的用戶
27.passwd:修改用戶密碼
28.sudo臨時(shí)獲得root權(quán)限(sudo 命令--會(huì)提示用戶輸入當(dāng)前用戶的密碼)
29.ssh
ssh要登錄的用戶名@ip, 然后提示輸入密碼
30. ftp
ftp ip,然后提示輸入用戶名和密碼,然后就登錄到了遠(yuǎn)程服務(wù)器上沐序,get是下載琉用, put是上傳文件
例:ftp localhost-->密碼--->pwd-->cd day02-->get a03.txt (下載)
例:ftp localhost-->密碼--->pwd-->cd day02-->put 23.txt (上傳)
31.scp:遠(yuǎn)程拷貝文件,若拷貝目錄需要 -r 參數(shù)
1) scp -r mytest@ip:/home/mytest/.... 本地目錄
例: scp python@localhost:/home/python/day02/a03.txt ./
2) scp -r filename 遠(yuǎn)程機(jī)器用戶@ip:路徑
例:scp 23.txt python@localhost:/home/python/day02/
二.用戶權(quán)限薄啥、用戶辕羽、用戶組
1.chmod 修改文件權(quán)限
1) 文字設(shè)定法
命令:chmod [who] [+|-|=] [mode] 文件名
操作對象【who】
u -- 用戶(user)
g -- 同組用戶(group)
o -- 其他用戶(other)
a -- 所用用戶(all)【默認(rèn)】
操作符【+-=】
+ -- 添加權(quán)限
- -- 取消權(quán)限
= -- 賦予給定權(quán)限并取消其他權(quán)限
權(quán)限【mode】
r -- 讀
w -- 寫
x -- 執(zhí)行
2)數(shù)字設(shè)定法
命令:chmod [+|-|=][mode] 文件名
操作符【+-=】
+ -- 添加權(quán)限
- -- 取消權(quán)限
= -- 賦予給定權(quán)限并取消其他權(quán)限 (默認(rèn)為=)
數(shù)字表示的含義
0 -- 沒有權(quán)限(-)
1 -- 執(zhí)行權(quán)限(x)
2 -- 寫權(quán)限(w)
4 -- 讀權(quán)限(r)
2.chown :修改文件所有者和所屬組
1) 修改文件所有者用法:chown 文件所有者 文件名
sudo chown mytest file.txt
2) 修改文件所有者和所屬組用法:chown 文件所有者:文件所屬組 文件名
sudo chown mytest:mytest file.txt
3.chgrp:修改文件所屬組
使用方法:chgrp 用戶組 文件或目錄
sudo chgrp mytest file.txt
4.find
1)按文件名查詢 -name
find 路徑 -name "文件名"
2)按文件類型查詢 -type
find 路徑 -type 類型(普通類型用f表示而不是 -)
3) 按文件大小查詢 -size
命令:find 路徑 -size 范圍
范圍
大于:+表示 -- +100k
小于:-表示 -- -100k
等于: 不需要添加符號 -- 100k
大小
M 必須大寫(10M)
k 必須小寫(20k)
c 表示字節(jié)數(shù)
4)按文件日期
創(chuàng)建日期:-ctime -n/+ n
-n: n天以內(nèi)
+n: n天以外
修改日期:-mtime -n/+n
訪問日期:-atime -n/+n
5) 高級查詢
find ./ -type d -exec shell命令 {} \;
find ./ -type d -exec ls -l {} \;
find ./ -type d -ok shell命令 {} \;
find ./ -type d -exec ls -l {} \;
find ./ -type d -ok shell命令 {} \;
find ./ -type d -ok ls -l {} \;
ok比較安全, 特別是在執(zhí)行rm刪除文件的時(shí)候.
find ./ -type d | xargs shell命令
find ./ -type d | xargs ls -l
5. grep
l grep -r(有目錄) “查找的內(nèi)容” 搜索的路徑
-r參數(shù), 若是目錄, 則可以遞歸搜索
-n參數(shù)可以顯示該查找內(nèi)容所在的行號
-i參數(shù)可以忽略大小寫進(jìn)行查找
-v參數(shù)不顯示含有某字符串
2 搜索當(dāng)前目錄下包含hello world字符串的文件
grep -r -n "hello world" ./ ------顯示行號
grep -r -i -n "HELLO world" ./ -------忽略大小小查找
3 先使用find命令查找文件, 然后使用grep命令查找哪些文件包含某個(gè)字符串
find . -name "*.c" | xargs grep -n "main"
6.壓縮工具
l gzip和bzip2
不能壓縮目錄,只能一個(gè)一個(gè)文件進(jìn)行壓縮垄惧,壓縮之后會(huì)使原文件消失
gzip * 壓縮當(dāng)前目錄下所有的文件, 但是目錄不能壓縮
gunzip * 解壓當(dāng)前目錄下所有的.gz文件
bzip2 * 壓縮當(dāng)前目錄下所有的文件, 但是目錄不能壓縮
bunzip2 * 解壓當(dāng)前目錄下所有的. bz2文件
2 tar工具(*****)
相關(guān)參數(shù)說明
z:用gzip來壓縮/解壓縮文件
j:用bzip2來壓縮/解壓縮文件
c:create, 創(chuàng)建新的壓縮文件, 與x互斥使用
x:從壓縮文件中釋放文件, 與c互斥使用
v:詳細(xì)報(bào)告tar處理的文件信息
f:指定壓縮文件的名字
t: 查看壓縮包中有哪些文件
3 壓縮:
tar cvf 壓縮包名字.tar 原材料[要打包壓縮的文件或目錄]
tar zcvf 壓縮包名字.tar.gz 原材料[要打包壓縮的文件或目錄]
tar jcvf 壓縮包名字.tar.bz2 原材料[要打包壓縮的文件或目錄]
4 解壓縮:
tar xvf 已有的壓縮包(test.tar.gz)tar
tar zxvf 已有的壓縮包(test.tar.gz)
tar jxvf 已有的壓縮包(test.tar.bz2)
解壓到指定目錄:添加參數(shù) -C(大寫)
tar zxvf test.tar.gz -C 解壓目錄(./mytest)
5 查看壓縮包中有哪些文件
tar -tvf test.tar
6 zip工具
壓縮:zip -r 壓縮包名 要壓縮的文件(含文件或目錄)
壓縮目錄需要使用參數(shù)-r
使用該命令不需要指定壓縮包后綴
zip -r xxx file dir ---生成xxx.zip文件
解壓縮:unzip壓縮包名
解壓縮到指定目錄:添加參數(shù) –d 解壓目錄
unzip xxx.zip -d /home/itcast/test/day1
注意:解壓目錄若不存在則會(huì)創(chuàng)建.
7.軟件的安裝卸載
1.在線安裝
軟件安裝:sudo apt-get install 軟件名
軟件卸載:sudo apt-get remove 軟件名
更新軟件列表:sudo apt-get update
清理安裝包:sudo apt-get clean
清理的是緩存路徑:/var/cache/apt/archives
2 軟件包安裝
在Ubuntu系統(tǒng)下必須有deb格式的安裝包
軟件安裝
sudo dpkg -i xxx.deb
軟件卸載
sudo dpkg –r 軟件名
8.vim
1). 三種基本工作模式:命令模式刁愿、文本輸入模式、末行模式
2). 命令模式:用戶按下ESC鍵到逊, 就可以使vi進(jìn)入命令模式下
快捷鍵 |
操作 |
h |
光標(biāo)左移 |
j |
光標(biāo)下移 |
k |
光標(biāo)上移 |
l |
光標(biāo)右移 |
M |
移動(dòng)光標(biāo)到中間行 |
gg |
光標(biāo)移動(dòng)到文件開頭 |
G/L |
光標(biāo)移動(dòng)到文件末尾的行首 |
O |
光標(biāo)移到行首 |
$ |
光標(biāo)移到行尾 |
nG |
行跳轉(zhuǎn)铣口,例12G,跳到12行處 |
快捷鍵 |
操作 |
x |
刪除光標(biāo)后一個(gè)字符觉壶,相當(dāng)于Del |
X |
刪除光標(biāo)前一個(gè)字符脑题,相當(dāng)于Backspace |
dw |
刪除光標(biāo)開始位置的字,包含光標(biāo)所在字符 |
D[d$] |
刪除光標(biāo)后本行所有內(nèi)容铜靶,包含光標(biāo)所在字符 |
dd |
刪除光標(biāo)所在行(本質(zhì)其實(shí)是剪切) |
ndd |
從光標(biāo)當(dāng)前行向下刪除指定的行數(shù)叔遂,如15dd |
v/ctrl+v |
使用h、j争剿、k已艰、l移動(dòng)選擇內(nèi)容,然后按d刪除其中ctrl+v是列模式蚕苇,v為非列模式 |
快捷鍵 |
操作 |
u |
一步一步撤銷哩掺,相當(dāng)于word文檔ctrl+z |
ctrl-r |
反撤銷,相當(dāng)于word文檔的ctrl+y |
快捷鍵 |
操作 |
yy |
復(fù)制當(dāng)前行 |
nyy |
復(fù)制n行涩笤,如10yy |
p |
在光標(biāo)所在位置向下新開辟一行嚼吞,粘貼 |
P |
在光標(biāo)所在位置向上新開辟一行,粘貼 |
剪切操作 |
按dd或者ndd刪除蹬碧,將刪除的行保存到剪貼板中舱禽,然后按p/P就可以粘貼了 |
快捷鍵 |
操作 |
v/ctrl+v |
使用h、j锰茉、k呢蔫、l移動(dòng)選擇內(nèi)容;使用d刪除 使用y賦值 使用p粘貼到光標(biāo)的后面 使用P粘貼到光標(biāo)的前面 |
快捷鍵 |
操作 |
r |
替換當(dāng)前字符 |
R |
替換當(dāng)前行光標(biāo)后的字符 |
快捷鍵 |
操作 |
>> |
文本行右移 |
<< |
文本行左移動(dòng) |
快捷鍵 |
操作 |
/ |
/xxxx, 從光標(biāo)所在位置開始搜索,按n向下搜索片吊,按N向上搜索 |
绽昏? |
?xxxx, 從光標(biāo)所在的到位置開始搜索俏脊,按n向上搜索全谤,按N向下搜索 |
3). 文本輸入模式:從命令模式切換到文本輸入模式模式只需輸入如下命令:
快捷鍵 |
操作 |
i |
在光標(biāo)前插入 |
a |
在光標(biāo)后插入 |
I |
在光標(biāo)所在行的行首插入 |
A |
在光標(biāo)所在行的行尾插入 |
o |
在光標(biāo)所在的行的下面新創(chuàng)建一行,行首插入 |
O |
在光標(biāo)所在的行的上面新創(chuàng)建一行爷贫,行首插入 |
s |
刪除光標(biāo)后邊的字符认然,從光標(biāo)當(dāng)前位置插入 |
S |
刪除光標(biāo)所在當(dāng)前行,從行首插入 |
按列模式插入 |
先按ctrl+v進(jìn)入列模式漫萄,按hjkl移動(dòng)選定某列卷员,按I或者shift+i 向前插入,然后插入字符腾务,最后按兩次esc |
4). 末行模式:從命令模式切換的末行模式毕骡,輸入冒號(:)
快捷鍵 |
操作 |
q |
退出 |
q! |
強(qiáng)制退出,不保存修改內(nèi)容 |
w |
保存修改內(nèi)容岩瘦,不退出 |
wq |
保存并退出 |
x |
相當(dāng)與wq |
快捷鍵 |
操作 |
:s/old/new/ |
光標(biāo)所在行的第一個(gè)old替換為new |
:s/old/new/g |
光標(biāo)所在行的所有old替換為new |
:m, ns/old/new/g |
將第m行至第n行之間的old全部替換成new |
:%s/old/new/g |
當(dāng)前文件的所有old替換為new |
:1, $s/old/new/g |
當(dāng)前文件愛你的所有old替換為new |
:%s/old/new/gc |
同上未巫,但是每次替換需要用戶確認(rèn) |
下面表格中old表示原字符串,new表示新字符串
快捷鍵 |
操作 |
:s/old/new/ |
光標(biāo)所在行的第一個(gè)old替換為new |
:s/old/new/g |
光標(biāo)所在行的所有old替換為new |
:m, ns/old/new/g |
將第m行至第n行之間的old全部替換成new |
:%s/old/new/g |
當(dāng)前文件的所有old替換為new |
:1, $s/old/new/g |
當(dāng)前文件愛你的所有old替換為new |
:%s/old/new/gc |
同上启昧,但是每次替換需要用戶確認(rèn) |
快捷鍵 |
操作 |
ctr+u |
向上翻半屏 |
ctrl+d |
向下翻半屏 |
ctrl+f |
向上翻一屏 |
ctrl+b |
向后翻一屏 |
5). 分屏:在末行模式下執(zhí)行shell命令叙凡,!shell命令 按下兩次esc可以回到命令模式密末;從末行模式切換回命令模式蜘醋,按兩次ESC,退格(backspace)或者回車鍵
* 在打開文件之后分屏
快捷鍵 |
操作 |
sp |
當(dāng)前文件水平分屏 |
vsp |
當(dāng)前文件垂直分屏 |
sp 文件名 |
當(dāng)前文件和另一個(gè)文件水平分屏 |
vsp 文件名 |
當(dāng)前文件和另一個(gè)文件垂直分屏 |
ctrl-w-w |
在多個(gè)窗口切換光標(biāo) |
wall/wqall/xall/qall/qall! |
保存/保存退出/保存退出/退出/強(qiáng)制退出分屏窗口 |
分屏: vim -on file1 file2...
垂直分屏: vim -On file1 file2 ...
注意 : n可以省略激蹲,有幾個(gè)文件就分即屏
6).vim的配置文件
用戶級別配置文件
~/.vimrc, 修改用戶級別的配置文件只會(huì)影響當(dāng)前用戶, 不會(huì)影響其他的用戶.
例如: 在用戶的家目錄下的.vimrc文件中添加
set tabstop=4 ----設(shè)置縮進(jìn)4個(gè)空格
set nu ----設(shè)置行號
set shiftwidth=4 ---設(shè)置gg=G縮進(jìn)4個(gè)空格, 默認(rèn)是縮進(jìn)8個(gè)空格
系統(tǒng)級別配置文件
/etc/vim/vimrc, 修改了系統(tǒng)級別的配置文件將影響系統(tǒng)下的所有用戶.
說明: 由于linux是多用戶操作系統(tǒng), 建議只在用戶級別的配置文件下進(jìn)行修改, 不要影響其他用戶.
一.Linux常用基礎(chǔ)命令
1.tree命令:以樹狀形式查看指定目錄內(nèi)容(只能查看目錄內(nèi)容升筏,不能查看文件內(nèi)容)
tree --以樹形結(jié)構(gòu)顯示當(dāng)前目錄下的文件信息
tree 目錄 --樹形結(jié)構(gòu)顯示指定目錄下的文件信息
2.clear :清屏操作
3.ls :查看當(dāng)前文件夾下的內(nèi)容
#1)使用方法
ls--顯示當(dāng)前目錄下文件信息
ls 目錄或文件名 --顯示指定目錄下文件信息
#2)相關(guān)參數(shù)
-a:顯示指定目錄下所有子目錄與文件隧甚,包含隱藏文件
-R:遞歸方式列出所有目錄中的內(nèi)容
-h:配合-l以人性的方式顯示文件大小
-l:以列表方式顯示文件的詳細(xì)信息
#3)文件類型(根據(jù)第一個(gè)字符判斷)
-: 普通文件
d : 目錄
l : 符號鏈接进苍,相當(dāng)于windows中的快捷方式
s : 套接字
p : 管道
b : 塊設(shè)備
c : 字符設(shè)備
#4)用戶的操作權(quán)限(2-10個(gè)字符)
其他人對文件的操作權(quán)限(8创夜,9授瘦,10個(gè)字符)
文件所有者對文件的操作權(quán)限(2谐区,3漓柑,4個(gè)字符)
文件所屬組用戶對文件的操作權(quán)限(5教硫,6,7個(gè)字符)
#5)參數(shù)之間結(jié)合使用:
ls -la:列出當(dāng)前目錄下所有文件的相關(guān)信息辆布,包括隱藏文件
ls-ltr:列出當(dāng)前目錄下的文件瞬矩,按照時(shí)間逆向排序
#6)通配符
*:表示0個(gè)或多個(gè)字符
?:表示任一字符
[a-z]:表示a-zde任一字符,若是0-9表示任一數(shù)字字符
[abcd]:表示a|b|c|d任一字母
4.cd 切換目錄锋玲,命令使用方式:cd+路徑
# 1)切換到家目錄
cd
cd ~
cd /home
cd $HOME
# 2)回到上次目錄
cd -
5.pwd:查看用戶當(dāng)前所處的工作目錄
6.which:顯示命令所在的目錄
7.touch:如果文件存在景用,更新文件的最后修改時(shí)間,如果文件不存在,創(chuàng)建新文件(touch文件名)
8.mkdir:創(chuàng)建文件夾(mkdir -p aa/bb/cc 創(chuàng)建多級目錄)
9.rmdir:只能刪除空文件夾
10.rm:刪除文件
-r 刪除目錄名
-i 提示用戶是否刪除文件或目錄
-f強(qiáng)制刪除()以此刪除的文件或目錄不會(huì)放入回收站中伞插,數(shù)據(jù)不易恢復(fù)
11.cp源目錄或文件 目錄或文件(若有目錄拷貝需要用-r 參數(shù); 用-a參數(shù)割粮,可以保留被拷貝文件的一些屬性信息 )
cp 要拷貝的文件(file1) file(不存在); 創(chuàng)建file, 將file1中的內(nèi)容拷貝到file
cp file1 file(存在)媚污; file1 覆蓋 file
cp file dir(存在)舀瓢;拷貝file 到 dir 目錄
cp - r dir(存在) dir1(存在); 將dir (包含)目錄拷貝到dir1目錄中
cp - r dir (存在) dir1(不存在)耗美; 創(chuàng)建dir1, 將dir (不包含)中的內(nèi)容拷貝到dir1中
12.mv改名或者移動(dòng)文件(mv file1 file2)
#1).改名
mv file(存在) file1(不存在)
mv dir(存在) dir1(不存在)
mv file(存在) file2(存在):file文件覆蓋file2文件京髓,file 改名為file2
#2).移動(dòng)
mv file(文件) dir(存在的目錄):將file 文件移動(dòng)到dir中
mv fir(目錄存在) dir1(目錄存在):將dir移動(dòng)到dir1中,dir就會(huì)作為dir1的子目錄而存在
13.cat(查看):將文件內(nèi)容一次性輸出到終端商架,使用方式 cat 文件名堰怨,缺點(diǎn):終端顯示的內(nèi)容有限,如果文件太長無法全部顯示
14.more:將文件內(nèi)容顯示到終端蛇摸,但是只能一直向下瀏覽备图,不能回退,使用方式 more 文件名
顯示下一行:回車
顯示下一頁:空格
退出:q(ctrl+c)
15.less :文件內(nèi)容分頁顯示到終端皇型,可以自由上下瀏覽诬烹。使用方式:less 文件名
顯示下一行:回車、ctrl+p弃鸦、鍵盤向下鍵
顯示上一行:ctrl+n绞吁、鍵盤向上鍵
顯示下一頁:空格、PageDown
顯示上一頁:PageUp
退出:q
16.head:從文件頭部開始查看前n行的內(nèi)容
#使用方式 如果沒有指定行數(shù)唬格,默認(rèn)顯示前10行
head -n[行數(shù)] 文件名
17.tail:從文件尾部向上查看最后n行的內(nèi)容
#使用方式 如果沒有指定行數(shù)家破,默認(rèn)顯示最后10行內(nèi)容
tail -n[行數(shù)] 文件名
18.重定向
# 文件存在覆蓋
ls -l > text.log 2>&1
# 文件存在,在末尾追加
ls -l >> test.log 2>&1
19.管道:一個(gè)命令的輸出可以通過管道作為另一個(gè)管道的輸入(參數(shù))
20.軟連接
1) ln -s 文件名 快捷方式的名字
2) 目錄也可以創(chuàng)建軟連接
3) 注意事項(xiàng)
<1>ln創(chuàng)建軟連接要用絕對路徑购岗,因?yàn)槿绻皇褂媒^對路徑汰聋,一旦這個(gè)連接文件發(fā)生位置變動(dòng),就不能找到那個(gè)文件了
<2>軟連接文件的大小是:路徑+文件名的總字節(jié)數(shù)
21.硬連接
1)ln 文件名 硬連接的名字
2)本質(zhì):不同文件名所在的inode節(jié)點(diǎn)是相同的喊积,相同的inode節(jié)點(diǎn)指向了相同的數(shù)據(jù)塊烹困,所以他們的文件內(nèi)容是一樣的,文件內(nèi)容會(huì)同步
3)注意事項(xiàng)
<1>不能建在目錄上
<2>對絕對路徑?jīng)]有要求
<3>不能跨文件系統(tǒng)
4)應(yīng)用場景
<1>可以起到同步的作用(修改file的內(nèi)容乾吻,會(huì)在其余三個(gè)硬連接文件上同步)
<2>可以起到保護(hù)文件的作用(刪除文件的時(shí)候髓梅,只要硬連接計(jì)數(shù)比不為0,不會(huì)真正刪除)
22.wc:顯示文件行數(shù)绎签,字節(jié)枯饿,單詞數(shù)
1) wc -l file 顯示文件的總行數(shù)
2) wc -c file 顯示文件的總字節(jié)數(shù)
3) wc -w file 顯示文件的總單詞數(shù)
4) wc file 顯示文件的總行數(shù),單詞數(shù)和總字節(jié)數(shù)
23.whoami:顯示當(dāng)前登錄的用戶名
24.who:查看當(dāng)前所有登錄系統(tǒng)的用戶信息
25.shutdown | reboot | init
reboot:重啟系統(tǒng)
shutdown -r now:重啟系統(tǒng)诡必,shotdown會(huì)給別的用戶提示
shutdown -h now:立刻關(guān)機(jī)
shutdown -h 15:30:系統(tǒng)在今天的15:30會(huì)關(guān)機(jī)
shutdown -h + 10:再過十分后自動(dòng)關(guān)機(jī)
init 0: 關(guān)機(jī)
26.exit:退出當(dāng)前登錄的終端或者遠(yuǎn)程終端或者 su 切換的用戶
27.passwd:修改用戶密碼
28.sudo臨時(shí)獲得root權(quán)限(sudo 命令--會(huì)提示用戶輸入當(dāng)前用戶的密碼)
29.ssh
ssh要登錄的用戶名@ip, 然后提示輸入密碼
30. ftp
ftp ip,然后提示輸入用戶名和密碼奢方,然后就登錄到了遠(yuǎn)程服務(wù)器上,get是下載, put是上傳文件
例:ftp localhost-->密碼--->pwd-->cd day02-->get a03.txt (下載)
例:ftp localhost-->密碼--->pwd-->cd day02-->put 23.txt (上傳)
31.scp:遠(yuǎn)程拷貝文件蟋字,若拷貝目錄需要 -r 參數(shù)
1) scp -r mytest@ip:/home/mytest/.... 本地目錄
例: scp python@localhost:/home/python/day02/a03.txt ./
2) scp -r filename 遠(yuǎn)程機(jī)器用戶@ip:路徑
例:scp 23.txt python@localhost:/home/python/day02/
二.用戶權(quán)限稿蹲、用戶、用戶組
1.chmod 修改文件權(quán)限
1) 文字設(shè)定法
命令:chmod [who] [+|-|=] [mode] 文件名
操作對象【who】
u -- 用戶(user)
g -- 同組用戶(group)
o -- 其他用戶(other)
a -- 所用用戶(all)【默認(rèn)】
操作符【+-=】
+ -- 添加權(quán)限
- -- 取消權(quán)限
= -- 賦予給定權(quán)限并取消其他權(quán)限
權(quán)限【mode】
r -- 讀
w -- 寫
x -- 執(zhí)行
2)數(shù)字設(shè)定法
命令:chmod [+|-|=][mode] 文件名
操作符【+-=】
+ -- 添加權(quán)限
- -- 取消權(quán)限
= -- 賦予給定權(quán)限并取消其他權(quán)限 (默認(rèn)為=)
數(shù)字表示的含義
0 -- 沒有權(quán)限(-)
1 -- 執(zhí)行權(quán)限(x)
2 -- 寫權(quán)限(w)
4 -- 讀權(quán)限(r)
2.chown :修改文件所有者和所屬組
1) 修改文件所有者用法:chown 文件所有者 文件名
sudo chown mytest file.txt
2) 修改文件所有者和所屬組用法:chown 文件所有者:文件所屬組 文件名
sudo chown mytest:mytest file.txt
3.chgrp:修改文件所屬組
使用方法:chgrp 用戶組 文件或目錄
sudo chgrp mytest file.txt
4.find
1)按文件名查詢 -name
find 路徑 -name "文件名"
2)按文件類型查詢 -type
find 路徑 -type 類型(普通類型用f表示而不是 -)
3) 按文件大小查詢 -size
命令:find 路徑 -size 范圍
范圍
大于:+表示 -- +100k
小于:-表示 -- -100k
等于: 不需要添加符號 -- 100k
大小
M 必須大寫(10M)
k 必須小寫(20k)
c 表示字節(jié)數(shù)
4)按文件日期
創(chuàng)建日期:-ctime -n/+ n
-n: n天以內(nèi)
+n: n天以外
修改日期:-mtime -n/+n
訪問日期:-atime -n/+n
5) 高級查詢
find ./ -type d -exec shell命令 {} \;
find ./ -type d -exec ls -l {} \;
find ./ -type d -ok shell命令 {} \;
find ./ -type d -exec ls -l {} \;
find ./ -type d -ok shell命令 {} \;
find ./ -type d -ok ls -l {} \;
ok比較安全, 特別是在執(zhí)行rm刪除文件的時(shí)候.
find ./ -type d | xargs shell命令
find ./ -type d | xargs ls -l
5. grep
l grep -r(有目錄) “查找的內(nèi)容” 搜索的路徑
-r參數(shù), 若是目錄, 則可以遞歸搜索
-n參數(shù)可以顯示該查找內(nèi)容所在的行號
-i參數(shù)可以忽略大小寫進(jìn)行查找
-v參數(shù)不顯示含有某字符串
2 搜索當(dāng)前目錄下包含hello world字符串的文件
grep -r -n "hello world" ./ ------顯示行號
grep -r -i -n "HELLO world" ./ -------忽略大小小查找
3 先使用find命令查找文件, 然后使用grep命令查找哪些文件包含某個(gè)字符串
find . -name "*.c" | xargs grep -n "main"
6.壓縮工具
l gzip和bzip2
不能壓縮目錄愉老,只能一個(gè)一個(gè)文件進(jìn)行壓縮场绿,壓縮之后會(huì)使原文件消失
gzip * 壓縮當(dāng)前目錄下所有的文件, 但是目錄不能壓縮
gunzip * 解壓當(dāng)前目錄下所有的.gz文件
bzip2 * 壓縮當(dāng)前目錄下所有的文件, 但是目錄不能壓縮
bunzip2 * 解壓當(dāng)前目錄下所有的. bz2文件
2 tar工具(*****)
相關(guān)參數(shù)說明
z:用gzip來壓縮/解壓縮文件
j:用bzip2來壓縮/解壓縮文件
c:create, 創(chuàng)建新的壓縮文件, 與x互斥使用
x:從壓縮文件中釋放文件, 與c互斥使用
v:詳細(xì)報(bào)告tar處理的文件信息
f:指定壓縮文件的名字
t: 查看壓縮包中有哪些文件
3 壓縮:
tar cvf 壓縮包名字.tar 原材料[要打包壓縮的文件或目錄]
tar zcvf 壓縮包名字.tar.gz 原材料[要打包壓縮的文件或目錄]
tar jcvf 壓縮包名字.tar.bz2 原材料[要打包壓縮的文件或目錄]
4 解壓縮:
tar xvf 已有的壓縮包(test.tar.gz)tar
tar zxvf 已有的壓縮包(test.tar.gz)
tar jxvf 已有的壓縮包(test.tar.bz2)
解壓到指定目錄:添加參數(shù) -C(大寫)
tar zxvf test.tar.gz -C 解壓目錄(./mytest)
5 查看壓縮包中有哪些文件
tar -tvf test.tar
6 zip工具
壓縮:zip -r 壓縮包名 要壓縮的文件(含文件或目錄)
壓縮目錄需要使用參數(shù)-r
使用該命令不需要指定壓縮包后綴
zip -r xxx file dir ---生成xxx.zip文件
解壓縮:unzip壓縮包名
解壓縮到指定目錄:添加參數(shù) –d 解壓目錄
unzip xxx.zip -d /home/itcast/test/day1
注意:解壓目錄若不存在則會(huì)創(chuàng)建.
7.軟件的安裝卸載
1.在線安裝
軟件安裝:sudo apt-get install 軟件名
軟件卸載:sudo apt-get remove 軟件名
更新軟件列表:sudo apt-get update
清理安裝包:sudo apt-get clean
清理的是緩存路徑:/var/cache/apt/archives
2 軟件包安裝
在Ubuntu系統(tǒng)下必須有deb格式的安裝包
軟件安裝
sudo dpkg -i xxx.deb
軟件卸載
sudo dpkg –r 軟件名
8.vim
1). 三種基本工作模式:命令模式、文本輸入模式嫉入、末行模式
2). 命令模式:用戶按下ESC鍵焰盗, 就可以使vi進(jìn)入命令模式下
快捷鍵 |
操作 |
h |
光標(biāo)左移 |
j |
光標(biāo)下移 |
k |
光標(biāo)上移 |
l |
光標(biāo)右移 |
M |
移動(dòng)光標(biāo)到中間行 |
gg |
光標(biāo)移動(dòng)到文件開頭 |
G/L |
光標(biāo)移動(dòng)到文件末尾的行首 |
O |
光標(biāo)移到行首 |
$ |
光標(biāo)移到行尾 |
nG |
行跳轉(zhuǎn),例12G咒林,跳到12行處 |
快捷鍵 |
操作 |
x |
刪除光標(biāo)后一個(gè)字符熬拒,相當(dāng)于Del |
X |
刪除光標(biāo)前一個(gè)字符,相當(dāng)于Backspace |
dw |
刪除光標(biāo)開始位置的字垫竞,包含光標(biāo)所在字符 |
D[d$] |
刪除光標(biāo)后本行所有內(nèi)容澎粟,包含光標(biāo)所在字符 |
dd |
刪除光標(biāo)所在行(本質(zhì)其實(shí)是剪切) |
ndd |
從光標(biāo)當(dāng)前行向下刪除指定的行數(shù),如15dd |
v/ctrl+v |
使用h欢瞪、j活烙、k、l移動(dòng)選擇內(nèi)容遣鼓,然后按d刪除其中ctrl+v是列模式啸盏,v為非列模式 |
快捷鍵 |
操作 |
u |
一步一步撤銷,相當(dāng)于word文檔ctrl+z |
ctrl-r |
反撤銷骑祟,相當(dāng)于word文檔的ctrl+y |
快捷鍵 |
操作 |
yy |
復(fù)制當(dāng)前行 |
nyy |
復(fù)制n行回懦,如10yy |
p |
在光標(biāo)所在位置向下新開辟一行,粘貼 |
P |
在光標(biāo)所在位置向上新開辟一行次企,粘貼 |
剪切操作 |
按dd或者ndd刪除怯晕,將刪除的行保存到剪貼板中,然后按p/P就可以粘貼了 |
快捷鍵 |
操作 |
v/ctrl+v |
使用h缸棵、j舟茶、k、l移動(dòng)選擇內(nèi)容堵第;使用d刪除 使用y賦值 使用p粘貼到光標(biāo)的后面 使用P粘貼到光標(biāo)的前面 |
快捷鍵 |
操作 |
r |
替換當(dāng)前字符 |
R |
替換當(dāng)前行光標(biāo)后的字符 |
快捷鍵 |
操作 |
>> |
文本行右移 |
<< |
文本行左移動(dòng) |
快捷鍵 |
操作 |
/ |
/xxxx, 從光標(biāo)所在位置開始搜索稚晚,按n向下搜索,按N向上搜索 |
型诚? |
?xxxx, 從光標(biāo)所在的到位置開始搜索鸳劳,按n向上搜索狰贯,按N向下搜索 |
3). 文本輸入模式:從命令模式切換到文本輸入模式模式只需輸入如下命令:
快捷鍵 |
操作 |
i |
在光標(biāo)前插入 |
a |
在光標(biāo)后插入 |
I |
在光標(biāo)所在行的行首插入 |
A |
在光標(biāo)所在行的行尾插入 |
o |
在光標(biāo)所在的行的下面新創(chuàng)建一行,行首插入 |
O |
在光標(biāo)所在的行的上面新創(chuàng)建一行,行首插入 |
s |
刪除光標(biāo)后邊的字符涵紊,從光標(biāo)當(dāng)前位置插入 |
S |
刪除光標(biāo)所在當(dāng)前行傍妒,從行首插入 |
按列模式插入 |
先按ctrl+v進(jìn)入列模式,按hjkl移動(dòng)選定某列摸柄,按I或者shift+i 向前插入颤练,然后插入字符,最后按兩次esc |
4). 末行模式:從命令模式切換的末行模式驱负,輸入冒號(:)
快捷鍵 |
操作 |
q |
退出 |
q! |
強(qiáng)制退出嗦玖,不保存修改內(nèi)容 |
w |
保存修改內(nèi)容,不退出 |
wq |
保存并退出 |
x |
相當(dāng)與wq |
快捷鍵 |
操作 |
:s/old/new/ |
光標(biāo)所在行的第一個(gè)old替換為new |
:s/old/new/g |
光標(biāo)所在行的所有old替換為new |
:m, ns/old/new/g |
將第m行至第n行之間的old全部替換成new |
:%s/old/new/g |
當(dāng)前文件的所有old替換為new |
:1, $s/old/new/g |
當(dāng)前文件愛你的所有old替換為new |
:%s/old/new/gc |
同上跃脊,但是每次替換需要用戶確認(rèn) |
下面表格中old表示原字符串宇挫,new表示新字符串
快捷鍵 |
操作 |
:s/old/new/ |
光標(biāo)所在行的第一個(gè)old替換為new |
:s/old/new/g |
光標(biāo)所在行的所有old替換為new |
:m, ns/old/new/g |
將第m行至第n行之間的old全部替換成new |
:%s/old/new/g |
當(dāng)前文件的所有old替換為new |
:1, $s/old/new/g |
當(dāng)前文件愛你的所有old替換為new |
:%s/old/new/gc |
同上,但是每次替換需要用戶確認(rèn) |
快捷鍵 |
操作 |
ctr+u |
向上翻半屏 |
ctrl+d |
向下翻半屏 |
ctrl+f |
向上翻一屏 |
ctrl+b |
向后翻一屏 |
5). 分屏:在末行模式下執(zhí)行shell命令酪术,器瘪!shell命令 按下兩次esc可以回到命令模式;從末行模式切換回命令模式绘雁,按兩次ESC,退格(backspace)或者回車鍵
* 在打開文件之后分屏
快捷鍵 |
操作 |
sp |
當(dāng)前文件水平分屏 |
vsp |
當(dāng)前文件垂直分屏 |
sp 文件名 |
當(dāng)前文件和另一個(gè)文件水平分屏 |
vsp 文件名 |
當(dāng)前文件和另一個(gè)文件垂直分屏 |
ctrl-w-w |
在多個(gè)窗口切換光標(biāo) |
wall/wqall/xall/qall/qall! |
保存/保存退出/保存退出/退出/強(qiáng)制退出分屏窗口 |
分屏: vim -on file1 file2...
垂直分屏: vim -On file1 file2 ...
注意 : n可以省略橡疼,有幾個(gè)文件就分即屏
6).vim的配置文件
用戶級別配置文件
~/.vimrc, 修改用戶級別的配置文件只會(huì)影響當(dāng)前用戶, 不會(huì)影響其他的用戶.
例如: 在用戶的家目錄下的.vimrc文件中添加
set tabstop=4 ----設(shè)置縮進(jìn)4個(gè)空格
set nu ----設(shè)置行號
set shiftwidth=4 ---設(shè)置gg=G縮進(jìn)4個(gè)空格, 默認(rèn)是縮進(jìn)8個(gè)空格
系統(tǒng)級別配置文件
/etc/vim/vimrc, 修改了系統(tǒng)級別的配置文件將影響系統(tǒng)下的所有用戶.
說明: 由于linux是多用戶操作系統(tǒng), 建議只在用戶級別的配置文件下進(jìn)行修改, 不要影響其他用戶.