day16
文件屬性相關(guān)知識
A.昨日回顧:
1.文件屬性組成部分:8個部分 文件類型
2.文件屬性類型:(文本文件 二進制命令文件 腳本文件 數(shù)據(jù)文件) d l c (/dev/urandom) b s
生成隨機數(shù):[root@han ~]# tr -cd 'a-z' </dev/urandom |head -c 6 ----------------生成隨機字母
- d ----講匹配的信息排除 - c ----將排出的信息顯示出來
head - c ------取指定信息中前幾個字符
3.文件相關(guān)命令: file which whereis locate (updatedb-更新數(shù)據(jù)庫索引信息)
find命令:
總結(jié):01.查找數(shù)據(jù)時指定的多個條件默認是并且關(guān)系 -a and
02.查找數(shù)據(jù)時指定的多個條件可以是或者關(guān)系 -o or
根據(jù)文件名稱過濾找出指定文件: - name -iname
根據(jù)文件類型過濾找出指定文件: - type f/d/l
根據(jù)文件大小過濾找出指定文件: - size +5M/5M/-5M K M G
根據(jù)目錄層級過濾找出指定文件:-maxdepht -mindepth
-maxdepth 2------------------- -mindepht 2
01 層 找文件------------------- 忽略
02 層 找文件------------------- 找文件
03 層 忽略---------------------- 找文件
04 層 忽略---------------------- 找文件
排除指定目錄信息 不要進行查找:
.....[root@oldboyedu ~]# mkdir /oldboy/oldboy{01..03}
[root@oldboyedu ~]# touch /oldboy/oldboy{01..03}/{a..c}.txt
[root@oldboyedu ~]# tree /oldboy
/oldboy
├── oldboy01
│?? ├── a.txt
│?? ├── b.txt
│?? └── c.txt
├── oldboy02
│?? ├── a.txt
│?? ├── b.txt
│?? └── c.txt
└── oldboy03
├── a.txt
├── b.txt
└── c.txt
方法一: find /oldboy/ ! -path "/oldboy/oldboy02*" -type f -name "*.txt"
[root@oldboyedu ~]# find /oldboy/ -path "/oldboy/oldboy02"
/oldboy/oldboy02
[root@oldboyedu ~]# find /oldboy/ -path "/oldboy/oldboy02*"
/oldboy/oldboy02
/oldboy/oldboy02/a.txt
/oldboy/oldboy02/b.txt
/oldboy/oldboy02/c.txt
[root@oldboyedu ~]# find /oldboy/ ! -path "/oldboy/oldboy02*"
/oldboy/
/oldboy/oldboy01
/oldboy/oldboy01/a.txt
/oldboy/oldboy01/b.txt
/oldboy/oldboy01/c.txt
/oldboy/oldboy01/oldboy.jpg
/oldboy/oldboy03
/oldboy/oldboy03/a.txt
/oldboy/oldboy03/b.txt
/oldboy/oldboy03/c.txt
[root@oldboyedu ~]# find /oldboy/ ! -path "/oldboy/oldboy02*" -type f
/oldboy/oldboy01/a.txt
/oldboy/oldboy01/b.txt
/oldboy/oldboy01/c.txt
/oldboy/oldboy01/oldboy.jpg
/oldboy/oldboy03/a.txt
/oldboy/oldboy03/b.txt
/oldboy/oldboy03/c.txt
[root@oldboyedu ~]# find /oldboy/ ! -path "/oldboy/oldboy02*" -type f -name "*.txt"
/oldboy/oldboy01/a.txt
/oldboy/oldboy01/b.txt
/oldboy/oldboy01/c.txt
/oldboy/oldboy03/a.txt
/oldboy/oldboy03/b.txt
/oldboy/oldboy03/c.txt
方法二: find /oldboy/ -path "/oldboy/oldboy02" -prune -o -type f -name "*.txt" -print
[root@oldboyedu ~]# find /oldboy/ -path "/oldboy/oldboy" -type f -name "*.txt"
[root@oldboyedu ~]# find /oldboy/ -path "/oldboy/oldboy01" -o -type f -name "*.txt"
/oldboy/oldboy01
/oldboy/oldboy01/a.txt
/oldboy/oldboy01/b.txt
/oldboy/oldboy01/c.txt
/oldboy/oldboy02/a.txt
/oldboy/oldboy02/b.txt
/oldboy/oldboy02/c.txt
/oldboy/oldboy03/a.txt
/oldboy/oldboy03/b.txt
/oldboy/oldboy03/c.txt
[root@oldboyedu ~]# find /oldboy/ -path "/oldboy/oldboy02" -o -type f -name "*.txt"
[root@oldboyedu ~]# find /oldboy/ -path "/oldboy/oldboy02" -o -type f -name "*.txt"
/oldboy/oldboy01/a.txt
/oldboy/oldboy01/b.txt
/oldboy/oldboy01/c.txt
/oldboy/oldboy02
/oldboy/oldboy02/a.txt
/oldboy/oldboy02/b.txt
/oldboy/oldboy02/c.txt
/oldboy/oldboy03/a.txt
/oldboy/oldboy03/b.txt
/oldboy/oldboy03/c.txt
[root@oldboyedu ~]# find /oldboy/ -path "/oldboy/oldboy02" -prune -o -type f -name "*.txt"
/oldboy/oldboy01/a.txt
/oldboy/oldboy01/b.txt
/oldboy/oldboy01/c.txt
/oldboy/oldboy02
/oldboy/oldboy03/a.txt
/oldboy/oldboy03/b.txt
/oldboy/oldboy03/c.txt
[root@oldboyedu ~]# find /oldboy/ -path "/oldboy/oldboy02" -prune -o -type f -name "*.txt" -print
/oldboy/oldboy01/a.txt
/oldboy/oldboy01/b.txt
/oldboy/oldboy01/c.txt
/oldboy/oldboy03/a.txt
/oldboy/oldboy03/b.txt
/oldboy/oldboy03/c.txt
定數(shù)據(jù)信息找出來,批量復(fù)制數(shù)據(jù)信息到指定目錄/刪除數(shù)據(jù)
批量刪除數(shù)據(jù)命令:
find /oldboy/ -type f -name ".txt"|xargs rm
批量復(fù)制數(shù)據(jù)命令:
find /oldboy/ -type f -name ".txt"|xargs -i cp {} /tmp
find /oldboy/ -type f -name "*.txt"|xargs cp -t /tmp
xarge ---- 分組命令/整合命令
[root@oldboyedu ~]# echo {01..10}|xargs -n2
01 02
03 04
05 06
07 08
09 10
[root@oldboyedu ~]# echo {01..10}|xargs -n3
01 02 03
04 05 06
07 08 09
10
[root@oldboyedu ~]# echo {01..10}|xargs -n4
01 02 03 04
05 06 07 08
09 10
[root@oldboyedu ~]# seq -w 10
01
02
03
04
05
06
07
08
09
10
[root@oldboyedu ~]# seq -w 10|xargs
01 02 03 04 05 06 07 08 09 10

tar --- 壓縮數(shù)據(jù)命令
壓縮數(shù)據(jù)(zcvhPf) 查看數(shù)據(jù)(tf) 解壓文件指定路徑 (tx -C)

B. 文件屬性詳細說明---文件的權(quán)限說明
文件數(shù)據(jù)權(quán)限有什么:
r read 讀 4
w write 寫 2
x execute 執(zhí)行 1
-
null 沒有相應(yīng)權(quán)限 0
33..png
文件權(quán)限賦予那些用戶:
文件屬主用戶: 監(jiān)護人 3個權(quán)限(rwx) 每三位權(quán)限為 一組進行賦予
文件屬組用戶: 親人 3個權(quán)限(rw-) 一個文件數(shù)據(jù)有九個權(quán)限位 (實際正確12個權(quán)限位)
文件其他用戶: 各部老王 3個權(quán)限(r-x)
rw- : 6 rw-r--r-- : 644
rwx : 7 rwxr-xr-x : 755
-w- : 2
結(jié)論:
1. 默認文件權(quán)限: 644
2. 默認目錄權(quán)限: 755
C. 文件屬性詳細說明---文件的用戶信息
系統(tǒng)中有很多不同的用戶
用戶分類:
1.超級管理員用戶 皇帝-root 用戶編號:(user id:)0
2.虛擬用戶 傀儡-nobody 用戶編號:(user id:)1-999(centous7) 1-499(centos6)
3.不同用戶 平民-oldboy 用戶編號:(user id):1000+(
centos7) 500+(centos6)
以上用戶都可以成為:文件屬主 文件屬組 文件其他用戶
root用戶絕對權(quán)利 對指定用戶分組---用戶組概念
root用戶組:root oldboy01 擁有寫能力 指定用戶分組(用戶組概念)
用戶組的關(guān)系:
1)一個用戶 vs 一個用戶組 1對1
2)多個用戶 vs 一個用戶組 多對1
3)一個用戶 vs 多個用戶組 1對多
4)多個用戶 vs 多個用戶組 多對多
D. 文件屬性詳細說明---文件的時間信息
m(modify) time ----修改時間
a(access) time ----訪問時間
ctime (change) ----改變時間
stat /文件 查看文件詳細信息
查看文件時訪問時間變化(a)
編輯文件成功時 ---修改時間和改變時間變化(m c)
修改文件權(quán)限時: chomd 666 /文件 文件的改變時間變化(因為屬性發(fā)生了變化)c
date ---顯示時間/修改時間
顯示當前時間信息:
1)默認顯示時間:
井date
Fri Jul 19 17:26:05 CST 2019
2)指定顯示時間格式;date "+%F %T %W"
%F:顯示時間信息 年-月-日
%T:顯示時間信息 小時:分:秒
%w:顯示星期信息 周一到周日 1-6-0
%y:年份
%Y:年份(包含世紀信息)
%m: 顯示月份
%d: 顯示日期
%H: 顯示小時信息
%M: 顯示分鐘信息
%S: 顯示秒信息
man date 可以查看顯示時間格式符號信息
應(yīng)用: 生成不同時間的備份文件
cp oldboy.txt oldboy_date +%F.txt紅色部分反引號
顯示未來或過去的時間:
[root@oldboyedu oldboy]# date --- 當前時間
Fri Jul 19 17:44:55 CST 2019
顯示過去時間:
[root@oldboyedu oldboy]# date -d "-1 day"
Thu Jul 18 17:45:13 CST 2019
[root@oldboyedu oldboy]# date -d "-2 day"
Wed Jul 17 17:45:19 CST 2019
顯示未來時間:30 80歲
[root@oldboyedu oldboy]# date -d "+1 day"
Sat Jul 20 17:46:02 CST 2019
[root@oldboyedu oldboy]# date -d "+2 day"
Sun Jul 21 17:46:05 CST 2019
[root@oldboyedu oldboy]#
[root@oldboyedu oldboy]# date -d "1 day"
Sat Jul 20 17:46:24 CST 2019
[root@oldboyedu oldboy]# date -d "2 day"
Sun Jul 21 17:46:26 CST 2019
算自己陽壽
[root@han ~]# awk 'BEGIN{print 61*365}'
22265
[root@han ~]# date -d "+22265"day
2080年 07月 03日 星期三 20:58:32 CST
修改時間信息:
date -s "20201010 10:10"
同步時間信息:
ntpdate ntpl.aliyun.com
補充:文件權(quán)限位后面的點和selinux程序開啟或關(guān)閉有關(guān):
selinux程序開啟狀態(tài):創(chuàng)建的文件(之前已有文件)在權(quán)限位后面都會有點存在
selinux程序關(guān)閉狀態(tài):創(chuàng)建的文件 在權(quán)限位后面都不會有點存在
selinux程序關(guān)閉之后,可以順利重啟,重新加載selinux配置文件
selinux程序再次開啟,啟動系統(tǒng)會有延遲情況,延遲時間過后,可以重啟系統(tǒng)
E. 課程知識總結(jié)
1.作業(yè)問題:生成隨機數(shù) find命令特殊用法(排除目錄不做搜索 批量創(chuàng)建用戶 生成隨機密碼)
2.文件權(quán)限信息:
9個權(quán)限位(12位 t- 粘滯位 /tmp)權(quán)限位分別賦予三個用戶
權(quán)限都有 讀 寫 執(zhí)行
權(quán)限信息用數(shù)值表示: rwx---r-x 705 -----631 rw--wx--x
3.文件用戶信息:
屬主 屬組 其他用戶
用戶分類:皇帝 uid編號0 傀儡 uid編號1-1000 平民uid編號1000+
用戶組概念:用戶和組的對應(yīng)關(guān)系
4.文件時間信息:
文件時間有3種時間信息: mtime atime ctime
系統(tǒng)時間命令: date 顯示時間/設(shè)置時間
