ps: 紅字字體爲重要部分, 仔細看node
1、 文件、目錄隱藏屬性linux
1. chattr: 改變文件或目錄隱藏屬性;shell
2. lsattr: 查看文件或目錄隱藏屬性;vim
經常使用選項:bash
①。 -i: 不能刪除、更名、移動、重定向、追加;ide
對文件操做;工具
[root@Centos2 ~]# echo aa > a.txt [root@Centos2 ~]# chattr +i a.txt [root@Centos2 ~]# rm -rf a.txt rm: cannot remove `a.txt': Operation not permitted #提示沒權限 [root@Centos2 ~]# mv a.txt b.txt mv: cannot move `a.txt' to `b.txt': Operation not permitted [root@Centos2 ~]# mv a.txt /tmp mv: cannot move `a.txt' to `/tmp/a.txt': Operation not permitted [root@Centos2 ~]# echo "11" > a.txt -bash: a.txt: Permission denied [root@Centos2 ~]# echo "11" >> a.txt -bash: a.txt: Permission denied [root@Centos2 ~]# lsattr a.txt ----i--------e- a.txt
對目錄操做;字體
[root@Centos2 /]# chattr +i /root/ [root@Centos2 /]# lsattr | grep root ……………………/省略 ----i--------e- ./root [root@Centos2 /]# mkdir /root/a mkdir: cannot create directory `/root/a': Permission denied [root@Centos2 /]# echo "aaa" > /root/1.txt -bash: /root/1.txt: Permission denied [root@Centos2 /]# tocuh /root/aaa.txt -bash: tocuh: command not found
②。 -a: 只能追加;ui
[root@Centos2 ~]# chattr +a a.txt [root@Centos2 ~]# echo "aaaaaa" > a.txt -bash: a.txt: Operation not permitted [root@Centos2 ~]# mv a.txt b.txt mv: cannot move `a.txt' to `b.txt': Operation not permitted [root@Centos2 ~]# rm -rf a.txt rm: cannot remove `a.txt': Operation not permitted [root@Centos2 ~]# echo "11111" >> a.txt ps: 目錄顯示方法和-i同樣。
③。 -R: 遞歸顯示隱藏權限;spa
[root@Centos2 ~]# lsattr -R /root/ ………………/省略 -----a-------e- /root/a.txt
④。 -d: 顯示目錄自己隱藏權限;
[root@Centos2 ~]# chattr +a 2/ [root@Centos2 ~]# lsattr -d 2/ -----a-------e- 2/
2、 如何判斷內置命令和外置命令
1. 內置命令: 存放在內核
[root@Centos2 ~]# type cd cd is a shell builtin [root@Centos2 ~]# type pwd pwd is a shell builtin [root@Centos2 ~]# type type type is a shell builtin
2. 外置命令:
[root@Centos2 ~]# type shutdown shutdown is /sbin/shutdown [root@Centos2 ~]# type cat cat is hashed (/bin/cat) [root@Centos2 ~]# type vim vim is /usr/bin/vim [root@Centos2 ~]# type find find is /bin/find
3、 搜索文件
1. which: 經過PATH環境變量到該路徑內查找可執行文件, 因此基本的功能是尋找可執行文件
[root@Centos2 ~]# which ps /bin/ps [root@Centos2 ~]# which pwd /bin/pwd [root@Centos2 ~]# which cd /usr/bin/which: no cd in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
2. whereis: 和find相比, whereis查找的速度很是快, 這是由於linux系統會將系統內的全部文件都記錄在一個數據文件中
[root@Centos2 ~]# whereis passwd passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz [root@Centos2 ~]# whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz
3. find: 查找文件
find做用: Find是一個很是有效的工具, 它能夠遍歷當前目錄甚至於整個文件系統來查找某些文件或目錄
find參數:
-name : 按照文件名查找文件
-perm : 按照文件權限來查找文件
-user : 按照文件屬主來查找文件
-group: 按照文件屬組來查找文件
-mmin : 查看幾分鐘內修改的文件
-atime -n +n: 訪問或執行時間小於/大於n天的文件
-ctime -n +n: 寫入、更改inode屬性(例如更改全部者、權限或者連接)時間小於/大於n天內的文件
-mtime -n +n: 寫入時間小於/大於n天的文件. -n表示文件距如今n天之內,+n表示文件距如今n天之前.
-nogroup: 查找無有效屬組的文件. 即該文件屬組在/etc/group中不存在.
-nouser: 查找無有效屬主的文件. 即該文件屬主在/etc/passwd中不存在.
-type: b:塊設備文件
d:目錄
c:字符設備文件
p:管道文件
l:符號連接文件
f:普通文件
-size n[c]: 查找文件長度爲n塊的文件, 帶有c時表示文件長度以字節計.
-mount: 在查找文件時不跨越文件系統mount點
1. 在家目錄下搜索以".txt"結尾的文件
[root@test01 ~]# find ~ -name "*.txt" /root/bomc.txt /root/1.txt
2. 在當前目錄中搜索以大寫字母開頭的文件或目錄
[root@test01 ~]# find . -name "[A-Z]*"
./.config/Trolltech.conf ./Videos ./Desktop ………………
3. 在當前目錄查找權限爲755的文件或目錄
[root@test01 ~]# find . -perm 755 ./.config ./Videos ./Desktop ………………
4. 在當前目錄查找屬組爲root的文件
[root@test01 ~]# find . -group root ./.tcshrc ./install.log ………………
5. 在當前目錄查找更改時間在3日之前的文件
[root@test01 ~]# find . -mtime +3 ./.tcshrc./install.log ………………
6. 在/etc目錄下查找全部的目錄
[root@test01 ~]# find /etc/ -type d|more /etc/ /etc/chkconfig.d /etc/init ………………
7. 在當前目錄下查找排除目錄之外的文件
[root@test01 ~]# find . ! -type d./.tcshrc./install.log ………………
8. 在當前目錄下查找排除符號鏈接的文件
[root@test01 ~]# find . -type l./.kde/cache-test01 ………………
9. 查找當前目錄下查找文件長度大於10字節的文件
[root@test01 ~]# find . -size +10c
./.tcshrc
./install.log
./.esd_auth
………………
10. 查看當前目錄下的全部普通文件, 並用ls -l將它們列出
[root@test01 ~]# find . -type f | xargs ls -l 或者以下命令 [root@test01 ~]# find . -type f -exec ls -l {} \;
11. 查看/var/log目錄下5天之前的日誌文件, 並用rm將它們刪除
[root@test01 ~]# find /var/log/ -type f -mtime +5 | xargs rm -rf [root@test01 ~]# find /var/log/ -type f -mtime +5 -exec rm -rf {} \;
11. 查找1天之內建立的文件
[root@test01 ~]# find / -type f -mtime -1
4、 用stat命令查看目錄、文件時間
1. a、m、ctime解釋
atime: 最近查看文件的時間;
mtime: 最近修改文件內容的時間;
ctime: 最近文件屬性的更改時間和文件大小變化時間;
[root@Centos2 /]# stat linux/ File: `linux/' Size: 4096 Blocks: 8 IO Block: 4096 directory Device: fd00h/64768d Inode: 1045419 Links: 2 Access: (4775/drwsrwxr-x) Uid: ( 0/ root) Gid: ( 501/ user2) Access: 2015-03-17 23:02:55.525610032 -0400 Modify: 2015-03-17 23:02:54.225616979 -0400 Change: 2015-03-17 23:02:54.225616979 -0400 [root@Centos2 /]# echo "aaa" > linux/aaa.txt [root@Centos2 /]# stat linux File: `linux' Size: 4096 Blocks: 8 IO Block: 4096 directory Device: fd00h/64768d Inode: 1045419 Links: 2 Access: (4775/drwsrwxr-x) Uid: ( 0/ root) Gid: ( 501/ user2) Access: 2015-03-17 23:02:55.525610032 -0400 Modify: 2015-03-17 23:06:26.894616709 -0400 Change: 2015-03-17 23:06:26.894616709 -0400 ps: 當咱們往linux目錄寫入文件時, 它的mtime和ctime都發生時間的變化
5、 文件特殊權限
[root@Centos2 ~]# mkdir linux [root@Centos2 ~]# ls -ld linux/ drwxr-xr-x 2 root root 4096 Mar 17 22:47 linux/ [root@Centos2 ~]# chmod g+s linux/ [root@Centos2 ~]# chown user1:user2 linux/ [root@Centos2 ~]# ls -ld linux/ drwxr-sr-x 2 user1 user2 4096 Mar 17 22:47 linux/ [root@Centos2 ~]# touch linux/linux.txt [root@Centos2 ~]# ls -l linux/ total 0 -rw-r--r-- 1 root user2 0 Mar 17 22:48 linux.txt ps: set_uid: 擁有set_uid權限(臨時擁有該命令的屬主去執行二進制的命令,只能用於文件) set_gid: 繼承目錄屬組權限 stick_bit: 防刪除位, 其它用戶不能刪除,只有建立者能刪 詳細請見: http://www.zhukun.net/archives/5962
6、 連接文件
1. 軟鏈接
[root@Centos2 linux]# echo "11111" > 1.txt [root@Centos2 linux]# ln -s 1.txt /home/home_1.txt [root@Centos2 linux]# ls -l /home/ ……………………/省略 lrwxrwxrwx 1 root root 5 Mar 17 23:40 home_1.txt -> 1.txt [root@Centos2 linux]# rm -rf /home/home_1.txt [root@Centos2 linux]# ls -l /home/
2. 硬鏈接
[root@Centos2 linux]# ln 1.txt /home/home-1.txt [root@Centos2 linux]# ls -l /home/ …………………………./省略 -rw-r--r-- 2 root root 6 Mar 17 23:40 home-1.txt [root@Centos2 linux]# rm -rf /home/home-1.txt [root@Centos2 linux]# ln 1.txt /boot/ ln: creating hard link `/boot/1.txt' => `1.txt': Invalid cross-device link #硬鏈接不能跨分區 ps: 硬鏈接=複製+同步+刪除源文件無障礙+不能跨分區+不能用於目錄 軟鏈接=快捷方式+同步+刪除源文件廢廢+能跨分區+能用於目錄
若有不對地址, 請及時提示