Linux命令行操作
目錄信息
參考鏈接
- Linux常用操作命令大全
1、目錄及文件操作
1.1、創(chuàng)建文件夾
1.1.1、創(chuàng)建目錄
mkdir abc 在當(dāng)前文件夾下創(chuàng)建一個名字為abc的文件夾
mkdir /abc/test 在指定目錄下創(chuàng)建一個名字為 test的文件夾
mkdir -p test/a/b#在當(dāng)前目錄下遞歸創(chuàng)建test/a/b文件夾
# 如果此處不加 -p的話,那么就不能遞歸的進(jìn)行創(chuàng)建操作,如果沒有上一級文件夾的話,那么就會發(fā)生錯誤信息
1.1.2、創(chuàng)建文件
touch命令操作
1.在當(dāng)前目錄創(chuàng)建一個名為aa.txt的文件 touch aa.tx
1.2、刪除文件夾/文件
1.2.1、刪除目錄操作
1.rm -r 目錄1 遞歸刪除當(dāng)前目錄下的指定目錄1
2.rm -rf 目錄2 遞歸刪除當(dāng)前目錄下的指定目錄2(不詢問)
3.rm -rf * 將當(dāng)前目錄下的所有目錄和文件全部刪除
4.rm -rf /* 【自殺行為命令!謹(jǐn)慎使用!】將會把根目錄下的所有目錄及文件全部刪除
# 刪除當(dāng)前目錄下的所有.c 文件
find . -name "*.c" -maxdepth 1 | xargs rm
表示找到.(當(dāng)前目錄下)名字為以“.c”為后綴的文件,-maxdepth 1表示目錄深度為1,也即尋找當(dāng)前目錄
用 xargs 是由于很多命令不支持 | 管道來傳遞參數(shù),而日常工作中有有這個必要,所以就有了 xargs 命令
1.2.2、刪除文件
1.rm 文件名稱 刪除當(dāng)前目錄下的指定文件
2.rm -f 文件文件 刪除當(dāng)前目錄下的指定文件(不詢問)
1.3、重命名目錄或者文件名稱
mv aaa bbb 將目錄aaa改為bbb
mv aaa.txt bbb.txt 將文件aaa改為bbb
1.4、目錄切換
cd ..
cd ~ 切換到home目錄操作
cd - 切換到上一次訪問的目錄操作
cd /切換到根目錄操作
cd /root 切換到根目錄下的root目錄操作中
1.5、目錄以及文件列表查看
1.ls 查看當(dāng)前目錄下的所有目錄和文件
2.ls -a 查看當(dāng)前目錄下的所有目錄和文件(包括隱藏的文件)
3.ls -l 或 ll 查看當(dāng)前目錄下的所有目錄和文件(以列表方式顯示查看,顯示更多信息)
4.ls /data 查看指定目錄下的所有目錄和文件(如:ls /data)
當(dāng)前目錄下有a和b兩個文件,執(zhí)行命令“l(fā)s>c”,問文件c里面的內(nèi)容是什么:
使用ls命令產(chǎn)生的輸出為當(dāng)前路徑下的所有文件名;
>c即代表將結(jié)果輸出至c中,若沒有c則先產(chǎn)生c文件,即內(nèi)容里含有abc。
1.6、復(fù)制目錄或者文件
-r 遞歸處理,將指定目錄下的文件與子目錄一并處理
-v 或 --verbose 顯示執(zhí)行過程
-f 或 --force 強(qiáng)行復(fù)制文件或目錄, 不論目的文件或目錄是否已經(jīng)存在
1.將/data/a目錄下的aaa目錄復(fù)制到 /usr目錄下面 cp -r /data/a/aaa /usr
2.將/data/a目錄下的aaa.text文件復(fù)制到 /usr目錄下面 cp /data/a/aaa.text /usr
3.將/data/a目錄下的aaa.text文件備份到 /data/a目錄下面bbb.text cp /data/a/aaa.text /data/a/aaa.text(當(dāng)前目錄下的文件復(fù)制則備份文件名稱不能跟原來一致)
1.7剪切目錄或文件
命令:mv 目錄/文件名稱 目錄/文件的新位置
1.將/data/a目錄下的aaa目錄剪切到 /usr目錄下面 mv /data/a/aaa /usr
2.將/data/a目錄下的aaa.text文件剪切到 /usr目錄下面 mv /data/a/aaa.text /usr
1.8搜索目錄或文件
菜鳥教程中的查找函數(shù)并且進(jìn)行刪除操作
find [path] [expression]
find -name 目錄/文件 參數(shù) 文件名稱
path 是要查找的目錄路徑,expression 是用于過濾和限制查找結(jié)果的選項和參數(shù)。。
expression 中可使用的選項有二三十個之多,在此只介紹最常用的部份。
-mount, -xdev : 只檢查和指定目錄在同一個文件系統(tǒng)下的文件,避免列出其它文件系統(tǒng)中的文件
-amin n : 在過去 n 分鐘內(nèi)被讀取過
-anewer file : 比文件 file 更晚被讀取過的文件
-atime n : 在過去 n 天內(nèi)被讀取過的文件
-cmin n : 在過去 n 分鐘內(nèi)被修改過
-cnewer file :比文件 file 更新的文件
-ctime n : 在過去 n 天內(nèi)修改的文件
-mtime n : 在過去 n 天內(nèi)修改過的文件
-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名稱是 name
-ipath p, -path p : 路徑名稱符合 p 的文件,ipath 會忽略大小寫
-name name, -iname name : 文件名稱符合 name 的文件。iname 會忽略大小寫
-size n : 文件大小 是 n 單位,b 代表 512 位元組的區(qū)塊,c 表示字元數(shù),k 表示 kilo bytes,w 是二個位元組。
-type c : 文件類型是 c 的文件。
d: 目錄
c: 字型裝置文件
b: 區(qū)塊裝置文件
p: 具名貯列
f: 一般文件
l: 符號連結(jié)
s: socket
-pid n : process id 是 n 的文件
你可以使用 ( ) 將運算式分隔,并使用下列運算。
exp1 -and exp2
! expr
-not expr
exp1 -or exp2
exp1, exp2
1.find /data/tmp -name 'a*' 查找/usr/tmp目錄下的所有以a開頭的目錄或文件
2.find -name 'a*' 查找當(dāng)前目錄下的所有以a開頭的目錄或文件
# find . -type f
# find . -name "*.c"
# find . -ctime 20
# find /var/log -type f -mtime +7 -ok rm {} \;
查找當(dāng)前目錄中文件屬主具有讀、寫權(quán)限,并且文件所屬組的用戶和其他用戶具有讀權(quán)限的文件:
# find . -type f -perm 644 -exec ls -l {} \;
查找系統(tǒng)中所有文件長度為 0 的普通文件,并列出它們的完整路徑:
# find / -type f -size 0 -exec ls -l {} \;
**查找文件并且進(jìn)行后續(xù)的刪除操作 ** -exec
find /home/me/download/ -type f -name "*.rm" -exec ffmpeg -i {} -sameq {}.mp3 && rm {} \;
查找文件之后再進(jìn)行后續(xù)的copy操作
find . -name "abc.docx" -exec cp {} /home/wangxinchao/copy/abctest.docx \;
1.9、查看并且修改文件內(nèi)容信息
1.9.1、查看文件并且只是修改文件內(nèi)容信息
1.打開文件
vim test.txt 進(jìn)入一般模式
注意:使用vi編輯器打開文件后,并不能編輯,因為此時處于命令模式。
可以控制屏幕光標(biāo)的移動,字符、字或行的刪除,查找,移動復(fù)制某區(qū)段及點擊鍵盤i/a/o進(jìn)入編輯模式
命令行模式下的常用命令:
【1】控制光標(biāo)移動:↑,↓,j
【2】刪除當(dāng)前行:dd
【3】查找:/字符
【4】進(jìn)入編輯模式:i o a
【5】進(jìn)入底行模式::
2.編輯文件
i(按鍵):在光標(biāo)所在字符前開始插入
a(按鍵):在光標(biāo)所在字符后開始插入
o(按鍵):在光標(biāo)所在行的下面另起一新行插入
3.ESC(按鍵) 退出編輯模式,將文件保存或退出vi
:wq (shift+:調(diào)起輸入框)(保存退出)
:wq! (shift+:調(diào)起輸入框)(表示強(qiáng)制保存退出)
:x (shift+:調(diào)起輸入框)(表示保存退出,寫入文件并退出。僅當(dāng)文件被修改時才寫入,并更新文件修改時間;否則不會更新文件修改時間)
:q! (shift+:調(diào)起輸入框)(強(qiáng)制退出,內(nèi)容不保存)
:q (shift+:調(diào)起輸入框)(如果內(nèi)容修改則會提示是否保存)
在命令模式下執(zhí)行ZZ命令 也可以保存退出Vim 編輯操作
1.9.2、查看文件信息但是僅僅支持查看,并不只是修改操作
命令:cat/more/less/tail/head
cat:看最后一屏
1.cat /data/aa.txt 文件,只能顯示最后一頁內(nèi)容
more:百分比顯示
1.more /data/aa.txt文件 可以顯示百分比,從第一頁開始查看aa.txt文件內(nèi)容,按回車鍵一行一行進(jìn)行查看回車可以向下一行,空格可以向下一頁,q可以退出查看
less:翻頁查看
1.less /data/aa.txt 從第一頁開始查看aa.txt文件內(nèi)容,按回車鍵一行一行的看,按空格鍵一頁一頁的看,支持使用PageDown和
PageUp翻頁,q結(jié)束查看
less 指令下查看文件采用 q退出查看模式。
tail:指定行數(shù)或者動態(tài)查看(實時查看日志)
1.tail -10 /data/aa.log 查看aa.log文件的后10行,Ctrl+C結(jié)束。
2.tail -f /data/aa.log 查看aa.log文件的后10行內(nèi)容,Ctrl+C結(jié)束。
3.tail -n 7 /data/aa.log 查看aa.log文件的后7行內(nèi)容,Ctrl+C結(jié)束。
4.head /data/aa.log 查看aa.log文件的前10行內(nèi)容,Ctrl+C結(jié)束。
5.head -n 7 /data/aa.log 查看aa.log文件的前7行內(nèi)容,Ctrl+C結(jié)束
cat -n file1 file2 把文件file1和file2連在一起,然后輸出到屏幕上 #-n 顯示的是行號操作
1.10、終止命令操作
命令:Ctrl+c和Ctrl+z都是中斷命令,作用不一樣。
Ctrl+Z將任務(wù)中斷,但是此任務(wù)并沒有結(jié)束,在進(jìn)程中只是維持掛起的狀態(tài),用戶可以使用fg/bg操作前臺或后臺的任務(wù),bg命令把被中斷的任務(wù)放在后臺執(zhí)行,fg命令重新啟動前臺被中斷的任務(wù)。
Ctrl+C是強(qiáng)制中斷程序的執(zhí)行
1.11、重定向功能
可以使用 > 或 < 將命令的輸出的命令重定向到aa.txt文件中(如果沒有這個文件則創(chuàng)建一個)
>> 是將前面的內(nèi)容添加到后面的文件
> 是重寫 后面的文件的內(nèi)容
命令:echo [選項] [輸出內(nèi)容]
選項:
-e:支持反斜線控制的字符轉(zhuǎn)換
-n:取消輸出后行末的換行符號(內(nèi)容輸出后不換行)
2、文件打包和壓縮以及解壓操作
tar是操作 .tar的命令
gzip是壓縮 .gz壓縮包的命令
compress: 壓縮.Z文件
uncompress: 解壓縮.Z文件
2.1文件打包和壓縮
命令:tar/unzip/zip
1.命令:tar -zcvf 打包壓縮后的文件名 要打包的文件可以多個
linux中的打包文件格式:.tar
linux中的壓縮文件格式:.gz
linux中打包并壓縮的文件格式:.tar.gz
Linux中的打包文件一般是以.tar結(jié)尾的,壓縮的命令一般是以.gz結(jié)尾的。
而一般情況下打包和壓縮是一起進(jìn)行的,打包并壓縮后的文件的后綴名一般.tar.gz。
其中:z:調(diào)用gzip壓縮命令進(jìn)行壓縮
c:打包文件
v:顯示運行過程
f:指定文件名
1.cd /data/aa 如aa目錄下有1.txt 2.txt兩個文件進(jìn)行打包壓縮
2.tar -cvf ab.tar 1.txt 2.txt 將當(dāng)前目錄下1.txt 2.txt打包
3.tar -cvf ab.tar ./* 將當(dāng)前目錄下的所有文件打包壓縮成ab.tar文件
4..tar -zcvf ab.tar.gz 1.txt 2.txt 打包并壓縮/data/aa目錄下的1.txt 2.txt文件 壓縮后的壓縮包指定名稱為ab.tar.gz
5..tar -zcvf ab.tar.gz * 打包并壓縮/data/aa目錄下的所有文件 壓縮后的壓縮包指定名稱為ab.tar.gz
2.命令:unzip/zip
壓縮(zip)
zip a.zip 1.txt 將單個文件壓縮(a.zip)
zip -r a.zip a/ 將目錄進(jìn)行壓縮(a.zip)
zip -r a.zip 1.tx 2.txt 將多個文件壓縮為zip文件(a.zip)
2.2 文件解壓
命令:tar [-zxvf] 壓縮文件
其中:x:代表解壓
1.tar -xvf(-zxvf) a.tar 解壓a.tar壓縮包,到當(dāng)前文件夾下;
2.tar -xvf a.tar -C data/local 解壓a.tar壓縮包,到/data/local目錄下(C為大寫,中間無空格,C代表指定解壓的位置)
3.tar -zxvf a.tar.gz 解壓a.tar.gz壓縮包,到當(dāng)前文件夾下
4.tar -zxvf a.tar.gz -C usr/local 解壓a.tar.gz壓縮包,到/data/local目錄下(C為大寫,中間無空格,C代表指定解壓的位置)
5.tar xf a.tar.xz 解壓a.tar.xz壓縮包,到當(dāng)前文件夾下
解壓縮(unzip)
1.unzip a.zip 解壓一個zip格式壓縮包
2.unzip -d /data/app/a.zip 將a.zip包,解壓到指定/data/app/目錄下
3、文件中查找命令grep
1.grep abc test.txt 在test.txt文件中搜索abc字符串,大小寫敏感且顯示行;
2.grep -n abc test.txt 在test.txt文件中搜索abc字符串,大小寫敏感且顯示行及行號;
3.grep -v abc test.txt 在test.txt文件中搜索abc字符串,大小寫敏感且顯示沒搜索到的行;
4.grep -i abc test.txt 在test.txt文件中搜索abc字符串,大小寫敏感且顯示行;
5.grep -ni abc test.txt 在test.txt文件中搜索abc字符串,大小寫敏感且顯示行及行號;
6.ps -ef | grep nginx 查找指定nginx服務(wù)進(jìn)程
7.ps -ef | grep nginx | grep -v grep 查找指定服務(wù)進(jìn)程,排除gerp身
8.ps -ef | grep nginx -c 查找指定進(jìn)程個數(shù)
自己的例子操作
# 在文件中根據(jù)函數(shù)名字從而查找所在的位置信息
grep -n "get_time_words_attention_alpha" ptp_utils.py >name.txt
#Linux下根據(jù)函數(shù)名查找所在文件
grep "add" -r ./Downloads/test/
grep是查找匹配條件的行,find是搜索匹配條件的文件。文章來源:http://www.zghlxwxcb.cn/news/detail-778811.html
4、ssh遠(yuǎn)程登錄命令
遠(yuǎn)程登錄命令:ssh文章來源地址http://www.zghlxwxcb.cn/news/detail-778811.html
1.ssh 192.168.1.100 默認(rèn)利用當(dāng)前宿主用戶的用戶名登錄
2.ssh root@192.168.1.100 利用遠(yuǎn)程機(jī)的用戶登錄
3.ssh root@192.168.1.100 -o stricthostkeychecking=no 首次登陸免輸yes登錄
4.ssh root@192.168.1.100 "ls /home/root" 當(dāng)前服務(wù)器A遠(yuǎn)程登錄服務(wù)器B后執(zhí)行某個命令
5.ssh root@192.168.1.100 -t "sh /home/root/ftl.sh" 當(dāng)前服務(wù)器A遠(yuǎn)程登錄服務(wù)器B后執(zhí)行某個腳本
到了這里,關(guān)于Linux 命令操作(一)——文件和目錄操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!