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

[Linux] 命令行管理文件

目录

FHS

文件路径导航

ls命令

tree命令

stat命令

touch命令

命令行管理文件

mkdir命令

cp命令

mv命令

rm和rmdir命令

软链接

硬链接

软连接硬链接区别

shell扩展匹配文件


FHS

FHS采用树形结构组织文件,定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。

FHS定义了两层规范:

  • 定义了/下面的各个目录应该要放什么文件数据。例如/etc应该要放置设置文件,/bin与/sbin则应该要放置可执行文件等等。

  • 针对/usr及/var这两个目录的子目录来定义。例如/var/log放置系统登录文件、/usr/share放置共享数据等等。

文件路径导航

  • 显示当前工作目录
pwd

  • 切换路径
cd

  • 切换到上一次所在目录
cd -

  • 切换到家目录
cd
#或
cd ~

  • 上一级目录

  • ..表示

  • 在变量定义文件的路径时,尽量使用绝对路径

ls命令

  • -1:以单列格式展示

  • -R:递归查看子目录中文件

  • -l:长列表格式查看文件详细信息

  • ls命令默认按文件名先后顺序正向排序,使用-r选项可以反向排序,-t按时间排序

  • -d:只查看对象本身

tree命令

安装tree工具

yum install -y tree

使用tree

tree /etc/yum

  • 控制查看深度
tree -L 2 /home

stat命令

查看文件的元数据属性

stat /etc/fstab

touch命令

如果文件不存在,则创建文件。当使用-c选项时,如果文件不存在,则不会创建文件。

其余选项可通过touch --help查看

命令行管理文件

mkdir命令

创建目录。用-p选项可以创建多层目录

cp命令

  • 复制单个文件到目标位置

  • 复制并重命名
cp /etc/hosts ./hosts-1

注意:

  1. 若当前目录下有同名文件,不会提示,直接覆盖。

  2. 复制多个文件时,目标只能是目录

  • -r:复制目录

  1. 复制多个目录,目标必须是已经存在的目录

  2. 当前目录下有同名目录,则将源目录放到相同目录下面,而不是覆盖当前目录

mv命令

  • 移动单个文件
mv hosts-1 ../lab1

移动多个文件,目标位置只能是目录

  • 重命名
mv hosts hosts-new

  • 移动单个或多个目录
#移动单个
mv etc ../lab1#移动多个
mv home/ yum/ yum-1/ ../lab1

rm和rmdir命令

  • 删除文件
rm hosts-new

-f选项可直接删除

  • rmdir可删除空目录,但无法删除非空目录

-r选项可递归删除目录,-fr:递归强制删除目录

软链接

  • 软链接: 类似于windows中快捷方式,也是一种文件;用于存放源文件的路径(位置+名字),应用最多.

查看链接文件

 ll /etc/rc.local
 lrwxrwxrwx. 1 root root 13 Mar  7  2024 /etc/rc.local -> rc.d/rc.local
 
 rc.d/rc.local的位置在/etc/rc.d/rc.local 可以打开/etc/rc.local文件查看到
  • ln(link)创建软连接或硬链接,默认创建硬链接.

  • 创建软连接 :ln -s 源文件 软链接文件

 #准备新的环境 new目录
 mkdir -p /dir0/new
 cd /dir0/new/
 #创建源文件
 touch test.txt
 [root@boot new]# ll
 total 0
 -rw-r--r--. 1 root root 0 Nov 17 14:01 test.txt
 #创建软连接
 [root@boot new]# ln -s test.txt stest.txt
 [root@boot new]# ll
 total 0
 lrwxrwxrwx. 1 root root 8 Nov 17 14:06 stext.txt -> test.txt#可以发现软连接指向源文件
 -rw-r--r--. 1 root root 0 Nov 17 14:01 test.txt
 #从源文件位置写入内容
 [root@boot new]# echo 'aaa' >> test.txt 
 [root@boot new]# cat stext.txt 
 aaa
 [root@boot new]# cat test.txt 
 aaa
 #从软连接位置写入内容
 [root@boot new]# echo 'bbb' >> stext.txt 
 [root@boot new]# cat stext.txt 
 aaa
 bbb
 [root@boot new]# cat test.txt 
 aaa
 bbb
 #建议使用绝对路径创建软连接
 #创建绝对路径的软连接
 ln -s /dir0/new/test.txt   stest.txt
 #因为这样链接文件即使移动后能被找到,可以移动stest.txt试试

如果源文件被删除或改名或移动走,软连接会如何? 答:会红色闪烁

硬链接

  • 硬链接: 在同一个分区中,不同的文件的inode号码相同了,这些文件互为硬链接,很少使用.

硬链接

 #创建新的实验文件ytest.txt
 [root@boot new]# touch ytest.txt
 #给新文件创建硬链接
 [root@boot new]# ln ytest.txt ytest.txt_head
 [root@boot new]# ll
 #可以发现硬链接并没有显示l,我们可以发现ytest.txt与ytest.txt_head硬链接数量变为2了
 total 4
 -rw-r--r--. 1 root root 8 Nov 17 14:07 test.txt
 -rw-r--r--. 2 root root 0 Nov 17 14:18 ytest.txt
 -rw-r--r--. 2 root root 0 Nov 17 14:18 ytest.txt_head
 #可以通过ll -i 查看,发现两个文件inode是相同的
 [root@boot new]# ll -i
 total 4
 13662 -rw-r--r--. 1 root root 8 Nov 17 14:07 test.txt
 13664 -rw-r--r--. 2 root root 0 Nov 17 14:18 ytest.txt
 13664 -rw-r--r--. 2 root root 0 Nov 17 14:18 ytest.txt_head
 #再通过两个文件中分别加入内容是与软链接的效果一致的

软连接硬链接区别

  • 解释

  • 软连接(符号链接) softlink/symlink,类似于windows快捷方式,存放源文件的位置。

  • 硬链接: 同一个分区中inode号码相同的文件,互为硬链接。

  • 创建

  • 软连接通过ln -s创建

  • 硬链接通过ln创建。

  • 特点

  • 软链接是比较常用的,可以给文件,目录创建。

  • 硬链接只能给文件创建,不能跨分区,无法给目录创建硬链接,较少使用。

shell扩展匹配文件

http://www.xdnf.cn/news/13150.html

相关文章:

  • 国产三维CAD皇冠CAD(CrownCAD)建模教程:压力变送器
  • 如何开发ONLYOFFICE协作空间插件:完整教程
  • AI高考志愿助手应用架构设计并上线实施运行
  • 使用python进行图像处理—图像变换(6)
  • 前端开发面试题总结-vue2框架篇(一)
  • MES系统如何解决电机制造业自动化生产管理?
  • 回溯算法学习
  • PCIe-8622工业级网卡特性解析
  • Linux中《基础IO》详细介绍
  • leetcode刷题经验
  • 云安全与网络安全:核心区别与协同作用解析
  • 统计学(第8版)——统计抽样学习笔记(考试用)
  • 使用 Python 正则表达式实现文本替换与电话号码规范化
  • 位运算求最大值的子集数目问题
  • Ace网络验证软件卡密系统-免费免搭建 记录整理
  • 如何让非 TCP/IP 协议驱动屏蔽 IPv4/IPv6 和 ARP 报文?
  • 搭建仿真yolo环境
  • Docker安装、基础知识、项目部署笔记
  • Ubuntu里面单独编译某一个模块
  • iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享
  • nacos开启鉴权密码登录
  • FFmpeg:Windows系统小白安装及其使用
  • R语言速释制剂QBD解决方案之三
  • 曼昆《经济学原理》第九版 第十一章公共物品与公共资源
  • WDK 10.0.19041.685,可在32位win7 sp1系统下搭配vs2019使用,可以编译出xp驱动。
  • 深度剖析OpenSSL心脏滴血漏洞与Struts2远程命令执行漏洞
  • DAP-seq测序(DNA亲和纯化测序)!
  • Python爬虫实战:研究Restkit库相关技术
  • 芯科科技Tech Talks技术培训重磅回归:赋能物联网创新,共筑智能互联未来
  • 在 Visual Studio Code 中使用驭码 CodeRider 提升开发效率:以冒泡排序为例