2018 05 14 第三課任務筆記

2021-08-20 00:11:25 字數 4631 閱讀 1022

2.17修改檔案的特殊屬性

1.chattr 設定隱藏特殊許可權

命令格式:chattr[+-=] 選項 檔案或目錄

chattr(+-=)表示增加,減少,設定,

選項:常用引數a,i,  

a表示只能追加不能刪除,非root使用者不能設定該屬性;

i表示該檔案不能刪除,重新命名,設定鏈結,寫入及新增資料。

a表示增加該屬性後,檔案或目錄的atime將不可更改。

例項:[root@localhost/]# mkdir test

[root@localhost/]# chattr +i test

[root@localhost/]# touch test/1.txt

touch:無法建立"test/1.txt":許可權不夠

[root@localhost/]# ls -ld test

[root@localhost/]# chattr -i test

[root@localhost/]# touch test/1.txt

2.lsattr

命令格式:lsattr 選項 檔案或目錄

lsattr[-ard]檢視檔案或目錄的特殊許可權

-a表示隱藏檔案一同列出,-r表示連同子目錄的資料一同列出,

-d檢視目錄本身

2.18特殊許可權set_uid

作用:該許可權使檔案(二進位制且可執行檔案)在執行階段具有檔案的所有者的許可權(可以讓非所有者賬戶臨時具有所有者身份)

如何辨別二進位制檔案:

-rwsr-xr-x.1 root root 27832 6月  10 2014 /usr/bin/passwd

上述命令s為set _uid許可權,當普通使用者臨時擁有該命令所有者身份,該檔案必須是二進位制可執行檔案。

命令格式:set_uid 許可權:chmod u+s 「檔案」

例子:[aming@localhost~]$ ls /root/

ls:無法開啟目錄/root/:許可權不夠

[aming@localhost~]$ su - root

[root@localhost ~]# chmod u+s /usr/bin/ls

[root@localhost~]# su –aming

[aming@localhost~]$ ls /root/

anaconda-ks.cfg    initial-setup-ks.cfg

anaconda-ks.cfg.1

有時候set_uid的許可權為大寫的s不是小寫的s,這是因為該檔案沒有x許可權所致。

2.19特殊許可權set_gid

作用在二進位制可執行檔案上,也可以作用在目錄上。

當作用在檔案上時,其功能和set_uid一樣。

當作用在目錄上時,任何使用者在此目錄下建立的檔案都具有和該目錄所屬組相同的組(已經存在不會改變)。

命令格式:chmod g+s 「檔案或目錄」

2.20特殊許可權 sticky_bit

作用:防刪除位(只針對目錄)。

命令格式:chmod o+t 「目錄」

預設情況下只有目錄內檔案的所有者或者root才可以刪除或移動該檔案。如果不為目錄設定防刪除位,任何具有該目錄寫和執行許可權的使用者都可以刪除和移動其中的檔案。實際應用中,防刪除位一般用於/tmp目錄,以防止普通使用者刪除或移動其他使用者的檔案。

2.21軟鏈結

軟鏈結也稱為符號鏈結,即「symbolic links/soft links」,是乙個通過名稱指向另乙個不同檔案的特殊的檔案型別,是乙個單獨的檔案,有著不同於原檔案(目標檔案)的屬性,相當於windows系統中的快捷方式。當對軟鏈結進行大多數操作(包括開啟、讀取、寫入等等)時,系統核心會自動在軟鏈結的目標檔案上執行;但某些操作,例如刪除,會直接對鏈結檔案本身操作。

做軟鏈結時,建議盡量使用絕對路徑。

/bin相當於快捷方式,usr/bin才是它真正的目錄。

軟鏈結檔案大小和檔案的路徑大小有關,對映的路徑越大,檔案越大。

2.目標檔案的刪除操作會影響軟鏈結檔案。當鏈結檔案被刪除時,不會對目標檔案產生影響;當刪除目標檔案/目錄時,由於失去了目標指向,軟鏈結會失效,變成死鏈。

3.能跨分割槽建立軟鏈結。(使用命令 #df -h 檢視分割槽的大小是使用情況的時候,掛載點那一行就是分割槽。

2.22硬鏈結

特點:1.建立乙個檔案,這個檔案和另外乙個檔案的inode號一樣,那麼這兩個檔案相互為硬鏈結檔案。

2.只能對檔案做硬鏈結,不能對目錄做硬鏈結。

3.不能跨系統分割槽建立硬鏈結。

4.只能對已存在的檔案進行建立。

5.刪除乙個硬鏈結檔案並不影響其他有相同inode號的檔案。

2.23find

1.根據檔名搜尋

命令例子:#find /etc/ -name 「檔名」

2.根據檔案型別搜尋

命令例子:#find /etc/ -type d

3.-mtime(修改內容)m,modify

-ctime(寫入,更改inode屬性(如更改所有者、許可權或者鏈結))c,change

-atime(訪問)a,access

更改了檔案內容,ctime一定會變化。

檢視檔案三個時間命令:stat 「檔案」

用法:-mtime/-ctime/-atime +n/_n 表示大於或小於n天的對應條件。

命令舉例:#find /etc/ -type f –ctime -1 –name 「*.conf」(條件為並列關係)

#find/etc/ -type f -o –ctime -1 –o –name 「*.conf」(條件為或的關係,o=or)

4.找檔案的硬鏈結

然後#find 目錄 inum inode號

5.-mtime分鐘時間

#find/root/ -type f –mmin -120    120分鐘內

6.-exec命令 {}\; 對查詢到的命令執行指定的命令,執行命令前不提示使用者。

#find/root/ -type f –mmin -120 –exec ls –l{}\;

改名稱:

7.根據檔案大小 –size

用法:#find /root/ -size  -/+c,k(c表示byte,k表示1024bytes)

2.24檔名字尾

1.檔案型別

d:目錄,他與windows下的資料夾類似。

-:普通檔案,可分為純文字檔案(acaii)和二進位制檔案。純文字檔案可通過cat,more,less等工具檢視內容,而二進位制檔案可通過file檢視。

l:鏈結,類似於windows的快捷方式

p:管道檔案

c:字元裝置檔案

b:該檔案為塊裝置

s:套接字檔案,用於程序之間的通訊

2.linux檔名字尾

檔名字尾作用:當使用者看到使用者名稱時,能夠很快知道是乙個什麼檔案。

常用:sh:代表是乙個shell指令碼

tar.gz:代表是乙個壓縮包

my.cnf:代表是乙個配置檔案

test.zip:代表是乙個壓縮檔案

2.25linux與windows互傳檔案

使用xshell,putty不可以

首先安裝乙個包:#[root@localhost /]# yum install -y lrzsz

1.把linux檔案傳輸到windows上使用命令:sz 「檔名」

例項:[root@localhost/]# touch 1.txt

[root@localhost/]# ls

1.txt       default.target  lib   opt   sbin  tmp

aminglinux  dev             lib64  proc srv   usr

bin         etc             media  root sys   var

boot        home            mnt    run  test

[root@localhost/]#sz 1.txt                

[root@localhost /]# ^c

[root@localhost/]# vi 1.txt

[root@localhost/]# sz 1.txt

此時在windows上就可以看到1.txt檔案了

2. 把windows檔案傳輸到linux上使用命令:rz 「window上檔案」

python第三課答案 python第三課

字串操作 s alexwusir s1 s.capitalize 首字母大寫 print s1 全大寫,全小寫 s2 s.upper s21 s.lower print s2,s21 大小寫翻轉 s3 s.swapcase print s3 每個隔開 特殊字元或數字 的單詞首字母大寫 s alex ...

python第三課答案 python第三課筆記

以下哪個變數的命名不正確?為什麼?a mm 520 b mm520 c 520 mm d 520 mm 答 c不正確,不能數字開頭 在不上機的情況下,以下 你能猜到螢幕會列印什麼內容嗎?myteacher 小甲魚 yourteacher myteacher yourteacher 黑夜 print ...

python第三課答案 python第三課

1.迴圈物件,主要呼叫next 2.迭代器iterator 在理解上可以和迴圈物件理解為乙個東西。3.生成器 generator 自定義的迴圈物件。4.表推導 list comprehension 是快速生成表的方法。表推導用中括號。l x 2 for x in range 10 練習 f open...