目录

前言

1.目录操作指令

1.1指令

1.2理论

1.2.1文件

 1.2.2目录与路径

2.文件操作指令

2.1指令

2.2理论

2.2.1输出与输入

2.2.2一切皆文件


前言

这是Linux学习下的第一篇文章,后续Linux的学习也会持续更新分享。

Linux的基本指令是使用Linux操作系统的基础,一些指令的在使用过程中也会涉及Linux背后的理论知识。指令演示在Centos7.9发行版本,root账号Xshell操作下进行。


1.目录操作指令

目录操作指令主要是对目录下的查看、移动以及所在路径的确认,其中对“目录“和“路径”的深入认识会在理论补充部分进行详细了解。

1.1指令

ls 指令

语法:ls    [选项]    [目录或文件]

功能:对于⽬录,该命令列出该⽬录下的所有⼦⽬录与⽂件。对于⽂件,将列出⽂件名以及其他信息。

常用选项:

 -a:列出⽬录下的所有⽂件,包括以 . 开头的隐含⽂件。

 -l:列出⽂件的详细信息列出⽂件的详细信息。

Linux系统下的目录可以理解为Windows系统中的文件夹,ls指令更像是一种指令式的可视化界面,用于查看目录(文件夹)和文件信息。

举例:

对于ls -l指令,也将语法可简化为ll:

对于Linux中指令的选项也可进行合并进行:

其次指令选项的组合写法只是功能合并,对选项顺序并无要求

pwd 指令

语法:pwd

功能:显示用户当前所在目录

常用选项:

 举例:

其中root就是当前我所在的目录,/root就是我所在的路径。

cd 指令

语法:cd [目录名]

功能:改变⼯作⽬录。将当前⼯作⽬录改变到指定的⽬录下。

常用选项:无 

也就是类似Windows中的打开指定目录。其中的指令举例部分放到理论补充路径知识后再进行。

mkdir 指令

语法:mkdir [选项] dirname

功能:在当前⽬录下创建⼀个名为 “dirname”的⽬录。

常用选项:无 

mkdir命令可以类比于Windows中新建文件夹的功能。

举例:

rmdir指令

语法:rmdir dirname

功能:删除空目录。

常用选项:无 

rmdir是于mkdir对应的删除目录指令,但仅限于删除空目录,因此不算常用。

举例:

1.2理论

1.2.1文件

Linux中的文件可分为目录文件和普通文件,目录文件类似与Windows中的文件夹;普通文件类似除文件夹外的其他文件,也可以理解为可写入数据的文件。

在讲解文件前先补充一个创建普通文件的指令:

touch 指令

语法:touch [选项] [文件名]

功能:touch命令可更改⽂档或⽬录的⽇期时间,包括存取时间和更改时间,或者新建⼀个不存在的⽂件。

常用选项:

-a:仅更改访问时间

-c:仅更改修改时间

举例: 

 对于示例中所创建的test.c文件,并没有去写入内容,那该文件有没有内存呢?

要回答这个问题,我们先来了解下文件的组成。在Windows中也去创建一个test.c的空文件

可以看到该文件显示的是0KB,但“文件所占用内存”这个数据就不占用内存吗?还有后面显示的时间、文件类型等肯定也是需要占用内存的。显然,普通文件包含文件内容和文件属性(数据源),当文件内容为空时,文件的内存不为空。


再来看另一个场景:在ls指令部分,输入ls指令与ls -a指令时显示出来的文件是不同的,ls -a指令下的文件多了一些以.开头命名的文件,这些文件在寻常指令下是不会显示的,这些文件也称为隐藏文件

比如我们创建一个隐藏文件:

可以发现我们创建的.ontsee文件通过ls或者ls -l指令都无法直接看到,这时想要看到隐藏文件就只能用特定选项来看:


 1.2.2目录与路径

了解目录与路径具体概念前先来了解下隐藏文件最上面的.和..

Linux中.代表的是当前目录,..代表的是上一级目录,我们利用cd(移动工作目录)指令来演示一下:

可以看到当前处于bolog目录下,当前目录(.)就是bolog,上一级目录(..)就是root。

可以看到当要移动到当前目录时pwd(显示用户当前所在目录)显示的还是原目录,而移动到上一级目录时pwd已经到了root目录。

但我们一直返回上一级目录会怎么样呢?

可以看到从root一直返回上一级目录时返回到"/"目录就没有再上一级目录了。因此在Linux中"/"目录也称之为根目录

根目录也可以说是一个总目录,是整个文件系统的起点和最顶层目录,所有其他目录、文件、设备等都从根目录开始分支出来。谈到"根"不免想到数据结构中的树结构,没错,Linux的文件系统就是采用了树形结构。

"/"就是整个树形结构的根结点也叫根目录,其中各各子目录也就是单个目录,子目录下的文件我们也可称作树的树叶。 

其中根目录下的子目录也叫做一级目录,一级目录的部分重要目录有着各自的重要功能。如下图


对于pwd所展示的/,可以成为根目录,也可以叫做路径。Linux中的绝对路径就是从根目录(/)开始像/root和/root/bolog都是路径,而除根目录外的其他"/",称之为路径分割符

路径是描述如何从文件系统的某个点(通常是根目录或当前目录)导航到目标文件或目录的字符串。它由目录名按层级顺序组成,用路径分割符 / 分隔。路径同样也标识着文件的唯一性,相应的,文件的唯一性由路径来标识

像/root/bolog这样从根目录 (/) 开始,完整地描述到达目标文件或目录的路径,我们称之为绝对路径而对于.和..这样从当前工作目录开始,描述到达目标文件或目录的路径,我们称之为相对路径

而对于像/root这样的路径,我们也称为家目录,可用符号"~"代替。而对于普通用户的家目录则在home目录下管理:


2.文件操作指令

2.1指令

了解完目录的增删查之后,我们再来了解下文件操作相关指令。

rm 指令

语法:rm [选项] [dirname/filename]

功能:删除目录或文件

常用选项:

-f:即使文件属性为只读,亦直接删除

-i:删除前逐一询问确认

-r:删除目录及其下所有文件

之前目录处的rmdir指令只能删除空文件,并且更不同的是rmdir只能当前目录的操作权限所有者才能使用,而rm指令则适合所有使用者,具体权限详细内容可参考后续文章。

举例:

rm在root账户下每次删除时会进行删除确认,确认删除需要我们输入y再回车,普通用户并不影响。若不想让其再root账户下询问,可加入-f选项。

其次我们在初次使用rm删除test目录时并不能直接删除,需要我们加入-r选项,原因是之前提到的Linux文件系统是一个多叉树结构,树在进行遍历时需要使用递归,而rm本身并不带递归,但-r选项则可调用递归(recursion)方式。

cp 指令

语法:cd [选项] [源文件或目录] [目标文件或目录]

功能:复制文件或目录

常用选项:

-f 或 --force: 强⾏复制⽂件或⽬录, 不论⽬的⽂件或⽬录是否已经存在。
-i 或 --interactive: 覆盖⽂件之前先询问⽤⼾。
-r: 递归处理,将指定⽬录下的⽂件与⼦⽬录⼀并处理。若源⽂件或⽬录的形态,不属于⽬录或符号链接,则⼀律视为普通⽂件处理。

cd(拷贝)指令常用于复制文件,或进行文件的备份。

举例:

mv 指令

语法:mv [选项] [源⽂件或⽬录] [⽬标⽂件或⽬录]

功能:

1.视mv命令中第⼆个参数类型的不同(是⽬标⽂件还是⽬标⽬录),mv命令将⽂件重命名或将其移⾄⼀个新的⽬录中。
2.当第⼆个参数类型是⽂件时,mv命令完成⽂件重命名,此时,源⽂件只能有⼀个(也可以是源⽬录名),它将所给的源⽂件或⽬录重命名为给定的⽬标⽂件名。
3.当第⼆个参数是已存在的⽬录名称时,源⽂件或⽬录参数可以有多个,mv命令将各参数指定的源⽂件均移⾄⽬标⽬录中。

常用选项:

-f :force 强制的意思,如果⽬标⽂件已经存在,不会询问⽽直接覆盖
-i :若⽬标⽂件 (destination) 已经存在时,就会询问是否覆盖!

mv根据目标文件和目录的不同,可以实现剪贴和重命名功能。

举例:


2.2理论

2.2.1输出与输入

在Linux中,输入与输出是有特定指令的,下面来看看Linux下的输入与输出。

echo 指令

语法:echo [文本/字符串]

功能:将指定的字符串或变量的值输出到标准输出(通常是终端屏幕)。

例如我们输出一段"Hello Linux":

这里我们输出了"Hello Linux"字符串,输出到的地方是Linux系统的终端屏幕,这里的终端屏幕其实也可类比于是一个文件。

那我们可不可以输出到其他文件呢?这里我们先来补充一个指令

cat 指令
语法: cat [选项] [⽂件]
功能: 查看⽬标⽂件的内容
常⽤选项:
-b:对⾮空输出⾏编号
-n :对输出的所有⾏编号
-s :不输出多⾏空⾏

cat命令可以帮助我们查看目标文件内容。

来看看下面场景:

可以看到echo指令通过>之后不再输出到默认的终端屏幕,而是输出到我们指定的test.txt文件,这个过程我们称之为输出重定向,输出重定向的符号就是">",但>每次重定向时会清空之前的文本内容,若不想清空,可以用">>"。

这样每次重定向时就会在之前文本的下一行输出内容。

有输出重定向当然也有输入重定向,但输入重定向涉及内容较多,会在后面学习内容进行讲解。 

2.2.2一切皆文件

根据上面的输入与输出重定向的了解,可以看出Linux中的终端也是一个文件,这时便要引出Linux中的系统本质:Linux下一切皆文件

除了目录与普通文件外,像输出的终端屏幕和输入的终端键盘通过输出和输入重定向都可以看出是一个文件。除此之外,Linux上执行的指令,以及Xshell所展示的终端页面都是文件。指令部分的具体验证内容会放在(下)部分和指令相关指令一起讲解。

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

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

相关文章

正向代理与反向代理理解

问: 应用a请求ng,然后ng根据不同请求路径将请求转发到不同的服务器,对于应用a来说这个ng是正向代理角色还是反向代理呢? 答: 在这个场景中,Nginx 扮演的是反向代理的角色,而不是正向代理。以下是…

【Kafka】深入理解 Kafka MirrorMaker2 - 实战篇

文章目录一、把“家伙事儿”都备齐二、部署其实很简单三、配置 MirrorMaker2四、修改启动脚本五、集群启动与验证六、这集群“结实”吗?聊聊它的高可用它没有“大脑”,但活得很好极限测试:干掉两个节点会怎样?写在最后最近在跟 Ka…

借助AI学习开源代码git0.7之四update-cache

借助AI学习开源代码git0.7之四update-cache update-cache.c 主要负责对索引(index),也即缓存(cache),进行增、删、改操作。现在的高层命令 git add 的部分核心功能就是由这个代码实现的。 核心功能 该程序的…

【48】MFC入门到精通——MFC 文件读写总结 CFile、CStdioFile、CFileDialog

文章目录1 打开文件1.2 打开文件模式总结2 常用函数2.1 写文件2.2 读文件2.3 获取文件长度3. 文件打开读写实力3.1 写文件 覆盖写3.2 文尾追加写3.3 换行写4 文件对话框 CFileDialog4.2 文件对话框实例5 CStdioFile 类 读写CStingMFC提供了一个文件操作的基类CFile,…

Leetcode 124. 二叉树中的最大路径和

递归/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode…

MTSC2025参会感悟:手工测试用例的智能化生成

目录 一、测试用例生成的时代困境与 AI 机遇 1.1 传统手工测试用例的固有痛点 1.2 AI 时代的测试新挑战 1.3 智能化转型的机遇窗口 二、智能用例生成的核心特性与产品功能 2.1 核心特性解析 2.2 四大核心产品功能 功能一:基于 PRD 理解的一键生成用例 功能二…

后台管理系统登录模块(双token的实现思路)

最近在写后台管理,这里分享一下我的登录模块的实现,我是使用reacttypescript实现的,主要是登录的逻辑和双token的处理方式,请求接口的二次封装aixos1.首先我们需要渲染登录界面的窗口,这个很简单就不详细讲解了&#x…

第十四讲 | AVL树实现

AVL树实现一、AVL的概念二、AVL树的实现1、AVL树的结构2、AVL树的插入(1)、AVL树插入一个值的大概过程(2)、平衡因子更新更新原则更新停止条件插入结点及更新平衡因子的代码实现3、旋转(1)、旋转的原则&…

《P3398 仓鼠找 sugar》

题目描述小仓鼠的和他的基(mei)友(zi)sugar 住在地下洞穴中,每个节点的编号为 1∼n。地下洞穴是一个树形结构。这一天小仓鼠打算从从他的卧室(a)到餐厅(b),而…

锤子助手插件功能六:启用拦截消息撤回

锤子助手插件功能六:启用拦截消息撤回锤子助手插件功能六:启用拦截消息撤回🛡️ 插件简介 拦截撤回消息,信息不再消失🔧 功能说明⚠️ 使用风险与注意事项🎯 适合人群❤️ 结语锤子助手插件功能六&#xf…

深度解析:基于EasyX的C++黑白棋AI实现 | 算法核心+图形化实战

摘要 本文详解C黑白棋AI实现,使用EasyX图形库打造完整人机对战系统。涵盖: 递归搜索算法(动态规划优化) 棋盘状态评估函数设计 图形界面与音效集成 胜负判定与用户交互 附完整可运行代码资源文件,提供AI难度调节方案…

树同构(Tree Isomorphism)

树同构(Tree Isomorphism)​​ 是图论中的一个经典问题,主要研究两棵树在结构上是否“相同”或“等价”,即是否存在一种节点的一一对应关系,使得两棵树的结构完全一致(不考虑节点的具体标签或位置&#xff…

分享如何在保证画质的前提下缩小视频体积实用方案

大文件在通过互联网分享或上传时会遇到很多限制,比如电子邮件附件大小限制、社交媒体平台的文件大小要求等。压缩后的视频文件更小,更容易上传到网络、发送给他人或共享在社交平台上。它是一款无需安装的视频压缩工具,解压后直接运行&#xf…

SpringBoot 统一功能处理(拦截器、@ControllerAdvice、Spring AOP)

文章目录拦截器快速入门拦截器详解拦截路径拦截器执行流程全局控制器增强机制(ControllerAdvice)统一数据返回格式(ControllerAdvice ResponseBodyAdvice)​​全局异常处理机制​​(ControllerAdvice ExceptionHandler)全局数据…

建筑墙壁损伤缺陷分割数据集labelme格式7820张20类别

数据集格式:labelme格式(不包含mask文件,仅仅包含jpg图片和对应的json文件)图片数量(jpg文件个数):7820标注数量(json文件个数):7820标注类别数:20标注类别名称:["Graffiti","Bearing","Wets…

图书管理软件iOS(iPhone)

图书管理软件iOS(iPhone)开发进度表2025/07/19图书管理软件开发开始一:图书管理软件开发iOS(iPhone)

MySQL配置性能优化

技术文章大纲:MySQL配置性能优化赛 引言 介绍MySQL性能优化的重要性,特别是在高并发、大数据场景下的挑战。概述MySQL配置优化的核心方向(如内存、查询、索引等)。引出比赛目标:通过配置调整提升MySQL性能指标&#xf…

uniapp微信小程序 实现swiper与按钮实现上下联动

1. 需求:页面顶部展示n个小图标。当选中某个图标时,下方视图会相应切换;反之,当滑动下方视图时,顶部选中的图标也会同步更新。 2. 思路: 上方scroll-view 区域渲染图标,并且可左右滑动&#xff…

44.sentinel授权规则

授权规则是对请求者的身份做一个判断,有没有权限来访问。 需求:一般网关负责请求的转发到微服务,可以做身份判断。但是如果具体某个微服务的访问地址直接透露给了外部,不是经过网关访问过来的。那这种就没有经过网关也就无法进行身份判断了。这时候就需要sentinel的授权规…

[硬件电路-55]:绝缘栅双极型晶体管(IGBT)的原理与应用

一、IGBT的原理:MOSFET与BJT的复合创新IGBT(Insulated Gate Bipolar Transistor)是一种复合全控型电压驱动式功率半导体器件,其核心设计融合了MOSFET(金属氧化物半导体场效应晶体管)的高输入阻抗&#xff0…