1. 程式人生 > >find命令 文件後綴名

find命令 文件後綴名

find命令 文件後綴名

一、find命令
1、find命令用來在指定目錄下查找文件。任何位於參數之前的字符串都將被視為欲查找的目錄名。如果使用該命令時,不設置任何參數,則find命令將在當前目錄下查找子目錄與文件。並且將查找到的子目錄和文件全部進行顯示。
擴展:
which ls 命令
wherels ls命令
locate命令:yum install -y mlocate ,安裝完locate後,執行updatedb命令,再執行locate ls,就可以使用locate命令查看ls
清屏快捷鍵:Ctrl+L、clear
退出快捷鍵:Ctrl+D、exit
Ctrl+C:退出
Ctrl+U:把光標之前敲入的這一行代碼都刪掉(往前刪除)
Ctrl+E:會把光標移到最後面
Ctrl+A:會把光標移到最前面
2、find命令使用實例:
[root@localhost ~]# find /etc/ -name "sysctl.conf"
/etc/sysctl.conf
[root@localhost ~]# find /etc/ -type d -name "sysctl.conf" //可以使用-type d指定只查找目錄類型
[root@localhost ~]# find /etc/ -type f -name "sysctl.conf" //可以使用-type f指定只查找文件類型
/etc/sysctl.conf
3、根據文件類型進行搜索
格式:find . -type 類型參數
類型參數列表:
● f 普通文件
● l 符號連接
● d 目錄
● c 字符設備
● b 塊設備
● s 套接字
● p Fifo
查看/etc/下的軟鏈接文件:
[root@localhost ~]# find /etc/ -type l
/etc/mtab
[root@localhost ~]# ls -l /etc/mtab
lrwxrwxrwx. 1 root root 17 Mar 25 23:52 /etc/mtab -> /proc/self/mounts
查看/dev/下的塊設備:
[root@localhost ~]# find /dev/ -type b
/dev/sr0
/dev/sda3
/dev/sda2
/dev/sda1
/dev/sda
4、根據文件時間戳進行搜索
格式:find . -type f 時間戳
UNIX/Linux文件系統每個文件都有三種時間戳:
● 訪問時間(-atime/天,-amin/分鐘):用戶最近一次訪問時間。
● 修改時間(-mtime/天,-mmin/分鐘):文件最後一次修改時間。
● 變化時間(-ctime/天,-cmin/分鐘):文件數據元(例如權限等)最後一次修改時間。
擴展:
stat 命令:查看某個文件的詳細信息
[root@localhost ~]# stat 11.txt
File: ‘11.txt’
Size: 65 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 33611143 Links: 1 //設備
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) //權限
Context: unconfined_u:object_r:admin_home_t:s0 //環境
Access: 2018-03-29 00:17:28.991120990 +0800 //最近訪問時間
Modify: 2018-03-29 01:12:45.015153523 +0800 //最近更改文件內容時間
Change: 2018-03-29 01:13:55.374154213 +0800 //最近改動innod時間
Birth: - //創建時間
(擴展:系統顯示語言改英文:LANG=en)
定律:更改了文件內容,ctime一定會變,ctime記錄文件的 時間、大小、權限、所有者、所屬組
實例:
查找/etc/目錄下修改時間為一天以內的文件
[root@localhost ~]# find /etc/ -type f -mtime -1 //-1表示查找時間為一天之內,+1表示查找時間為一天之前
/etc/resolv.conf
/etc/group
/etc/gshadow
/etc/tuned/active_profile
5、並且條件查找文件:
[root@localhost ~]# find /etc/ -type f -mtime -1 -name ".conf"
/etc/resolv.conf
或者條件查找文件:
[root@localhost ~]# find /etc/ -type f -o -mtime -1 -o -name "
.conf" //-o表示或者
/etc/
/etc/fstab
/etc/crypttab
/etc/resolv.conf
/etc/grub.d/00_header
6、使用find / -inum innod號 命令查找硬鏈接相同innod文件
[root@localhost ~]# ln 11.txt /tmp/234.txt.bak //把11.txt硬鏈接到/tmp/234.txt.bak
[root@localhost ~]# ls -l 11.txt //查看到2表示有2個文件使用了相同的innod號
-rw-r--r--. 2 root root 65 Mar 29 01:12 11.txt
[root@localhost ~]# ls -i 11.txt
33611143 11.txt //使用ls-i命令查看11.txt的innod號
[root@localhost ~]# find / -inum 33611143 // 使用find / -inum innod號 命令查找2個相同innod號的文件
/root/11.txt
/tmp/234.txt.bak
查找/root/目錄下60分鐘以內的文件:find /root/ -type f -mmin -60
find的同時,列出文件的詳細信息(及和使用ls -l命令效果一樣的)
[root@localhost ~]# find /root/ -type f -mmin -120 -exec ls -l {} \; //末尾是一個反斜杠分號
(註釋:-exec是find命令的一個選項,{}表示find出來的一個列表)
find的同時,把find出來的文件重命名為.bak名稱
[root@localhost ~]# find /root/ -type f -mmin -120 -exec mv {} {}.bak \;
(註釋:mv {} {}.bak 把原文件重命名為.bak)
使用find命令查找/root/目錄下大於10M/10k的文件並詳細顯示出來
[root@localhost ~]# find /root/ -type f -size +10M -exec ls -lh {} \; //這裏兆單位必須使用大寫表示
[root@localhost ~]# find /root/ -type f -size +10k -exec ls -lh {} \;
二、文件名後綴
一般linux系統的文件後綴名都是約定俗成的,如.conf後綴名的文件一般就是配置文件。
顯示系統顯示語言:echo $LANG
[root@localhost ~]# echo $LANG
en_US.UTF-8

find命令 文件後綴名