Linux常用基本命令[find]用法(1)

find是个很强大的命令,用法很多。

作用:查找目录下的文件,同时也可以调用其他命令执行相应的操作

用法:

find [选项] [路径][操作语句]

find [-H] [-L] [-P] [-D debugopts] [-Olevel]  [pathname]  [expression]

expression包含 options(参数) tests(限定的条件) actions(执行的动作) 三个模块

1,先预习ls命令的几个参数

ls -lt: 根据文件修改时间排序,最新的在前面

ghostwu@dev:~$ ls -lt python/
total 40
-rw-rw-r-- 1 ghostwu ghostwu 124 3月  18 21:55 global2.py
-rw-rw-r-- 1 ghostwu ghostwu 150 3月  18 21:53 global.py
-rw-rw-r-- 1 ghostwu ghostwu  99 3月  18 21:48 func5.py
-rw-rw-r-- 1 ghostwu ghostwu  81 3月  18 21:33 func4.py
-rw-rw-r-- 1 ghostwu ghostwu  58 3月  18 21:31 func3.py
-rw-rw-r-- 1 ghostwu ghostwu 179 3月  18 21:29 func2.py
-rw-rw-r-- 1 ghostwu ghostwu  44 3月  18 21:26 func.py
-rw-rw-r-- 1 ghostwu ghostwu  92 3月  18 21:23 while1.py
-rw-rw-r-- 1 ghostwu ghostwu  90 3月  18 21:19 while.py
-rw-rw-r-- 1 ghostwu ghostwu  82 3月  18 21:08 for.py

ls -ult:加上参数u表示 按文件访问时间排序,最新的在前面

ghostwu@dev:~$ ls -ult python/
total 40
-rw-rw-r-- 1 ghostwu ghostwu  92 5月   6 22:21 while1.py
-rw-rw-r-- 1 ghostwu ghostwu  99 5月   6 22:21 func5.py
-rw-rw-r-- 1 ghostwu ghostwu  82 5月   6 22:21 for.py
-rw-rw-r-- 1 ghostwu ghostwu  90 5月   6 22:21 while.py
-rw-rw-r-- 1 ghostwu ghostwu 124 5月   6 22:21 global2.py
-rw-rw-r-- 1 ghostwu ghostwu 150 5月   6 22:21 global.py
-rw-rw-r-- 1 ghostwu ghostwu  44 5月   6 22:21 func.py
-rw-rw-r-- 1 ghostwu ghostwu  81 5月   6 22:21 func4.py
-rw-rw-r-- 1 ghostwu ghostwu  58 5月   6 22:21 func3.py
-rw-rw-r-- 1 ghostwu ghostwu 179 5月   6 22:21 func2.py

2,查找指定时间内访问过的文件, atime:访问时间 -2:2天内, atime后面一般跟 -atime [-n|n|+n]。

-n: 文件访问时间距现在n天内

n: 文件访问时间距现在第n天

+n: 文件访问时间距现在4天以前

ghostwu@dev:~$ find ./python -atime -2
./python
./python/func2.py
./python/func3.py
./python/func4.py
./python/func.py
./python/global.py
./python/global2.py
./python/while.py
./python/for.py
./python/func5.py
./python/while1.py

3,-name 按照文件名查找,一般只支持*, ?, []等匹配符

查找3天前,修改过的日志文件

root@dev:~# find / -atime +3 -name "*.log"
/var/log/apache2/access.log
....
root@dev:~# stat /var/log/apache2/access.log
  File: '/var/log/apache2/access.log'
  Size: 0             Blocks: 0          IO Block: 4096   regular empty file
Device: 806h/2054d    Inode: 403981      Links: 1
Access: (0640/-rw-r-----)  Uid: (    0/    root)   Gid: (    4/     adm)
Access: 2018-02-10 14:25:28.955350445 +0800
Modify: 2018-02-10 14:25:28.955350445 +0800
Change: 2018-02-10 14:25:28.971350236 +0800

4,-type 查找指定类型

b( 块设备文件 ), c( 字符设备文件 ), d( 目录 ), p( 管道文件 ), l( 符号链接文件 ), f( 普通文件 ), s( socket 文件 ), D( door )

ghostwu@dev:~/linux$ ls
cp
ghostwu@dev:~/linux$ tree cp
cp
├── ghostwu_hardlink
├── ghostwu_home -> /home/ghostwu/
├── ghostwu_softlink -> ghostwu.txt
├── ghostwu.tar.gz
└── ghostwu.txt

1 directory, 4 files
ghostwu@dev:~/linux$ mkdir -p cp/{a..d}
ghostwu@dev:~/linux$ tree cp
cp
├── a
├── b
├── c
├── d
├── ghostwu_hardlink
├── ghostwu_home -> /home/ghostwu/
├── ghostwu_softlink -> ghostwu.txt
├── ghostwu.tar.gz
└── ghostwu.txt

5 directories, 4 files
ghostwu@dev:~/linux$ find . -type d
.
./cp
./cp/a
./cp/c
./cp/d
./cp/b
ghostwu@dev:~/linux$ find . ! -type d
./cp/ghostwu.tar.gz
./cp/ghostwu_hardlink
./cp/ghostwu_home
./cp/ghostwu.txt
./cp/ghostwu_softlink

find . ! –type d 这里的感叹号表示 取反

5,-perm 按指定的权限来查找

ghostwu@dev:~/linux$ ls -l cp
total 60
drwxrwxr-x 2 ghostwu ghostwu  4096 5月   7 22:38 a
drwxrwxr-x 2 ghostwu ghostwu  4096 5月   7 22:38 b
drwxrwxr-x 2 ghostwu ghostwu  4096 5月   7 22:38 c
drwxrwxr-x 2 ghostwu ghostwu  4096 5月   7 22:38 d
-rw-rw-r-- 2 ghostwu ghostwu 10240 5月   6 22:15 ghostwu_hardlink
lrwxrwxrwx 1 ghostwu ghostwu    14 5月   6 20:07 ghostwu_home -> /home/ghostwu/
lrwxrwxrwx 1 ghostwu ghostwu    11 5月   6 20:03 ghostwu_softlink -> ghostwu.txt
-rw-rw-r-- 1 ghostwu ghostwu 20480 5月   6 22:17 ghostwu.tar.gz
-rw-rw-r-- 2 ghostwu ghostwu 10240 5月   6 22:15 ghostwu.txt
ghostwu@dev:~/linux$ find ./cp -perm 755
ghostwu@dev:~/linux$ find ./cp -perm 775
./cp/a
./cp/c
./cp/d
./cp/b
ghostwu@dev:~/linux$ find ./cp -perm 664
./cp/ghostwu.tar.gz
./cp/ghostwu_hardlink
./cp/ghostwu.txt

 

Hadoop编译源码

1.1 前期准备工作 1)CentOS联网 配置CentOS能连接外网。最好是用新克隆的虚拟机 注意:采用root角色编译,减少文件夹权限出现问题 2)jar包准备(hadoo...

简单的Linux命令笔记

ls -l 详细信息ls /dev/ -ls 很详细ls -a 显示隐藏ls -lh 方便看ls -lh –sort=size 按大小排序.开头的都是隐藏 cd /media/ 进入cd .. 上一级pwd 当前工...

linux系统开机流程详解

今天,我们主要来谈谈计算机系统的启动流程,在此借用网络上的一张图来说明整个流程: 1、BIOS启动 BIOS是写入到主板上的一个韧体(韧体就是写入到硬件上的...

makefile中的一些参数说明

#obj = main.o sub.o add.o div.o mul.osrc = $(wildcard *.c) #搜索.c文件 可以加路径 obj = $(patsubst %.c, %.o, $(src))#字符匹配替换,将src中所有.c...

Linux下设置共享目录

Linux系统的文件或目录的共享功能是非常强大,而且是非常灵活的,其对权限的控制可以做到非常的细致,当然如果你是通过命令行方式进行设置的 话,那么对...

Linux 基础

Linux 系统启动过程: 内核引导 运行init 系统初始化 建立终端 用户登录 Linux 关机:Sync>shutdown>reboot>halt  不管重启系统还是关机系...