Day13-文件查找find
導(dǎo)讀
- 上周回顧
- 1.用戶管理
- 2.組的管理
- 3.如何給用戶提權(quán)
- 4.權(quán)限管理
- 今日內(nèi)容
- 1.為什么要有文件查找
- 2.Windows如何實現(xiàn)文件查找
- 3.Linux如何實現(xiàn)文件查找
- 4.find命令查找語法
- 5.find針對文件名稱、類型、大小、時間等方式進行查找文件
- 按名稱查找
- 按文件大小查找
- 按文件類型查找
- 按修改時間進行查找
- 按用戶和組進行查找
- 6.find動作處理
- 7.find邏輯運算符
- 今日總結(jié)
上周回顧
用戶管理
1.用戶基本概述
2.介紹創(chuàng)建用戶會影響的文件
/etc/passwd
/etc/shadow
3.如何創(chuàng)建用戶
useradd username
4.如何修改用戶
usermod username [選項] [參數(shù)]
5.如何刪除用戶
userdel username
6.如何給用戶設(shè)定密碼
echo "passwd" |passwd username --stdin
7.用戶創(chuàng)建流程
/etc/login.defs /etc/defaults/useradd
組的管理
1.組的基本概念
基本組:創(chuàng)建用戶時使用-g指定基本組,基本組必須事先存在
私有組:創(chuàng)建用戶時,不指定基本組,則默認創(chuàng)建同名的私有組
附加組:當基本組無法滿足權(quán)限需求,可關(guān)聯(lián)多個附加組
2.組的配置文件
/etc/group
/etc/gshadow
3.如何創(chuàng)建組
groupadd groupname
4.如何修改組
groupmod groupname [選項] [參數(shù)]
5.如何刪除組
groupdel groupname
如何給用戶提權(quán)
1.su 切換用戶
交互式shell 輸入一條命令,返回一條輸出
非交互式shell 輸入一條指令,批量的完成任務(wù),無需人為干預(yù)
登錄式shell 輸入用戶名和密碼登錄系統(tǒng)
非登錄式shell 無需輸入用戶名和密碼即可登錄用戶
登錄式shell和非登錄式shell加載的配置文件不一樣
2.su username使用的是非登錄式shell(有些環(huán)境變量沒有加載,會導(dǎo)致執(zhí)行失敗)
3.su - username使用的是登錄式shell(加載所有的環(huán)境變量)
su需要知道用戶的密碼,不安全
4.sudo 提權(quán)
提權(quán)的作用:讓用戶臨時的使用root身份進行操作
首先必須先進行權(quán)限劃分 -->root
其次將權(quán)限與用戶進行關(guān)聯(lián) -->root
最后用戶才能正常使用,或者提權(quán) -->用戶 sudo -l檢查分配的權(quán)限是否合理
Ps:su切換用戶時需要輸入用戶的密碼,如果是root使用su則無限制
權(quán)限管理
1.權(quán)限:指用戶能對系統(tǒng)操作的一種范圍限制
2.用戶和權(quán)限的關(guān)系
3.權(quán)限中的rwx是什么意思
r=4 可讀
w=2 可寫
x=1 可執(zhí)行
4.對一個文件進行授權(quán) chmod 755
5.權(quán)限中rwx對文件有什么限制
6.權(quán)限中rwx對目錄有什么限制
7.授權(quán)基本規(guī)則
文件: chmod 644 chmod 600 為了安全
目錄: chmod 755
命令: chmod 755 通常來說,命令的屬主和屬組都是root
8.變更一個文件的屬主和屬主 chown -R
9.特殊權(quán)限
Suid:為命令設(shè)定suid,當任何用戶執(zhí)行該命令時,都將以該命令的屬主身份運行
Sgid:使多個用戶共享一個組
Sbit:粘滯位,任何人都可以在該目錄下創(chuàng)建文件,但只允許刪除自己的,除root以外
10.特殊屬性
chattr
i 鎖住文件
a 僅能追加,但不允許其他操作
lsattr:查看文件特殊屬性
11.Umask 控制默認權(quán)限
文件: 666-umask=最終權(quán)限
目錄: 777-umask=最終權(quán)限
/etc/profile 會控制umask
12.重定向技術(shù)
重定向:將輸出至屏幕的內(nèi)容,重新指向到一個文件,或丟失
標準輸入0 標準輸出1 錯誤輸出2
重定向怎么用
> 覆蓋重定向
>> 追加重定向
2> 錯誤覆蓋重定向
2>> 錯誤追加重定向
&> 混合輸出覆蓋重定向
&>> 混合輸出追加重定向
13.管道技術(shù)
管道:將左邊命令的輸出-->管道-->傳遞給右邊命令的輸入
tee:將左邊命令的輸出-->|tee a.log -->傳遞給右邊命令的輸入
不影響管道的傳遞
會將左邊命令的輸出,寫入到一個a.log文件中
xargs:將無法使用管道的命令支持使用管道
(將前者命令的結(jié)果作為參數(shù)傳遞給后者命令)
which useradd | xargs ls -l
Ps:操作文件看文件本身的權(quán)限,如果是刪除移動復(fù)制等操作,需要看文件的上級目錄是否給予了足夠的權(quán)限,通常是看有沒有w權(quán)限
今日內(nèi)容
為什么要有文件查找
1.資料很多,忘記放在哪,所以需要通過查找的方式進行搜索
windows如何實現(xiàn)文件查找
1.計算機-->搜索框
linux如何實現(xiàn)文件查找
1.沒有圖形工具
2.使用命令工具搜索--->find
find命令查找語法
find [path] [options] [expression] [action]
查找 路徑 選項 表達式 動作
find針對文件名稱、類型、大小、時間等方式進行查找文件
按名稱查找
find ./ -name "*eth0" -ls
find ./ -iname "*eth0" -ls #忽略大小寫
按文件大小查找
find /etc/ -size +5M #查找大于5M的文件
find /etc/ -size -5M #查找小于5M的文件
find /etc/ -size 5M #查找等于5M的文件
按文件類型查找
f 文件
d 目錄
s socket套接字文件
l 鏈接文件
c 字符設(shè)備
b 塊設(shè)備
find ./ -type f -iname "*eth0" | xargs ls -l
按修改時間進行查找
find ./ -type f -mtime 7 #第7天
find ./ -type f -mtime +7 #七天以前的內(nèi)容(保留最近七天的內(nèi)容)
find ./ -type f -mtime -7 #最近七天的內(nèi)容
按用戶和組進行查找
find /home -user jack
find /home -group jack
find /home -user jack -group jacky
find / -nouser -nogroup
find動作處理
find默認動作是 -print
-print 默認
-ls 以長格式顯示
-delete 刪除列出的文件(僅刪除空目錄)
-ok 后面跟自定義shell命令(會提示)
-exec 后面跟自定義shell命令
\; 固定寫法
[root@oldboy ~]# find /var/log/ -type f -name "*.log" -mtime +7 | xargs rm -rf
將find查詢的文件結(jié)果,作為grep的參數(shù)
[root@oldboy ~]# find /etc/ -type f | xargs grep "root" --color=auto
find邏輯運算符
-a 與
-o 或
-not|! 非
find /home ! -user root
find ./ -type f -a \( ... -o ... \)
今日總結(jié)
1.find查找文件
文件名稱
文件大小
文件類型
修改時間
用戶用戶組
2.find處理動作
-print 忽略
-ls 長格式顯示,不能加參數(shù)
-delete 刪除文件,刪除目錄必須是空目錄
-ok 執(zhí)行command命令,但會提示
-exec 執(zhí)行command命令
3.find的邏輯運算
與 -a
或 -o
非 ! | -not