linux中find命令


  • find命令簡介:
linux find命令用來在指定目錄下查找文件。任何位於參數之前的字符串都將被視為欲查找的目錄名。如果使用該命令時,不設置任何參數,則find命令將在當前目錄下查找子目錄與文件。並且將查找到的子目錄和文件全部顯示。

image

一:find作用

find作用:
	根據文件的名稱或者屬性查找文件。

二:find參數

參數:
	-name	: 按照文件的名字查找文件
	*	    : 通配符(位置零個或多個任意字符)
	-iname  : 按照文件的名字查找文件(忽略大小寫)
	-size	: 按照文件的大小查找文件
		+	: 大於
		-	: 小於
		沒符號	: 等於
	-mtime	: 按照修改時間去查詢
		+(可以省略)	: n天以前(大於n天)
		-		   : n天以內(小於n天)
	相等功能:
		-atime
		-ctime
	
	-user	: 按照用戶的屬主查詢
	-group	: 按照用戶的屬組查詢
	
	-type	: 按照文件的類型查詢
	
		d : 文件夾
		f : 普通文件
		l : 鏈接文件
		s : 套子接文件
		p : 管道文件
		c : 字符文件
		b : 磁盤文件
	
	-perm : 按照文件的權限查詢
	-inum : 根據index node號碼查詢
	
	
	-maxdepth	: 查詢的目錄深度(必須放置與第一個參數位)
	(以下參數不能單獨使用)
	-a	: 並且(可以省略, 默認時並且)
	-o	: 或者
	
	-exec	: 將find處理好的結果交給其他命令繼續處理

image

三:find實戰案例:

案例1:
	查詢/etc目錄下hosts文件
	 [root@localhost ~]# find /etc/ -name 'hosts'
	 
案例2:
	查詢/etc目錄下名稱文件包含hosts文件(通配符)
	 [root@localhost ~]# find /etc/ -name '*hosts'
	 
案例3:
	查詢/etc目錄下名稱文件包含hosts文件(忽略大小寫)
	[root@localhost ~]# find /etc/ -iname 'hosts'

案例4:
	查詢/etc目錄文件的大小(大於,小於)
	1.大於
	[root@localhost ~]# find /etc/ -size +1M
	2.小於
	[root@localhost ~]# find /etc/ -size -1M
案例5:
	按照文件修改時間去/etc/查詢
	1. 3天以前(不加+默認以前)
	find /etc/ -mtime 3
	1. 3天以內
	find /etc/ -mtime -3
案例6:
	用戶路徑tmp
	按照用戶的屬主查詢
	find ./ -user root
案例7:
	按照用戶的屬組查詢
	find ./ -group root
案例8:
	按照文件的類型查找
	find ./ -type f
案例9:
	按照文件的權限查詢
	 find ./ -perm 644
	
案例10:
	查詢文件的編號 ll -i
	find ./ -inum 1011
案例11:
	查詢目錄深度
	find /etc/ -maxdepth 2 -name 'ifcfg-ens*'
	查詢目錄深度(-o)都匹配
	find /etc/ -maxdepth 2 -o -name 'ifcfg-ens*'
	
	
案例:	 要求把/etc目錄下,所有的普通文件打包壓縮到/tmp目錄
	[root@localhost /tmp]# tar -czPf /tmp/etcv2.tar.gz `find /etc/ -type f | xargs`
	
解析:
	|	: 前面一個命令的結果交給后面一個命令處理
	xargs	: 把處理的文本變成以空格分割的一行
	`` : 提前執行命令,然后將結果交給其他命令來處理
知識儲備:   生成100M文件
	
[root@localhost ~]# dd if=/dev/zero of=100.txt bs=10M count=10

解析:
	dd	: 生成文件
		if	: 從什么地方讀
		of	: 寫入到什么文件
		bs	: 每次寫入多少內容
		count	: 寫入多少次


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM