1. 程式人生 > >find命令、文件名後綴以及Linux和Windows互傳文件

find命令、文件名後綴以及Linux和Windows互傳文件

二周第五次課

find命令

文件查找:

1.which(一般用於查找命令的絕對路徑)

2.whereis(不常用)

3.locate(非實時查找,基於預先定義的數據庫。模糊查找,查找速度快。使用前要先安裝這個命令yum -y install mlocate,而且每次使用前最好更新數據庫updatedb)

locate -i :查找時不區分大小寫。

4.find(實時查找,精確查找,查找速度較慢)


find命令的用法:

根據姓名來查找:

find 路徑 -name “文件名”:在。。。目錄下查找名為。。。的文件。

find -iname:不區分大小寫。

若find後面沒有寫路徑,則是在當前目錄下查找。

技術分享圖片


根據類型來查找:

find 路徑 -type

文件類型 -name “文件名”:按照類型查找名為。。。的文件。

技術分享圖片

技術分享圖片


根據時間戳來查找:

文件有三個時間:atime、mtime、ctime。(以天為單位)

atime:最後一次被訪問的時間。

mtime:最後一次文件內容被修改的時間。

ctime:最後一次文件屬性(大小、權限、所屬等)被修改的時間。

amin、mmin、cmin:以分鐘為單位。

技術分享圖片

find /etc -mtime -1:在/etc底下查找1天內修改過內容的文件。

find /root -ctime +5:在/root底下查找5天前更改過屬性的文件。

技術分享圖片


find的多個查詢條件可以並列在一起使用,他們之間是“且”的關系。如果想讓他們變成“或”的關系,則在條件之間使用 -o 選項。

技術分享圖片

根據inode號來查找:

find / -inum inode號:查找inode號為。。。的文件。(用於尋找硬鏈接)

技術分享圖片


根據大小來查找:

find /etc -size 10M:查找/etc目錄下,大小為10M的文件。

find /etc -size +10M:查找/etc目錄下,大於10M的文件。

find /etc -size -10M:查找/etc目錄下,小於10M的文件。

M是大寫,k是小寫,分別代表單位“兆”和“千”。


find找到文件後再執行命令:

find /root -type f -mmin -60 -exec mv {} {}.bak \; :查找/root目錄下,在一個小時之內修改過的文件,並重新命名為“文件名.bak”。 (其中,-exec是find的一個選項,用於承接前後兩條命令。{}代表查找到的每一個文件,遍歷執行後面的命令。\;是結束符號)

find /etc -type f -perm /7000 -exec ls -l {} \; :查找/etc目錄下,有特殊權限的文件並列出它們的詳細信息。

find /home -user user1 -group user1 -exec cp -a {} /root/backups \; :查找/home 目錄下,擁有者和擁有組均為user1 的文件,備份至/root/backups目錄下,並保留權限。(cp -a 相當於cp -r 加 cp -p)


文件名後綴

在linux中,文件名的後綴並不能決定文件類型,我們只是習慣於給不同的文件相應的後綴,讓我們更容易識別。


Linux和Windows互傳文件

1.使用winscp工具

技術分享圖片

技術分享圖片


2.使用centos7自帶的命令sz和rz

首先,要先安裝 lrzsz 這個安裝包,yum -y install lrzsz。然後,使用 "sz 文件名",把Linux上的文件傳給Windows。使用 rz 命令把Windows上的文件傳給Linux(默認保存在當前目錄下)。必須配合Xshell使用,不能直接在虛擬機上敲這兩個命令(會死機)。這種方法時常會出問題,不推薦使用。

技術分享圖片

技術分享圖片


3.使用Xshell自帶的xftp工具(需要預先安裝xftp)

技術分享圖片

技術分享圖片

技術分享圖片


find命令、文件名後綴以及Linux和Windows互傳文件