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

今天给伙伴们分享一下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 切换目录路劲

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

3、ls 查看文件

[root@edenluo.com ~]#ls
[root@edenluo.com ~]#ls -l
[root@edenluo.com ~]#ls -a
[root@edenluo.com ~]#ls -lh
[root@edenluo.com ~]#ls 路径

二、文件管理详解

1、创建文件

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

  • 短格式 -一个字母

  • 长格式 --多个字母

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

同时创建多个文件
[root@edenluo.com ~]# touch  file1 file2 file3 file4

2、创建目录

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

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

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

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

4、拷贝文件并重命名

[root@edenluo.com ~]# cp    file1        文件名
[root@edenluo.com ~]# cp    file1        dir1/file2
[root@edenluo.com ~]# cp  -r dir1        /root/Desktop/dir2

5、剪切文件目录

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

6、查看目录大小

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

7、查看文件内容

    cat 
        [root@edenluo.com ~]# cat    文件名,一次性看完,用来看比较短小的文件,
        -n  查看文件的同时显示行号
        -A  包括控制字符(换行符/制表符)
         linux $ 	
         Windows ^M$
    more       //分页显示文件内容
        [root@edenluo.com ~]#more  文件名       
        空格键是翻页  回车键是翻行
        往上翻页:shift+PgUp
        退出 按q
    
    less    分页显示
        [root@edenluo.com ~]#less  文件名
        空格键是翻页  回车键是翻行
        上下箭头可以来回翻
        /关键字      //搜索   n按关键字往下翻   N按关键字往上翻
        快捷键:q  退出
        
    tail
        [root@edenluo.com ~]# tail     文件名     //默认查看文件后10行
        [root@edenluo.com ~]# tail -5  文件名    //查看后5行,这里的数字可以随意改
        [root@edenluo.com ~]# tail -f  文件名    //实时查看文件内容,用来查看日志排错
        [root@edenluo.com ~]# tailf    文件名     //功能同上
        [root@edenluo.com ~]# tail   -F  文件名    //实时查看文件内容(文件不存在会retry)
        [root@edenluo.com ~]# 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
        [root@edenluo.com ~]# head   文件名     //默认查看文件前10行
        [root@edenluo.com ~]# head   -5  文件名    //查看前5行,这里的数字可以随意改

8、删除文件

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

强制删除文件
[root@edenluo.com ~]# rm -f  文件   
-f  force

删除目录
[root@edenluo.com ~]# rm -rf  目录
-r  递归删除

[root@edenluo.com ~]# rmdir 用来删除一个空目录

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

删除普通文件
[root@edenluo.com ~]# rm  文件

强制删除文件
[root@edenluo.com ~]# rm -f  文件   
-f  force

删除目录
[root@edenluo.com ~]# rm -rf  目录
-r  递归删除

[root@edenluo.com ~]# rmdir 用来删除一个空目录

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尘嫣慕曦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值