当前位置: 首页 > news >正文

Linux(文件管理 图片+大白话)

后面也会持续更新,学到新东西会在其中补充。

建议按顺序食用,欢迎批评或者交流!

缺什么东西欢迎评论!我都会及时修改的!

在这里真的很感谢这位老师的教学视频让迷茫的我找到了很好的学习视频

王晓春老师的个人空间-王晓春老师个人主页-哔哩哔哩视频

文件管理基本命令

根目录下面有什么文件夹呢

/bin /boot /usr /root /sys /proc /var /etc 等等等...

 绝对路径和相对路径

相对路径是相对当前所在文件夹为/opt

一般指定相对于当前工作目录,特殊场景下,是相对于某目录的位置 (配置文件中)

ls

-a隐藏文件
-l显示时间文件大小文件所有者
-R递归 访问文件夹若此文件夹有子目录则会一直访问下去
-d查看本身文件夹

ls 实际上是一个别名 也就是加了个颜色

不想用别名 使用旧名

-R递归访问 直接把你祖宗都找出来 

查看目录本身内容 

ll

ll 也是使用了一个别名

atimeacess time   文件被读了
ctimechange time 所有者改变 属性更改
mtimemodify time  修改时间

chown change owner

修改一个文件哪个时间会改变呢

 三个时间都看到

inode 唯一标识身份号 每个用户账号都有唯一的UID

怎么区分文件类型呢

文件的最上面头部信息 存放了关于这个文件的格式信息

叫做magic number魔数

什么乱七八糟的不能简单一点吗!

okok!

 还可以查看命令本身

 window Linux可执行程序都是二进制文件

cat 看不了二进制文件

Linux不挑后缀

echo有内部  和 外部命令 外部命令没有内部优先级高

ls是外部命令删了就没了

文件七种类型

-普通文件
b块设备
l软连接
c字符设备
d目录
s套接字
p管道文件

批量查看文件类型

window和Linux格式转换(重点)

转换文件格式

yum -y install man-pages
man ascii

 

回车 和 换行不是一个东西? 

当然不是 我们敲下回车键做了两件事

1.光标从第一行到第二行

2.并且光标位置在开头也就是换行和回车同时都做了

早期的Linux为了节省存储就把回车换行当成一个字节了 也就是 0a

而windows 还是两个字节包含0d 0a

 所以需要转换一下!

yum -y install dos2unix   dos(windows) -> unix(linux)
dos2unix wintest.txt

yum -y install unix2dos unix(linux) -> dos(windows)
unix2dos wintest.txt

编码格式转换 

 字符集也得一样 Linux默认是utf-8 当然windows 也得选择 utf-8

 也可以使用命令转换 gb2312 和 ISO-8859一样的 注意Linux默认是UTF-8

 -f 是文件原编码 -t是文件要转换编码 -o是输出

文件通配符

使用范围:ls 对现有文件进行过滤touch是创建的所以不识别通配符(看不懂别着急下面有解释)

*匹配多个字符或零个    不匹配.开头文件即隐藏文件
?匹配任何单个字符
~当前家目录 cd ~root
.当前目录
~-

上一个目录 这个是用户呆的上一次目录而不是父目录比如

pwd 查看当前目录 假如是/ 我cd 到 /data 这个时候我当前

目录为/data 我的上一个目录就是/

..父目录
[0-9]0-9任意一个数字
[^0-9]除了数字任意一个字符
[wang]取得是wang 4个字母中的一个

 下面有创建语句别着急先理解一下这些符号

[a-c] 列出的文件顺序是 a A b B c 发现大写C没有了对吧

因为是[a-c] 没有到C

[a-Z]就全显示了

若是只想显示小写怎么办呢

[:lower:] 代表a-z [[:lower:]]代表取一个a-z(不包括大写) 取一个

实在不能理解就记住是这样写的就行

 file[wang] 取得是wang 4个字母中的一个 ^代表相反

隐藏文件

.开头的为隐藏文件

 *匹配不了.开头的文件 *不包含隐藏文件

小练一下 

1  ls /etc/i*[0-9]*[[:lower:]]
2  ls /etc/[0-9]*[^0-9]
3  ls [^a-zA-Z][a-zA-Z]*
4  ls -d /etc/rc[0-6]* 
5  ls /etc/[mnrp]*.conf
6  ls -d /root/.*   == l. 
7  ls -d /etc/*/显示文件夹  ls -d /etc/*显示文件和文件夹显示/var目录下所有以i开头,以一个小写字母结尾,且中 间出现至少一位数字的文件或目录
ls /var/i*[0-9]*[[:lower:]]
显示/etc目录下所有以m开头以非数字结尾的文件或目录
ls /etc/m*[^0-9]
显示/etc目录下,所有以.d结尾的文件或目录
ls /etc/*.d

 ls -d .* = l.   .可以代表当前文件夹 ..代表父文件夹

 通配符被取消掉

''单引号可以把通配符功能取消掉

文件的创建与复制

touch

touch 里面识别不了通配符!

ls 对现有文件进行过滤touch是创建的所以不识别通配符

 刷新时间

 创建日志

[root@study data]# date
2024年 10月 30日 星期三 16:43:09 CST
[root@study data]# date -d "-1 year"
2023年 10月 30日 星期一 16:43:26 CST
[root@study data]# date -d "-1 day"
2024年 10月 29日 星期二 16:43:35 CST
[root@study data]# date  +%F_%T
2024-10-30_16:45:58
[root@study data]# touch `date -d "-1 day" +%F_%T`.log
[root@study data]# ls
2024-10-29_16:47:26.log
[root@study data]# touch $(date -d "1 year" +%F_%T).log
[root@study data]# ls
2024-10-29_16:47:26.log  2025-10-30_16:47:46.log练习
把/etc/目录下所有文件,备份到/data独立的子目录下,并且要求子目录格式为backupYYYY-mm-dd
[root@study data]#cp -a /etc/ /data/backup`date + %F`创建/data/rootdir目录,并且复制/root下所有文件到该目录内,要求保留原有权限
[root@study data]#cp -a /root /data/rootdir

copy 

cp source dest 
cp source dir 这里的source可以有多个
cp -t dir source 也可以把dir 放前面 只是交换了位置 还是source到dir

一个文件的属性非常重要!!!!!!!

-p保存权限所有权和时间戳
-r递归
-d不复制原文件只复制链接
-a上面命令我全包了!常用于备份
-v显示过程
-i询问是否覆盖
-f如是不能覆盖 删除了再创建
--backup版本递增
-b只保留最近的

复制文件 

复制文件夹

改名

一个神奇现象(非常重要!)

 这个时候我们再执行这个命令怎么说?cp -r /etc/ /data/etcbackup

有必要总结一下

 cp -r /etc/ /data/etcbackup

  1. 若/data/下面无目录 将/etc/改为/etcbackup/存放
  2. 若/data/下面以有/etcbackup/ 将/etc放入
  3. 若/data/下面已有/etc/backup/ /etc/backup/下面已有/etc/ 选择是否覆盖

 复制软连接

 我们实际上拷贝的是软连接指向的文件也就是centos-release

 还有高手?

 咳咳,av组合也不是不行

 覆盖是否询问

结论:-i导致的 

用户可以覆盖root用户的文件吗

这个时候如是cp -f 1.txt hosts  可以吗?

这里的逻辑是删除了root用户的hosts wang用户创了一个一模一样所以属主也变了

 再提问一下用xiaowang 可以删除 xiaowang文件吗

 为啥可以删除? 这里权限又不足了!

 自己家是不是自己做主 那root用户文件跑到我家里面我肯定可以删除啊!

备份

版本递增

最近一次备份 

-b的大哥

别把硬盘给撑爆了 

块设备文件会导致磁盘撑满

所以要输入-a  保留属性

不要低估霸道的力量(非常重要)

 别人文件你拷过来拷成别人的文件,等于别人又创建一个文件。

-a 就不能起保留属主的作用了 凡事都有优先级 并不是绝对的

其实我感觉我这里没有解释清楚做几个实验!

  1. 在wang用户下
  2.  root 属主 复制到除了wang家目录其他地方都是权限不足
  3. 在wang家目录就算-a 也还是显示wang创建的文件
  4. 在wang家目录可以删除重命名root文件(任意用户文件)

  1.  在root用户下
  2. 任意用户文件 root用户都可以复制到任意文件夹 
  3. root使用-a 可以保留其他用户使用的记录

 复制隐藏和非隐藏文件

说白了就算把整个wang文件夹下的东西复制到了/opt/下 

文件的移动和重命名

 mv

和cp 非常像
mv source dest 
mv source dir 这里的source可以有多个
mv -t dir source 也可以把dir 放前面 只是交换了位置 还是source到dir

  既可以移动也可改名

同一分区速度快,不同分区速度慢

同一分区文件都在分区里只需改名字就行不用动磁盘当然快

 批量改名

rename conf conf.bak f* 将f*文件中含有conf修改成conf.bakrename .bak '' *bak 去掉文件含有bak后缀

文件删除

rm

rm -rf 谨慎使用!

删除当前文件夹

rm -rf * == rm -rf ./*但是删不了隐藏文件
rm -rf .* 删除有风险 会删除到父目录
rm -rf .[^.]* 删除隐藏文件

若看不懂这个表达式建议再看看上方文件通配符

 rm -rf .

我们删除当前文件夹总共分两步 

  1. rm -rf *  == rm -rf ./*删除非隐藏当前文件夹
  2. rm -rf .[^.]* 删除隐藏当前文件夹

好像直接删除文件夹也行好麻烦(bushi)

rm -rf /*

非常危险!!!! 直接给根目录的子目录干没了这里就不演示了

生产中建议

忘记rm拿mv代替 将文件移动到新目录 

将rm改成mv

 

删掉rm或改名

 删除-f

 有这么一个文件该怎么删除?

 

 rm --help 

 but 有局限

还是rm ./xx更加通用 

目录操作

tree 

yum -y install tree
tree -d 只列文件夹不列文件

mkdir 

-p递归创建文件夹
-v显示创建过程

rmdir基本没咋用过这里不赘述了 

 练习

mkdir -p /testdir/dir1/x 后面都是这样

参考文献

1文件管理基本命令和windows文本和Linux文本格式的区别_哔哩哔哩_bilibili

40:52 echo 内部命令 可以看一下

2文件管理相关命令创建新文件和复制_哔哩哔哩_bilibili

3文件管理基本命令_哔哩哔哩_bilibili

总结

本人基本上是个人理解加参考其他大佬的肯定有很多问题欢迎指正,我会及时修改。


http://www.mrgr.cn/news/66238.html

相关文章:

  • 【GeoJSON在线编辑平台】(1)创建地图+要素绘制+折点编辑+拖拽移动
  • 单片机串口接收状态机STM32
  • 聊一聊Elasticsearch的索引的分片分配机制
  • SpringBoot学生请假系统:从零到一的构建过程
  • Android 各版本 TLS 协议支持及启用方式
  • 网络编程入门
  • 人工智能学习--归一化(Normalization)
  • 动态规划-两个数组的dp问题——44.通配符匹配
  • 雷池社区版新版本功能防绕过人机验证解析
  • 如何无缝更换WordPress主题:关键步骤详解
  • 智慧工地:引领工地管理和监测的革新
  • 有代码MoSE: Modality Split and Ensemble forMultimodal Knowledge Graph Completion
  • lc 153 寻找旋转排序数组的最小值
  • keep-alive - 2024最新版前端秋招面试短期突击面试题【100道】
  • 【Ant.designpro】上传图片
  • 测试流程是什么?
  • ins账号多开被封?指纹浏览器来解决!
  • 全栈电子硬件工程师是怎样炼成的?
  • 苹果企业签名掉签有哪些原因
  • gitmakegdb
  • 生物医药产业前景如何?怎样开展生物医药产业分析?
  • 经纬恒润车载TSN网络测试仪TestBase-ATT全新上线!
  • 数组和字符串的es6新方法使用和综合案例
  • 数字身份发展趋势前瞻:身份韧性与安全
  • 筋膜枪哪个牌子好?深入探索国产筋膜枪品牌的口碑之选
  • 【Linux】- vim四种模式常见使用技巧