Linux-Task04:Linux文件和目录管理

这篇博文介绍了Linux文件和目录管理,包括根目录、常见目录的用途、文件类型(如普通文件、目录、链接文件等)以及文件权限。学习了ls、cd、mkdir等命令的使用,并探讨了绝对路径和相对路径的区别。此外,还提到了软链接和硬链接的概念。
摘要由CSDN通过智能技术生成

本学习笔记为Datewhale-6月组队学习-Linux教程的学习内容,学习链接为:https://github.com/datawhalechina/team-learning-program/tree/master/Linux



前言

在前一篇博文【Linux-Task03:Linux用户和组管理】里,我们一起学习了Linux用户和组管理的含义及命令,而在这篇博文中我们将会一起学习Linux文件和目录管理。


一、学习知识点概要

Task04:Linux文件和目录管理

知识点:Linux系统的目录、Linux系统的文件和命令集合

二、学习内容

(一)Linux目录

在Linux中,目录为树状结构。树状目录以 / 为起始,也称为根目录,是Linux文件系统的入口,每一个文件和目录都从这里开始。
根据FHS标准,Linux目录一般可分为以下四种交互状态:

在这里插入图片描述
static:不可变的、variable:可变的、shareable:可分享的、unshareable:不可分享的

1. 目录详解

在Linux中,常使用 ls 命令来查看目录结构。在当前命令窗口输入

ls /

以下是对这些目录的理解:

目录介绍
/ - 根目录Linux文件系统的入口,每一个文件和目录都从这里开始。
/bin - 基本用户命令二进制文件目录包含系统管理员和用户都可以使用的命令
/etc - 配置文件目录本目录包含所有程序所需的配置文件。“配置文件”是用于控制程序操作的本地文件;它必须是静态的,不能是可执行的二进制文件。
/boot - 引导文件目录包含系统启动过程所需的所有内容,但不包括启动时不需要的配置文件和映射安装程序。
/dev - 设备文件dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,包括终端设备、USB或连接到系统的任何设备。在 Linux 中访问设备的方式和访问文件的方式是相同的。
/lib - 库文件此目录包含引导系统和运行根文件系统中的命令所需的共享库映像,即位于/bin和/sbin中的二进制文件。这些文件可以被很多程序共享。
/sbin - 系统二进制文件/sbin包含由系统管理员使用的二进制可执行文件。
/proc - 进程信息文件包含系统进程的相关信息。是系统内存的映射
/opt - 可选择文件opitional的意思。用于安装附加应用程序软件包。
/lost+found此目录通常为空,当系统非法关机后,这里就存放了一些文件。
/srv - 服务器数据文件srv代表服务。包含服务器特定服务相关的数据。
/var - 变量文件这个目录下可以找到内容可能增长的文件。这包括 - 系统日志文件(/var/log);包和数据库文件(/var/lib);电子邮件(/var/mail);打印队列(/var/spool);锁文件(/var/lock);多次重新启动需要的临时文件(/var/tmp);
/tmp - 临时文件包含系统和用户创建的临时文件。当系统重新启动时,这个目录下的文件都将被删除。
/home - 用户目录所有用户都用home来存储个人文件
/usr - 用户程序目录包含二进制文件、库文件、文档和二级程序的源代码。
/mnt - 挂载目录此目录主要是作为挂载点使用。通常包括系统引导后被挂载的文件系统的挂载点
/media - 可移动媒体设备用于挂载可移动设备的临时目录。

(二)Linux文件

1. Linux文件类型

Linux中有六种文件类型,分别是普通文件,目录文件,链接文件,设备文件,套接字文件,管道文件。下面详细介绍各类文件。

文件类型介绍
普通文件包括纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data)
目录文件Linux 中的目录也是文件
链接文件符号链接是指向系统上其他文件的引用,类似windows下的快捷方式。
设备文件Linux 中的硬件设备如硬盘、鼠标等也都被表示为文件,即为设备文件。设备文件一般存放在 /dev/ 目录下
管道文件管道是一种最基本的IPC机制,作用于有血缘关系的进程之间。一般的管道都是单向通信的,无法实现双向通信的功能。
套接字文件提供进程间通信方法的文件,套接字可以实现两端通信。

占用存储空间的类型:文件、目录、符号链接。套接字、设备文件和管道是伪文件,不占用磁盘空间

2. 文件权限

以普通文件为例,使用 ls -l 命令,可以看到结果的第一列是 -rwxrwxrwx 的形式,其中第一个字符 “-” 表示这个文件为普通文件,它也可以是其他的字符,不同的字符代表不同类型的文件。其后的一串字符表明了该文件的权限。

-rwxrwxrwx  1 datawhale datawhale   3533567 520 13:14  文件名.pdf

1)r 表明该文件具有可读权限,若该位置为 “-” ,则表明文件不可读;

2)w 表明该文件具有写权限,若该位置为 “-” ,则表明文件不可写;

3)x 表明该文件具有可执行权限,若该位置为 “-” ,则表明文件不具有可执行权限;

4)第一个 rwx 表示该文件的所有者对该文件的权限;第二个 rwx 表示该文件所属组对该文件的权限;第三个 rwx 表示其他用户对该文件的权限。

对于目录来说,rwx的意思又不太一样了

r:查看目录下的文件列表

w:删除和创建目录下的文件

x:可以cd进入目录,能查看目录中文件的详细属性,能访问目录下文件内容

(三)命令集合

ls

ls 选项 地址

选项与参数:

选项描述
-a全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
-d仅列出目录本身,而不是列出目录内的文件数据(常用)
-l长数据串列出,包含文件的属性与权限等等数据;(常用)

cd

cd 相对地址/绝对地址

pwd

pwd

选项与参数:

选项描述
-P显示出确实的路径,而非使用连结 (link) 路径。

mkdir

mkdir 选项 目录名称

选项与参数:

选项描述
-m配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~
-p帮助你直接将所需要的目录(包含上一级目录)递归创建起来!

rmdir

 rmdir 选项 目录名称

选项与参数:

选项描述
-p连同上一级『空的』目录也一起删除

cp

cp 选项  源文件 目标地址/文件

选项与参数:

选项描述
-a相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
-d若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-f为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l进行硬式连结(hard link)的连结档创建,而非复制文件本身;
-p连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-r递归持续复制,用於目录的复制行为;(常用)
-s复制成为符号连结档 (symbolic link),亦即『捷径』文件;
-u若 destination 比 source 旧才升级 destination

rm

 rm 选项 文件或目录

选项与参数:

选项描述
-f就是 force 的意思,忽略不存在的文件,不会出现警告信息
-i互动模式,在删除前会询问使用者是否动作
-r递归删除

mv

mv 源地址/文件 目标地址/文件

选项与参数:

选项描述
-fforce 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i若目标文件 (destination) 已经存在时,就会询问是否覆盖
-u若目标文件已经存在,且 source 比较新,才会升级 (update)

cat

由第一行开始显示文件内容

cat 选项 目标文件地址

选项与参数:

选项描述
-A相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E将结尾的断行字节 $ 显示出来;
-n列印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T将 [tab] 按键以 ^I 显示出来;
-v列出一些看不出来的特殊字符

ln

1)软链接

软链接(又称符号链接),可以理解为快捷方式,如果删除原文件,则对应的软链接文件也会消失。

ln -s test.txt test_softlink

2)硬链接

硬链接,相当于给原文件取了个别名,其实两者是同一个文件,删除二者中任何一个,另一个不会消失;对其中任何一个进行更改,另一个的内容也会随之改变,因为这两个本质上是同一个文件,只是名字不同。

ln test.txt test_hardlink

三、学习问题与解答

问题一:绝对路径与相对路径?
解答:绝对路径是相对于根路径 / 的,只要文件不移动位置,那么它的绝对路径是恒定不变的;而相对路径是相对于当前所在目录而言的,随着程序的执行,当前所在目录可能会改变,因此文件的相对路径不是固定不变的。

四、学习思考与总结

本次学习,学会了如何在Linux系统的文件和目录管理。

为了方便管理文件和目录,Linux 系统将它们组织成一个以根目录 / 开始的倒置的树状结构。Linux 中的目录,和 Windows 系统中的文件夹类似,不同之处在于,Linux 系统中的目录也被当做文件看待。

管理文件和目录,包括对文件和目录的浏览、创建、修改及删除等操作,需借助大量的 Linux 命令,比如 ls、cd、mkdir 等

希望大家可以互相交流、共同学习,如果发现博文中有错的或不解的,欢迎留言或私聊交流~
————————————————

五、参考文章

[1]https://github.com/datawhalechina/team-learning-program/tree/master/Linux
[2] http://c.biancheng.net/linux_tutorial/file_content/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您遇到的错误提示"make: arm-linux-gnueabihf-gcc: 没有那个文件目录"表明在执行make命令时,系统找不到arm-linux-gnueabihf-gcc这个文件目录。 这通常是由于编译工具链的路径没有正确设置导致的。请按照以下步骤检查和设置编译工具链的路径: 1. 首先确认是否将arm-linux-gcc的路径添加到PATH中了,这样可以保证在任何路径下都可以执行:arm-linux-gcc -v。 2. 确认您是否已经安装了gcc-arm-8.3交叉编译工具链,这是用于在linux系统中进行程序交叉编译的工具链。这个版本较高适用于QT。如果您没有安装这个工具链,请安装它。 3. 如果您在安装软件包时遇到了依赖关系问题,例如缺少某个特定版本的库文件,您可以尝试使用包管理器来解决这个问题。例如,在Ubuntu系统中,您可以使用apt-get或apt命令来安装特定版本的软件包以满足依赖关系。 请确保您按照上述步骤来设置和安装编译工具链,并确保路径设置正确。如果问题仍然存在,请提供更多详细信息,以便我能够更好地帮助您解决问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [验证编辑器出现:arm-linux-gcc: 没有那个文件目录](https://blog.csdn.net/a827415225/article/details/74825049)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz](https://download.csdn.net/download/m0_37872216/12564151)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [问题-make: arm-linux-gnueabihf-gcc: 没有那个文件目录 /bin/sh: 1: arm-linux-gnueabihf-gcc: not ...](https://blog.csdn.net/weixin_45082079/article/details/126925872)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值