find
语法
find path -option [ -print ] [ -exec -ok command ] {} \;
-option可以支持多种:
-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件 -amin n : 在过去 n 分钟内被读取过 -anewer file : 比文件 file 更晚被读取过的文件 -atime n : 在过去n天内被读取过的文件 -cmin n : 在过去 n 分钟内被修改过 -cnewer file :比文件 file 更新的文件 -ctime n : 在过去n天内被修改过的文件 -empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name -ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写 -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写 -size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。 -type c : 文件类型是 c 的文件。
d: 目录 c: 字型装置文件 b: 区块装置文件 p: 具名贮列 f: 一般文件 l: 符号连结 s: socket
其中 -exec -ok ,后面必须带 {} \;
1) -exec选项
这里我们主要讲解两个选项“-exec”和”-ok”,这两个选项的基本作用非常相似。我们先来看看 “exec”选项的格式。
[root@localhost ~]# find 搜索路径 [选项] 搜索内容 -exec 命令2{}\;
首先,请大家注意这里的”{}”和”\;”是标准格式,只要执行”-exec”选项,这两个符号必须完整输入。
其次,这个选项的作用其实是把 find 命令的结果交给由”-exec”调用的命令 2 来处理。”{}”就代表 find 命令的査找结果。
案例
查找系统中所有文件长度为 0 的普通文件,并列出它们的完整路径:
find / -type f -size 0 -exec ls -l {} \;
这里的-exec ls -l {} \; 表示对于前面的输出,再执行第二命令 ls -l
面的输出,再执
2>&1
语法
2就是标准错误,1是标准输出,这里&是什么?这里&相当于等效于标准输出
在shell执行命令时
- 执行报错,会输出到stderr。2
- 正常执行,执行会输出到stdout。1
其中2 > &1 表示将2的错误,&转换成标准输出,再合并到标准输出中1
案例
测试脚本:testshell.sh
#!/bin/shtdate
执行当前脚本,将标准输出存储到test.log中,错误直接控制台输出
将标准输出和错误输出都输出到test.log中
test.log中的内容
df 命令
语法
df [选项]... [FILE]...
- 文件-a, —all 包含所有的具有 0 Blocks 的文件系统
- 文件—block-size={SIZE} 使用 {SIZE} 大小的 Blocks
- 文件-h, —human-readable 使用人类可读的格式(预设值是不加这个选项的…)
- 文件-H, —si 很像 -h, 但是用 1000 为单位而不是用 1024
sort命令
sort可以和管道进行结合,将前一条命令的输出按照指定的方式进行排序
# 寻找名字和zookeeper有关的所有文件,并且按照名字的顺序逆序排序find / -type f -name "*zookeeper*" |sort -rn1、-r 逆序2、-n降序:ps auxw|head -1;ps auxw|sort -rn -k6|head -10升序:ps auxw|head -1;ps auxw|sort -n -k6|head -10命令说明: ps auxw|head -1 # 获取第一行,即标题头sort -n -k6 # 按第6个关键字(key)排序,key从1开始不带标题头(降序): ps auxw|sort -rn -k6|head -10
ps 命令
Linux ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。
语法
ps [options] [—help]
参数:
- ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
- -A 列出所有的进程
- -w 显示加宽可以显示较多的资讯
- -au 显示较详细的资讯
- -aux 显示所有包含其他使用者的行程
- au(x) 输出格式 :
mkdir命令
创建文件夹 mkdir 文件夹名
其中可以使用 {} 用于多个文件夹的创建
- -n 按照名称进行排序
- -t 按照时间排序
- -s 按照文件大小排序
sort 进行排序
echo 命令
man echo,看一下echo是什么
ECHO(1) User Commands ECHO(1)NAMEecho - display a line of textSYNOPSISecho [SHORT-OPTION]... [STRING]...echo LONG-OPTIONDESCRIPTION# 将一条string字符回显至标准输出Echo the STRING(s) to standard output.
也就是说,这只是一个回显的命令,而我们经常使用到的 echo xx > test.txt 命令是将回显的标准输出,再通过> 输出到文件
