linux基础指令【上篇】

news2024/11/26 0:42:43

📙 作者简介 :RO-BERRY
📗 学习方向:致力于C、C++、数据结构、TCP/IP、数据库等等一系列知识
📒 日后方向 : 偏向于CPP开发以及大数据方向,欢迎各位关注,谢谢各位的支持


请添加图片描述


引用

  • 01. ls 指令
  • 2. pwd命令
  • 3. cd 指令
    • 4.绝对路径
    • 相对路径
  • 4. touch指令
  • 5.mkdir指令
  • 6.rmdir指令 && rm 指令(重要):


01. ls 指令

🎄语法: ls [选项][目录或文件]
🎄功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

常用选项:
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
-l 列出文件的详细信息。
-n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表
示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
-r 对目录反向排序。
-t 以时间排序。
-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
-R 列出所有子目录下的文件。(递归)
-1 一行只输出一个文件。

ls查看文件目录,ls -s 查看文件目录且更多文件信息

扩展知识
如果我今天在windows上,新建一个空文件,这个文件要占据磁盘/固态磁盘的空间吗
答案是一定会占据磁盘空间
其实文件名,文件的大小等文件的属性,属性也是数据,这些都是会被计算机记录下来的,下次关机再开机依然会看到这些文件
文件 =文件内容 + 文件属性 --> 全是二进制数据,都要被存储
所有的文件操作本质是:
1.要么对文件内容做操作
2.要么对文件属性做操作

请添加图片描述
请添加图片描述

现在可以更准确的说,ls显示的是文件属性
如果你觉的ls -l 太麻烦了
设计师也对这个取了一个别名 命令ll
ll就是 ls -l

前面学习了ls-s是显示更详细的文件属性
我们接下来来学习ls-a

ls-a: 显示当前目录下的隐藏文件
1.隐藏文件,在linux中隐藏文件以.开头
对应在windows里面其实也有隐藏文件,也是以.开头的文件
请添加图片描述
我们可以看到使用ls -l只能看到两个文件,这两个文件是我们刚才创造的,但是我们使用ls -al就可以看到出现了很多个以点开头的文件,这些都是隐藏文件
操作都是一样的没有任何差别
先介绍这两个
后面的操作后面会逐渐普及

2. pwd命令

🎄语法: pwd
🎄功能:显示用户当前所在的目录
具体实现上面已经有了
学了pwd,显示当前工作目录
那么在Windows有没有相同作用呢?请添加图片描述
我们随便打开了很多个文件,最顶上这就是Windows当前的工作目录


3. cd 指令

Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。
语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。
作为一个Windows用户,我们想进入c盘就点进c盘,想进d盘就点进d盘
那么在linux里怎么进入想进入的目录呢?

请添加图片描述
我们使用mkdir指令创建了两个文件:code以及code.txt
使用ll查看看到了我们刚创建的两个文件,再使用cd更改我们的当前目录,我们就进入到了code文件目录里面了,使用pwd指令可以看到我们进入了code文件目录里

有人会问一开始为啥还有一个以点命名的文件和一个以点点命名的文文件呢?
一个点其实代表的是当前路径
两个点其实代表的是上级路径

请添加图片描述
我们可以看到,我们一开始使用pwd指令,看得到我们现在处在目录/root/code下
我们使用cd .指令再使用pwd指令,发现目录没有变化,
我们再使用cd …指令再使用pwd指令,发现目录倒退了一个,也就是返回到了上级目录
我们在多重复几次倒退试试

请添加图片描述
我们会发现,最后到了只出现一个斜杠之后,就再也无法倒退了,在linux这个斜杠一般作为文件之间的分隔符
但是在这里只剩下斜杠,他就叫做根目录,那么,它既然叫做根目录,那它里面还能存东西吗?
请添加图片描述
我们使用ll指令可以看到里面确实还有许多的文件。
这里我们再引入一个概念:
其实linux的整体目录结构是一颗多叉树的样子请添加图片描述
也就是这样,目录里可以创建多个其它目录,子目录里又可以创建多个目录

🍁这里我们有一个基础结论:
1.叶子结点,一定是普通文件,或者是空目录
2.分支结点,非叶子节点,一定是目录
3.访问一个文件的本质是需要先找到它,找到一个文件的本质就是在一颗多叉树中进行节点的查找


路径的本质就是这一颗多叉树的搜索路径
几乎所有的操作系统,文件夹或者目录结构都是树状结构的

4.绝对路径

我们将我们从根目录开始(/),定位一个叶子文件的方式,叫做绝对路径
类似于
请添加图片描述
这就是绝对路径

相对路径

相对于自身当前所在的目录为参考点,我们定义一个文件的路径叫做相对路径
不多说,直接看实操:
请添加图片描述我们的root目录里不是有两个文件一个叫code,一个叫code.txt吗
我们也可以这样在code文件中进入code.txt
请添加图片描述
…代表了上级目录,我们就可以直接使用点点再进入上级目录里的文件
这就是使用了相对路径进入了code.txt文件
…代表了上级目录,我们就可以直接使用点点再进入上级目录里的文件
这就是使用了相对路径进入了code.txt文件
cd命令:cd 绝对路径/相对路径均可

cd … : 返回上级目录
cd /home/litao/linux/ : 绝对路径
cd …/day02/ : 相对路径
cd ~:进入用户家目
cd -:返回最近访问目录

4. touch指令

语法:touch [选项]… 文件…
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
常用选项:

-a 或–time=atime或–time=access或–time=use只更改存取时间。
-c 或–no-create 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或–time=mtime或–time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间.

touch +文件名可以在当前目录下创建一个文件。
在这里插入图片描述
我们也可以快速创建多组文件:
在这里插入图片描述
如果我们想要查看某个文件的详细属性时,我们可以输入stat +文件名。
在这里插入图片描述

5.mkdir指令

语法:mkdir [选项] dirname…
功能:在当前目录下创建一个名为 “dirname”的目录
常用选项:
-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
mkdir指令与touch非常相似,是创建目录的指令。
在这里插入图片描述
创建的文件夹默认为空。那我们可以直接可以创建一个路径呢?
答案是不行。只能一个一个创建。
但是我们可以使用mkdir -p +创建路径即可。
在这里插入图片描述

6.rmdir指令 && rm 指令(重要):

🎄rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。
语法:rmdir [-p][dirName]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录
常用选项:

-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。

🎄rm命令可以同时删除文件或目录
语法:rm [-f-i-r-v][dirName/dir]
适用对象:所有使用者
功能:删除文件或目录
常用选项:

-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件

rmdir只可以删除一个空的文件夹但不能删除文件。
在这里插入图片描述
在这里插入图片描述
它说dir不是一个空文件但是我们可以使用rm指令进行删除,但是为什么报错了呢?
但是为什么报错了呢?因为文件夹本来就是一个树状结构,就是递归定义的,所以得深度遍历在删除。

在这里插入图片描述
最后结果为:
在这里插入图片描述
所以得用递归一层层遍历,然后确定要删除即可将路径中的所有文件夹全部删除。但是只有root用户有询问交互,然后回答y/n。普通用户没有这个权限,所以直接就会删除。

rm -rf:这个指令是强制删除指令,界面就不会有交互直接删除。

删除文件直接使用rm -f + 文件名指令,强制删除不会有交互,但是用rm +文件名会有交互询问。

在这里插入图片描述
以上就是今天的linux基础指令的学习啦

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

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

相关文章

IntelliJ Idea 撤回git已经push的操作

最初的样子 现在的样子 解决方案 第一步,commit到本地撤回: 打开提交历史记录,选中回退的版本右键,点击“Reset Current Branch to Here…”,然后选中“Mixed”,点击Reset后,之前commit的代码会在本地显…

定位咨询的价值:企业在市场中如何立足并打造竞争优势?

在激烈的市场竞争中,定位咨询服务显得尤为关键,它既能帮助企业发掘内在优势,又能塑造独特的市场地位,并指导如何持续巩固这一市场地位。 何为定位咨询? 定位咨询,即市场定位咨询,是指咨询公司帮助客户在…

彻底解决Win11锁屏界面黑屏或者图片不变化

问题描述 今天不知道干了啥,一顿操作后,win11的锁屏界面的图片就变成固定的了,原来是有windows聚焦的图片在自动变化的效果,现在没有了。然后就各种搜索求助,第二顿操作之后,锁屏界面彻底变成了黑色&#…

Python从入门到进阶

Python基础入门----Python简介 Python基础入门----安装Python环境(Windows、MacOS、CentOS、Ubuntu) Python基础入门----Python基础语法:解释器、标识符、关键字、缩进 Python基础入门----Python基本数据类型:数字、字符串、列…

IDEA 编译项目时报错:java: java.lang.OutOfMemoryError:GC overhead limit exceeded解决方法

1.问题简述 在Intellij IDEA下编译Java项目,报错:java.lang.OutOfMemoryError: …(此处忽略) GC overhead limit exceeded 2.问题分析 错误是发生在编译阶段,而不是运行阶段。通过查询相关资料发现, 1.idea编译Java项目使用的虚…

ChromeDriver谷歌浏览器驱动下载安装与使用最新版118/119/120

ChromeDriver谷歌浏览器驱动下载安装与使用最新版118/119/120 1. 确定Chrome版本 我们首先确定自己的Chrome版本 Chrome设置->关于Chrome 可以看到,当前chrome是最新版本:119.0.6045.124(正式版本) (64 位&#…

SOLIDWORKS参数化设计之干涉检查

SOLIDWORKS参数化设计的思路和技巧我们讲过很多了,今天来讲一讲如何在模型完成之后自动执行干涉检查。 SOLIDWORKS软件本身就有干涉检查的功能,在评估选项卡里可以找到该功能,我们这里说的干涉检查指的是静态干涉检查,即模型在静…

WebDAV之π-Disk派盘 + PassStore

大家常用的qq,手机微信,新浪微博等。假如各个网址都设成同样的帐号和登陆密码,一旦某一帐户泄漏了,别的平台上的账户密码都有被撞库攻击的风险。在不一样的站点设定不一样的高韧性登陆密码才算是最安全可靠的确保,殊不知这般繁多的帐户密码是难以记得的。因而,有着一款安…

Echarts示例

一.概念 ECharts(Enterprise Charts)是百度开源的一个基于JavaScript的可视化图表库。它提供了多种常见的数据可视化图表,包括折线图、柱状图、散点图、饼图、雷达图等等。使用ECharts,用户可以通过简单的配置和接口调用来创建交…

使用Python的requests库采集充电桩LBS位置经纬度信息

目录 一、引言 二、采集数据的流程 1、获取充电桩的URL地址 2、发送HTTP请求获取数据 3、解析数据获取经纬度信息 4、存储数据 三、代码实现 四、注意事项和优化建议 五、充电桩数据的后续利用 六、总结 一、引言 随着电动汽车的普及,充电设施的建设也日…

scss 实用教程

变量 $ 定义变量 $link-color: blue;变量名可以与css中的属性名和选择器名称相同 使用变量 a {color: $link_color; }$highlight-border: 1px solid $link_color;中划线和下划线相互兼容,即中划线声明的变量可以使用下划线的方式引用,反之亦然。 $li…

Power Apps-“编辑“窗体组件

插入一个“编辑”窗体 连接数据源 在该组件的Item函数中编辑筛选符合条件的唯一记录 LookUp(表名,列名值) LookUp参考文档:Filter、Search 和 LookUp 函数(包含视频) - Power Platform | Microsoft Learn 数据表里的数据就一一对应出现在了组…

邮箱哪家强?哪个牌子邮箱好用

邮箱在国内外使用情况不太一样,国内一般都是工作中需要用邮箱,直接使用公司发的企业邮箱就可以了,个人一般自己需要使用邮箱频率比较少,大多是用来注册其他平台信息,接受验证码、电子发票等等,使用不频繁。…

若依分离版——使用Knife4j 自动生成接口文档

背景: 前后端分离程序,如果需要前端开发人员和后端开发人员配合开发,则需要将接口文档并显性给前端人员 解决办法: 使用knife4j替代若依自带的swagger,因为knife4j是在swagger基础上包装的,Knife4j不仅具…

解析几何@平面上点到直线的距离@点到平面的距离@空间中点到直线的距离

文章目录 平面上点到直线的距离点到平面的距离小结 角平分面问题例 点到直线的距离 平面上点到直线的距离 设坐标平面上有点 P ( x 1 , y 1 ) P(x_1,y_1) P(x1​,y1​)和直线 l : A x B y C 0 l:AxByC0 l:AxByC0, A , B A,B A,B不全为0点 P P P到直线 l l l的的距离的算法推…

【网络】epoll理论 + 实践(LT模式服务器和ET模式服务器)详细讲解

epoll 前言正式开始epoll相关的接口epoll_createepoll_ctlepoll_wait epoll原理硬件上的数据是怎么交给上层的创建epoll模型epoll模型中的红黑树epoll中的就绪队列回调方法前面三个接口在模型中的体现一些细节 编写epoll服务器小组件正式开始编写对epoll接口进行封装epoll_crea…

KeyShot for 3dMax插件教程

KeyShot for 3dMax插件教程 KeyShot是一款先进的3D渲染和动画软件,通过直观、精简的用户界面和革命性的动画工作流简化了整个媒体创建过程,可以实时创建完全渲染的动画。 快速 立即查看结果。 这就是KeyShot渲染引擎的功能:您所做的每一个更…

10款实用的市场分析工具,你知道几个?

市场分析是在成功营销战略中的一个核心组成部分,我们应当深度理解当前市场,进行适当的决策,并对产品和服务产生高度的信心。如果你还在寻找一款能帮助你全方位了解市场现状,预测未来趋势,以及提供深入见解的工具&#…

Hertz中的CORS问题。

前言 字节跳动开源框架Hertz,可能存在的CORS的跨域问题 正文 文档信息 跨源资源共享 | CloudWeGo 文档中描述 | AllowAllOrigins | 用于设置允许来自任意 origin 的客户端访问服务端资源,默认为 false,所以我们在仅仅设置AllowAllOrigins true的时候…

将程序添加至右键菜单

将程序添加至右键菜单 手动导入 如果要将cmder添加至右键菜单。可以通过编写reg注册表方式添加 也可以在路径HKEY_CLASSES_ROOT\Directory\Background\shell中右击添加 创建项commadn 编写reg注册表 [HKEY_CLASSES_ROOT\Directory\Background\shell\cmder]为注册表地址 Wi…