第二阶段基础
时 间:2023年5月9日
内 容:
Linux文件管理
一、查找目录内容
二、查找文件内容
三、文件的压缩与解压缩
四、文件打包压缩
五、计划任务
六、基础命令
一、查找目录内容
命令:find (递归的在目录中查找文件)
格式:find 查找范围 选项 条件
选项:
1、按照文件名查找
-name 按照文件名查找
-size 按照文件大小查找
+ 数值 表示大于
- 数值 表示小于
-type 按照文件类型查找
f 普通文件 s 套接字文件
b 块设备文件 c 字符设备文件
p 管道文件 l 链接文件
d 目录
2、按照时间查找
文件时间戳:
atime 文件访问时间 -atime n
mtime 文件内容修改时间 -mtime n
ctime 文件状态更改时间 -ctime n
使用stat 文件名查看文件的时间戳
3、按照文件归属查找
-user 按照属主查找
-group 按照属组查找
-nouser -nogroup
使用此命令可以查找创建的用户,在用userdel删除之后,未删除的文件夹,
4、按照权限查找
-perm mode 精确查找,完全符合的文件才会被列出
-perm -mode 部分查找,给定的部分必须满足,其他位置不做要求
-perm /mode 模糊查找,满足其中任意一个即可
5、高级用法
对命令结果的二次处理 -exec 命令 {} \;
二、查找文件内容
命令:grep (打印匹配指定字符串的行)
格式:grep [选项] [字符串] 文件名
选项:
-n 显示行号
例:查找/etc/passwd文件中包含shutdown的行,
并显示行号
-i 忽略大小写
例:查找/etc/passwd文件中的所有的nfs字符串
-q 静默模式
查看命令执行结果 echo $?
结果为0,表示上一条命令执行成功
结果为非0,表示上一条命令执行失败
例:静默显示/etc/passwd之内的nfs
-o 只显示查找的字符串
例:只显示/etc/passwd中的shutdown
-v 反向匹配
例:不显示/etc/passwd中的shutdown
^字符串 匹配以字符串开头的行
例:显示/etc/passwd中以root开头的行和显示行号
字符串$ 匹配以字符串结尾的行
例:显示/etc/passwd中以bash结尾的行和显示行号
^$ 匹配空行
例:显示./etc/issue中的空行和现实空行行号;反向显示
三、文件的压缩与解压缩
1、zip
作用:压缩文件
格式:zip 压缩后的文件名 需要压缩的文件
后缀:.zip
解压缩 unzip
格式: unzip 压缩文件
2、gzip(.gz) bzip2( .bz2) zcat()三者用法一致,后缀不同
作用:压缩文件
格式:gzip 文件名
后缀:.gz
选项 -d 解压缩
-l 查看压缩文件的基本信息
四、文件打包压缩
命令:tar
作用:归档文件
格式:tar [选项] 归档后的文件名 归档的文件
后缀:.tar
选项:
-cf 创建打包文件
-f 调用归档格式,必须放在选项最后使用
-zf 调用gzip的压缩格式
-jf 调用bzip2的压缩格式
-tf 查看压缩内容
-xf 解压缩
-C 指定解压路径
例:
五、计划任务
类型:
一次性计划任务 at
周期性计划任务 cron
周期性计划任务:
服务名: crond
配置工具: crontab
格式:crontab [-u 用户名] -e
选项:
-l 查看编写的计划任务
-r 删除所有计划任务
删除单个计划任务,直接在编辑界面删除即可
编写格式:分 时 日 月 周 执行的命令
时间格式:
分钟:0-59
小时:0-23
日期:1-31
月份:1-12
星期:0-7 0和7都代表周日
特殊符号:
*:代表任意时刻
,:分割时间点
-:连续时间段
/:间隔时间段
例:
1、利用crontab命令设置每天12:00执行echo “下课了!”>>1.txt命令
2、利用crontab命令设置每周5下午5:00执行echo “放假了!”>>1.txt命令
3、利用crontab命令设置每年的12月31日23:59分执行echo “跨年了!”>>1.txt命令
4、利用crontab命令设置每月的3,7,13,17,23,27号从12:00到23:00每隔1小时执行echo “你好中国!”>>1.txt命令
5、利用crontab命令设置每天早上8点,将"hello,world"输出到1.txt文件中
6、利用crontab命令设置每周5的17点和19点,将"byebye"字符串追加到1.txt文件中
7、利用crontab命令设置每月的3号,5号,7号的9点到12点,查看系统日期
六、基础命令
命令:which(查看命令的完整存放路径)
格式:which 命令
选项:-a 查看命令所有的存放位置
查看系统日期:date
例:which date whch -a date