day12-文件属性

news2024/11/14 23:24:46
01.知识点回顾
文件的详细属性
1.inode号->磁盘
	1.df -i ->inode内存
	2.df -h ->磁盘内存
2.文件的属性
	- 普通文件
	d 目录
	l 软连接->win的快捷方式
	c 字节文件->win驱动文件
	b 硬件
	/dev/null
	$? 判断上一条命令执行结果
	/dev/zero
3.权限
	rwxrwxrwx
	r 读
	w 写
	x 执行
4.硬链接
5.属主
6.属组
7.文件大小
8.时间
9.文件名


find搜索文件
	find 路径 类型 名称
		find ./ -type f
					  d
			    -name "1.txt"
			    -size 10M
			    	  +10M
			    	  -10M
			   -maxdepth 1 f

		find ./ -name "1.txt"|xargs ls -l
        find ./ -name "1.txt" -exec cp {} /opt/ \;
        mv `find ./ -name "1.txt"` /opt/
        rm $(find ./ -name "1.txt")
02.文件硬链接
硬链接的特点:
1.inode号码相同互为硬链接
2.通过ln 源文件 目标文件
3.目录不能做硬链接
4.目录不能跨文件系统(磁盘)
5.目录可以软链接
6.删除一个不影响其他的文件()
7.目录的硬链接个数为2



创建硬链接:
语法结构: 使用绝对路径链接
		 ln 源文件 目标文件
		 ln a.txt  b.txt
		 带路径:
		 ln a.txt /opt/b.txt
		 绝对路径:
		 ln /root/a.txt /opt/b.txt

第一步: 有一个存在的文件  123   a.txt
第二步: ln a.txt  b.txt--->对应的inode123
[root@oldboy:~]# ll -i
total 0
67161164 -rw-r--r-- 2 root root 0 Jul 10 16:37 a.txt
67161164 -rw-r--r-- 2 root root 0 Jul 10 16:37 b.txt
[root@oldboy:~]# cat a.txt
[root@oldboy:~]# cat b.txt
[root@oldboy:~]# echo hehe > a.txt
[root@oldboy:~]# ll -i
total 8
67161164 -rw-r--r-- 2 root root 5 Jul 10 16:48 a.txt
67161164 -rw-r--r-- 2 root root 5 Jul 10 16:48 b.txt
[root@oldboy:~]# cat b.txt
hehe
[root@oldboy:~]# echo aaaa >>b.txt
[root@oldboy:~]# cat a.txt
hehe
aaaa
[root@oldboy:~]# cat b.txt
hehe
aaaa


作用: 实时备份同步文件
#目的,/etc/hosts发生变化,/opt/hosts.bak同时会发生变化
ln /etc/hosts  /opt/hosts.bak
ln /opt/hosts.bak  /etc/hosts  # 如果误删,则链接回去

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

02.文件软链接
特点:
1.inode不同
2.类似windows的快捷方式,通过快捷方式找到源文件
3.软链接文件存放着是源文件的指针指向
4.目录可以软链接
5.软链接可以跨文件系统(磁盘)
6.删除软链接不影响源文件
7.删除源文件,影响链接文件,链接文件变红


创建软链接:
语法结构:
		 ln -s  a.txt  b.txt
		 ln -s /root/a.txt  /opt/b.txt

作用: 解决磁盘不够用
	 代码变更(后面学习)


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

面试题: 软链接和硬链接的区别
1.硬链接inode号相同
2.软链接inode号不同
3.目录不能做硬硬链接,文件可以做硬链接,目录可以做软链接
4.硬链接不能跨文件系统,软链接可以跨文件系统
5.创建方式不同,ln 软 ln -s
6.目录默认硬链接数,文件默认硬链接数是1
7.删除硬链接不影响其他硬链接,删除软链接不影响源文件,删除源文件影响软链接变红。
8.链接数为0,和文件不被进程所占用,文件才真正的被删除。
9.硬链接和软链接都是普通文件,使用rm删除

inode号码
目录和文件做软硬链接的区别
跨系统的区别
删除的区别

/etc/hosts ------> 1周备份--------->备份服务器

安装软件软链接: 后面使用
/user/log/maven-1.0.45-v1.0-111 ---->命令 maven-1.0.45-v1.0-111/bin/mvn conf
ln -s /usr/log/maven-1.0.45-v1.0-111  /usr/local/maven
04.文件时间
Access: 文件访问时间  less cat  more vim
Modify: 文件修改时间  echo sed
Change: 文件属性改变时间 chmod

05.find 按照时间查找
案例1: 查找7天前被修改过的文件
[root@oldboy:test]# date -s 20081010
Fri Oct 10 00:00:00 CST 2008

[root@oldboy:test]# touch {1..4}.txt
[root@oldboy:test]# ll
total 0
-rw-r--r-- 1 root root 0 Oct 10 00:00 1.txt
-rw-r--r-- 1 root root 0 Oct 10 00:00 2.txt
-rw-r--r-- 1 root root 0 Oct 10 00:00 3.txt
-rw-r--r-- 1 root root 0 Oct 10 00:00 4.txt

[root@oldboy:test]# ntpdate ntp2.aliyun.com

查找时间:
[root@oldboy:test]# find ./ -mtime +7
./1.txt
./2.txt
./3.txt
./4.txt


案例2: 查找7天内被修改的文件
[root@oldboy:test]# find ./ -mtime -7
./
./a.log
./b.log
./c.log


案例3.查找1天内被修改过的文件
[root@oldboy:test]# find ./ -mtime 0
./
./a.log
./b.log
./c.log


笔试题: 查找出/data目录30天前被修改过的文件,然后删除。
find /data  -mtime +30|xargs rm -rf

[root@oldboy:test]# find ./ -mtime +30
./1.txt
./2.txt
./3.txt
./4.txt
[root@oldboy:test]# find ./ -mtime +30|xargs rm -rf
[root@oldboy:test]# ll
total 0
-rw-r--r-- 1 root root 0 Jul 11 10:33 a.log
-rw-r--r-- 1 root root 0 Jul 11 10:33 b.log
-rw-r--r-- 1 root root 0 Jul 11 10:33 c.log

06.打包压缩
tar
语法结构:
		 tar 参数选项  包的名称  文件1 文件2
		 tar 参数选项  框子 香蕉 黄瓜 茄子
		 tar zcvf test.tar.gz 文件/目录
		     -z 使用gzip打包
		     -c create 创建
		     -v verbose 显示过程
		     -f 指定文件名称

		     简写: -zcf
解压缩:
		 xf  解压压缩包
		 -C  指定解压到哪个目录
扩展:
	     tf  查看压缩包
	     --exclude=file # 排除文件

为什么压缩打包?
1.节省空间
2.方便备份传输 节省网络带宽
3.减少磁盘IO

环境准备:
[root@oldboy:test]# ll
total 0
-rw-r--r-- 1 root root 0 Jul 11 10:33 a.log
-rw-r--r-- 1 root root 0 Jul 11 10:33 b.log
-rw-r--r-- 1 root root 0 Jul 11 10:33 c.log


案例1.打包当前的a.log 为test.tar.gz
[root@oldboy:test]# tar zcvf test.tar.gz a.log
a.log
[root@oldboy:test]# ll
total 4
-rw-r--r-- 1 root root   0 Jul 11 10:33 a.log
-rw-r--r-- 1 root root   0 Jul 11 10:33 b.log
-rw-r--r-- 1 root root   0 Jul 11 10:33 c.log
-rw-r--r-- 1 root root 108 Jul 11 11:09 test.tar.gz


案例2.打包a b c .log 三个文件为all.tar.gz
[root@oldboy:test]# tar zcvf all.tar.gz a.log b.log c.log
a.log
b.log
c.log
[root@oldboy:test]# ll
total 8
-rw-r--r-- 1 root root 125 Jul 11 11:10 all.tar.gz

或者用*
[root@oldboy:test]# tar zcvf all.tar.gz *.log

案例3.打包压缩目录 /etc/目录 为etc.tar.gz
[root@oldboy:test]# tar zcvf etc.tar.gz /etc

案例4.打包多个目录 oldboy test
[root@oldboy:test]# mkdir oldboy test
[root@oldboy:test]# tar zcvf dir.tar.gz oldboy/ test
oldboy/
test/
[root@oldboy:test]# ll
-rw-r--r-- 1 root root     126 Jul 11 11:12 dir.tar.gz


案例5.尽量到相对路径在打包,打包/etc/hosts /etc/passwd
[root@oldboy:~]# tar zcvf h.tar.gz /etc/hosts
tar: Removing leading `/' from member names
/etc/hosts
[root@oldboy:~]# ll
total 8
-rwxr-xr-x 1 root root  12 Jul 10 18:09 a.txt
-rw-r--r-- 1 root root 168 Jul 11 11:13 h.tar.gz
drwxr-xr-x 4 root root 144 Jul 11 11:12 test
[root@oldboy:~]# cd /etc/
[root@oldboy:etc]# tar zcvf h.tar.gz hosts passwd
hosts
passwd
[root@oldboy:etc]# ll h.tar.gz
-rw-r--r-- 1 root root 950 Jul 11 11:15 h.tar.gz



案例6.打包a.txt文件为a.tar.gz 放在/opt/目录下
[root@oldboy:~]# ll
total 8
-rwxr-xr-x 1 root root  12 Jul 10 18:09 a.txt
-rw-r--r-- 1 root root 168 Jul 11 11:13 h.tar.gz
drwxr-xr-x 4 root root 144 Jul 11 11:12 test

打包
[root@oldboy:~]# tar zcvf /opt/a.tar.gz  a.txt
a.txt

查看/opt目录
[root@oldboy:~]# ll /opt/
total 4
-rw-r--r-- 1 root root   0 Jul 10 15:53 1.txt
-rw-r--r-- 1 root root 121 Jul 11 11:20 a.tar.gz
-rw-r--r-- 1 root root   0 Jul 10 16:00 a.txt


解压缩:
案例1.解压c.tar.gz到当前的目录
[root@oldboy:~]# rm -f a.txt
[root@oldboy:~]# tar xf c.tar.gz
[root@oldboy:~]# ll
total 24
-rwxr-xr-x 1 root root    12 Jul 10 18:09 a.txt

案例2.解压/opt/a.tar.gz 到当前的目录
[root@oldboy:~]# ll
total 0
drwxr-xr-x 4 root root 144 Jul 11 11:12 test
[root@oldboy:~]# ll /opt/a.tar.gz
-rw-r--r-- 1 root root 121 Jul 11 11:20 /opt/a.tar.gz

解压:
[root@oldboy:~]# tar xf /opt/a.tar.gz   # 直接回车默认解压到当前的位置


案例3.解压test目录下的all.tar.gz 到/opt
[root@oldboy:~]# ll test/all.tar.gz
-rw-r--r-- 1 root root 125 Jul 11 11:10 test/all.tar.gz
[root@oldboy:~]# rm -rf /opt/*
[root@oldboy:~]# ll /opt/
total 0

方法1:
[root@oldboy:~]# cd /opt/
[root@oldboy:opt]# tar xf /root/test/all.tar.gz
[root@oldboy:opt]# ll
total 0
-rw-r--r-- 1 root root 0 Jul 11 10:33 a.log
-rw-r--r-- 1 root root 0 Jul 11 10:33 b.log
-rw-r--r-- 1 root root 0 Jul 11 10:33 c.log

方法2: 使用参数-C 指定解压的位置
[root@oldboy:~]# tar xf test/all.tar.gz -C /opt/
[root@oldboy:~]# ll /opt/
total 0
-rw-r--r-- 1 root root 0 Jul 11 10:33 a.log
-rw-r--r-- 1 root root 0 Jul 11 10:33 b.log
-rw-r--r-- 1 root root 0 Jul 11 10:33 c.log


案例4.查看压缩包内的文件
[root@oldboy:~]# tar tf test/all.tar.gz
a.log
b.log
c.log
[root@oldboy:~]# tar tf test/dir.tar.gz
oldboy/
test/



centos排除文件打包:
[root@linuxnc oldboy]# touch a.txt b.txt c.txt
[root@linuxnc oldboy]# ll
total 0
-rw-r--r-- 1 root root 0 Jul 11 11:36 a.txt
-rw-r--r-- 1 root root 0 Jul 11 11:36 b.txt
-rw-r--r-- 1 root root 0 Jul 11 11:36 c.txt
[root@linuxnc oldboy]# tar zcvf all.tar.gz *.txt --exclude=c.txt
a.txt
b.txt
[root@linuxnc oldboy]# tar tf all.tar.gz
a.txt
b.txt




tar 重点:
打包:
    tar -zcvf  test.tar.gz file1 file /etc/hosts
    tar -zcvf  /opt/test.tar.gz file1 /etc/hosts
解压:
	tar xf  test.tar.gz 解压到当前的目录
	tar xf /opt/test.tar.gz 解压到当前的目录
	tar xf test.tar.gz -C /opt  指定解压到/opt目录
07.zip 打包压缩
打包压缩:
语法结构:
	  压缩打包: zip  all.zip file1  file2
	  压缩包的位置: zip /opt/all.zip file1 file2
	  解压:   unzip all.zip
	  指定位置解压: unzip all.zip -d /opt/

案例1.打包所有的文件为all.zip
[root@oldboy:~]# zip all.zip *.txt
[root@oldboy:~]# ll
total 4
-rw-r--r-- 1 root root   0 Jul 11 11:47 1.txt
-rw-r--r-- 1 root root   0 Jul 11 11:47 2.txt
-rw-r--r-- 1 root root   0 Jul 11 11:47 3.txt
-rw-r--r-- 1 root root   0 Jul 11 11:47 4.txt
-rw-r--r-- 1 root root 574 Jul 11 11:47 all.zip

案例2.打包1.txt为test.zip 后放在/opt目录
[root@oldboy:~]# zip /opt/test.zip 1.txt
  adding: 1.txt (stored 0%)
[root@oldboy:~]# ll /opt/
total 4
-rw-r--r-- 1 root root 160 Jul 11 11:49 test.zip

案例3.解压all.zip到当前目录
[root@oldboy:~]# rm -rf *.txt
[root@oldboy:~]# ll
total 4
-rw-r--r-- 1 root root 574 Jul 11 11:47 all.zip

[root@oldboy:~]# unzip all.zip
Archive:  all.zip
 extracting: 1.txt
 extracting: 2.txt
 extracting: 3.txt
 extracting: 4.txt
[root@oldboy:~]# ll
total 4
-rw-r--r-- 1 root root   0 Jul 11 11:47 1.txt
-rw-r--r-- 1 root root   0 Jul 11 11:47 2.txt
-rw-r--r-- 1 root root   0 Jul 11 11:47 3.txt
-rw-r--r-- 1 root root   0 Jul 11 11:47 4.txt
-rw-r--r-- 1 root root 574 Jul 11 11:47 all.zip


案例4.解压all.tar.gz 到/tmp目录下
[root@oldboy:~]# unzip all.zip -d /tmp/
08.特殊符号
; 命令的分隔符 不管前面的命令执行是否成功,都会继续往后执行
[root@oldboy:~]# touc 1.txt;mkdir oldboy;ls -l
-bash: touc: command not found
total 0
drwxr-xr-x 2 root root 6 Jul 11 11:53 oldboy

&& 命令的分隔符 前面的命令必须执行成功,才会执行后面的命令
[root@oldboy:~]# touc 1.txt && mkdir oldboy && ls -l
-bash: touc: command not found
[root@oldboy:~]# touch 1.txt && mkdir oldboy && ls -l
total 0
-rw-r--r-- 1 root root 0 Jul 11 11:55 1.txt
drwxr-xr-x 2 root root 6 Jul 11 11:55 oldboy

ifdown ens33 && ifup ens33

|| 命令的分隔符 前面的命令必须执行失败,才会执行后面的命令
[root@oldboy:~]# touc 1.txt || mkdir oldboy
-bash: touc: command not found
[root@oldboy:~]# ll
total 0
drwxr-xr-x 2 root root 6 Jul 11 11:56 oldboy

目录不存在则创建:
[root@oldboy:~]# cd oldboy || mkdir oldboy
-bash: cd: oldboy: No such file or directory
[root@oldboy:~]# ll
total 0
drwxr-xr-x 2 root root 6 Jul 11 11:57 oldboy

知识点小结:

重点:
1.软硬链接如何创建
  lnln -s2.软链接和硬链接区别
3.find按照时间查找出30天前的修改过的文件然后删除 -mtime
4.tar打包解压
5.zip打包解压
6.特殊符号 ; && || shell编程使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1956714.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端工程化11-webpack常见插件

1、webpack的插件Plugin 刚才我们也讲解了下,我们对webpack路径的一个处理,处理的话包括别名的配置,模块是如何找到并加载的,总的来说到现在webpack这个配置到现在来说还是相当的麻烦的,但是目前来说我们讲的这些东西…

重生奇迹MU自由选择个性大师之路

自由选择大师技能 每一个大师职业都拥有三条大师技能树,每一条大师技能树对职业加强的侧重点各不相同。玩家可以根据自己喜欢专一选择,一条路走到底;当然也可以同时兼修两条或者三条技能树,做到雨露均沾。每一种选择都没有绝对的…

Python 环境管理大师:Virtualenv

文章目录 **Python 环境管理大师:Virtualenv****第一部分:背景介绍****第二部分:Virtualenv 是什么?****第三部分:如何安装 Virtualenv?****第四部分:Virtualenv 基本使用方法****第五部分&…

查找的介绍

目录 一、基本介绍 1、查找方法有: 2、在Python中,我们应当掌握两种常见的查找方法: 二、顺序查找 1、顺序查找案例 2、扩展: 三、二分查找 1、二分查找案例 2、二分查找的思路分析 3、代码实现 一、基本介绍 1、查找方…

Pytorch框架之神经网络

一、全连接神经网络的整体结构 二、全连接神经网络的单元结构 找出一组w,b使得结果最优 三、常见激活函数 四、前向传播 学习率是指训练模型时每次迭代更新模型参数的步长。 五、梯度下降法 六、反向传播计算 七、总结 1、准备数据 2、搭建模型 3、开始训练(设置学习率、…

springboot高校计算机专业学习资料共享平台-计算机毕业设计源码24752

摘 要 在信息化、数字化的时代背景下,教育资源的共享与高效利用已成为推动教育现代化的关键。高校作为培养未来人才的重要基地,其计算机专业的学习资料共享显得尤为重要。这些资料不仅涵盖了基础理论知识,还涉及前沿技术、实践项目和行业经验…

Java --方法引用

方法引用 把已经有的方法拿过来用,当做函数式接口中抽象方法的方法体 1.什么是方法引用? 当做函数式接口中抽象方法的方法体把已经存在的方法拿过来用, 2.::是什么符号? 方法引用符 3.方法引用时要注意什么? 需要有函数式接口 被引用方法必须已经存在…

32单片机开发bootloader程序

一,单片机为什么要使用bootloader 1、使用bootloader的好处 1) 程序隔离:可以同时存在多个程序,只要flash空间够大,或者通过外挂flash,可以实现多个程序共存,在多个程序之间切换使用。 2)方便程…

python-小李帮老师改错(赛氪OJ)

[题目描述] 老师给小理发了一封电子邮件,任务如下。 写一个程序,给你 n 个数,输出 X。Xnum1p1​​num2p2​​⋯numnpn​​。 num1​,num2​,⋯⋯,numn​ 都是整数&#x…

探索Python监控之眼:watchdog库深度解析

文章目录 探索Python监控之眼:watchdog库深度解析1. 引言:为何选择watchdog?2. watchdog简介3. 安装watchdog库4. 基本函数与使用方法4.1 初始化监控器4.2 监控文件的创建4.3 监控文件的删除4.4 监控目录的创建4.5 监控目录的删除 5. 场景应用…

神奇的方法解决Navicat闪退

原因 打开Navicat操作上面的工具等就会闪退,原因竟然是屏幕划词!!! 解决方法 看别人提到有道词典的划词功能的原因 我没有安装有道词典,但我安装豆包,它也有划词翻译的功能,关闭即可

【JAVA】记录一次前端无能造成的 线上bug

有一个需求是 当方式切换 垫资时 清空 当前所选细单商品 但是前端的奇葩 操作是,只是在页面上清空 细单。 不请求 后台删除 细单 让前端 必须 清空同时 请求后台 删除细单 但是 该前端 技术不行, 嫌麻烦 不做 只好 后台 判断该类型时 进行删除操作…

分省、地级市数字经济专利数据(1985-2022年)

数据年份:1985-2022年 参考文献:孙勇,张思慧,赵腾宇等.数字技术创新对产业结构升级的影响及其空间效应——以长江经济带为例[J].软科学,2022,36(10):9-16. 包含指标: 地级市数据:省份、地级市、会计年度、当年申请的数字经济相…

Java人力资源招聘社会校招类型招聘小程序

✨💼【职场新风尚!解锁人力资源招聘新神器:社会校招类型招聘小程序】✨ 🎓【校招新体验,一键触达梦想企业】🎓 还在为错过校园宣讲会而懊恼?别怕,社会校招类型招聘小程序来救场&am…

懂个锤子Vue 项目工程化进阶⏫:

Vue项目工程化进阶⏫: 前言: 紧跟前文,目标学习Vue2.0——3.0: 懂个锤子Vue、WebPack5.0、WebPack高级进阶 涉及的技术栈… 当然既然学习框架的了,HTMLCSSJS三件套必须的就不说了: JavaScript 快速入门 …

最新EI期刊信息查询系统(如何查询EI期刊?这里已解决)

直接点击下面的链接 https://www.elsevier.com/products/engineering-village/databases/compendex 进入官网界面 这个列表就是EI索引的全部期刊列表

linux进程控制——进程创建、运行、exit终止——详解解析!

前言:本篇进入新章节——进程控制。 本章节和上一章节同样都是讲解进程, 但是内容上却比上一章内容好理解的多。上一章内容都是进程的概念性相关, 那个时候我们对于进程的理解还处于小白状态, 所以很多东西很抽象, 不好…

快速排序的优化--前后指针

前后指针思想 我们前面文章讲的核心思想是haroe的核心思想,将keyi另一边的指针先移动,找比keyi小的,然后不动,再让keyi这边的指针移动,找比keyi大的,但是这种方法的局限性就是需要让keyi另一边的指针先移动…

止损与趋势交易的艺术在昂首平台尽情绽放

在昂首平台上,我们认识到交易不仅仅是数字游戏,更是一门艺术,需要投资者智慧和策略。正如做生意一样。会以125的价格买入商品,然后再以250的价格卖出。没人会不切实际想着以0元的价格购买商品再以高价卖出。 交易同样需要合理的成…

云仓技术带来的物流变革影响

1、实时可视性: 云仓技术使物流公司能够实时跟踪和监控货物在供应链中的位置和状态。这种实时可视性提供了更好的货物追踪和管理能力,同时也提高了客户服务的质量。 ———————————————————— 2、仓储优化: 云仓技术可以…