《Linux私房菜》——一、linux基础整理
本文均來自《鳥哥的Linux私房菜》的學(xué)習(xí)整理,僅供學(xué)習(xí)使用
文章目錄
- ·一、基礎(chǔ)命令
- 1.1 date日期
- 1.2 man
- 1.3 info page
- 1.4 關(guān)機(jī)相關(guān)
- 1.4.1 sync
- 1.4.2 shutdown
- 1.4.3 重啟
- 二、文件權(quán)限相關(guān)
- 2.1 權(quán)限基礎(chǔ)
- 2.2 修改文件屬性和權(quán)限
- 2.2.1 修改用戶組chgrp
- 2.2.2 修改文件擁有者chown
- 2.2.3 修改文件權(quán)限chmod
- 2.3 權(quán)限的作用
- 2.3.1權(quán)限對(duì)于文件的作用
- 2.3.2 權(quán)限對(duì)于目錄的作用
- 三、目錄與路徑
- 3.1 目錄操作
- 3.1.1 pwd
- 3.1.2 mkdir
- 3.1.3 rmdir
- 3.1.4 ls
- 3.2 復(fù)制刪除和移動(dòng)相關(guān)
- 3.2.1 cp
- 3.2.2 rm
- 3.2.3 mv
- 3.3 查看文件內(nèi)容
- 3.3.1 cat、tac
- 3.3.2 more
- 3.3.3 less
- 3.3.4 head
- 3.3.5 tail
- 3.4 文件的時(shí)間及修改mtime、ctime、atime
- 3.5 文件與目錄的默認(rèn)權(quán)限和隱藏權(quán)限
- 3.5.1 默認(rèn)權(quán)限umask
- 默認(rèn)權(quán)限的修改
- 3.5.2 文件隱藏屬性chattr
- 3.5.3 文件特殊權(quán)限
- 3.6 命令和文件的查找
- 3.6.1 which
- 3.6.2 文件查找
- whereis
- find
·一、基礎(chǔ)命令
1.1 date日期
[root@iZbp1fki8n8k5f1j3acuhzZ ~]# date Tue Jul 20 21:46:55 CST 2021格式化:
[root@iZbp1fki8n8k5f1j3acuhzZ ~]# date '+%Y-%m-%d %H:%m' 2021-07-20 21:071.2 man
查看命令幫助
輸入man ls會(huì)出現(xiàn)關(guān)于ls命令的說明
LS(1) User Commands LS(1)NAMEls - list directory contentsSYNOPSISls [OPTION]... [FILE]...DESCRIPTIONList information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort isspecified.Mandatory arguments to long options are mandatory for short options too.-a, --alldo not ignore entries starting with . ...............其中,第一行LS(1)中的1代表一般用戶可以使用的命令。
其他數(shù)字說明如下,這里列舉比較重要的幾個(gè)
| 1 | 用戶載shell環(huán)境中可以操作的命令或可執(zhí)行文件 |
| 2 | 系統(tǒng)內(nèi)核可調(diào)用的函數(shù)與工具 |
| 3 | 一些常用的函數(shù)與函數(shù)庫(kù) |
| 8 | 系統(tǒng)管理有可用的管理命令 |
在man中,可通過以下命令查找關(guān)鍵詞:
-
/string
向【下】查找string
-
?string
向【上】查找string
-
n或N
用 / 或 ? 查找時(shí),n代表向下查找一個(gè),N代表反向查找一個(gè)
1.3 info page
與man類似,但是內(nèi)容以段落形式列出來,有目錄,點(diǎn)擊目錄可以跳到指定段落
-
n
到下個(gè)節(jié)點(diǎn) 翻頁
-
p
到上個(gè)節(jié)點(diǎn)
-
u
向上移動(dòng)一層,到上層的總覽畫面
-
s 或 /
在當(dāng)前page查找
1.4 關(guān)機(jī)相關(guān)
1.4.1 sync
將內(nèi)存數(shù)據(jù)寫入到磁盤。當(dāng)前的關(guān)機(jī)命令如shutdown、reboot等都會(huì)執(zhí)行sync命令。
普通用戶執(zhí)行sync命令時(shí),只能刷新自己賬戶下的數(shù)據(jù)。
1.4.2 shutdown
相關(guān)參數(shù):
-
-k
只發(fā)送警告信息,非真關(guān)機(jī)
shutdown -k now '我要關(guān)機(jī)啦,都注意保存數(shù)據(jù)' -
-r
將系統(tǒng)服務(wù)停掉后就重啟
-
-h
將系統(tǒng)服務(wù)停掉后就立即關(guān)機(jī)
-
-c
取消shutdown內(nèi)容
-
時(shí)間
指定多少分鐘后進(jìn)行關(guān)機(jī),默認(rèn)1分鐘,now或0為立即關(guān)機(jī)
1.4.3 重啟
reboot
halt
poweroff
三個(gè)命令都差不多,為重啟操作
su - 切換到root
二、文件權(quán)限相關(guān)
2.1 權(quán)限基礎(chǔ)
[root@iZbp1fki8n8k5f1j3acuhzZ softwares]# ls -al total 0 drwxr-xr-x 5 root root 49 Jul 4 16:20 . drwxr-xr-x. 19 root root 239 Jan 1 2021 .. drwxr-xr-x 6 root root 107 Dec 8 2020 fastdfs drwxr-xr-x 3 root root 23 Dec 25 2020 node -rw-r--r-- 1 root root 0 Jul 20 22:18 test1 drwxr-xr-x 8 root root 158 Jan 1 2021 zkServer其中,第一列第一個(gè)字符代表文件類型
-
【d】
目錄
-
【-】
文件
-
【l】
鏈接文件
-
【b】
設(shè)備文件,周邊設(shè)備
-
【c】
設(shè)備文件里面的串行端口設(shè)備
后面緊跟著的數(shù)字每三個(gè)一組共三組代表文件權(quán)限。
-
第一組
文件擁有者權(quán)限
-
第二組
用戶組的權(quán)限
-
第三組
其他人的權(quán)限
每組權(quán)限由**讀(r)、寫(w)和可執(zhí)行(x)**三個(gè)權(quán)限組成,分別對(duì)應(yīng)數(shù)字4(r)2(w)1(x)
第二列的數(shù)字表示有多少文件名鏈接到此節(jié)點(diǎn)(inode)
第三列表示該文件的擁有者賬戶
第四列表示該文件的所屬用戶組名
第五列:文件大小【bytes】
第六列:創(chuàng)建時(shí)間或修改時(shí)間
2.2 修改文件屬性和權(quán)限
2.2.1 修改用戶組chgrp
格式:chgrp -R groupName fileName/dirName
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-ZWdItPnZ-1629598798326)(/Users/xiaoyunshi/Library/Application Support/typora-user-images/image-20210721211013637.png)]
所有用戶組都可在 /etc/group 查詢
2.2.2 修改文件擁有者chown
格式:
chown [-R] username fileName/dirName ,將fileName的擁有者改為username,或通過-R將目錄dirName聯(lián)通子目錄下的所有文件的擁有者更改為username
chown也可以直接修改用戶組:chown [-R] username:groupName fileName/dirName
[root@localhost ~]# chown xiaoyunshi testtxt [root@localhost ~]# ls -l 總用量 4 -rw-------. 1 root root 1417 7月 13 21:28 anaconda-ks.cfg drwxr-xr-x. 2 root test 17 7月 21 21:09 testdir -rw-r--r--. 1 xiaoyunshi root 0 7月 21 21:08 testtxt2.2.3 修改文件權(quán)限chmod
基本語法:chmod [-R] num1num2num3 文件或目錄
前面講到,文件權(quán)限分為 r(4)、w(2)和x(1),其中numx就表示這幾個(gè)數(shù)字之和。num1為文件擁有者權(quán)限,num2為所屬用戶組權(quán)限,num3為其他用戶權(quán)限
如:給testtxt文件權(quán)限為文件擁有者:可讀、可寫、可執(zhí)行,用戶組:可讀和可寫,其他用戶只能讀
[root@localhost ~]# chmod 764 testtxt [root@localhost ~]# ls -l -rwxrw-r--. 1 xiaoyunshi root 0 7月 21 21:08 testtxt另外,權(quán)限的三個(gè)身份:user、group、others,可分別使用 u 、g、o代替,加上 a(所有者)共四個(gè)身份類型。就可借助ugoa代表四個(gè)身份進(jìn)行權(quán)限修改。
上面的示例改為用戶:讀寫,用戶組:只讀,其他人:只讀,則可用如下方式修改:
[root@localhost ~]# chmod u=rw,go=r testtxt [root@localhost ~]# ls -l -rw-r--r--. 1 xiaoyunshi root 0 7月 21 21:08 testtxt如果只想給文件加上或去掉某個(gè)權(quán)限,則可以將 = 替換為 + 或 -:
# 給文件擁有者添加可執(zhí)行權(quán)限 [root@localhost ~]# chmod u+x testtxt [root@localhost ~]# ls -l -rwxr--r--. 1 xiaoyunshi root 0 7月 21 21:08 testtxt#給用戶組添加寫權(quán)限 [root@localhost ~]# chmod g+w testtxt [root@localhost ~]# ls -l -rwxrw-r--. 1 xiaoyunshi root 0 7月 21 21:08 testtxt #給其他用戶去掉讀權(quán)限 [root@localhost ~]# chmod o-r testtxt [root@localhost ~]# ls -l -rwxrw----. 1 xiaoyunshi root 0 7月 21 21:08 testtxt # 給所有用戶添加可執(zhí)行權(quán)限 [root@localhost ~]# chmod a+x testtxt [root@localhost ~]# ls -l -rwxrwx--x. 1 xiaoyunshi root 0 7月 21 21:08 testtxt2.3 權(quán)限的作用
2.3.1權(quán)限對(duì)于文件的作用
-
r
可以讀取文件實(shí)際內(nèi)容
-
w
可以對(duì)文件進(jìn)行編輯(寫入、修改等),但不能刪除!
-
x
被系統(tǒng)執(zhí)行的權(quán)限,與文件名無關(guān),只與文件內(nèi)容相關(guān)
2.3.2 權(quán)限對(duì)于目錄的作用
目錄主要是記錄文件的列表
-
r
可以讀取目錄文件列表。即,可以使用ls這樣的命令查看目錄中文件列表內(nèi)容
-
w
- 建立新的文件與目錄
- 刪除已存在的文件與目錄(無論文件的權(quán)限是什么)
- 重命名已存在的文件或目錄
- 移動(dòng)目錄內(nèi)文件與目錄的位置
-
x
決定能否將當(dāng)前目錄作為工作目錄,即能否通過 cd 進(jìn)入到該目錄
即,對(duì)于一個(gè)目錄來說,即使擁有w權(quán)限,但是沒有x權(quán)限,依然無法對(duì)目錄內(nèi)文件和目錄進(jìn)行操作。
[xiaoyunshi@localhost local]$ ls -l drwxr-xr--. 2 root root 6 7月 21 22:03 test [xiaoyunshi@localhost local]$ ls test/ [xiaoyunshi@localhost local]$ cd test/ -bash: cd: test/: 權(quán)限不夠如上,test目錄對(duì)于其他用戶來說只有讀權(quán)限,因此可以對(duì)test進(jìn)行 ls,但是無法cd進(jìn)入到該目錄
三、目錄與路徑
3.1 目錄操作
3.1.1 pwd
pwd:顯示當(dāng)前所在的目錄
[root@localhost test]# pwd /usr/local/test3.1.2 mkdir
mkdir:創(chuàng)建目錄
格式:mkdir -[mp] [權(quán)限] dirName
-
-m
創(chuàng)建目錄,同時(shí)自定權(quán)限
[root@localhost test]# mkdir -m 721 dir1 [root@localhost test]# ls -l drwx-w---x. 2 root root 6 7月 22 17:39 dir1創(chuàng)建一個(gè)權(quán)限為rwx-w---x的目錄
-
-p
遞歸創(chuàng)建,如:
[root@localhost test]# mkdir -p dir2/dir21/dir22則在當(dāng)前目錄下創(chuàng)建了dir2目錄,并且dir2包含了dir21目錄,dir21包含了dir22目錄
如果不指定權(quán)限,則采用默認(rèn)權(quán)限,目錄默認(rèn)權(quán)限跟umask相關(guān)【后面介紹】
3.1.3 rmdir
刪除目錄
同mkdir語法一樣,但只能刪除非空目錄。
[root@localhost test]# rmdir -p dir2/dir21/dir22/想要?jiǎng)h除目錄和目錄下所有內(nèi)容的話,就直接rm -rf dir吧,強(qiáng)制刪除。
3.1.4 ls
列舉目錄內(nèi)容,默認(rèn)按文件名排序
選項(xiàng)與參數(shù):
-a :全部的文件,連同隱藏文件( 開頭為 . 的文件) 一起列出來
-A :全部的文件,連同隱藏文件,但不包括 . 與 … 這兩個(gè)目錄
-F :根據(jù)文件、目錄等信息,給予附加數(shù)據(jù)結(jié)構(gòu),例如::代表可可執(zhí)行文件; /:代表目錄; =:代表 socket 文件; |:代表 FIFO 文件;
-h :將文件大小以友好的方式(例如 GB, KB 等等)列出來;
-i :列出 inode 號(hào)【后面講】;
-l :包含文件的屬性與權(quán)限等等數(shù)據(jù);(常用)
-n :列出 UID 與 GID 而非使用者與群組的名稱
-r :文件反向排序
-R :遞歸列舉出目錄下所有文件;
-S :以文件大小大小排序*
-t :依時(shí)間排序
3.2 復(fù)制刪除和移動(dòng)相關(guān)
3.2.1 cp
cp:復(fù)制文件用
-
-i
目標(biāo)文件存在,要覆蓋時(shí)會(huì)先詢問
-
-p
連同文件的屬性(權(quán)限、用戶和時(shí)間)一同復(fù)制,而非使用默認(rèn)屬性
-
-r
遞歸復(fù)制
-
-s
復(fù)制成為符號(hào)鏈接文件
-
-u
目標(biāo)文件不存在才復(fù)制,目標(biāo)文件存在但比源文件舊才更新(覆蓋)【備份用】
-
-a
相當(dāng)于 -dr,–preserve=all
--preserve=all:除了 -p 包含的權(quán)限外,還加入了SELinux屬性,links和xattr等也復(fù)制
-
-l
進(jìn)行硬鏈接的【后面講】鏈接文件建立
-
-d
若源文件為鏈接文件屬性,則復(fù)制鏈接文件屬性而非文件本身
【例:-p】
默認(rèn)情況下,即不加任何選項(xiàng)cp操作時(shí),會(huì)修改目標(biāo)文件的權(quán)限、時(shí)間等屬性為當(dāng)前操作者。
如下,有一個(gè)文件擁有者為xiaoyunshi的文件 testcp,使用root用戶執(zhí)行cp操作后,發(fā)現(xiàn)復(fù)制后的目標(biāo)文件的擁有者變?yōu)榱藃oot。
[root@localhost test]# ls -l 總用量 0 -rw-rw-r--. 1 xiaoyunshi xiaoyunshi 0 7月 22 21:11 testcp [root@localhost test]# cp testcp /home/xiaoyunshi/ [root@localhost test]# cd /home/xiaoyunshi/ [root@localhost xiaoyunshi]# ls -l 總用量 0 -rw-r--r--. 1 root root 0 7月 22 21:12 testcp如果想要連同權(quán)限等一同復(fù)制,就可以使用 -p 或 -a選項(xiàng):
[root@localhost test]# cp -p testcp /home/xiaoyunshi/testcp2 [root@localhost test]# cd /home/xiaoyunshi/ [root@localhost xiaoyunshi]# ls -l -rw-rw-r--. 1 xiaoyunshi xiaoyunshi 0 7月 22 21:11 testcp2這樣就給考屁過來了
【鏈接例子:-s、-l、-d】
對(duì)testcp建立一個(gè)符號(hào)鏈接文件(可以理解為windows里的快捷方式,非文件本身,其通過 -> 指向文件本身)
[root@localhost test]# ls -l 總用量 0 -rw-r--r--. 1 root root 0 7月 22 21:21 testcp [root@localhost test]# cp -s testcp testcplink [root@localhost test]# ls -l 總用量 0 -rw-r--r--. 1 root root 0 7月 22 21:21 testcp lrwxrwxrwx. 1 root root 6 7月 22 21:29 testcplink -> testcp # 建立好的指向testcp的鏈接文件-d:若源文件為鏈接文件屬性,則復(fù)制鏈接文件屬性而非文件本身,否則復(fù)制文件本身
# 1:使用-d復(fù)制testcp為testcp2:因?yàn)閠estcp非鏈接文件,因此復(fù)制出來的testcp2也是非鏈接文件 [root@localhost test]# cp -d testcp testcp2 [root@localhost test]# ls -l 總用量 0 -rw-r--r--. 1 root root 0 7月 22 21:21 testcp -rw-r--r--. 1 root root 0 7月 22 21:32 testcp2 lrwxrwxrwx. 1 root root 6 7月 22 21:29 testcplink -> testcp#2:使用-d復(fù)制testcplink為testcplink2:因?yàn)閠estcplink為鏈接文件,因此復(fù)制出來的testcplink2也是鏈接文件,且指向原文件 [root@localhost test]# cp -d testcplink testcplink2 [root@localhost test]# ls -l 總用量 0 -rw-r--r--. 1 root root 0 7月 22 21:21 testcp -rw-r--r--. 1 root root 0 7月 22 21:32 testcp2 lrwxrwxrwx. 1 root root 6 7月 22 21:29 testcplink -> testcp lrwxrwxrwx. 1 root root 6 7月 22 21:32 testcplink2 -> testcp # 指向testcp#3:復(fù)制testcplink為testcp3:因?yàn)槲词褂?d,默認(rèn)情況下cp只會(huì)復(fù)制文件本身,無論源文件是否為鏈接文件 [root@localhost test]# cp testcplink testcp3 [root@localhost test]# ls -l 總用量 0 -rw-r--r--. 1 root root 0 7月 22 21:21 testcp -rw-r--r--. 1 root root 0 7月 22 21:32 testcp2 -rw-r--r--. 1 root root 0 7月 22 21:32 testcp3 # 復(fù)制鏈接文件的結(jié)果仍然是文件本身 lrwxrwxrwx. 1 root root 6 7月 22 21:29 testcplink -> testcp lrwxrwxrwx. 1 root root 6 7月 22 21:32 testcplink2 -> testcp3.2.2 rm
rm為刪除操作。
參數(shù):
-
-r
遞歸刪除
-
-f
強(qiáng)制刪除
-
-i
會(huì)提示是否刪除
3.2.3 mv
移動(dòng)文件或修改文件名
參數(shù):
-
-f
強(qiáng)制,目標(biāo)文件存在時(shí)強(qiáng)行覆蓋
-
-i
會(huì)問你以下
-
-u
目標(biāo)文件存在且較舊時(shí)才覆蓋
獲取文件名:basename 文件
獲取文件所在目錄名:dirname 文件
3.3 查看文件內(nèi)容
3.3.1 cat、tac
cat比較有用的參數(shù):
- -b:列出行號(hào)
- -n:列出行號(hào),包括空白行
- -T: Tab鍵以^T顯示出來
tac就是反向查看
這兩個(gè)命令都是一次查看完,因此在線上查看時(shí),如果文件比較大就要謹(jǐn)慎些。
3.3.2 more
翻頁查看
- 空格:翻頁
- 回車:下一行
- /string:當(dāng)前顯示的內(nèi)容中查找string
- q:退出
3.3.3 less
同more,但支持更多功能。
- /string:向下查找string
- ?string:向上查找string
- pageUp/Down:翻頁
- n/N:n:正向重復(fù)/或?查找,N:反向查找
- g:定位到數(shù)據(jù)第一行
- G:定位到數(shù)據(jù)最后一行
3.3.4 head
格式:head [-n number] 文件
head默認(rèn)從頭展示文件的前10行
head -n number 則展示前number行
number為負(fù)數(shù):不展示后面number行,即最后number行以前的都列出來,如一共50行, head -n -20 ,則只會(huì)列出第1到30行
3.3.5 tail
從尾部展示number行,不指定則默認(rèn)10行
tail [-n number] 文件
-f:持續(xù)刷新最后的內(nèi)容
3.4 文件的時(shí)間及修改mtime、ctime、atime
文件的時(shí)間分為三類:
- 修改時(shí)間(mtime):文件內(nèi)容被修改時(shí)更新
- 狀態(tài)時(shí)間(ctime):文件權(quán)限屬性被修改時(shí)更新
- 訪問時(shí)間(atime):如讀取文件時(shí)就會(huì)更新
ll默認(rèn)展示的是修改時(shí)間,想要查看其他時(shí)間可以通過:ls -l --time=ctime指定.
可以通過touch創(chuàng)建空文件或修改文件時(shí)間
touch:
參數(shù):
- -a:修改atime
- -c:僅修改文件時(shí)間,文件不存在則不建立新文件
- -t:自定義時(shí)間 格式YYYYMMDDhhmm
- -m:修改mtime
- -d:同時(shí)修改atime與mtime,格式可以為:'2021-07-22 11:11’這樣 or **‘2 days ago’**這樣
但無論如何,文件的ctime無法更改
3.5 文件與目錄的默認(rèn)權(quán)限和隱藏權(quán)限
3.5.1 默認(rèn)權(quán)限umask
如果在創(chuàng)建文件或權(quán)限時(shí)未指定權(quán)限,如 mkdir -m ,則會(huì)采用默認(rèn)權(quán)限,默認(rèn)權(quán)限是啥呢?具體可以通過umask命令查看:
[root@localhost test]# umask 0022 [root@localhost test]# umask -S u=rwx,g=rx,o=rx其中,umask -S 會(huì)將默認(rèn)權(quán)限格式化輸出,展示的就是具體的默認(rèn)權(quán)限,如上,默認(rèn)權(quán)限 u為讀寫和可執(zhí)行,用戶組和其他用戶都只有讀和可執(zhí)行,沒有寫權(quán)限。
而umask單獨(dú)的命令輸出了4位,第一位為特殊權(quán)限暫不看,與權(quán)限相關(guān)的是后三位,即022,這個(gè)數(shù)字對(duì)應(yīng)的是默認(rèn)權(quán)限需要減去的權(quán)限:
- 0:文件擁有者權(quán)限一個(gè)都不去掉,為:r(4)、w(2)、x(1)
- 2:用戶組和其他用戶的權(quán)限都去掉寫權(quán)限,因?yàn)閣->2,因此默認(rèn)權(quán)限為:r(4)和可執(zhí)行x(1)
那么默認(rèn)權(quán)限是什么呢?文件和目錄的默認(rèn)權(quán)限是不一樣的:
-
文件
因?yàn)槲募蠖鄶?shù)不需要可執(zhí)行的權(quán)限,因此默認(rèn)為 666 : -rw-rw-rw-
-
目錄
而目錄必須要有可執(zhí)行權(quán)限才能進(jìn)入,因此默認(rèn)為777 : drwxrwxrwx
因此,文件和目錄減去umask中要減去的權(quán)限后,實(shí)際的默認(rèn)權(quán)限為:
-
文件實(shí)際權(quán)限
-rw-rw-rw 減去 -----w–w- 結(jié)果為: -rw-r–r--
-
目錄實(shí)際權(quán)限
drwxrwxrwx 減去 -----w–w- 結(jié)果為: drwxr-xr-x
測(cè)試:
可以看到和我們計(jì)算的一致。
#創(chuàng)建目錄 [root@localhost test]# mkdir defaulDir [root@localhost test]# ls -l 總用量 0 drwxr-xr-x. 2 root root 6 7月 23 14:28 defaulDir# 創(chuàng)建文件 [root@localhost test]# touch defaultTxt [root@localhost test]# ls -l -rw-r--r--. 1 root root 0 7月 23 14:30 defaultTxt默認(rèn)權(quán)限的修改
修改默認(rèn)權(quán)限也很簡(jiǎn)單,直接在 umask后加上要要去掉的權(quán)限對(duì)應(yīng)的數(shù)字即可,如:
[root@localhost test]# umask 0002 [root@localhost test]# rm -rf ./* [root@localhost test]# touch test [root@localhost test]# mkdir dir [root@localhost test]# ls -l 總用量 0 drwxrwxr-x. 2 root root 6 7月 23 14:42 dir -rw-rw-r--. 1 root root 0 7月 23 14:42 test我們只把其他用戶去掉寫權(quán)限,其余都保留,如上,新建文件和目錄權(quán)限也確實(shí)如此。
3.5.2 文件隱藏屬性chattr
文件 的隱藏屬性有哪些呢?可通過 chattr[+-=][AaSscditu] 文件or目錄來修改。
具體參數(shù)如下:
-
[±=]
這個(gè)和chmod修改權(quán)限的作用是類似的。+就是加上一個(gè)特殊參數(shù),-就是減去一個(gè)特殊參數(shù),=就是接固定參數(shù)
-
A
該參數(shù)可保證讀取文件或目錄時(shí)==不修改訪問時(shí)間(atime)==
-
a
只能增加數(shù)據(jù),不可修改或刪除數(shù)據(jù),只能root進(jìn)行設(shè)置該參數(shù)
-
S
同步寫入磁盤 (一般都是非同步寫入,在關(guān)機(jī)時(shí)會(huì)執(zhí)行sync進(jìn)行刷新磁盤,或手動(dòng)執(zhí)行sync進(jìn)行刷新磁盤)
-
s
刪除時(shí)完全移除磁盤空間,不可挽回
-
u
與s相反,被刪除后仍保留在磁盤,可通過x挽回
-
c
對(duì)文件自動(dòng)進(jìn)行壓縮,讀取時(shí)自動(dòng)解壓,存儲(chǔ)時(shí)先壓縮再存儲(chǔ)
-
d
dump時(shí)避免被dump
-
i
讓文件不可被刪除、改名、建立鏈接、新增數(shù)據(jù)(僅root可操作)
【示例】-i :
# 添加 i 屬性 [root@localhost test]# chattr +i test [root@localhost test]# lsattr test ----i----------- test [root@localhost test]# rm -rf test rm: 無法刪除"test": 不允許的操作# 移除該隱藏屬性 [root@localhost test]# chattr -i test [root@localhost test]# lsattr test ---------------- test # 可正常刪除 [root@localhost test]# rm test rm:是否刪除普通空文件 "test"?ylsattr為查看隱藏屬性
【示例】 -a:
[root@localhost test]# echo "haha" -> testtxt [root@localhost test]# cat testtxt haha - # 添加 a 屬性 [root@localhost test]# chattr +a testtxt [root@localhost test]# rm testtxt rm:是否刪除普通文件 "testtxt"?y rm: 無法刪除"testtxt": 不允許的操作 [root@localhost test]# echo "hehei" -> testtxt -bash: testtxt: 不允許的操作 [root@localhost test]# echo "hahahehei" -> testtxt -bash: testtxt: 不允許的操作添加后無法修改和刪除
3.5.3 文件特殊權(quán)限
SUID、SGID、SBIT
3.6 命令和文件的查找
3.6.1 which
which用于查找腳本文件,是根據(jù)PATH環(huán)境變量規(guī)范的路徑,查找執(zhí)行文件的文件名。如查找ls命令的位置
格式:which [-a] command
-a : 把所有由PATH目錄中可以找到的命令都列出
[root@localhost ~]# which ls alias ls='ls --color=auto'/usr/bin/ls但是如果是內(nèi)置命令,如 history 就不可以用which查找,這里可以使用type查找【后面講】
[root@localhost ~]# which history /usr/bin/which: no history in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)[root@localhost ~]# type history history 是 shell 內(nèi)嵌3.6.2 文件查找
通常用whereis和locate命令。
whereis
格式:whereis [-bmsu] 文件或目錄
whereis查找很快,因?yàn)槠渲徊檎規(guī)讉€(gè)特定目錄
-
-l
列出會(huì)去查詢的幾個(gè)主要目錄
-
-b
只找二進(jìn)制文件
-
-m
只找在說明文件manual路徑下的文件
-
-s
只找source源文件
-
-u
查找不在上述三個(gè)項(xiàng)目當(dāng)中的其他特殊文件
find
語法:find [PATH] [option] [action]
其中option有以下參數(shù):
1.時(shí)間相關(guān)
-mtime、-atime和-ctime,以mtime為例:
- -mtime n : n天前的那天(當(dāng)天內(nèi))被修改過的文件
- -mtime +n: n天以前(不包括第n天當(dāng)天)的被修改過的文件
- -mtime -n : n天內(nèi)(包括第n天)的被修改過的文件
例:n=4:
-------(+4)----|--(4)--|----------(-4)---------- ---7-----6-----5-------4-----3-----2-----1-----now2.使用者或用戶組相關(guān)
-
-uid n
與賬戶名稱對(duì)應(yīng)的數(shù)字
-
-gid n
與用戶組ID對(duì)應(yīng)的數(shù)字
-
-user name
name為使用者賬號(hào)
-
-group name
name為用戶組名
-
-nouser
查找文件的擁有者不在/etc/passwd的
-
-nogroup
查找文件所屬用戶組不在/etc/group的
查找/home目錄下所有擁有者為xiaoyunshi的文件
[root@localhost ~]# find /home -user xiaoyunshi /home/xiaoyunshi /home/xiaoyunshi/.bash_logout /home/xiaoyunshi/.bash_profile /home/xiaoyunshi/.bashrc /home/xiaoyunshi/.bash_history /home/xiaoyunshi/testcp23.與文件權(quán)限和名稱有關(guān)的
- Name : 查找文件名為fileName的文件 -size [+-]SIZE : 查SIZE(單位:c->Bytes,k->1024Bytes)大(+)或小(-)的文件 -type TYPE : 查找文件類型為TYPE【正規(guī)文件(f)、設(shè)備文件(b,c)、目錄(d)、鏈接文件(l)、socket文件(s)、FIFO(p)等屬性】 -perm mode :查找文件屬性等于mode 的文件 -perm -mode : 查找文件屬性全部包括mode的文件 -perm /mode : 查找文件屬性包括mode的文件(不用全部都包括)如果要查詢關(guān)鍵詞,則使用如下方式:
在關(guān)鍵詞前后加上 :星號(hào)*
[root@localhost ~]# find /home -name "*test*" /home/wangmaolin/testcp /home/wangmaolin/testcp2 /home/wangmaolin/test /home/wangmaolin/test/testtxt /home/wangmaolin/test/.testtxt.swp /home/wangmaolin/test/testtxt~ /home/wangmaolin/test/testtxz~4.額外進(jìn)行的操作
-exec command可對(duì)查詢結(jié)果做額外操作,如:
find /home -name "test" -exec ls -l {} \;查找/home目錄下名為test的文件,將查詢結(jié)果放到 {} 內(nèi) 執(zhí)行l(wèi)s -l 命令。
[root@localhost ~]# find /home -name testtxt -exec ls -l {} \; -rw-rw-r--. 1 root root 7 7月 23 15:11 /home/wangmaolin/test/testtxt總結(jié)
以上是生活随笔為你收集整理的《Linux私房菜》——一、linux基础整理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ios学习之UITabBar(标签栏)
- 下一篇: 挖掘有价值的搜索关键词