Linux-4 文件管理

news2025/7/10 23:04:40

Linux-4 文件管理

文件管理概述

谈到Linux文件管理,首先我们需要了解的是,我们要对文件做些什么事?其实无非就是对一个文件进行创建,复制,移动,查看,编辑,压缩,查找,删除等等。例如:当我们想修改系统的主机名称,是否应该知道文件在哪,才能去做对应的修改

系统目录结构

几乎所有的计算机操作系统都是使用目录结构组织文件。具体来说就是在一个目录中存放子目录和文件,而在子目录中又会进一步存放子目录和文件,以此类推形成一个树状的文件结构,由于其结构很像一棵树的分支,所以该结构又被称为目录树

Windows以多根的方式组织文件C:\,D:\,E:\

Linux以单根的方式组织文件\

下图为centos7的目录结构:

image-20221222093515603

1、配置文件目录

配置指的其实就是一种参数;技术的参数都存储在某一个文件中,将文件称为配置文件;配置文件可以变更某个软件的运行效果;

  • /etc:
    存放所有的系统需要的配置文件和子目录列表,更改目录下的文件可能会导致系统不能启动。
    • 修改IP地址:/etc/sysconfig/network-scripts/ifcfg-xxx
    • 修改主机名称:/etc/hostname
    • 修改…
    • 变更完配置如何生效(根据实际情况决定):
      1. 修改立即生效;运行时即可生效;
      2. 修改后重启服务生效;
  • /lib:
    存放基本代码库(比如c++库),其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
  • /sys:
    这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
    sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。
    该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中。
2、命令目录
  • /bin- ->/usr/bin:
    存放着最常用的程序和命令,一般来说,普通用户和超级管理员都可以运行;
  • /sbin- ->/usr/sbin
    存放特殊命令,只有系统管理员能使用的程序和指令,普通用户可以申请操作权限;
3、设备目录
  • /dev :
    Device(设备)的缩写, 存放的是Linux的外部设备,包括键盘,光盘,磁盘,终端。注意:在Linux中访问设备和访问文件的方式是相同的,在Linux中这些称为文件。

    • /dev/null:黑洞,就是存储在这个设备中的数据都会丢失;

    • /dev/random:产生随机数;

      image-20221222103527159
  • /media:
    类windows的其他设备,例如U盘、光驱等等,识别后linux会把设备放到这个目录下。

  • /mnt:
    临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

  • /run:
    是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

  • /lost+found:
    一般情况下为空的,系统非法关机后,这里就存放一些文件。

4、用户家目录

每一个用户都有自己的家;每一个家都有环境,如果破坏掉环境,那么再进入家,可能得到的结果和预期不一致;

  • /root:
    超级管理员的家目录,一般来说普通用户没资格进入;
  • /home:
    普通用户的家目录(除了root以外都是普通用户);以用户的账号命名的,默认普通用户的家目录:/home/username- ->jack /home/jack
5、启动目录
  • /boot:

    存储系统启动时加载的文件,比如:内核文件,grub菜单,救援内核系统等

    • 如果删除目录中的文件,会造成无法启动系统;
6、临时目录
  • /tmp:

    这个目录是用来存放一些临时文件的,谁都可以在这里面存储数据,但是自己的数据只能自己移除,别人无法移除;所有用户都可以看,但是不能删除;root用户既可以看,也可以删除;

7、可变目录
  • /var:
    是一个可变的目录,存放经常修改的数据,比如程序运行的日志文件(/var/log 目录下)。
    • 可变:会随着系统的运行(产生一些数据,记录),而不断地发生变化;
    • /var/log:存储日志;启动的日志;系统操作的日志;系统登录的日志等;
8、运行时状态目录
  • /proc:
    proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,记录设备(CPU,内存,磁盘)运行状态,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
    image-20221222104735665
9、系统目录
  • /usr:

    用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录,非常重要;

    • /usr/lib:存放的是库文件(共享);
    • /usr/lib64:存放的是库文件(共享);
    • /usr/local:存储我们字型安装软件的路径;
    • /usr/src:存储安装包(安装前的软件存储的路径)
    • /usr/bin:系统用户使用的应用程序与指令。
    • /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
    • /usr/src:内核源代码默认的放置目录。
10、扩展文件目录
  • /opt:
    默认是空的,我们安装额外软件可以放在这个里面。
  • /srv:
    存放服务启动后需要提取的数据(不用,服务器就是空)。

文件路径定位

在我们开始操作文件之前,首先需要对文件的路径进行定位。Why?你要在哪个文件下创建什么文件?你要将文件复制到什么地方?或者你要删除的文件在什么地方?比如:/etc/hostname,整个文件中包含文件名称以及文件所在的位置,我们将这个叫做路径,也就是说我们是通过路径对文件进行定位。

  • 操作文件之前,需要知道这个文件的路径;路径==文件的位置;路径可以定位文件的位置;
绝对路径与相对路径

绝对路径:只要从/开始的路径都是绝对路径,比如/home/alice.file 相对路径是相对于当前目录来说。

相对路径:相对于当前你在哪个目录;/root

一般情况下,查找文件使用绝对路径:/root/abc/file.txt;如果我就在/root目录下可以使用相对:abc/file.txt

.表示当前目录,…表示上级目录

文件管理-命令

创建(mkdir-touch)
  • 在根下创建linux-76目录;

    [root@destiny ~]# mkdir /linux-76
    [root@destiny ~]# ls /
    bin  boot  dev  etc  home  lib  lib64  linux-76  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
    

    image-20221222144951816

  • 在linux-76目录中创建student.txt文件

    #第一种,绝对路径写法:
    [root@destiny ~]# touch /linux-76/studen.txt
    
    #第二种,相对路径写法:
    [root@destiny ~]# cd /linux-76/
    [root@destiny linux-76]# touch student.txt
    
  • 希望在/linux-76目录下继续创建11/22/33/44/55

    [root@destiny linux-76]# mkdir /linux-76/11/22/33/44/55 -pv
    mkdir: created directory ‘/linux-76/11’
    mkdir: created directory ‘/linux-76/11/22’
    mkdir: created directory ‘/linux-76/11/22/33’
    mkdir: created directory ‘/linux-76/11/22/33/44’
    mkdir: created directory ‘/linux-76/11/22/33/44/55’
    #-p是递归创建 -v显示创建的详细过程
    
    image-20221222145743504
  • 总结命令的使用

    #创建目录命令 mkdir
    	#-p:递归创建
    	#-v:显示过程
    	#mkdir -pv 文件目录的路径+文件目录的名称
    	
    #创建文件命令 touch
    	#touch 文件路径+文件名称
    
删除(rm)
  • 删除:移除文件或者目录

  • #移除/student,txt文件(原生rm没有提示;为了防止误删,增加了别名)
    [root@destiny linux-76]# ls /
    bin  boot  dev  etc  home  lib  lib64  linux-76  media  mnt  opt  proc  root  run  sbin  srv  student.txt  sys  tmp  usr  var
    [root@destiny linux-76]# rm /student.txt
    rm: remove regular empty file ‘/student.txt’? y
    [root@destiny linux-76]# ls /
    bin  boot  dev  etc  home  lib  lib64  linux-76  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
    #我们可以用 rm -f /student.txt忽略提示
    
    #删除/linux-76目录;目录下有很多子目录,希望递归移除
    [root@destiny ~]# rm -fr /linux-76/
    
  • 总结rm使用方法:

    # rm:移除文件或者目录
    	#-r 移除目录以及目录下的文件,并且采用递归方式
    	#-f force 强制删除不提示
    	#-i 提示是否删除;系统已为我们添加好别名,所以每次都会提示;
    
复制(cp)
  • 给文件建立一个副本;源(要拷贝的内容)——>目录(拷贝到哪里)

    image-20221222151310709
  • #  cp - copy files and directories
    	# -p:保持源文件的属性在拷贝的过程中不发生变化;
    	# -r:递归;
    	# -i:提示;
    	# iv:显示拷贝的过程;
    	#语法:
    		# cp 源文件 目标位置;
    		# cp 源文件..源文件..目标位置;
    		# cp 源文件a 目标位置b;
    
    #1.拷贝/etc/hosts 文件至于/tmp目录;
    [root@destiny ~]# cp /etc/hosts /tmp/
    [root@destiny ~]# ls /tmp/
    
    # 建议,如果目标是个目录,应该添加/
    [root@destiny ~]# cp /etc/hosts /tmp		#不加/是知道这个目录一定存在
    [root@destiny ~]# cp /etc/hosts /tmp/
    [root@destiny ~]# cp /etc/hosts /tmpqqq	#预期是/etc/hosts 存储至/tmpqqq目录下,但如果目录不存在,则自动将文件存储至/目录下,并且改名为/tmpqqq
    
    #2.希望拷贝 /etc 目录 至 /tmp目录,并重新命名为etc_back;
    	#-r 递归;
    [root@destiny ~]# cp -r /etc /tmp/etc_back
    [root@destiny ~]# ls /tmp
    
    #3.一次拷贝多个文件:/etc/hostname /etc/fastab /var /tmp /root /home ——> /backup
    [root@destiny ~]# cp -r /etc/hostname /etc/fstab /var/ /home/ /tmp/ /root/ /backup/
    [root@destiny ~]# ls /backup
    fstab  home  hostname  root  tmp  var
    #前提:/backup目录必须存在;
    #最后一个目录一定是目标;
    
移动(mv)
  • 移动:将一个文件剪切到某个目录下;

  • #1.在当前用户家目录创建test目录,然后移动到/tmp目录;
    [root@destiny ~]# cd
    [root@destiny ~]# mkdir test
    [root@destiny ~]# mv test/ /tmp/
    [root@destiny ~]# ls /tmp/test/ -d
    /tmp/test/
    #ll=ls -l
    [root@destiny ~]# ls /tmp/test/ -dl
    drwxr-xr-x. 2 root root 6 Dec 22 16:04 /tmp/test/
    
    #2.移动多个目录至于/tmp目录;
    	#{a..z}集合,创建a到z的所有目录
    [root@destiny ~]# mkdir {a..z}
    [root@destiny ~]# ls
    a  anaconda-ks.cfg  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t  u  v  w  x  y  z
    [root@destiny ~]# mv {a..z} /tmp
    [root@destiny ~]# ls
    anaconda-ks.cfg
    
    

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

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

相关文章

自己个人拥有一个可以支付功能的网站?当然可以了!保姆级演示!

文章目录前提条件演示应用申请开通和配置应用创建应用配置代码开发后端实例前端代码实例源码前提条件 这是必要条件!!! 这是必要条件!!! 这是必要条件!!! 开通当面付&am…

人脸检测和对齐算法MTCNN

1. 概述 人脸识别在实际的生活中有着广泛的应用,得益于深度学习的发展,使得人脸识别的准确率得到大幅度提升。然而,为了做好人脸识别,第一步需要做的是对人脸检测,主要是通过对图片分析,定位出图片中的人脸…

Java项目:springboot网上点餐系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 功能介绍 SpringBoot在线订餐系统项目。主要功能说明: 分为两个角色,餐厅老板、普通用户 餐厅老板可以登录,注册&…

质量不错的蓝牙耳机有哪些?2023年值得选购的四款蓝牙耳机

现如今,蓝牙耳机越多人使用,不同于有线耳机,蓝牙耳机更为方便,没有线束的困扰,走到哪也不用带上手机一起,特别便利。然而,随着蓝牙耳机市场的旷大,各种类型各种样式的耳机五花八门&a…

C++ 实现并查集结构

前言 并查集一般用于多元素,多集合的查找问题; 听说很有用,但是平时好像确实没有怎么见过。。 leetcode典型例题:岛屿数量 一、原理 其实并查集的每个小集合就是一张有向图,只不过是所有子节点指向父节点的图结构。…

认证鉴权对于 API 网关的重要性

认证鉴权作为 API 网关不可或缺的能力,已然成为用户在选型 API 网关时考量的重要因素之一。 作者钱勇,API7.ai 开发工程师,Apache APISIX Committer 在当下云原生越发成熟的环境下,API 网关最核心的功能可以概括为:连接…

高品质蓝牙耳机排行榜,值得入手的四款蓝牙耳机分享

2023年即将到来,还有哪些蓝牙耳机值得大家购买呢?蓝牙耳机在我们日常生活中发挥着很大作用。无论是听歌还是通话,又或者是运动健身、玩游戏等,都常见大家使用。同样也伴随着蓝牙耳机市场的壮大,五花八门的耳机层出不穷…

【C语言进阶】进来抄作业,完善你的通讯录(软工期末大作业可用)

目录 🥰前言🥰: 一、输入合法性检测🤠: ①.对“ 联系方式 ”的合法性检测: ②.对“年龄”进行合法性检测: 二、字典排序🤑: 三、反馈优化🤯: …

Python 圣诞树代码

一、前言 1.本章将会讲解Python编程 实现圣诞树效果! 2.圣诞节介绍 基督教纪念耶稣诞生的重要节日。亦称耶稣圣诞节、主降生节,天主教亦称耶稣圣诞瞻礼。耶稣诞生的日期,《圣经》并无记载。公元336年罗马教会开始在12月25日过此节。12月25日…

现在转行计算机如49年入国军?

阿里,腾讯等互联网大厂最近不太安宁,裁员消息频出,无风不起浪,裁员年年有,今年特别多。于是不少打算入行或者已经入行计算机的同学开始担忧,如今入行计算机,怎么有点49年入国军的赶脚&#xff1…

Android面试题及答案整理(2023最新版)持续更新中......

倒霉的时候总会想起福祸相依,但你会发现倒霉起来没完没了,就是看不到传说中的“福” 年初被裁了,我会安慰自己,此处不留爷自有留爷处,然后踏入找工作的行列;没有面试邀请,我会告诉自己&#xf…

倒在转“码”路上的文科生,文科生也能转行做IT吗?

近期,一篇《倒在转“码”路上的文科生》火了。 这也让关于“文科转码”的话题引起了一番热度,由于大环境不佳,使得毕业生就业成为了一个难度,其中文科生相较而言,选择更少,因此,让不少学子有了…

Java项目:springboot酒店宾馆管理系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 功能介绍 springboot酒店宾馆管理系统。该系统为后管系统,无前台。主要分三种角色:管理者/工作人员/前台人员。 主要功能有&…

网络安全方向好吗?

我就在这个行业,今年刚毕业,民办二本,目前武汉,薪资就没必要说了,高就对了。 这个行业优势就是工资高,缺点就需要一直学,卷得要死,不是跟别人卷,而是自己卷,…

数据库实验3 完整性语言实验

实验3 完整性语言实验 实验3.1实体完整性实验 1.实验目的 掌握实体完整性的定义和维护方法。 2.实验内容和要求 定义实体完整性,删除实体完整性。能够写出两种方式定义实体完整性的SQL 语句:创建表时定义实体完整性﹑创建表后定义实体完整性。设计SQL语句验证完整性约束是…

LeetCode 96. 不同的二叉搜索树

LeetCode 96. 不同的二叉搜索树 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1: 输入:n 3 输出:5示例 2: 输入&#x…

我,30多岁的土木工程人,终于转行了

行外人可能没法想象,十年前最火爆、高校录取分数最高的土木工程专业,现在在贴吧知乎等社交网站上,竟然成了一个“劝退率”最高的专业。 土木出身的工程人,一边吐槽“土木毁我青春”,一边苦口婆心的劝退还在上学的学弟学…

一本通 1276:【例9.20】编辑距离

看完题目后,整个人都懵了,这题咋整? 哎呀,知道知道,用动态规划做 不要慌,我们慢慢分析.... 目录 做题前须知 状态转移 如果 a[i] b[j] 如果 a[i] ! b[j] 做删除操作 做插入操作 做替换操作 初始…

跑步热来袭!缤跃关注运动健康生活,跨界推出差异化酒店产品!

近期,人民数据研究院发布《2022全民跑步运动健康报告》,报告中显示参与跑步人群的年龄跨度随着社会对跑步运动不断攀升的热情而增加。现代生活节奏加快、竞争压力大使得部分中青年通过运动寻求解压,2022年18-40岁的跑者开始成为中坚力量&…

非零基础自学Golang 第15章 Go命令行工具 15.1 编译相关指令 15.1.3 install 15.1.4 交叉编译

非零基础自学Golang 文章目录非零基础自学Golang第15章 Go命令行工具15.1 编译相关指令15.1.3 install15.1.4 交叉编译第15章 Go命令行工具 15.1 编译相关指令 15.1.3 install go install命令的作用是编译后安装,该命令依赖于GOPATH,因此不能在独立的…