linux基础指令【上篇】


📙 作者简介 :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.rhkb.cn/news/185419.html

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

相关文章

FPGA的元素组件

注意:关于FPGA的元素这一块儿内容,稍有出入。例如:吉姆莱丁 著,陈会翔 译,由清华大学出版社出版的《构建高性能嵌入式系统》中提到:FPGA通常由查找表、触发器、块RAM、DSP切片、及其他功能元件等元素组成。…

互联网金融风控常见知识点

1.怎么做互联网金融风控 首先风险不是都是坏的,风险是有价值的。也就是风险的VaR值(Value at Risk) 对于互联网信贷风控,是要把风险和收益做到更合理的平衡,在控制风险水平的情况下使得收益更高。 所以,做风控的不是一味地追求耕…

设计模式—结构型模式之桥接模式

设计模式—结构型模式之桥接模式 将抽象与实现解耦,使两者都可以独立变化。 在现实生活中,某些类具有两个或多个维度的变化,如图形既可按形状分,又可按颜色分。如何设计类似于 Photoshop 这样的软件,能画不同形状和不…

flink的带状态的RichFlatMapFunction函数使用

背景 使用RichFlatMapFunction可以带状态来决定如何对数据流进行转换,而且这种用法非常常见,根据之前遇到过的某个key的状态来决定再次遇到同样的key时要如何进行数据转换,本文就来简单举个例子说明下RichFlatMapFunction的使用方法 RichFl…

OceanBase 如何通过日志观测冻结转储流程?

本文旨在通过日志解析 OceanBase 的冻结转储流程,以其冻结检查线程为切入点,以租户(1002)的线程名为例。 作者:陈慧明,爱可生测试工程师,主要参与 DMP 和 DBLE 自动化测试项目。 爱可生开源社区…

技术分享|基于 Cluster API 的 Kubernetes 集群生命周期管理

作者:SmartX SKS 产品研发工程师 杨海剑 背景 容器的发展催生了容器编排技术,而容器编排技术反过来又推动了容器的发展。容器编排领域则一度出现了 Swarm、Mesos 和 Kubernetes 等百家争鸣的局面。但随着 Kubernetes 脱颖而出,Kubernetes 成为…

早安心语微语早读,好好善待自己,珍惜今天,期待明天

1、保持阳光心态,积极面对人生,每个人,都沿着不同的轨道在活着,人生是一趟单程车,我们最应该做的,就是好好善待自己,珍惜今天,期待明天,那些走过的,错过的&am…

零代码编程:用ChatGPT批量将Mp4视频转为Mp3音频

文件夹中有很多mp4视频文件,如何利用ChatGPT来全部转换为mp3音频呢? 在ChatGPT中输入提示词: 你是一个Python编程专家,要完成一个批量将Mp4视频转为Mp3音频的任务,具体步骤如下: 打开文件夹:…

2023最新版JavaSE教程——第4天:流程控制语句之循环语句

目录 一、循环语句二、for循环2.1 基本语法2.2 应用举例2.3 练习 三、while循环3.1 基本语法3.2 应用举例3.3 练习 四、do-while循环4.1 基本语法4.2 应用举例4.3 练习4.4 对比三种循环结构4.5 "无限"循环4.5.1 基本语法4.5.2 应用举例 4.6 嵌套循环(或多重循环)4.6.…

网络流量分类概述

1. 什么是网络流量? 一条网络流量是指在一段特定的时间间隔之内,通过网络中某一个观测点的所有具有相同五元组(源IP地址、目的IP地址、传输层协议、源端口和目的端口)的分组的集合。 比如(10.134.113.77,47.98.43.47,TLSv1.2&…

【K8s集群离线安装-kubeadm】

1、kubeadm概述 kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。这个工具能通过两条指令快速完成一个kubernetes集群的部署。 2、环境准备 2.1 软件环境 软件版本操作系统CentOS 7Docker19.03.13K8s1.23 2.2 服务器 最小硬件配置:2核CPU、2G内存…

【深入浅出Spring原理及实战】「夯实基础系列」360全方位渗透和探究Spring配置开发实战详解

360全方位渗透和探究Spring配置开发实战详解 Spring对于配置的转折点Xml配置 vs Java配置Xml配置模式的优点Xml配置模式的缺点Java配置模式的优点Java配置模式的缺点 Java编程配置流程配置代码案例 组件注入Bean注解配置自动扫描包路径和规则Filter常用的拦截类型FilterType.AS…

Hadoop 视频分析系统

视频分析系统 业务流程 原始数据 vedio.json {"rank":1,"title":"《逃出大英博物馆》第二集","dzl":"77.8","bfl":"523.9","zfl":"39000","type":"影视",&quo…

为什么冰酒会被视为珍品?

在某些年份,珍贵稀有的葡萄酒让酿酒师有了冒险的意愿,葡萄比平时在藤上停留更长时间,需要等待至少-7℃的温度,酿酒师需要与自然玩游戏,可以持续到1月,在罕见的情况下可以持续到2月。对于酿酒师来说&#xf…

基于鱼鹰算法的无人机航迹规划-附代码

基于鱼鹰算法的无人机航迹规划 文章目录 基于鱼鹰算法的无人机航迹规划1.鱼鹰搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用鱼鹰算法来优化无人机航迹规划。 1.鱼鹰搜索算法 …

Django初窥门径-自定义用户模型

前言 自定义用户模型在Django应用中是一个重要的话题,它涉及到如何根据您的项目需求以及特定的用户身份验证和授权需求来调整用户模型。在以下前言中,我将讲述为什么自定义用户模型是如此重要以及其潜在的优势: 随着Web应用的不断发展&…

JS 处理文档选择和范围创建【createRange | getSelection】

介绍 1、const selection window.getSelection(); 说明: 1、用于获取用户当前文档选择的对象; 2、它返回一个 Selection 对象,该对象代表了用户选择的文本范围(可以包含一个或多个范围,因为用户可以同时选择多个不相…

OpenAI 工程师平均薪酬 92.5 万美元;SpaceX 明年将每两天发射一次丨 RTE 开发者日报 Vol.81

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE (Real Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

Spring Boot 中自动装配机制的原理

(摘自mic老师面试题) 最近一个粉丝说,他面试了 4 个公司,有三个公司问他:“Spring Boot 中自动装配 机制的原理” 他回答了,感觉没回答错误,但是怎么就没给 offer 呢? 对于这个问题…

CRM系统中的客户保留是什么意思?有多少客户可以留下来?

一家企业,在销售过程中有多少客户是有效的?又有多少客户可以留下来?如果企业只顾着开发新客户,而忽略了客户保留,那么将会造成资源的浪费。那么CRM系统中的客户保留是什么意思? 什么是客户保留&#xff1f…