• linux学习3 — ubuntu中的文件


    目录​​​​​​​

    1、ubuntu都有哪些系统文件?

    2、linux文件类型 & 访问权限

    2.1、linux的文件类型

    2.2、linux文件的访问权限

    3、linux中的文件路径

    3.1、绝对路径

    3.2、相对路径

    4、linux中文件的基本操作指令

    4.1、ls 查看命令

    4.2、cd 切换文件路径

    4.3、chmod 文件权限修改命令

    4.4、mkdir 创建目录(文件夹)

    4.5、touch 新建文件

    4.6、rm 删除指令

    4.7、cp 复制粘贴指令

    4.8、mv文件/目录改名或移动


            对linux系统有过了解的应该都会有一种感觉,linux系统中有各种各样的文件,很多的操作都是通过文件进行的,所以也有人说:“linux中一切皆文件,文件几乎是linux系统的所有。”

            既然这样说,那linux中到底都有哪些文件呢?这些文件都有哪些作用?对文件可以做些什么操作呢?

            那就一点一点来说吧!linux系统的发行版有好几种,我这里以ubuntu系统环境进行说明。

    1、ubuntu都有哪些系统文件?

            如果要查看ubuntu的系统文件的话,需要将当前的目录定位到系统根目录(/)下,命令行的话通过ls 指令就可以查看到。如下图所示:

    这些文件分别是什么呢?如下说明:

    1. 1)bin文件 — 二进制文件,存放的是执行文件;
    2. 2)boot文件 — 存放系统固件(镜像)的文件;
    3. 3)cdrom文件 — 挂载cdrom的目录,当linux系统插入光盘的时候,就可以通过访问这个目录访问到光盘里面的内容。
    4. 4)dev文件 — 驱动结点的目录。
    5. 5)etc文件 — 存放系统配置文件。
    6. 6)home文件 — 用户的目录,做项目开发一般都在home目录里面。
    7. 7)lib文件 — 存放库的目录。
    8. 8)lost+found文件 — 丢失寻找目录。
    9. 11)media文件 — 插sd卡或者u盘就会挂载在这个文件夹下。
    10. 12)mnt文件 — 用户挂载目录。
    11. 13)opt文件 — 用来放编译器或者一些第三方库和命令。
    12. 14)proc文件 — 进程状态的目录。
    13. 15)root文件 — 超级用户的家目录。
    14. 16run文件 — 运行时产生的文件都放在这里。
    15. 17)sbin文件 — 超级用户的专属命令就放在这里。
    16. 18)srv文件 — 是一些网路服务启动之后,这些服务所需要取用的资料目录。
    17. 19)sys文件 — 系统的信息目录。
    18. 20)tmp文件 — 临时目录,掉电后数据全部丢失。
    19. 21)usr文件 — 最庞大的目录,要用到的应用程序和文件几乎都在这个目录。
    20. 22)var文件 — 存放系统日志文件。

    2、linux文件类型 & 访问权限

    2.1、linux的文件类型

            在linux命令行中可以用ls - l命令显示文件的信息,开头是由10个字符构成的字符串表示文件类型与文件权限,如下图:

    其中第一个字符表示文件类型,它可以是下述类型之一:

    1. -  普通文件 
    2.  d  目录(文件夹)
    3.  l  符号链接
    4.  b  块设备文件
    5.  c  字符设备文件
    6.  p  命名管道(FIFO)
    7.  s  socket文件

    2.2、linux文件的访问权限

    在用 ls - l 命令显示的信息中,开头是由10个字符构成的字符串表示文件类型与文件权限,2-10个字符共9个字符表示文件的访问权限,分为3组,每组3个字符。如下所示:

    第一组(2-4)表示文件所有者访问权限;

    第二组(5-7)表示同组用户的访问权限;

    第三组(8-10)表示其他用户的访问权限。

    每一组使用3个字符分别表示设置的3种访问权限,分别是:

    1. 读权限,用“r”表示;

    2. 写权限,用“w”表示;

    3. 执行权限,用“x”表示(对于目录表示进入权限);没有设置权限用“-”表示

    3、linux中的文件路径

    3.1、绝对路径

    文件的绝对路径,由目录的最顶层作为开始的。即从目录的最开始位置开始,直到目标所在的位置结束。简单而言就是从根目录开始算第一层。

    绝对路径是由根目录“/”写起的,比如 /home/aaa/bbb

    3.2、相对路径

    相对路径是相对于当前目录的位置而言的。可以理解为在一个目录路径中切换时,不用从文件的最开始位置开始,而是直接从某个路径下的文件路径开始切换。相对路径不是由根目录“/”写起的,比如当前文件的位置是 /home/test/test1 目录下,要到 /home/test/test2 中去,就可以使用相对路径,就是 cd ../test2。

            linux中文件的切换操作可以使用以下的操作:

    1. 1).或者./ :当前目录;
    2. 2)..或者../ :切换到上层目录,可以叠加。../../../上上上层目录。
    3. 3/ :切换到最顶层的目录。
    4. 4)~ :切换到家目录。普通用户-/home/用户名/;root用户-/root

    4、linux中文件的基本操作指令

    4.1、ls 查看命令

    1. 查看文件信息或列出目录内容:
    2. ls [选项] [目录或文件]
    3. 选项:
    4. -a 显示指定目录下所有子目录与文件,包括隐藏文件。
    5. -A 显示指定目录下所有子目录与文件,包括隐藏文件。但不列出“ .”和 “ ..”。
    6. -i 显示文件和目录的inode编号。
    7. -l 以长格式来显示文件的详细信息,这个选项最常用。
    8. -p 在目录后面加一个“ /”。
    9. -R 递归式地显示指定目录的各个子目录中的文件。
    10. 其中:ls的使用是可以叠加的,比如下面的示例。
    11. ls -hl :以详细信息列出文件,并且文件的大小根据实际情况使用k、m、G进行显示;
    12. ls -al:以详细信息列出所有文件(叠加-a和-l)

    比如用ls -l 查看的文件如下:

    4.2、cd 切换文件路径

    1. 将当前工作目录切换至指定的目的目录。
    2. cd [目的目录]
    3. 特殊的使用方法如下:
    4. cd 切换至用户主目录
    5. cd ~ 切换至用户主目录
    6. cd - 切换至此目录之前所在的目录
    7. cd .. 切换至上级目录(在根目录使用“cd ..”还是进入根目录)
    8. cd ../.. 切换至上两级目录
    9. cd . 切换至当前目录

    4.3、chmod 文件权限修改命令

    1. 修改文件或目录的权限,该命令有两种语法,分别是文字设定法和数字设定法。如下:
    2. 1)文字设定法:chmod [操作对象][操作符] [权限模式] 文件/目录名
    3. ①操作对象
    4. u 表示“用户(user)”,即文件或目录的所有者。
    5. g 表示“同组(group)用户”,即与文件所有者有相同组ID的所有用户。
    6. o 表示“其他(others)用户”。
    7. a 表示“所有(all)用户”。它是系统默认值。
    8. ②操作符
    9. + 添加某个权限。
    10. - 取消某个权限。
    11. = 赋予给定权限并取消其他所有权限(如果有的话)。
    12. ③权限模式
    13. r 可读。
    14. w 可写。
    15. x 可执行。
    16. 说明:权限模式可以是3中权限的组合,当时组合时需要指明操作对象。
    17. 2)数字设定法:chmod [权限模式] 文件/目录名
    18. ①权限模式:将每一组权限的rwx看成二进制,二进制为1表示有此权限,二进制为0表示没有此权限,那就有32进制。
    19. 例如,将文件test文件修改为r-xrw--wx,二进制为101 110 011,十进制为563,则命令为chmod 563 test

    4.4、mkdir 创建目录(文件夹)

    1. 创建一个目录:
    2. mkdir [选项] 目录名称
    3. 选项:
    4. -m:对新建目录设置存取权限,也可以用chmod命令设置。如下:
    5. mkdir -m=rw- test2 。即这个可以用来建立一个有权限的新东西。
    6. -p:可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。如下:
    7. mkdir -p lesson/test1 。这个可以用来建立多级层次的新东西。

    4.5、touch 新建文件

    1. 更新或新建文件:
    2. touch [选项] 文件或目录
    3. 说明:如果文件或目录存在就更新其建立时间,如果文件或目录不存在就创建普通文件。
    4. 新建普通文件touch。如:touch flowerHang

    4.6、rm 删除指令

    1. 删除文件或目录:
    2. rm [选项] 文件或目录 ......
    3. 说明:该命令的功能为删除一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。执行rm指令可删除文件或目录,如欲删除目录必须加上参数“-r”,否则预设仅会删除文件。
    4. 选项:
    5. -f 忽略不存在的文件,从不给出提示。
    6. -r 指示rm将参数中列出的全部目录和子目录均递归地删除。
    7. -i 进行交互式删除。
    8. 使用示例如下:
    9. 1)删除普通文件,rm。如:rm flowerHang
    10. 2)删除文件夹。 rm work/ -r ;rmdir work/
    11. 3)删库跑路指令。sudo rm / -rf (坐牢死亡指令,劝君珍惜自由!)

    4.7、cp 复制粘贴指令

    1. 将给定的文件或目录复制到另一个文件或目录:
    2. cp [选型] 源文件或目录 目标文件或目录
    3. 说明:cp命令用在复制文件或目录时,如果同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,而最后的目的地并非是一个已存在的目录,则会出现错误信息。
    4. 选项:
    5. -f 强行复制文件或目录,不论目标文件或目录是否已存在。
    6. -i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
    7. -r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。
    8. -a 该选项通常在拷贝目录时使用,它保留链接、文件属性,并递归地拷贝目录。
    9. -d 拷贝时保留链接。

    4.8、mv文件/目录改名或移动

    1. 对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。
    2. mv [选项] 源文件或目录 目标文件或目录
    3. 说明:视mv命令的第二个参数的不同(目标文件或目录)完成命令的改名和移动功能。当第二个参数类型是文件时,mv命令完成文件或目录的重命名功能,此时源文件或目录只能有一个,它将所给的源文件或目录重命名为给定的目标文件或目录名。当第二个参数是已经存在的目录名称时,源文件或目录参数可以有多个,mv命令将各个参数指定的源文件或目录均移至目标目录中(最后一项目录)。在跨文件系统移动文件时,mv先复制,将原有文件删除,而与该文件的链接也将丢失。
    4. 选项:
    5. -i 交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。
    6. -f 禁止交互操作。在mv操作要覆盖某已有的目标文件时不给任何指示,指定此选项后,i选项将不再起作用。

    对嵌入式技术感兴趣的,欢迎关注微信公众号“嵌入式之入坑笔记”,一起学习讨论啊!

  • 相关阅读:
    Elasticsearch 在地理信息空间索引的探索和演进
    【JAVA案例】作业管理系统(控制台版本)
    yolo后处理操作-如何获取我们想要的目标框及置信度?
    【深入浅出imx8企业级开发实战 | 01】imx8qxp yocto工程构建指南
    讲述CBO And Database Statistics
    【前端】Vue+Element UI案例:通用后台管理系统-Echarts图表准备:axios封装、mock数据模拟实战
    D3.js的学习
    日常Bug排查-偶发性读数据不一致
    Win11 系统安装事项,跳过微软账户登录,VMWare安装Win11
    Nginx反向代理&负载均衡
  • 原文地址:https://blog.csdn.net/weixin_43866583/article/details/126695753