find

语法

  1. 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”选项的格式。

  1. [root@localhost ~]# find 搜索路径 [选项] 搜索内容 -exec 命令2{}\;

首先,请大家注意这里的”{}”和”\;”是标准格式,只要执行”-exec”选项,这两个符号必须完整输入。

其次,这个选项的作用其实是把 find 命令的结果交给由”-exec”调用的命令 2 来处理。”{}”就代表 find 命令的査找结果。

案例

查找系统中所有文件长度为 0 的普通文件,并列出它们的完整路径:

  1. 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

  1. #!/bin/sh
  2. t
  3. date

执行当前脚本,将标准输出存储到test.log中,错误直接控制台输出
image.png
将标准输出和错误输出都输出到test.log中
image.png
test.log中的内容
image.png

df 命令

语法

  1. df [选项]... [FILE]...
  • 文件-a, —all 包含所有的具有 0 Blocks 的文件系统
  • 文件—block-size={SIZE} 使用 {SIZE} 大小的 Blocks
  • 文件-h, —human-readable 使用人类可读的格式(预设值是不加这个选项的…)
  • 文件-H, —si 很像 -h, 但是用 1000 为单位而不是用 1024

sort命令

sort可以和管道进行结合,将前一条命令的输出按照指定的方式进行排序

  1. # 寻找名字和zookeeper有关的所有文件,并且按照名字的顺序逆序排序
  2. find / -type f -name "*zookeeper*" |sort -rn
  3. 1、-r 逆序
  4. 2、-n
  5. 降序:ps auxw|head -1;ps auxw|sort -rn -k6|head -10
  6. 升序:ps auxw|head -1;ps auxw|sort -n -k6|head -10
  7. 命令说明: ps auxw|head -1 # 获取第一行,即标题头
  8. sort -n -k6 # 按第6个关键字(key)排序,key从1开始
  9. 不带标题头(降序): 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是什么

  1. ECHO(1) User Commands ECHO(1)
  2. NAME
  3. echo - display a line of text
  4. SYNOPSIS
  5. echo [SHORT-OPTION]... [STRING]...
  6. echo LONG-OPTION
  7. DESCRIPTION
  8. # 将一条string字符回显至标准输出
  9. Echo the STRING(s) to standard output.

也就是说,这只是一个回显的命令,而我们经常使用到的 echo xx > test.txt 命令是将回显的标准输出,再通过> 输出到文件