Linux基础命令学习——文件打包压缩和搜索命令(四)

Olinda ·
更新时间:2024-11-14
· 569 次阅读

一名菜鸟学习编程技术,记录所学知识并分享给大家,希望大家多多支持。

今天来写一篇关于学习Linux基础命令——文件打包压缩和搜索命令的博文,也实践了很多,总结给大家一起学习!

一、tar命令

用于对文件进行打包压缩或解压;格式:tar [选项] 档案文件 文件列表

-c:生成档案文件 -v:列出归档解档的详细过程 -f:指定档案文件名称 -r:将文件追加到档案文件末尾 -z:以gzip格式压缩或解压缩文件 -j:以bzip格式压缩或解压缩文件 -t:查看内容 -x:解开档案文件
例: tar -cvf /tmp/etc.tar /etc #将/etc目录下的文件导报到/tmp目录下并命名为etc.tar,仅打包,不压缩 tar -zcvf /tmp/etc.tar.gz /etc #/etc目录下的文件打包到/tmp目录下并命名为etc.tar.gz,打包后以gzip的格式进行压缩 tar -jcvf /tmp/etc.tar.bz2 /etc ##/etc目录下的文件打包到/tmp目录下并命名为etc.tar.bz2,打包后以bzip的格式进行压缩

题目:

1、将/tmp/etc.tar.gz文件解压缩在/usr/local/src下 cd /usr/local/src tar -zcvf /tmp/etc.tar.gz 二、搜索命令

查找文件一般有以下几个命令:

which:查看可执行文件的位置 whereis:查看可执行文件的位置及相关文件 locate:配合数据库缓存,快速查看文件位置 find:查找相关文件 grep:过滤匹配,它是一个文件搜索工具 find命令

用来在指定目录下查找文件;

-name:按文件名查找 -size n:按文件大小查找 -perm:按权限查找文件 -user:按照文件属主来查找文件 -group:按照文件所属的组来查找文件 -mtime n:查找n天内修改内容的文件 -mmin n:查找n分钟内修改内容的文件 -type:查找某一类型的文件 -type 查找某一类型的文件 b - 块设备文件 d - 目录 c - 字符设备文件 p - 管道文件 l - 符号链接文件 f - 普通文件

例:

find . -size +9M | xargs ls -lh #查找当前目录下大于9M的文件详细信息 find . -type f -name "*.log" -size +1M -exec cp -av {} /tmp \; #查找当前目录下以 .log 结尾且大于5M的文件,并复制到/tmp目录下 find /var -mtime +3 -mtime -5 :在/var下查找更改时间在三天到五天的文件 find . -mmin +1 -mmin -3 :查找当前文件夹下1分钟前3分钟内修改的文件 grep命令

用于在文本中执行关键词搜索,并显示匹配的结果,与正则表达式的使用方法相关;
格式:grep [参数] 要查找到的字符串

-v:反向选择,仅列出没有关键词的行 -c:仅显示找到的行数 -i:不区分大小写 -b:将可执行的文件(binary)当做文本文件(text)搜索 -n:每个匹配的行只按照相对的行号显示 ^linux:以linux开头的行 $php:以php结尾的行 .:匹配任意单字符 ^$:空行 .+:匹配任意多个字符 .*:匹配0个或多个字符(可有可无) [0-9a-z]:匹配中括号内任意一个字符 [abc]:表示匹配一个字符,这个字符必须是abc中的一个。 (linux)+:出现多次Linux单词 (web){2}:web出现两次以上 \:屏蔽转义 |:或者的意思

例:
grep的常用操作:

grep -n 'root' /etc/passwd #查找/etc/passwd下包含 root字符串的文件 grep -Ev "root|nologin" /etc/passwd #查找不包含root和nologin关键字的行 grep "root" /etc/{passwd,shadow} #查找/etc/passwd和/etc/shadow文件中包含root关键字的行 echo "a bc de" |xargs -n1 |grep '^b' :匹配以字符串"b"开头的行 grep -c root /etc/passwd #统计/etc/passwd文件中包含root字符串行的数量 grep -E -v "^$|^#" /etc/nginx/nginx.conf #去除空号和以#号开头的行 grep -r 'sshd' /etc --include *.conf :递归搜索/etc 目录下包含 "sshd"字符串 的 conf 后缀文件

题目

1、在/etc/passwd文件中找到root用户的信息,并显示行号 grep -n root /etc/passwd #不进行筛选,列出与root相关的用户信息 grep -n ^root /etc/passwd #筛选出以root开头的行 2、查看passwd中包括nologin或root的数据 grep -n “root\|nologin” /etc/passwd 3、在/etc/passwd文件中找到非nologin用户的信息,并显示行号 grep -nv “root\|nologin” /etc/passwd #取反操作 4、找出/etc/passwd文件中同时含有root和nologin关键字的用户信息 grep -n “root|nologin” /etc/passwd 四、重定向和管道 重定向和操作符: 输入重定向:将指定的文件导入命令,而不是通过键盘输入 输出重定向:将命令的正常输出结果保存到指定的文件中,而不是直接显示在显示器的屏幕上 重定向的输出使用">"、">>"(>的方向就是数据流的方向)

语法:

> 文件名  `#表示将标准输出的内容,写到后面的文件中,如果此文件名已经存在,将会覆盖原文件中的内容` >> 文件名 `#表示将标准输出的内容,追加到后面的文件中。若重定向的输出的文件不存在,则会新建该文件`

题目

1、查看当前主机的cpu的类型保存到cpu.txt文件中(而不是直接显示到屏幕上) cat /proc/cpuinfo >cpu.txt find cpu* cat cpu 2、将内核的版本信息追加到cpu.txt uname -a>>cpu.txt 3、清空cpu.txt文件 >cpu.txt 管道符命令

作用:将左边的内容作为输入,让右边的命令接受并处理,可以连接多条命令使用
左边的结果会作为右边的输入值
题目:

1、将磁盘使用的信息写入disk.txt文件的同时输出到屏幕上(磁盘使用信息:df -h) df -h| tee disk.txt cat disk.txt 多重管道: 2、查看sshd进程有没有被启用? ps -aux| grep “sshd”| grep -v “grep”
作者:王菜鸟



压缩 linux基础 Linux 学习

需要 登录 后方可回复, 如果你还没有账号请 注册新账号