Linux重点笔记一:文件操作(二)

一、Linux下文件查找命令

1. 命令查找
  • which 命令 : 找出命令的绝对路径
  • whereis 命令 : 找出命令的路径以及文档手册信息 (注意whereis 不能写成 where is,中间没有空格

在这里插入图片描述


2、文件查找(find)

find 命令用处甚多精确 查找,磁盘搜索,IO读写。
缺点: 由于是在硬盘上遍历查找,磁盘资源开销大。

用法一:找出文件并输出到屏幕

根据需求查找出来直接输出到屏幕

模板命令:find 查找路径 选项 关键字
在这里插入图片描述
举例说明:

在这里插入图片描述


在这里插入图片描述

小贴士: 块设备文件就是虚拟机上的硬件设备名,比如上图中的 /dev/sr0 其实就是linux上的光驱设备名,
寻址空间的区别:块设备文件是块设备的物理寻址空间;普通文件是块设备的虚拟寻址空间。普通文件比块设备文件多一层文件系统的地址转换机构。


在这里插入图片描述

问题分析: 实际上linux依照文件大小查找有一个规则, 就以上图中的查找小于1M的文件做例子, 先比较与 M 相同单位的文件,< 1M 的输出,比较完以后,直接会下降到 K 单位(1M 变成 1K),查找小于 1K 的文件,passwd是2.5K > 1K, 所以没有显示,需要使用 -1024K 才能找到 passwd,自己推一下就知道了。


在这里插入图片描述


-mtime选项举例:
[root@localhost test]# find ./ -type f -mtime +2  表示文件更改时间距离在2天以前
[root@localhost test]# find ./ -type f -mtime -2  表示文件更改时间距离在2天以内
[root@localhost test]# find ./ -type f -mtime  2  表示文件更改时间距离为2天

图表帮助理解:
在这里插入图片描述


用法2:找出文件并执行命令

根据需求查找出来后 执行某个动作(命令)

模板命令: find 路径 选项 关键字 动作

在这里插入图片描述
举例说明:

在这里插入图片描述

注意:
1. -exec或者-ok后面写完命令必须以空格反斜杠\;结尾( \;)
3. {}表示find命令所找出来的内容

二、Linux下文件压缩工具

1、常见的压缩与解压缩工具

在这里插入图片描述

要深刻理解后三个压缩工具只能压缩单个文件的含义,下面的举例说明会详细解释

2、工具的用法

① zip工具

压缩:zip 压缩后的文件路径 需要压缩的文件名称

选项:
-r 递归压缩,压缩目录

注意: zip压缩默认压缩后的格式就是.zip;当然也可以加后缀.zip,一般都加上

解压缩: unzip 解压后的文件路径 需要压缩的文件名称

-o 不提示的情况下覆盖文件
-d 指定解压缩路径

zip 解压后,文件的属主,属组会发生改变,哪个用户执行解压的,则解压后的文件属主,属组就是执行解压的这个用户

举例说明:
在这里插入图片描述


② gzip工具:

压缩:
gzip 需要压缩的单个文件

选项:
-d 解压缩
-r 递归压缩(目录)

解压缩:
gunzip 需要解压的文件
或者
gzip -d 需要解压的文件

gunzip file* 一次解压多个文件,*代表通配符;file*表示以file开头所有文件

举例说明:
在这里插入图片描述


以下两个压缩工具与gzip异曲同工,就不再加以解释:

③ bzip2工具

压缩:
bzip2 需要压缩的文件

选项:
-d 解压缩

④ xz工具

选项:
-z 压缩,默认
-d 解压缩 或者 unxz

压缩:
xz 文件名

解压缩:
unxz 文件名
或者
xz -d 文件名

三、Linux下文件打包工具

tar 命令:可以将多个文件打包成一个并且压缩,不会改变文件的属性(比如:文件属主,属组不会发生改变),很常用。

用法: tar 选项 打包后的文件 需要打包的文件

在这里插入图片描述


注意:

1. 以上选项前面的横杠"-"可以省略
2. 如果已经将文件压缩打包,那么就不能追加;如果只是打包就可以追加。
3. 参数顺序需要注意,最好把-f参数放到所有参数后面。
4. 当出现以下提示时,加一个大P参数解决。
tar: Removing leading `/' from member names

举例说明:

1. 将/tmp目录里的dir1目录和/etc/hosts文件打包到/tmp/dir4里叫dabao.tar
[root@localhost tmp]# tar -cvf /tmp/dir4/dabao.tar ./dir1 /etc/hosts
./dir1/
./dir1/test1.gz.bz2
./dir1/aaa/
./dir1/aaa/file2.gz
./dir1/file1.gz.bz2
tar: Removing leading `/' from member names
/etc/hosts
注意:以上错误提示可以忽略

查看打包后的文件内容:
[root@localhost tmp]# tar -tf dir4/dabao.tar    
./dir1/
./dir1/test1.gz.bz2
./dir1/aaa/
./dir1/aaa/file2.gz
./dir1/file1.gz.bz2
etc/hosts


2. 将/boot目录和/root/install.log文件打包并压缩到/tmp目录下叫backup_boot.tar.gz
[root@localhost ~]# tar -cvzf /tmp/backup_boot.tar.gz /boot install.log

3. 解压tar包
[root@localhost tmp]# tar -xf backup_boot.tar.gz 解压到当前路径
[root@localhost tmp]# tar -xf backup_boot.tar.gz -C dir1/ 解压到指定路径


三、扩展补充

日期相关指令
1、date命令(重点)

date :打印或者设置当前系统日期和时间
date --help 自己先求帮助
在这里插入图片描述

① 打印日期或时间

打印系统当前日期或时间
在这里插入图片描述

打印系统非当前日期或时间
在这里插入图片描述


② 设置系统日期或时间

选项:-s 设置当前系统时间,只有root权限才能设置,其他只能查看。

date -s 20200523              设置为2020年 05月 23日 星期六 00:00:00 CST,这样会把具体时间设置成空 00:00:00
date -s '01:01:01'            日期不变,具体时间设置为 01:01:01
date -s "01:01:01 2020-05-2"  这样可以设置全部时间
date -s "01:01:01 20200523"   这样可以设置全部时间
date -s "2020-05-23 01:01:01" 这样可以设置全部时间
date -s "20200523 01:01:01"   这样可以设置全部时间

③ 系统时间同步硬件时间

hwclock : 查看并且设置硬件时间
在这里插入图片描述

小贴士: 在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。

选项:
-s, --hctosys    set the system time from the RTC 硬件时间设置系统时间
-w, --systohc    set the RTC from the system time 系统时间设置硬件时间
-l, --localtime  the RTC timescale is Local       查看硬件时间,可以直接输入 hwclock 不加 -l

举例说明:

[root@localhost ~]# hwclock --hctosys 硬件时间设置系统时间, 可以写成 -s
[root@localhost ~]# hwclock
20210202日 星期二 163613-0.649922[root@localhost ~]# date
20210202日 星期二 16:36:13 CST

timedatectl 设置和查看系统的时间和日期(设置时区以及开启或关闭ntp服务)
在这里插入图片描述


④ 应用案例

有时候我们需要用到当前的系统时间,如何调用?比如以当前系统日期命名创建目录或文件
在这里插入图片描述
$():括号里面的命令优先执行


2、cal命令

cal : 查看日历
在这里插入图片描述

其他选项:

cal 或者 cal -1   表示直接输出当前月份的日历
cal -3 			 表示输出上一个月+本月+下个月的日历
cal -y 			 年份 表示输出某一个年份的日历

在这里插入图片描述


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0rta1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值