【Linux】目录和文件相关的命令,补充:centos7系统目录结构

2024-05-06 05:36

本文主要是介绍【Linux】目录和文件相关的命令,补充:centos7系统目录结构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【Linux】Linux操作系统的设计理念之一就是“一切皆文件”(Everything is a file),即将设备、文件等都当作“文件”处理。

“文件”主要类型有:目录(即文件夹),链接文档(即快捷方式),文件。

可以通过命令对“文件”进行操作。可使用man查看某命令的文档,例如:man ls。可使用--help查看某命令有哪些选项,例如:ls --help。

一、目录相关的命令

(1)目录的新建、删除等
说明 命令备注
查看当前目录pwdpwd:print working directory
查看当前目录下所有文件和目录lsls: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 只在目录所在层级查找,不会往子目录查找
按文件类型查找-typef 文件,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命令的常用选项说明
-ccreate,建立新的备份文件
-f指定备份文件
-z通过gzip指令处理备份文件
-x从备份文件中还原文件
-t列出备份文件的内容
-vversion,显示指令执行过程,即列出处理的文件

压缩文件: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系统目录结构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/963534

相关文章

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

Linux环境变量&&进程地址空间详解

《Linux环境变量&&进程地址空间详解》本文介绍了Linux环境变量、命令行参数、进程地址空间以及Linux内核进程调度队列的相关知识,环境变量是系统运行环境的参数,命令行参数用于传递给程序的参数,... 目录一、初步认识环境变量1.1常见的环境变量1.2环境变量的基本概念二、命令行参数2.1通过命令编程

Linux之进程状态&&进程优先级详解

《Linux之进程状态&&进程优先级详解》文章介绍了操作系统中进程的状态,包括运行状态、阻塞状态和挂起状态,并详细解释了Linux下进程的具体状态及其管理,此外,文章还讨论了进程的优先级、查看和修改进... 目录一、操作系统的进程状态1.1运行状态1.2阻塞状态1.3挂起二、linux下具体的状态三、进程的

Linux编译器--gcc/g++使用方式

《Linux编译器--gcc/g++使用方式》文章主要介绍了C/C++程序的编译过程,包括预编译、编译、汇编和链接四个阶段,并详细解释了每个阶段的作用和具体操作,同时,还介绍了调试和发布版本的概念... 目录一、预编译指令1.1预处理功能1.2指令1.3问题扩展二、编译(生成汇编)三、汇编(生成二进制机器语