grep命令:
我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、北關(guān)ssl等。為上千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的北關(guān)網(wǎng)站制作公司
grep命令是非常重要的命令,可以對(duì)文本進(jìn)行查找和搜索
常用參數(shù)如下:
常用實(shí)例:
1、在多個(gè)文件中查找:
grep "file" file_1 file_2 file_3
2、輸出除之外的所有行 -v 選項(xiàng):
grep -v "file" file_name
3、標(biāo)記匹配顏色 --color=auto 選項(xiàng):
grep "file" file_name --color=auto
4、使用正則表達(dá)式 -E 選項(xiàng):
grep -E "[1-9]+"
egrep "[1-9]+"
5、只輸出文件中匹配到的部分 -o 選項(xiàng):
echo this is a test line. | grep -o -E "[a-z]+."
line.
echo this is a test line. | egrep -o "[a-z]+."
line.
6、統(tǒng)計(jì)文件或者文本中包含匹配字符串的行數(shù)-c 選項(xiàng):
grep -c "text" file_name
2
7、輸出包含匹配字符串的行數(shù) -n 選項(xiàng):
grep "text" -n file_name
或
cat file_name | grep "text" -n
8、多個(gè)文件
grep "text" -n file_1 file_2
9、搜索多個(gè)文件并查找匹配文本在哪些文件中:
grep -l "text" file1 file2 file3...
10、grep遞歸搜索文件
在多級(jí)目錄中對(duì)文本進(jìn)行遞歸搜索:
grep "text" . -r -n
11、忽略匹配樣式中的字符大小寫(xiě):
echo "hello world" | grep -i "HELLO"
hello
12、選項(xiàng) -e 指定多個(gè)匹配樣式:
echo this is a text line | grep -e "is" -e "line" -o
is
line
13、也可以使用 -f 選項(xiàng)來(lái)匹配多個(gè)樣式,在樣式文件中逐行寫(xiě)出需要匹配的字符。
cat patfile
aaa
bbb
echo aaa bbb ccc ddd eee | grep -f patfile -o
14、在grep搜索結(jié)果中包括或者排除指定文件:
只在目錄中所有的.php和.html文件中遞歸搜索字符"main()"
grep "main()" . -r --include *.{php,html}
15、在搜索結(jié)果中排除所有README文件
grep "main()" . -r --exclude "README"
16、在搜索結(jié)果中排除filelist文件列表里的文件
grep "main()" . -r --exclude-from filelist
touch abc.txt 創(chuàng)建一個(gè)名為abc.txt的文件
touch -r 指定文件時(shí)間與參考文件相同
touch -t 201608012234.55[yyyymmddhhmm.ss] abc.txt 更改文件為指定的時(shí)間
touch temp 創(chuàng)建一個(gè)名為temp的文件
vi編輯器有三種模式,命令行模式、編輯模式、底行模式。
vi 文件名進(jìn)入命令行模式,Insert進(jìn)入編輯模式,編輯完成Esc退出編輯模式,:wq進(jìn)入底行模式并保存修改,:q直接退出保存。
tar命令用于打包壓縮文件,常用的壓縮命令還有bzip2,gzip
bunzip2 file1.bz2 解壓一個(gè)叫做 'file1.bz2'的文件
bzip2 file1 壓縮一個(gè)叫做 'file1' 的文件
gunzip file1.gz 解壓一個(gè)叫做 'file1.gz'的文件
gzip file1 壓縮一個(gè)叫做 'file1'的文件
gzip -9 file1 最大程度壓縮
rar a file1.rar test_file 創(chuàng)建一個(gè)叫做 'file1.rar' 的包
rar a file1.rar file1 file2 dir1 同時(shí)壓縮 'file1', 'file2' 以及目錄 'dir1'
rar x file1.rar 解壓rar包
unrar x file1.rar 解壓rar包
tar -cvf archive.tar file1 創(chuàng)建一個(gè)非壓縮的 tarball
tar -cvf archive.tar file1 file2 dir1 創(chuàng)建一個(gè)包含了 'file1', 'file2' 以及 'dir1'的檔案文件
tar -tf archive.tar 顯示一個(gè)包中的內(nèi)容
tar -xvf archive.tar 釋放一個(gè)包
tar -xvf archive.tar -C /tmp 將壓縮包釋放到 /tmp目錄下
tar -cvfj archive.tar.bz2 dir1 創(chuàng)建一個(gè)bzip2格式的壓縮包
tar -xvfj archive.tar.bz2 解壓一個(gè)bzip2格式的壓縮包
tar -cvfz archive.tar.gz dir1 創(chuàng)建一個(gè)gzip格式的壓縮包
tar -xvfz archive.tar.gz 解壓一個(gè)gzip格式的壓縮包
zip file1.zip file1 創(chuàng)建一個(gè)zip格式的壓縮包
zip -r file1.zip file1 file2 dir1 將幾個(gè)文件和目錄同時(shí)壓縮成一個(gè)zip格式的壓縮包
unzip file1.zip 解壓一個(gè)zip格式壓縮包
which命令用于用戶查找命令所有路徑
命令格式
file命令用于獲取文件屬性
命令格式
file 文件名或目錄名
命令示例:
使用說(shuō)明
命令格式:cat [-AbeEnstTuv] [--help] [--version] fileName
cat file1 從第一個(gè)字節(jié)開(kāi)始正向查看文件的內(nèi)容
-n 或 --number:由 1 開(kāi)始對(duì)所有輸出的行數(shù)編號(hào)。
-b 或 --number-nonblank:和 -n 相似,只不過(guò)對(duì)于空白行不編號(hào)。
-s 或 --squeeze-blank:當(dāng)遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符號(hào),除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行結(jié)束處顯示 $。
-T 或 --show-tabs: 將 TAB 字符顯示為 ^I。
-A, --show-all:等價(jià)于 -vET。
-e:等價(jià)于"-vE"選項(xiàng);
-t:等價(jià)于"-vT"選項(xiàng);
使用示例
把 textfile1 的文檔內(nèi)容加上行號(hào)后輸入 textfile2 這個(gè)文檔里
cat -n textfile1 textfile2
把 textfile1 和 textfile2 的文檔內(nèi)容加上行號(hào)(空白行不加)之后將內(nèi)容附加到 textfile3 文檔里
cat -b textfile1 textfile2 textfile3
清空 /etc/test.txt 文檔內(nèi)容
cat /dev/null /etc/test.txt
tac [filename]
從最后一行開(kāi)始反向查看一個(gè)文件的內(nèi)容,ac與cat命令剛好相反,文件內(nèi)容從最后一行開(kāi)始顯示,可以看出 tac 是 cat 的倒著寫(xiě)。
nl [-bnw] 文件
選項(xiàng)與參數(shù):
-b: 指定行號(hào)指定的方式,主要有兩種:
-b a :表示不論是否為空行,也同樣列出行號(hào)(類(lèi)似 cat -n);
-b t :如果有空行,空的那一行不要列出行號(hào)(默認(rèn)值);
-n :列出行號(hào)表示的方法,主要有三種:
-n ln :行號(hào)在熒幕的最左方顯示;
-n rn :行號(hào)在自己欄位的最右方顯示,且不加 0 ;
-n rz :行號(hào)在自己欄位的最右方顯示,且加 0 ;
-w :行號(hào)欄位的占用的位數(shù)。
more file1 查看一個(gè)長(zhǎng)文件的內(nèi)容,支持一頁(yè)一頁(yè)翻動(dòng)
運(yùn)行的時(shí)候,支持以下幾個(gè)按鍵:
空白鍵 (space):代表向下翻一頁(yè);
Enter :代表向下翻『一行』;
/字串 :代表在這個(gè)顯示的內(nèi)容當(dāng)中,向下搜尋『字串』這個(gè)關(guān)鍵字;
:f :立刻顯示出檔名以及目前顯示的行數(shù);
q :代表立刻離開(kāi) more ,不再顯示該文件內(nèi)容。
b 或 [ctrl]-b :代表往回翻頁(yè),不過(guò)這動(dòng)作只對(duì)文件有用,對(duì)管線無(wú)用。
less file1 類(lèi)似于 'more' 命令,但是它允許在文件中和正向操作一樣的反向操作
less運(yùn)行時(shí)可以輸入的命令有:
空白鍵 :向下翻動(dòng)一頁(yè);
[pagedown]:向下翻動(dòng)一頁(yè);
[pageup] :向上翻動(dòng)一頁(yè);
/字串 :向下搜尋『字串』的功能;
?字串 :向上搜尋『字串』的功能;
n :重復(fù)前一個(gè)搜尋 (與 / 或 ? 有關(guān)!)
N :反向的重復(fù)前一個(gè)搜尋 (與 / 或 ? 有關(guān)!)
q :離開(kāi) less 這個(gè)程序;
head [-n number]
head -2 file1 查看一個(gè)文件的前兩行
tail [-n number]
tail -2 file1 查看一個(gè)文件的最后兩行
tail -f /var/log/messages 實(shí)時(shí)查看被添加到一個(gè)文件中的內(nèi)容
文件權(quán)限列中三位為一組,分別代表相關(guān)的用戶、組、其它用戶的權(quán)限
權(quán)限列中三位為一組,分別代表相關(guān)的用戶、組、其它用戶的權(quán)限
所以修改權(quán)限可以分別修改或一同修改,系統(tǒng)中權(quán)限分為數(shù)字權(quán)限與字符權(quán)限
數(shù)字權(quán)限:r=4,w=2,x=1
字符權(quán)限:+ 增加 -去除 a取消所有加上給定的
修改權(quán)限的命令chmod,命令格式:
chmod 權(quán)限 文件名或目錄名 修改權(quán)限格式
chmod -R 權(quán)限 目錄名 遞歸將目錄及其下面所有內(nèi)容權(quán)限全部修改
chown 改變文件或目錄的屬主(所有者)
chown 用戶名 文件名或目錄名
chown 用戶名.組名 文件名或目錄名
修改所屬組也可用chgrp 命令來(lái)完成
當(dāng)你用ls -l 查看到文件的屬主、屬組為數(shù)字時(shí),就表明該文件的創(chuàng)建用戶已被刪除。
文件的特殊權(quán)限
chattr +i(-i) 文件名 鎖定文件(取消鎖定)不可刪除與清空
chattr +a(-a) 文件名 添加內(nèi)容(只可添加內(nèi)容)
使用lsattr 文件名 查看文件的特殊權(quán)限
由此可以看出
root用戶默認(rèn)創(chuàng)建的目錄權(quán)限是755,文件權(quán)限是644
普通用戶默認(rèn)創(chuàng)建的目錄權(quán)限是775,文件權(quán)限是664
這也是系統(tǒng)默認(rèn)的比較安全的權(quán)限分配,其實(shí)這些默認(rèn)權(quán)限全部都是由umask值來(lái)決定的
系統(tǒng)規(guī)定了
文件的權(quán)限值是從666開(kāi)始計(jì)算(默認(rèn)權(quán)限=權(quán)限值-umask值)
目錄的權(quán)限值是從777開(kāi)始計(jì)算(默認(rèn)權(quán)限=權(quán)限值-umask值)
文件1的權(quán)限=444 (666-232=434——43(3+1)4)
mv命令。Linux文件系統(tǒng)操作命令中,mv命令用來(lái)改變文件或目錄所屬的用戶組命令的參數(shù),以空格分開(kāi)的要改變屬組的文件列表文件名,支持通配符,如果用戶不是該文件的所有者,則不能改變?cè)撐募乃鶎傧蛄拷M。
linux怎么修改文件所屬用戶和組?我們一起來(lái)了解一下吧。
1、首先打開(kāi)linux系統(tǒng)。
2、接著打開(kāi)“終端”命令窗口。
3、輸入su并回車(chē),接著再輸入密碼,進(jìn)入到root用戶。
4、接著輸入chown用戶名+文件名,即可修改文件所屬用戶。
5、輸入usermod-G+用戶組+用戶名命令,回車(chē)運(yùn)行即可更改用戶所屬組。
本文章基于ThinkpadE15品牌、centos7系統(tǒng)撰寫(xiě)的。
Linux修改用戶所屬組
1、設(shè)置某個(gè)用戶所在組
usermod -g 用戶組 用戶名
注:-g|--gid,修改用戶的gid,該組一定存在
2、把用戶添加進(jìn)入某個(gè)組(s)
usermod -a -G 用戶組 用戶名
注:
-a|--append,把用戶追加到某些組中,僅與-G選項(xiàng)一起使用
-G|--groups,把用戶追加到某些組中,僅與-a選項(xiàng)一起使用
內(nèi)容擴(kuò)展
用戶管理命令
useradd 注:添加用戶
adduser 注:添加用戶
passwd 注:為用戶設(shè)置密碼
usermod 注:修改用戶命令,可以通過(guò)usermod 來(lái)修改登錄名、用戶的家目錄等等;
pwcov 注:同步用戶從/etc/passwd 到/etc/shadow
pwck 注:pwck是校驗(yàn)用戶配置文件/etc/passwd 和/etc/shadow 文件內(nèi)容是否合法或完整;
pwunconv 注:是pwcov 的立逆向操作,是從/etc/shadow和 /etc/passwd 創(chuàng)建/etc/passwd ,然后會(huì)刪除 /etc/shadow 文件;
finger 注:查看用戶信息工具
id 注:查看用戶的UID、GID及所歸屬的用戶組
chfn 注:更改用戶信息工具
su 注:用戶切換工具
sudo 注:sudo 是通過(guò)另一個(gè)用戶來(lái)執(zhí)行命令(execute a command as another user),su 是用來(lái)切換用戶,然后通過(guò)切換到的用戶來(lái)完成相應(yīng)的任務(wù),但sudo 能后面直接執(zhí)行命令,比如sudo 不需要root 密碼就可以執(zhí)行root 賦與的執(zhí)行只有root才能執(zhí)行相應(yīng)的命令;但得通過(guò)visudo 來(lái)編輯/etc/sudoers來(lái)實(shí)現(xiàn);
visudo 注:visodo 是編輯 /etc/sudoers 的命令;也可以不用這個(gè)命令,直接用vi 來(lái)編輯 /etc/sudoers 的效果是一樣的;
sudoedit 注:和sudo 功能差不多;
linux怎么修改文件所屬用戶和組
在Linux中,創(chuàng)建一個(gè)文件時(shí),該文件的擁有者都是創(chuàng)建該文件的用戶。該文件用戶可以修改該文件的擁有者及用戶組別;或者在root用戶下,這樣可以修改任何文件的擁有者及用戶組。
而修改文件所屬用戶和組,需要用到chown命令。
chown 命令,可以認(rèn)為是 "change owner" 的縮寫(xiě),主要用于修改文件(或目錄)的所有者,除此之外,這個(gè)命令也可以修改文件(或目錄)的所屬組。
當(dāng)只需要修改所有者時(shí),可使用如下 chown 命令的基本格式:
-R(注意大寫(xiě))選項(xiàng)表示連同子目錄中的所有文件,都更改所有者。
當(dāng)只需要修改所屬組時(shí),可使用如下 chown 命令的基本格式:
如果需要同時(shí)更改所有者和所屬組,chown 命令的基本格式為:
注意,在 chown 命令中,所有者和所屬組中間也可以使用點(diǎn)(.),但會(huì)產(chǎn)生一個(gè)問(wèn)題,如果用戶在設(shè)定賬號(hào)時(shí)加入了小數(shù)點(diǎn)(例如 zhangsan.temp),就會(huì)造成系統(tǒng)誤判。因此,建議大家使用冒號(hào)連接所有者和所屬組。
當(dāng)然,chown 命令也支持單純的修改文件或目錄的所屬組,例如 chown :group install.log 就表示修改 install.log 文件的所屬組,但修改所屬組通常使用 chgrp 命令,因此并不推薦大家使用 chown 命令。
另外需要注意的一點(diǎn)是,使用 chown 命令修改文件或目錄的所有者(或所屬者)時(shí),要保證使用者用戶(或用戶組)存在,否則該命令無(wú)法正確執(zhí)行,會(huì)提示 "invalid user" 或者 "invaild group"。
chown命令的使用示例
1、更改文件的所屬者
首先我們使用ls -l命令來(lái)查看一下文件的所屬,例:
下面我們使用chown命令來(lái)更改該tmpfile文件的所屬者
然后再使用ls -l命令來(lái)查看一下該tmpfile文件的所屬
可以看出:該tmpfile文件的所屬者從“himanshu”變?yōu)榱恕皉oot”
2、更改文件組
通過(guò)chown命令,也可以更改組(文件所屬的組別)。
使用以下命令來(lái)更改文件所屬的組別:
然后使用ls -l命令來(lái)查看一下該tmpfile文件的所屬
也可以直接一次性更改文件的所屬者和組別為root,需要使用以下命令:
名稱(chēng)欄目:linux文件屬組命令 linux改變文件夾所屬組
當(dāng)前URL:http://muchs.cn/article16/hgicgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、做網(wǎng)站、電子商務(wù)、靜態(tài)網(wǎng)站、軟件開(kāi)發(fā)、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)