首页 > 系统相关 >Linux 文件系统目录结构介绍和文件管理

Linux 文件系统目录结构介绍和文件管理

时间:2024-08-18 09:54:47浏览次数:12  
标签:文件 edenluo 文件系统 com Linux txt root 目录

今天给伙伴们分享一下Linux 文件系统目录结构介绍和文件管理,希望看了有所收获。

我是公众号「想吃西红柿」「云原生运维实战派」作者,对云原生运维感兴趣,也保持时刻学习,后续会分享工作中用到的运维技术,在运维的路上得到支持和共同进步!

如果伙伴们看了文档觉得有用,欢迎大家关注我的公众号,获取相关文档。爱运维,爱生活。

一、Linux 标准目录结构

1、FHS 详解

  • Filesystem Hierarchy Standard(文件系统层次化标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。
image-20200213233457221
  • 文件系统路径介绍

​ 注意!! 在终端使用的时候用相对路径,提高输入效率 写shell脚本或者文件形式的内容时用绝对路径,避免误导出现异常

  • 所谓路径即目录组成结构

    • 一个linux路径由"/"和**目录(文件)**名称两部分组成

    • 比如:/etc/passwd

      • 如果"/“出现在路径开头,则其表示根目录,在路径中间出现”/“,其含义是某一个目录下,那么上面所示路径的意思就是"根目录下的etc目录下的passwd文件”

      • 如果路径最后出现"/",则表示这是一个目录

    • 路径分为两类:绝对路径和相对路径

      • 绝对路径:凡是从根开始的路径,使用绝对路径可以非常准确的表示一个目录的位置具有 唯一性,需要输入的路径较长

        • 比如: /etc/sysconfig/ /etc/grub.conf
      • 相对路径:凡是非根开始的路径

        • 比如:etc var/ftp/pub …/test.txt ./test.sh
  • 使用pwd命令查看当前所在的绝对路径:

    • 比如:
[root@wing etc]# pwd
/etc

img

  • /root:超级用户 root 的家目录

  • /bin:是 Binary 的缩写,用于存放系统中常用的命令,任何用户都有权限执行

  • /boot:存放系统启动时所需要的文件,Linux 的内核就存放在这个目录中

  • /dev:是 Device 的缩写,存放硬盘、光驱、鼠标等设备文件,在 Linux中访问设备和访问文件的方式是相同的

  • /etc:存放系统和程序所需的配置文件,作用类似于 Windows 的注册表

  • /home:普通用户的家目录。普通用户的家目录一般和用户账号名相同,比如 user1 的家目录是 /home/user1

  • /var:存放一些经常变化的文件,比如 /var/log 存放日志,/var/spool/mail 存放邮件

  • /lib /lib64:存放连接共享库,作用类似于 Windows 的 dll 文件。它们自己不能被执行,需要被其他的程序调用,几乎所有的应用程序都需要用到共享库

  • /usr:软件默认的安装位置,存放用户应用程序和文件,类似于 Windows 下的 Program Files

  • /media:用于挂载 U 盘、光驱等系统自动识别的设备

  • /lost+found:存放系统崩溃或意外关机时产生的碎片文件,正常情况下是空的

  • /mnt:用于临时挂载别的文件系统,比如增加一块硬盘,需要手动挂载

  • /opt:用于安装额外软件所用的目录,默认是空的

  • /proc:虚拟文件系统,是系统内存的映射。访问这个目录可以获取很多有用的系统信息

  • /sbin:s 就是 super 的意思,存放只有系统管理员才有权限执行的命令

  • /srv:存放一些服务启动后所需要提取的数据

  • /sys:该目录下安装了文件系统 sysfs,该文件系统是内核设备树的一个直观反映

  • /tmp:存放临时文件,所有用户都可执行写操作

  • /run:存放进程产生的临时文件,系统重启以后,这个目录会被清空/var: 这个目录包含变量数据,如日志文件、打印队列、缓存文件、临时文件等。例如,系统日志文件通常存储在/var/log目录下。

2、cd 切换目录路劲

[[email protected] ~]# cd        //回家
[[email protected] ~]# cd   路径
[[email protected] ~]# cd  -     //切换到上一次去过的目录
[[email protected] ~]# cd ..     //切换到上级目录

3、ls 查看文件

[[email protected] ~]#ls
[[email protected] ~]#ls -l
[[email protected] ~]#ls -a
[[email protected] ~]#ls -lh
[[email protected] ~]#ls 路径

二、文件管理详解

1、创建文件

  • 命令 参数 操作符 命令和参数之间有空格, 参数和操作符之间有空格, 空数量不限 ,至少得有一个

  • 短格式 -一个字母

  • 长格式 --多个字母

[[email protected] ~]# touch  file1     //在当前目录下创建文件
[[email protected] ~]# touch /root/Desktop/a.txt   //在其他目录下创建文件(文件前面写路径)     
文件写入内容
[[email protected] ~]# echo nihuai > nihaohuai.txt
查看文件
[[email protected] ~]# cat nihaohuai.txt

同时创建多个文件
[[email protected] ~]# touch  file1 file2 file3 file4

2、创建目录

[[email protected] ~]# mkdir  dir1  dir2  /tmp/dir3  //在指定目录下创建目录
[[email protected] ~]# mkdir  /root/Desktop/dir1   //在其他目录下创建目录(目录前面写路径)
[[email protected] ~]# mkdir -p -v a/b/c/d   //创建连级目录
[[email protected] ~]# mkdir -pv a/b/c/d    //所有单个字符的参数可以写到一起,前面加一个“-”,单词参数不能跟其他参数写到一起
-p  创建连级目录
-v  verbose 冗长的 详细信息

错误示例:
[[email protected] ~]# mkdir a/b/c/d
mkdir: 无法创建目录"a/b/c/d": 没有那个文件或目录

3、拷贝(复制)文件目录

[[email protected] ~]# cp        file1               dir1
            			被拷贝的源文件          目标目录 
同时拷贝多个文件: 中间不管写多少个文件和目录,都会被拷贝到最后一个目录下
[[email protected] ~]# cp  -r  file1  file2  file3  dir1 dir2  dir3  dir4  
[[email protected] ~]# cp  -r dir1  /root/Desktop      //拷贝目录
-r  拷贝目录使用
-v  显示详细过程 
-a  在拷贝文件的时候不改变权限、属性

4、拷贝文件并重命名

[[email protected] ~]# cp    file1        文件名
[[email protected] ~]# cp    file1        dir1/file2
[[email protected] ~]# cp  -r dir1        /root/Desktop/dir2

5、剪切文件目录

[[email protected] ~]# mv   file1  dir1
[[email protected] ~]# mv   dir1   /root/Desktop/
 给文件改名:剪切到文件所在目录并且改名

6、查看目录大小

[[email protected] ~]# du  -sh
[[email protected] ~]#ls  a.txt b.txt c.txt
[[email protected] ~]#ls dir1 dir2 dir3
[[email protected] ~]#ls  a*
* 是一个通配符  表示所有字符(隐藏文件除外)

7、查看文件内容

    cat 
        [[email protected] ~]# cat    文件名,一次性看完,用来看比较短小的文件,
        -n  查看文件的同时显示行号
        -A  包括控制字符(换行符/制表符)
         linux $ 	
         Windows ^M$
    more       //分页显示文件内容
        [[email protected] ~]#more  文件名       
        空格键是翻页  回车键是翻行
        往上翻页:shift+PgUp
        退出 按q
    
    less    分页显示
        [[email protected] ~]#less  文件名
        空格键是翻页  回车键是翻行
        上下箭头可以来回翻
        /关键字      //搜索   n按关键字往下翻   N按关键字往上翻
        快捷键:q  退出
        
    tail
        [[email protected] ~]# tail     文件名     //默认查看文件后10行
        [[email protected] ~]# tail -5  文件名    //查看后5行,这里的数字可以随意改
        [[email protected] ~]# tail -f  文件名    //实时查看文件内容,用来查看日志排错
        [[email protected] ~]# tailf    文件名     //功能同上
        [[email protected] ~]# tail   -F  文件名    //实时查看文件内容(文件不存在会retry)
        [[email protected] ~]# tail -F b.txt  //开始文件b.txt不存在
        tail: cannot open ‘b.txt’ for reading: No such file or directory
        tail: ‘b.txt’ has appeared;  following end of new file  //在其他终端创建文件后的提示
        hello  //追加的内容进文件b.txt

    head
        [[email protected] ~]# head   文件名     //默认查看文件前10行
        [[email protected] ~]# head   -5  文件名    //查看前5行,这里的数字可以随意改

8、删除文件

  • 注意!!!! 删除文件时 (特别是删除目录),建议进入指定目录之后再删除文件,不要用绝对路径删除文件。
删除普通文件
[[email protected] ~]# rm  文件

强制删除文件
[[email protected] ~]# rm -f  文件   
-f  force

删除目录
[[email protected] ~]# rm -rf  目录
-r  递归删除

[[email protected] ~]# rmdir 用来删除一个空目录

删除文件,不要用绝对路径删除文件。

删除普通文件
[[email protected] ~]# rm  文件

强制删除文件
[[email protected] ~]# rm -f  文件   
-f  force

删除目录
[[email protected] ~]# rm -rf  目录
-r  递归删除

[[email protected] ~]# rmdir 用来删除一个空目录

如果有版帮助,帮忙免费的关注一下**公众号「想吃西红柿」「云原生运维实战派」**后续会有更多实用的运维技术分享给伙伴们,您的关注就是我最大的成就。

标签:文件,edenluo,文件系统,com,Linux,txt,root,目录
From: https://blog.csdn.net/mohuanfenghuang/article/details/141260155

相关文章

  • C#实现国产Linux视频录制生成mp4(附源码,银河麒麟、统信UOS)
    随着信创国产化浪潮的来临,在国产操作系统上的应用开发的需求越来越多,最近有个客户需要在银河麒麟或统信UOS上实现录制摄像头视频和麦克风声音,将它们录制成一个mp4文件。那么这样的功能要如何实现了?一.技术方案要完成这些功能,具体来说,需要解决如下几个技术问题:(1)麦克风数据采集......
  • 你知道Windows下的linux的神器WSL吗?
    我们在开发项目的时候经常需要部署,几乎都是部署在linux系统比较多,不知道你是否有遇到过部署到环境上会出现一些奇怪的问题,但是在本地却无法复现,然而我们的本地开发电脑大多数都是window系统,我们想要模拟对应的场景去调试,此时我们需要模拟对应的环境,这时候要怎么模拟呢?如果要是......
  • JetBrains Aqua 2024.2 (macOS, Linux, Windows) - 测试自动化 IDE
    JetBrainsAqua2024.2(macOS,Linux,Windows)-测试自动化IDEJetBrains跨平台开发者工具请访问原文链接:https://sysin.org/blog/jetbrains-aqua/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgAqua测试自动化IDE享受更高效的测试体验为什么选择Aqua......
  • JetBrains CLion 2024.2 (macOS, Linux, Windows) - C 和 C++ 跨平台 IDE
    JetBrainsCLion2024.2(macOS,Linux,Windows)-C和C++跨平台IDEJetBrains跨平台开发者工具请访问原文链接:https://sysin.org/blog/jetbrains-clion/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgJetBrainsCLion-C和C++跨平台IDE用于强大语言的......
  • D1-H Tinalinux 开发板 挂载U盘
    将U盘格式化成NFS格式 插入U盘到开发板HostUSB,会显示信息[4060.109026]usb1-1:USBdisconnect,devicenumber7[4139.330081]sunxi-ehci4200000.ehci1-controller:ehci_irq:highspeeddeviceconnect[4139.600007]usb1-1:newhigh-speedUSBdevicenumber8......
  • Linux基本指令:掌握日常操作的必备技能
    ......
  • Linux系统编程
    1.文件操作    1.1open打开文件导入库文件#include<unistd.h>#include<sys/types.h>#include<fcntl.h>intfd=open(pathname,flags)        pathname:文件路径。flags:打开方式,可以是以下选项的组合:O_RDONLY:只读打开。O_WRONLY:只写打开。O_RDWR......
  • Linux基础知识学习(一)
    一.简介Linux内核最初只是由芬兰人林纳斯·托瓦兹(LinusTorvalds)在赫尔辛基大学上学时出于个人爱好而编写的。Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX(可移植操作系统接口)和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能运......
  • brpc linux 下编译构建
    brpc在linux下编译构建,比在mac下还要更复杂些,mac下可以走官方说明编译成功,过程中也需要进行一些配置调整。在linux通过bazel最终实现了brpc编译通过。   相关版本centos版本7,bazel版本2.0.0    brpc版本1.0,gflags、protobuf、leveldb......
  • Linux系统的Apache2如何启动cgi模块(Ubuntu)
    欢迎诸位来阅读在下的博文~在这里,在下会不定期发表一些浅薄的知识和经验,望诸位能与在下多多交流,共同努力!江山如画,客心如若,欢迎到访,一展风采文章目录环境1.**启用CGI模块**2.**配置CGI脚本目录**3.**配置CGI脚本**4.**测试CGI脚本**5.**访问CGI脚本**6.**调整S......