1.3 Linux文件系统

 一、Linux文件系统结构

Linux下都是文件,所以没有Windows一样的盘,有的只有文件夹。

cd /    // 进入根目录

ls     // 查看根目录"/"下的文件及文件夹

/bin     :存储了很多系统命令, /usr/sbin 也存储了许多系统命令。

/sbin   :超级用户 root 的根目录文件。

/root   :普通用户默认目录,在该目录下,每个用户都有一个以本用户名命名的文件夹。

/home     :存放 Ubuntu 系统内核和系统启动文件。

/boot       :通常包括系统引导后被挂载的文件系统的挂载点。

/mnt   :存放设备文件,我们后面学习 Linux 驱动主要是跟这个文件夹打交道的。

/dev    :保存系统管理所需的配置文件和目录。

/etc     :保存系统程序运行所需的库文件, /usr/lib 下存放了一些用于普通用户的库文件。

/lib      :存储一些二进制可执行命令文件, /usr/bin 也存放了一些基于用户的命令文件。

/lost+found :一般为空,当系统非正常关机以后,此文件夹会保存一些零散文件。

/var     :包括与系统用户直接有关的文件和目录,比如应用程序和所需的库文件。

/usr     :存放 Ubuntu 系统自动挂载的设备文件。

/media     :虚拟目录,不实际存储在磁盘上,通常用来保存系统信息和进程信息。

/proc      : 存储系统和用户的临时文件,该文件夹对所有的用户都提供读写权限。

/tmp       :可选文件和程序的存放目录。

/opt     :系统设备和文件层次结构,并向用户程序提供详细的内核数据信息。

/sys      :存储一些不断变化的文件,比如日志文件

 

二、文件操作基础知识

1.创建新文件(touch)

命令格式:  touch 不仅仅可以用用来创建文本文档,其它类型的文档也可以创建。

touch  [参数]  [文件名]

参数如下:

-a       :只更改存取时间。

-c       :不建立任何文件。

-d<日期>    : 使用指定的日期,而并非现在日期。

-t<时间>     :使用指定的时间,而并非现在时间。



 

2.创建文件夹(mkdir)

命令格式:  mkdir  [参数]   [文件夹名目录名]

主要参数:

-p  :如所要创建的目录其上层目录目前还未创建,那么会一起创建上层目录。

3.删除文件及目录(rm)

命令格式:  rm  [参数]  [目的文件或文件夹目录名]  

主要参数:

-d   :直接把要删除的目录的硬连接数据删成 0,删除该目录。

-f    :强制删除文件和文件夹(目录)。

-i    :删除文件或者文件夹(目录)之前先询问用户。

-r    : 递归删除,指定文件夹(目录)下的所有文件和子文件夹全部删除掉。

-v    :显示删除过程。

4.删除文件夹(rmdir)

命令格式:  rmdir  [参数]  [文件夹(目录)]

5.复制文件(cp)

命令格式:  cp  [参数]  [源地址]  [目的地址]

主要参数:
-a   :此参数和同时指定“-dpR”参数相同

-d   :在复制有符号连接的文件时,保留原始的连接。

-f    :强行复制文件,不管要复制的文件是否已经存在于目标目录。

-I    :覆盖现有文件之前询问用户。

-p   :保留源文件或者目录的属性。

-r 或-R :递归处理,将指定目录下的文件及子目录一并处理 
 

“*”,“*.c”就表示 test1 下的所有以“.c”结尾的文件,也就是a.c 和 b.c。

“../test2”中的“../”表示上级目录,因此“../test2”就是上级目录下的 test2 文件夹。 

6.文件移动(mv)

命令格式:  mv  [参数]  [源地址]  [目的地址]

主要参数:

-b   :如果要覆盖文件的话覆盖前先进行备份。

-f    :若目标文件或目录与现在的文件重复,直接覆盖目的文件或目录。

-I    :在覆盖之前询问用户。
 

7.目录查询文件(find)

命令格式:  find  [路径]  [参数]  [关键字]

主要参数:

-name<filename>   : 按照文件名称查找,查找与 filename匹配的文件,可使用通配符。

-depth          :从指定目录下的最深层的子目录开始查找。

-gid<群组识别码>    :查找符合指定的群组识别码的文件或目录。

-group<群组名称>   :查找符合指定的群组名称的文件或目录。

-size<文件大小>     :查找符合指定文件大小的文件。

-type<文件类型>    :查找符合指定文件类型的文件。

-user<拥有者名称>   :查找符合指定的拥有者名称的文件或目录。 

8.关键字查询(grep)

命令格式:  grep  [参数]  关键字  文件列表

-b         :在显示符合关键字的那一列前,标记处该列第 1 个字符的位编号。

-c          :计算符合关键字的列数。

-d<进行动作>     : 当指定要查找的是目录而非文件时,必须使用此参数!否则 grep 指令将回报信息并停止搜索。

-i          :忽略字符大小写。

-v         :反转查找,只显示不匹配的行。

-r          :在指定目录中递归查找。

9.文件压缩(zip)

命令格式:  zip  [参数]  [压缩文件名.zip]  [被压缩文件]

主要参数:

-b<工作目录>    : 指定暂时存放文件的目录。

-d           :从 zip 文件中删除一个文件。

-F         :尝试修复已经损毁的压缩文件。

-g         :将文件压缩入现有的压缩文件中,不需要新建压缩文件。

-h         :帮助。

-j          :只保存文件的名,不保存目录。

-m          :压缩完成以后删除源文件。

-n<字尾符号>     :不压缩特定扩展名的文件。

-q          :不显示压缩命令执行过程。

-r           :递归压缩,将指定目录下的所有文件和子目录一起压缩。

-v          :显示指令执行过程。

-num         :压缩率,为 1~9 的数值。

常用参数:  -rv

10.文件解压(unzip)

命令格式:  unzip  [参数]  [压缩文件名.zip]

主要参数:

-l        :显示压缩文件内所包含的文件。

-t        :检查压缩文件是否损坏,但不解压。

-v       :显示命令显示的执行过程。

-Z       :只显示压缩文件的注解。

-C       :压缩文件中的文件名称区分大小写。

-j        :不处理压缩文件中的原有目录路径。

-L       :将压缩文件中的全部文件名改为小写。

-n       :解压缩时不要覆盖原有文件。

-P<密码>     :解压密码。

-q       :静默执行,不显示任何信息。

-x<文件列表>   : 指定不要处理.zip 中的哪些文件。

-d<目录>     : 把压缩文件解到指定目录下。

11.文件压缩和解压(tar)

tar是用于Linux最常用的.bz2和.gz两种压缩格式。

命令格式:  tar  [参数]  [压缩文件名]  [被压缩文件]

主要参数:

-c         :创建新的压缩文件。

-C<目的目录>    :切换到指定的目录。

-f<备份文件>   :指定压缩文件。

-j          :用 tar 生成压缩文件,然后用 bzip2 进行压缩。

-k         :解开备份文件时,不覆盖已有的文件。

-m          :还原文件时,不变更文件的更改时间。

-r          :新增文件到已存在的备份文件的结尾部分。

-t          :列出备份文件内容。

-v          :显示指令执行过程。

-w         :遭遇问题时先询问用户。

-x          :从备份文件中释放文件,也就是解压缩文件。

-z          :用 tar 生成压缩文件,用 gzip 压缩。

-Z          :用 tar 生成压缩文件,用 compress 压缩
  

常用指令:  -vcjf(压缩为.bz2文件)  -vczf(压缩为.gz文件)  -vxjf(解压.bz2文件)  -vxzf(解压.gz文件)

三、文件基础知识

1.文件类型

        每个文件的详细信息占一行,每行最前面都是一个符号就标记了当前文件类型。例如testdir1是d开头,那么它就是目录文件。

-        :普通文件,一些应用程序创建的,比如文档、图片、音乐等等。

d     :目录文件。

c      :字符设备文件, Linux 驱动里面的字符设备驱动,比如串口设备,音频设备等。

b     :块设备文件,存储设备驱动,比如硬盘, U 盘等。

l       :符号连接文件,相当于 Windwos 下的快捷方式。

s      :套接字文件。

p     :管道文件,主要指 FIFO 文件。

我们后面学习 Linux 驱动开发的时候基本是在和字符设备文件和块设备文件打交道。 

2.权限管理

  其中“-rw-rw-r--”表示文件权限与用户和用户组之间的关系,第一位表示文件类型。剩下的 9 位以 3 位为一组,分别表示文件拥有者的权限,文件拥有者所在用户组的权限以及其它用户权限。后面的“luoxuesong luoxuesong ”分别代表文件拥有者(用户)和该用户所在的用户组,因此文件 test.c 的权限情况如下:
①文件 test.c 的拥有者是用户 luoxuesong ,其对文件 test.c 的权限是“rw-”,也就是对该文件拥有读和写两种权限。
②用户 luoxuesong 所在的用户组也叫做 luoxuesong ,其组内用户对于文件 test.c 的权限是“rw-”,也是拥有读和写这两种权限。
③其它用户对于文件 test.c 的权限是“r--”,也就是只读权限。 

2.1权限修改(chmod)

chmod用于修改文件或文件夹权限。

chmod  [参数]  [文件名/目录名]

主要参数:

-c     :效果类似“-v”参数,但仅回显更改的部分。

-f     :不显示错误信息。

-R     :递归处理,指定目录下的所有文件及其子文件目录一起处理。

-v     :显示指令的执行过程。

这个766是根据以上表格来算出来的,766=rwx rw- rw-

u+x=归属用户+可执行权限

2.1 文件归属者修改 (chown)

命令 chown 用来修改某个文件或者目录的归属者用户或者用户组。

chown  [参数]  [用户名.<组名>]  [文件名/目录]

其中[用户名.<组名>]表示要将文件或者目录改为哪一个用户或者用户组,用户名和组名用“.”隔开,其中用户名和组名中的任何一个都可以省略,命令主要参数如下:

-c     :效果同-v 类似,但仅回报更改的部分。

-f      :不显示错误信息。

-h     :只对符号连接的文件做修改,不改动其它任何相关的文件。

-R     :递归处理,将指定的目录下的所有文件和子目录一起处理

-v      :显示处理过程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/192495.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序报错的解决办法

当在本地计算机上使用Microsoft Office相关库时&#xff0c;可能会出现“未在本地计算机上注册microsoft.ACE.oledb.12.0”提供程序的报错。这是由于缺少相关的驱动程序或者未安装相应的软件所导致的。下面是解决该问题的完整攻略。 可能是因为没有安装数据访问组件&#xff0…

[蓝桥杯 2019 省 B] 特别数的和-C语言的解法

小明对数位中含有 2、0、1、9 的数字很感兴趣&#xff08;不包括前导 0&#xff09;&#xff0c;在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40&#xff0c;共 28 个&#xff0c;他们的和是 574。 请问&#xff0c;在 1 到 n 中&#xff0c;所有这样的数的和是多少&…

极智一周 | AI 算力国产化、MR、Cybertruck、华为造车、登月“造假“ And so on

欢迎关注我的公众号 [极智视界]&#xff0c;获取我的更多技术分享 大家好&#xff0c;我是极智视界&#xff0c;带来本周的 [极智一周]&#xff0c;关键词&#xff1a;AI 算力国产化、MR、Cyberturck、华为造车、登月"造假" And so on。 邀您加入我的知识星球「极智…

蓝桥杯第1037题子串分值和 C++ 字符串 逆向思维 巧解

题目 思路和解题方法 方案一——遍历哈希表 仅能过60%样例,大多数同学都用的该方法&#xff0c;就不过多赘述 #include <iostream> #include <unordered_map> using namespace std; int main() {string s;cin >> s;int n s.size();int res n;for (int i 0…

各类声音数据集大合集—乐器、车辆、鸟鸣、蜜蜂声音、歌曲、喇叭、人类声音不同等类型的声音数据集

最近收集了一大波关于各类声音的数据集&#xff0c;包含乐器、车辆、鸟鸣、蜜蜂声音、歌曲、喇叭、人类声音不同等类型的声音数据集&#xff0c;废话不多说&#xff0c;给大家逐一介绍&#xff01;&#xff01; 1、吉他和弦大调、小调数据集 吉他和弦大调、小调数据集&#x…

Vue基础知识点梳理

在Vue中&#xff0c;被用来响应地更新HTML属性的指令是v-model页面挂载成功之后会触发哪一个钩子函数mounted挂载之后会进行页面的渲染v-on是动作元素不属于条件渲染指令 在Vue中&#xff0c;下列关于Vue实例对象说法不正确的是&#xff08;&#xff09;。A.Vue实例对象是通过n…

Linux docker批量安装软件

1.前提 具备docker-compose.yml 和 prometheus.yml 文件 常见报错&#xff1a; 1.没有配置network 配置network即可&#xff1a; 2.缺少相关依赖 docker-compose.yml加入相关配置 3.重复项 删除掉重复的 最后 执行 等待完成 下载后相当于有了这些软件包的镜像 启动的每…

思维模型 同体效应

本系列文章 主要是 分享 思维模型&#xff0c;涉及各个领域&#xff0c;重在提升认知。我们是自己人。 1 同体效应的应用 1.1 同体效应在市场营销上的应用-耐克的“Just Do It”营销活动 耐克是一家全球知名的运动品牌&#xff0c;其“Just Do It”营销活动是市场营销领域的经…

深度学习常见回归分支算法逐步分析,各种回归之间的优缺点,适用场景,举例演示

文章目录 1、线性回归&#xff08;Linear Regression&#xff09;1.1 优点1.2 缺点1.3 适用场景1.4 图例说明 2、多项式回归&#xff08;Polynomial Regression&#xff09;2.1 优点2.2 缺点2.3 适用场景2.4 图例说明 3、决策树回归&#xff08;Decision Tree Regression&#…

Beta冲刺随笔-DAY6-橘色肥猫

这个作业属于哪个课程软件工程A这个作业要求在哪里团队作业–站立式会议Beta冲刺作业目标记录Beta冲刺Day6团队名称橘色肥猫团队置顶集合随笔链接Beta冲刺笔记-置顶-橘色肥猫-CSDN博客 文章目录 SCRUM部分站立式会议照片成员描述 PM报告项目程序&#xff0f;模块的最新运行图片…

制作一个RISC-V的操作系统二-RISC-V ISA介绍

文章目录 ISA的基本介绍啥是ISA为什么要设计ISACISCvsRISCISA的宽度知名ISA介绍 RISC-V历史和特点RISC-V发展RISC-V ISA 命名规范模块化的ISA通用寄存器Hart特权级别Control and Status Register&#xff08;CSR&#xff09;内存管理与保护异常和中断 ISA的基本介绍 啥是ISA …

【UE】UEC++获取屏幕颜色GetPixelFromCursorPosition()

目录 【UE】UE C 获取屏幕颜色GetPixelFromCursorPosition() 一、函数声明与定义 二、函数的调用 三、运行结果 【UE】UE C 获取屏幕颜色GetPixelFromCursorPosition() 一、函数声明与定义 创建一个蓝图方法库方法 GetPixelFromCursorPosition()&#xff0c;并给他指定UF…

【MATLAB】RLMD分解+FFT+HHT组合算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 RLMD分解FFTHHT组合算法是一种强大的分析方法&#xff0c;结合了局部均值分解&#xff08;LMD&#xff09;、快速傅里叶变换&#xff08;FFT&#xff09;和希尔伯特-黄变换&#xff08;H…

WIN10 WIN11 关闭更新的绝佳办法(极简单无副作用)

WIN10 WIN11 关闭更新的绝佳办法&#xff08;极简单无副作用&#xff09; 极其简单用实用可以关闭更新20年 winr&#xff0c;输入regedit 打开注册表打开注册表的这个路径&#xff1a; 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings 右键空白的地方…

图文深入理解TCP三次握手

前言 TCP三次握手和四次挥手是面试题的热门考点&#xff0c;它们分别对应TCP的连接和释放过程&#xff0c;今天我们先来认识一下TCP三次握手过程&#xff0c;以及是否可以使用“两报文握手”建立连接&#xff1f;。 1、TCP是什么&#xff1f; TCP是面向连接的协议&#xff0c;…

QT 中使用 QTableView 和 QStandardItemModel 实现将数据导出到Excel 和 从Excel导入到 QTableView 的功能

简介 在Qt中&#xff0c;使用QTableView和QStandardItemModel来实现将数据导出到Excel和从Excel导入到QTableView的功能&#xff0c;而不使用第三方库&#xff08;如QXlsx&#xff09;。 效果 将 QTableView 中的数据导出到Excel //从tableview 导出到 EXcle void MainInterfa…

Vulhub-信息泄露

1.Jetty WEB-INF 敏感信息泄露漏洞&#xff08;CVE-2021-28164&#xff09; docker-compose up -d 启动环境&#xff0c;显示8080端口被占用 修改 docker-compose.yml 中的映射端口 curl 访问 http://192.168.48.129:8090/WEB-INF/web.xml 显示404&#xff1a; 通过 %2e 绕过…

STlink下载程序不能复位的说明

STLINK在MDK5.28或其他版本中下载程序后不能复位&#xff0c;需要手动按复位键&#xff0c;MCU 才正常运行。 首先判断是不是该MDK版本的问题&#xff0c;按照以下进行 点击魔法棒 点击Debug&#xff0c;Settings 勾选Reset and Run 如果还是不行&#xff0c;取消Enable…

九章量子计算机:引领量子计算的新篇章

九章量子计算机:引领量子计算的新篇章 一、引言 随着科技的飞速发展,量子计算已成为全球科研领域的前沿议题。九章量子计算机作为中国自主研发的量子计算机,具有划时代的意义。本文将深入探讨九章量子计算机的原理、技术特点、应用前景等方面,带领读者领略量子计算的魅力…

树_对称二叉树

//给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 // // // // 示例 1&#xff1a; // // //输入&#xff1a;root [1,2,2,3,4,4,3] //输出&#xff1a;true // // // 示例 2&#xff1a; // // //输入&#xff1a;root [1,2,2,null,3,null,3] //输出…