linux 运维常用命令 作者:七棵菜 日期:2023-10-16 栏目:计算机分类:1 人气:560 ## 查找文件 ### 普通查找 - 查找当前根目录下的所有文件,不包含子目录 ``` find . -maxdepth 1 -type f ``` ### 文件/目录 大小 - 查找大文件 ``` find . -type f -size +1000000k ``` - 按照文件大小升序排列 ``` ls -Slrh ``` - 当前目录下所有文件或目录的大小 ``` du -sh * ``` - 显示前10个占用空间最大的文件或目录 ``` du -s * | sort -nr | head ``` - 统计目录下文件的个数 ``` ls -l |grep "^-"|wc -l ``` ### 内容查找 - 查找当前目录下以及子目录下所有包含 `str` 字符串的文件。会列出文件名,该行的内容以及行号 ``` grep -n -r "str" ./ ``` - 查找当前目录及其子目录下面包含匹配字符的文件 ``` grep 'ab' * # 在当前目录搜索带'ab'行的文件 grep -r 'ab' * # 在当前目录及其子目录下搜索'ab'行的文件 grep -l -r 'ab' * # 在当前目录及其子目录下搜索'ab'行的文件,但是不显示匹配的行,只显示匹配的文件 grep -nr BLOG* . # 查找子目录,匹配后输出行号,这里的点表示当前目录 grep -lr BLOG* . # 查找子目录,匹配后只输出文件名 ``` - 查询不包含某个目录 ``` grep -R --exclude-dir=node_modules 'some pattern' /path/to/search # 不包含node_modules目录 ``` ## 打包文件 - 将目录里所有 jpg 文件打包成 jpg.tar 后,并且将其用 gzip 压缩,生成一个 gzip 压缩过的包,命名为 jpg.tar.gz ``` tar -czf jpg.tar.gz *.jpg ``` - 解压 tar.gz ``` tar -xzvf file.tar.gz ``` ## 查看文件 ### 预览 - 只想看文件的前5行,可以使用 head 命令,如: ``` head -5 /etc/passwd ``` - 想查看文件的后10行,可以使用 tail 命令,如: ``` tail -10 /etc/passwd # 或者 tail -n 10 /etc/passwd ``` 参数 -f 使 tail 不停地去读最新的内容,这样有实时监视的效果,用 Ctrl+c 来终止! ``` tail -f /var/log/messages ``` - 查看文件中间一段,你可以使用 sed 命令,如,只查看文件的第5行到第10行: ``` sed -n '5,10p' /etc/passwd ``` ### 解析 - 匹配空格使用:`[[:space:]]`。如下,查看空格开始的行。 ``` grep "^[[:space:]]\w" error.log ``` - 将文件夹 Raw 下的所有文件及子目录复制到 New 目录下 ``` awk 'BEGIN { cmd="cp -ri ./Raw/* ./New "; print "n" |cmd; }' ``` > print "n" |cmd,先打印cmd命令,然后再打印字符串'n'。 #### awk 解析文件 - 读入有 "\n" 换行符分割的一条记录,然后把记录按照指定的域分隔符划分 - $0表示所有的域,$1表示第一个域,以此类推;$NF代表该行中分割后的域总数 - 默认域分隔符是空白键或者tab键 当有BEGIN,END时 AWK 工作流程: - 先执行begin - 然后读取文件,读入有 \n 换行符分割的第一条记录 - 然后按照指定的域分隔符划分域,填充域;$0表示所有的域,$1表示第一个域,以此类推 - 随后开始执行模式所对应的动作(action) - 最后执行end操作 标签: linux 运维 awk 打包 tar 上一篇:如何使用mvn命令导入依赖 下一篇:apache 实现反向代理的两种方法 随便看看 2024-02-19 PHP7 运算符“??” 和“?:”的区别 2022-11-30 Linux 后台运行命令 2022-11-25 关于我们 2022-11-30 centos一键系统安装lnmp集成环境 2022-11-30 linux 生成 ssh 公钥 留言