Linux入门之目录结构和文件管理

前言

文章的内容来源拉钩教育上的课程学习,通过写博客的方式,更好的提高对该知识的掌握。

一、Shell是什么?

  • 在我们学习Linux之前,先说下什么是shell,所谓的shell就是把我们输入的指令,传递到操作系统中去执行,所以shell是一个命令行的用户界面。
  • 早期程序员没有图形界面,就用shell,而且图形制作成本高,不能实现所有功能,所以shell编程还是在使用。
  • 平时我们还会看到一个词,叫做bash(Bourne Again Shell),它是shell组成的程序,这里的Bourne,还是个人名,Steve Bourne是bash的发明者。
  • 所有的指令,不是写死在操作系统中,而是一个个程序,可以通过which 指令查看它所在目录。
    如ls,通过命令 which ls 即可以查找目录文件夹位置

在这里插入图片描述

二、Linux对目录的抽象

  • Linux对文件进行了一个树状的抽象。/代表根目录,每一节目录也有/分开,所以上图结果,/usr/bin/ls中,第一级目录是/根目录,第二级时usr目录,第三级时bin目录,最后是ls。

1.路径

  • 如/usr/bin/ls 是可执行文件ls的路径。路径就是一个文件在文件系统中的地址。如果文件系统是树型结构,那么通常一个文件只有一个路径。
  • 目标文件的绝对路径(Absolute path),也称为完全路径(full 路径),是从 /开始,接下来每一级都是一级子目录,直到定位到目标文件为止。

2.工作目录

  • 为了方便工作,shell也抽象出工作目录,当用户打开Shell的时候,Shell就会给用户安排一个工作目录,也就产生了相对路径(Relative
    path)

    • 当用户在/usr目录下, ls文件的相对路径是bin/ls
    • 当用户在/usr/bin目录下,ls文件的相对的路径就是当前路径./ls
    • 当用户在/usr/bin/somdir下,那么ls的文件的相对路径即使 …/ls

3.常见的几种文件类型

  • 常见的文件类型有7种:

    1.普通文件(如一个文本文件)
    2.目录文件(目录也是一个特殊的文件,它用例存储文件清单,如/也是一个文件)
    3.可执行文件(上面ls就是一个可执行文件)
    4.管道文件
    5.Socket文件
    6.软链接文件(相当于指向另一个文件的符号)
    7.硬链接文件(相当于指向另一个文件的指针)

  • 使用ls -F 就可以看到当前目录下的文件和它的类型

    1.*结尾的是可执行文件
    2.=结尾的是Socket文件
    3.@结尾的是软链接
    4.|结尾的是管道文件
    5.没有符号结尾的是普通文件
    6./结尾的是目录
    在这里插入图片描述设备文件
    Socket是网络插座,是客户端和服务器之间同步数据的接口。其实,Linux不只是把socket抽象成了文件,设备基本也被抽象成文件。因为设备需要不断和操作系统交换数据。而交换方式只有两种—读和写。所以设备是可以被抽象成文件的,因为文件也支持这两种操作。

4.文件的增删改查

  • 增加
    创建一个普通文件的方法有很多种,最常见的有touch指令,如下面创建以一个demo.txt
    在这里插入图片描述创建一个目录 使用mkdir(make directory)
    在这里插入图片描述

  • 查看
    通过ls指令查看当前目录下的文件,ls是list的缩写
    在这里插入图片描述 通过pwd查看当前目录文件夹
    在这里插入图片描述
    文件较小,可以使用cat指令。
    more 可以帮助我们读取文件,但不需要读取整个文件到内存中。
    less是一个和more类似的指令,less支持向上翻阅。

    grep

  • 有时需要查看一个指定的ip的nginx日志,或者查看一段时间内的nignx日志。如果不想用less和more进入文件中去查看,就用grep命令。

  • Linux的文件命令风格很短,所以影响了很多人,gerp这个词,可以分为三段来看,是g | re | p

    ·g就是global,全局
    ·re就是regular expression,正则表达式
    ·p 就是 pattern,模式

  • 查找文件

    • find指令帮助我们在文件系统中查找文件。比如我们如果想要查找所有的.txt扩展名的文件,可以使用
    • find / -iname “*.txt” ,-iname这个参数是用来匹配查找的,i字母代表忽略大小写,这里也可以用-name替代。
  • 删除
    通过rm指令删除刚刚创建的demo.txt文件和demo文件夹
    在这里插入图片描述

  • 修改
    修改一个文件,可以使用nano或者vi编辑器,nano和vi是自带的
    vi编辑器需要自己去细化学习。
    在这里插入图片描述

面试题

  • rm / -rf的作用是?
    • rm 是删除
    • /是文件系统根目录
    • -r是递归(recursive)
    • f是强制(force),遇到只读文件也不提示,直接删除。 综合即是删除整个文件系统上的所有文件,并不给用户提示。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值