【Linux】目录和文件相关的命令,补充:centos7系统目录结构
【Linux】Linux操作系统的设计理念之一就是“一切皆文件”(Everything is a file),即将设备、文件等都当作“文件”处理。
“文件”主要类型有:目录(即文件夹),链接文档(即快捷方式),文件。
可以通过命令对“文件”进行操作。可使用man查看某命令的文档,例如:man ls。可使用--help查看某命令有哪些选项,例如:ls --help。
一、目录相关的命令
(1)目录的新建、删除等
| 说明 | 命令 | 备注 |
|---|---|---|
| 查看当前目录 | pwd | pwd:print working directory |
| 查看当前目录下所有文件和目录 | ls | ls:list |
| 查看指定目录下所有文件和目录 | ls 目录名 | |
| 创建 目录 | mkdir 目录名 | mkdir:make directory |
| 创建 多个目录 | mkdir 目录名1 目录名2 ... | |
| 创建 多级目录 | mkdir -p 目录名/子目录名 | |
| 目录 重命名 | mv 目录名 新目录名 | mv:move |
| 移动 目录 | mv 目录名 目标路径 | |
| 复制 目录 | cp -a 目录名 目标路径 | cp:copy |
| 删除 目录(有提示,确认删除需输入y) | rm -r 目录名 | rm:remove |
| 删除 目录(没有提示) | rm -rf 目录名 | |
| 删除 多个目录(没有提示) | rm -rf 目录名1 目录名2 ... | |
| 删除 空目录 | rmdir 目录名 | rmdir:remove directory |
| 删除 多级目录(最后的子目录为空则删除,再上级目录为空则删除,若目录不为空则停止) | rmdir -p 上级目录名/子目录名 |
注:在当前目录下新建、删除等。也可以指定目录下新建、删除等 。
例如:往tmp目录下创建test目录:mkdir /tmp/test



注意:linux 删除目录或文件后将无法找回,删除时需谨慎。
rmdir只能删除空目录,rm -r 可以删除目录及目录下的内容。
删除目录时会提示是否确认删除,输入y表示删除,若直接回车则不会删除。若有选项 -f 表示强制删除,不会提示。
(2)切换目录:cd
| 说明 | 命令 | 备注 |
|---|---|---|
| 切换到上级目录 | cd .. | cd:change directory |
| 切换到根目录 | cd / | |
| 切换到用户的家目录(普通用户在/home目录下,root用户在/root目录) | cd ~(键盘esc下面的键) | |
| 切换到上一次所在目录 | cd - | |
| 切换到目标目录(绝对路径,路径从根目录开始) | cd /xx/xx/xx | |
| 切换到目标目录下(相对路径,当前目录中的目录) | cd 目标目录名 | |
| 切换到目标目录(相对路径,当前目录往下找) | cd ./xx/xx | |
| 切换到目标目录(相对路径,当前目录往上级找) | cd ../../.. |

(3)查看目录下所有文件和目录:ls
| ls命令的常用选项 | 说明 |
|---|---|
| -a | 包括隐藏文件(以"."开头的文件) |
| -A | 同-a,但不显示".."上级目录和"."当前目录 |
| -F | 区分文件类型(末尾"/":目录。末尾"@":链接文档) |
| -l(小写字母l) | 显示文件详细信息(包括文件权限、大小、时间(mtime)等)。 |
| -S(大写S) | 按文件大小排序:从大到小。一般与-l或-lh一起用,即-lS或-lhS。 |
| -h | 文件大小以人类可读的方式显示。一般与-l或-lS一起用,即-lh或-lhS。 |
| -t | 时间显示修改时间(mtime)。一般与-l一起用,即-lt,按时间(mtime)排序:最新的在前。 |
| -u | 时间显示访问时间(atime)。与-l一起用,按文件名排序。与-lt一起用,按atime排序。 |
| -c | 时间显示改动时间(ctime)。与-l一起用,按文件名排序。与-lt一起用,按ctime排序。 |
| -1(数字1) | 一行显示一个文件或目录 |
注:ls -l 与 ll 效果相同。(ls -l(小写字母l),ll(两个小写字母l))




ls除了可以查看目录下所有文件和目录,也可以查看当前目录或指定目录的属性信息。
| 查看当前目录的属性信息 | ls -ld |
|---|---|
| 查看指定目录的属性信息。 | ls -ld 目录名 |

补充:查看当前目录下所有txt文件:ls *.txt

(4)用树状形式显示目录的所有文件和目录:tree
# 使用yum安装tree
yum install tree -y
| (以树状形式)查看当前目录下的所有内容 | tree |
|---|---|
| (以树状形式)查看指定目录下的所有内容 | tree 目录名 |

二、文件相关的命令
(1)文件的新建、删除等
| 创建 文件 | touch 文件名 |
|---|---|
| 创建 多个文件 | touch 文件名1 文件名2 ... |
| 文件 重命名 | mv 文件名 新文件名 |
| 移动 文件 | mv 文件名 目标路径 |
| 复制 文件 | cp 文件名 新文件名 |
| 复制 指定目录下所有文件 | cp 目录名/* 目标路径 |
| 删除 文件(有提示,确认删除需输入y) | rm 文件名 |
| 删除 文件(没有提示) | rm -f 文件名 |
| 删除 多个文件 | rm -f 文件名1 文件名2 ... |
| 删除 当前目录下所有文件 | rm -f * |
| 删除 当前目录下所有文件和目录 | rm -rf * |


注意:linux 删除目录或文件后将无法找回,删除时需谨慎。
rm 删除文件。 rm -r 删除目录。
每删除一个文件都会提示是否确认删除,输入y表示删除,若直接回车则不会删除。若有选项 -f 表示强制删除,不会提示。
(2)查找文件:find
| 查找深度 | -maxdepth | 没有设置深度,则最大深度查找。-maxdepth 1 只在目录所在层级查找,不会往子目录查找 |
|---|---|---|
| 按文件类型查找 | -type | f 文件,d 目录,l 链接文档 |
| 按文件名称查找 | -name | -name 区分大小写。若要不区分大小写,则-iname。 |
| 按文件大小查找 | -size | 单位:k,M,G等,没有单位,默认b(512B)。 - 小于。+ 大于。两个数据之间,可用-and。 例如:大于2k并小于5k:-size +2k -and -size -5k |
| 按访问时间(atime)查找 | -atime | -1:1天之内。+1:1天之前。两个数据之间,可用-and。 例如:1天之前 5天之内:-atime +1 -and -atime -5 |
| 按修改时间(mtime)查找 | -mtime | 同-atime |
| 按改动时间(ctime)查找 | -ctime | 同-atime |
| 按所属用户查找 | -user | |
| 按所属用户组查找 | -group | |
| 按文件权限查找 | -perm |
访问时间(atime,access time):文件中内容 最后一次被访问的时间。
修改时间(mtime,modify time):文件中内容 最后一次被修改的时间。
改动时间(ctime,change time):文件 最后一次被改动(位置移动、权限更改等)的时间。


查找到文件后,可使用-exec对文件再执行操作。格式为:find ... -exec 命令 \;
注意:-exec以分号";"作为终止符,分号前需加"/"。因为分号有特殊含义,是命令拼接符,连接多个命令,各命令之间的执行互不影响。

(3)查看文件详细信息:stat
| 查看文件详细信息 | stat 文件名 |
|---|

三、压缩、解压缩
(1)tar
- 文件扩展名.tar.gz。
- 可以只归档不压缩。可以压缩目录。
- tar归档/压缩到一个.tar.gz文件中。会保留原文件。
| tar命令的常用选项 | 说明 |
|---|---|
| -c | create,建立新的备份文件 |
| -f | 指定备份文件 |
| -z | 通过gzip指令处理备份文件 |
| -x | 从备份文件中还原文件 |
| -t | 列出备份文件的内容 |
| -v | version,显示指令执行过程,即列出处理的文件 |
压缩文件:tar -zcf 压缩后的文件名 需压缩的文件(可多个文件或目录)
解压缩文件:tar -zxf 需解压缩的文件名
归档文件(不压缩):tar -cf 归档后的文件名 需归档的文件 (可多个文件或目录)
还原归档文件:tar -xf 需还原的文件名
注意:
归档是将多个文件或目录打包到一个文件中,文件大小不会压缩。
若想要压缩或解压缩时看到哪些文件被处理,可加-v,例如:-zcvf,-zxvf。

(2)gzip
- 文件扩展名.gz。
- gzip只能压缩文件,不能压缩目录。若要压缩目录,需"-r"且只会压缩目录下的文件。
- gzip每个文件压缩一个.gz文件。默认不会保留原文件,若要保留原文件,需"-c"且输出重定向">"。
| gzip命令的常用选项 | 说明 |
|---|---|
| -d | 解压缩 |
| -r | 递归压缩目录下的文件 |
| -c | 保留原文件(需输出重定向) |
| -v | 显示指令执行过程,即列出处理的文件 |



(3)zip,unzip
- 文件扩展名.zip。
- zip压缩文件,unzip解压缩,都保留原文件。
- zip也可以压缩目录。压缩到一个.zip文件。
# 使用yum安装zip, unzip
yum install zip unzip -y
| zip的常用选项 | 说明(zip:压缩文件) |
|---|---|
| -r | 递归压缩目录下的所有文件和目录 |
| -q | 不显示指令执行过程,即不列出处理的文件 |
| -v | 显示指令执行过程或显示版本信息 |
| -d | 从压缩文件中删除指定文件 |



| unzip的常用选项 | 说明(unzip:解压缩) |
|---|---|
| -q | 不显示指令执行过程,即不列出处理的文件 |
| -v | 显示指令执行过程或显示版本信息 |
| -l | 查看压缩文件中的文件 |
| -n | 解压缩后不覆盖原文件 |
| -o | 解压缩后覆盖原文件 |

补充:centos7系统的目录结构:
![]()
- /bin:binaries,二进制文件(命令文件等),普通用户也可以用的命令。(重要)
- /dev:devices,硬件设备控制文件。(重要)
- /home:系统在该目录下为每个普通用户创建一个用户自己的主目录。
- /lib64:library 64位,动态链接共享库(库文件.so文件)。类似Windows下的DLL文件。(重要)
- /mnt:mount,用户临时挂载其他文件系统(光驱等)。
- /proc:process,所有进程的目录,虚拟的目录,是系统内存的映射。(重要)
- /run:程序运行时产生的临时文件。
- /srv:项目源代码,存放服务启动之后需要提取的数据。
- /tmp:temporary,存放临时文件。
- /var:variable,变动文件(日志,网络文件、缓存等)。(重要)
- /boot:开机时操作系统自动启动的加载文件。(重要)
- /etc:etcetera,系统配置文件和子目录,类似于Windows下的注册表。(重要)
- /lib:library 32位,动态链接共享库。类似Windows下的DLL文件。(重要)
- /media:系统会把自动识别的U盘、光驱等挂载到该目录。
- /opt:optional,主机额外安装软件可存放在该目录。
- /root:超级管理员(又称超级用户)的主目录。(重要)
- /sbin:super user binaries,超级管理员使用的系统管理程序。(重要)
- /sys:system,系统功能目录,是内核设备树的直观反映。类似/proc目录但结构不同(重要)
- /usr:unix shared resource,共享资源。类似于Windows下的Program Files目录。
/usr/bin:系统用户使用的应用程序。
/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:内核源代码默认的放置目录。
相关文章:
【Linux】目录和文件相关的命令,补充:centos7系统目录结构
【Linux】Linux操作系统的设计理念之一就是“一切皆文件”(Everything is a file),即将设备、文件等都当作“文件”处理。 “文件”主要类型有:目录(即文件夹),链接文档(即快捷方式…...
【读点论文】SAM-LIGHTENING: A LIGHTWEIGHT SEGMENT ANYTHING MODEL,改进自注意力机制,然后知识蒸馏提点
SAM-LIGHTENING: A LIGHTWEIGHT SEGMENT ANYTHING MODEL WITH DILATED FLASH ATTENTION TO ACHIEVE 30 ACCELERATION ABSTRACT 分割任意模型(SAM)由于其零样本泛化能力,在分割任务中引起了广泛的关注。然而,SAM在现实世界实践中…...
PostgreSQL函数和运算符
PostgreSQL为内置的数据类型提供了大量的函数和运算符,用户也可以定义自己的函数和运算符,使用psql命令\df和\do可以列出所有可用的函数和运算符 1. 逻辑运算符 常用的逻辑运算符有AND、OR、NOT,逻辑系统有三个值true、fase和nullÿ…...
使用网络工具监控网络性能
网络工具和实用程序有助于有效地检测网络问题,诊断其原因和位置,以及缓解和解决问题,这有助于确保网络环境的稳定性,使用户免受设备连接问题带来的麻烦。 网络工具已经成为每个网络管理员用于有效诊断和处理网络问题的解决方案中…...
Gradle基础笔记
配置镜像 修改 gradle>wrapper>gradle-wrapper.properties distributionUrlhttps://mirrors.aliyun.com/macports/distfiles/gradle/gradle-8.6-all.zip 配置父项目 使用 subprojects 编码问题处理 [compileJava, compileTestJava, javadoc].options.encoding ‘UTF-…...
QT+网络调试助手+TCP客户端
一、网络调试助手UI界面 编程主要思路: 首先将水平的控件 水平布局 ,然后相对垂直的控件 垂直布局 ,哪怕是底下的groupBox也需要和里面的内容 水平布局,然后最后框选全部 栅格布局。如果需要界面自适应窗口大小,…...
数据库调优-SQL语句优化
2. SQL语句优化 sql 复制代码 # 请问这两条SQL语句有什么区别呢?你来猜一猜那条SQL语句执行查询效果更好! select id from sys_goods where goods_name华为 HUAWEI 麦芒7 魅海蓝 6G64G 全网通; select id from sys_goods where goods_id14967325985…...
h函数 render函数 JSX基本用法
1.1认识h函数(hyperscript工具 基于JavaScript编写模板的工具) Vue推荐在绝大多数情况下使用模板来创建你的HTML,然后一些特殊的场景,需要JavaSript的完全编程能力,可以使用渲染函数,它比模板更接近编译器&…...
购物车操作
添加购物车: 需求分析和接口设计: 接口设计: 请求方式:POST 请求路径:/user/shoppingCart/add请求参数:套餐id、菜品id、口味返回结果:code、data、msg 数据库设计: 这上面出现了…...
华为手机 鸿蒙系统-android studio识别调试设备,开启adb调试权限
1.进入设置-关于手机-版本号,连续点击7次 认证:有锁屏密码需要输入密码, 开启开发者配置功能ok 进入开发者配置界面 打开调试功能 重新在androd studio查看可运行running devices显示了, 不行的话,重启一下android …...
计算机网络——Dijkstra路由算法
实验目的 实现基于 Dijkstra 算法的路由软件 实验内容 网络拓扑如图所示 实验过程 先编写开辟应该图的空间,然后给点映射数字,构建图。程序获取用户输入的学号,构建图中边的权值。接下来程序从用户输入获取最短路径的搜索起点࿰…...
AI智能化逐渐趋于成熟后,预测今后最吃香的开发职业
AI智能化正在成熟的路途中,这中间会有波折,但终有一天会来的,我相信等到了这一天,我们的开发效率和代码质量,将会大大不同,而我们的团队与个人,也会面临着很棒的体验。 那么在AI智能化真正趋于成…...
Acwing2024蓝桥杯BFS
AcWing 1355. 母亲的牛奶 bfs: #include<iostream> #include<queue> using namespace std; const int N21; int A,B,C; bool flag[N][N][N]; struct node{int a,b,c; }; queue<node>q; void check(int a,int b,int c){if(!flag[a][b][c]){q.push({a,b,c})…...
vue打包报错:CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
前言: vue项目,打包报错:CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 报错现象: 报错原因: 这个错误是由Node.js在尝试分配内存时因为系统的可用内存不足而发生的。"JavaScript heap…...
计算机组成原理网课笔记
无符号整数的表示与运算 带符号整数的表示与运算 原反补码的特性对比 移码 定点小数...
Python学习第四部分 函数式编程
文章目录 高阶函数lambda 表达式和匿名函数偏函数闭包map函数reduce函数filter 函数sorted函数 函数式编程主要学习:高阶函数、闭包closure、匿名函数、偏函数,map函数、reduce函数、filter函数、sorted函数 函数式编程是个很古老的概念,最古…...
数据结构-二叉树-AVL树(平衡二叉树)
红黑树是平衡二叉树的一个变种。 一、 产生平衡二叉树的原因。 二叉搜索树的问题在于极端场景下退化为类似链表的结构,所以搜索的时间复杂度就变成了O(N)。为了保证二叉树不退化为链表,我们必须保证二叉树的的平衡性。 二叉平衡搜索树就是解决上面的问…...
【Qt问题】windeployqt如何提取Qt依赖库
往期回顾 【Qt问题】Qt Creator 如何链接第三方库-CSDN博客 【Qt问题】Qt 如何带参数启动外部进程-CSDN博客 【Qt问题】VS2019 Qt win32项目如何添加x64编译方式-CSDN博客 【Qt问题】windeployqt如何提取Qt依赖库 考虑这个问题主要是:当我们的程序运行好之后&#…...
VS2019下使用MFC完成科技项目管理系统
背景: (一)实验目的 通过该实验,使学生掌握windows程序设计的基本方法。了解科技项目组织管理的主要内容和管理方面的基本常识,熟练应用数据库知识,通过处理过程对计算机软件系统工作原理的进一步理解&…...
【Android】Kotlin学习之数据容器(数组for循环遍历)
数组遍历 1. for ( item in arr){…} 2. for ( i in arr.indeces ) {…} (遍历下标) 3. for ((index, item) in arr.withInfex()) {…} (遍历下标和元素) 4. arr.forEach {} ( 遍历元素 ) 5. arr.forEachIndexed{index, item -> …}...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...

