Loading... # 一、压缩和搜索命令 ## 1. tar - 参数可以不加`-` 号 - 格式为`tar [选项] 文件` | 参数 | 作用 | | ---- | ---------------------- | | -c | 创建压缩文件 | | -x | 解开压缩文件 | | -t | 查看压缩包内有哪些文件 | | -z | 用Gzip压缩或解压 | | -j | 用bzip2压缩或解压 | | -v | 显示压缩或解压过程 | | -f | 目标文件名 | | -p | 保留原始的权限和属性 | | -P | 使用绝对路径来压缩 | | -C | 指定解压到的目录 | ## 3. grep - 格式为`grep [选项] [文件]` | 参数 | 作用 | | ---- | ------------------------------ | | -b | 将可执行文件当作文本文件来搜索 | | -c | 仅显示找到的行数 | | -i | 忽略大小写 | | -n | 显示行号 | | -v | 反向选择 | ## 4. find - 格式为`grep [查找路径] 寻找条件 操作` | 参数 | 作用 | | ------------------ | ---------------------------------------------------------------------------- | | -name | 匹配名称 | | -perm | 匹配权限 | | -user | 匹配所有者 | | -group | 匹配所有组 | | -mtime -n +n | 匹配修改内容的时间-n指n天以内+n指n填以前 | | -atime -n +n | 匹配访问文件的时间 | | -ctime -n +n | 匹配修改文件权限时间 | | -nouser | 匹配无所有者的文件 | | -nogroup | 匹配无所有组的文件 | | -newer f1 !f2 | 匹配比文件f1新 但比f2旧的文件 | | --type b/d/c/p/l/f | 匹配文件类型字母参数依次表示块设备、目录、字符设备、管道、链接文件、文本文件 | | -size | 匹配文件的大小+50KB为查找大于50KB的文件-50KB为查找小于50KB的文件 | | -prune | 忽略某个目录 | | -exec ... {}\; | 后面可跟用于进一步处理搜索结果的命令 | - 在整个文件系统中找出所有属于linuxprobe用户的文件并复制到`/root/findresults` 目录 - - 实验重点是`-exec {} \;参数` - 其中的`{}` 表示find命令搜索出的每一个文件 - 命令结尾必须是`\;` ``` [root@linuxprobe ~]# find / -user linuxprobe -exec cp -a {} /root/findresults \; ``` # 二、命令重定向 ## 1. 输入输出重定向 - 标准输入重定向 - - STDIN , 文件描述符为 0 - 默认从键盘输入,也可从其他文件或命令输入 - 标准输出重定向 - - STOUT ,文件描述符为 1 - 默认输出到屏幕 - 错误输出重定向 > 错误输出重定向的文件描述符必须写 - - STDERR , 文件描述符为 2 - 默认输出到屏幕 | 符号 | 作用 | | ---------------------------------- | ------------------------------------------------ | | 命令 < 文件 | 将文件作为命令的标准输入 | | 命令 << 分界符 | 从标准输入中读入,直到遇见分界符才停止 | | 命令 < 文件1 > 文件2 | 将文件1作为命令的标准输入 将文件1标准输出到文件2 | | 命令 > 文件 | 将标准输出重定向到文件中(清空原文件) | | 命令 2> 文件 | 将错误输出重定向到文件中(清空原文件) | | 命令 >> 文件 | 将标准输出重定向追加到文件中 | | 命令 2>> 文件 | 将错误输出重定向追加到文件中 | | 命令 >> 文件2 > &1 或命令 &>> 文件 | 将标准输出与错误输出共同追加到文件中 | # ## 2. 管道命令符 - example ``` grep "/sbin/nologin" /etc/passwd |wc -l ls -l /etc/ |more #单行修改密码 echo "thispasswd" | passwd --stdin root ``` ## 3. 命令行通配符 - `*` 匹配零个或多个字符 - `?` 匹配单个字符 - `[0-9]` 匹配0-9内的单个数字 - `[abc]` 匹配abc三个字符中任意一个字符 ## 4. 常用转义字符 - `\` 使反斜杠后的一个变量变为单纯的字符串 - `'` 单引号转义其中所有的变量为单纯的字符串 - `"` 双引号保留其中的变量属性,不进行转义 - \``` 反引号把其中的命令执行后返回结果 ## 5. 环境变量 > linux中,变量名称一般大写 > > 环境变量用来定义系统运行环境的一些参数 > > 例如每个用户不同个的家目录、邮件存放位置等。 > > 使用 `export` 可将变量提升为全局变量 ## 命令在Linux中的执行步骤 - 1.判断用户是否以`绝对路径或相对路径` 的方式输入命令,若是则直接执行。 - 2.检查用户输入的是否为`别名命令` (alias) - 3.Bash解释器判断用户输入的是内部命令还是外部命令。 - - 内部命令是解释器内部的指令,会被直接执行 - 用户大部分时间输入的是外部命令,由步骤4继续处理 - 可使用`type 命令` 来判断 - 4.系统在多个路径(PATH)中查找用户输入的命令文件。 - - `PATH` 是由多个路径值组成的变量,每个路径值之间用冒号隔开。 ## 较重要的10个环境变量 | 变量名称 | 作用 | | ------------ | -------------------------------- | | HOME | 用户的主目录 | | SHELL | 用户在使用的SHELL解释器名称 | | HISTSIZE | 输出的历史命令记录条数 | | HISTFILESIZE | 保存的历史命令记录条数 | | MAIL | 邮件保存路径 | | LANG | 系统语言、语系名称 | | RANDOM | 生成一个随机数字 | | PS1 | BASH解释器的提示符 | | PATH | 定义解释器搜索用户执行命令的路径 | | EDITOR | 用户默认的文本编辑器 |  Last modification:December 1, 2021 © Allow specification reprint Like 0 If you think my article is useful to you, please feel free to appreciate