【Linux第一弹】Linux基础指令(上)

  

目录

 1.ls指令

 1.1 ls使用实例

 2.pwd指令

3.cd指令 

3.1 cd使用实例

4.touch指令 

4.1touch使用实例 

5.mkdir指令

5.1mkdir使用实例

6.rmdir指令和rm指令

6.1 rmdir指令使用实例->:

 6.2 rm指令使用实例

7.man指令

8.cp指令

8.1 cp 使用实例

9.mv指令

9.1mv使用实例

10.cat指令

10.1cat使用实例

11.完结


每一个存在都有问鼎的机会


 1.ls指令

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

功能:1.对于目录,列出该目录下所有子目录与文件

        2.对于文件,将列出文件名以及其他信息

注:所有的指令的选项都是在其基础上增加新的功能(并不会覆盖旧功能)

这里我想说的是不要看常用选项中没有写目录就以为不会列出目录


常用选项->:

-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 一行只输出一个文件。

 1.1 ls使用实例

单独使用 ls 讲解->:

这里的pwd是展示当前所处目录,我们使用ls意味着展开/root中的文件或目录,图片上展开的是root中的112目录(这里的112是自己创建的目录,如何创建后面会讲)


ls -a 讲解->:

我们会发现,使用ls -a会多了许多东西,这些其实都是隐藏文件,因为它们都带有隐藏文件的标识符,也就是一个小点,以小点开头的就代表了隐藏文件

所以,-a 的作用是,展示当前目录下的文件/目录(包含隐藏文件)


ls -l 讲解->:

这里多出来的部分其实是文件/目录的详细信息,也就是说 -l 会列出文件的详细信息

我们可以观察到详细信息是以d开头的,这意味着它是一个目录

如果是文件,它的详细信息就不是d开头的


ls -n 讲解->:

我们会发现两处有些不同,这是因为 -n 的作用是列出详细的信息时用数字的UID,GID代替名称(这里先不用管UID,GID)


注意:在Linux中,选项的顺序并不会影响实际效果,这就意味着我们可以一起使用,如下->:

我们会发现,它既打印出来隐藏文件,又打印出了详细信息,并且二者的结果一样,说明顺序不影响。

当然我们也可以使用 ls -aln,并不会有选项的数量限制

 2.pwd指令

pwd指令很简单,它的作用就是展示当前所处目录(不展示文件)

如图,我们当前处于root目录下

3.cd指令 

语法: cd 目录名

功能: 改变工作目录,将当前目录改变到指定目录下


由于cd的语法很少,我们直接举例展示


我们先讲一个知识点

在Linux下,所有的目录/文件都是从根目录开始的,因此我们可以顺着一条线找到目录或文件

而根目录的标识就是一个斜杠 /

3.1 cd使用实例


用法一: cd 绝对路径

接下来我们会细致的分析cd绝对路径,在使用cd绝对路径时,需要一层一层的写绝对路径,我们用图片展示->:

这里我们知道,root是根目录下的目录,因此我们可以直接跳到root目录

当然我们也可以这样写->:

这里最开始写上的 / 代表从根目录开始走,跳到根目录下的root目录,而上一种写法的意义为在当前目录下查找root目录,如果查找到了则进行跳转,否则报错


/只有在路径的开头时代表根目录,其余都表示分隔符)


接下来我们想跳到root下的112目录,我们可以这样写->:

我们发现我们使用/112会报错,这是因为 / 代表从根目录下开始查找,而我们不加 / 后,就会从当前目录下开始查找能否跳转,也就会成功

我们可以从root直接找到112吗?

这就要看我们怎么写了,如下图->:

可见,直接在根目录下找112是找不到的,会报错,而先进入root再进入112,就可以跳到112了


cd 可以跳到文件里吗?不可以,因为我们在功能上说了,它是跳到目录下

有道友问了?我们那么多文件,我怎么知道文件都叫什么啊?

这时就要用到 ls指令 了啊,用ls列表出当前目录下的所有文件,就知道都叫什么了


用法2: cd 相对路径

相对路径有两种,一种为 .. ——  一种为 . 没错,你没看错,就是点,两个点代表上级目录或文件,一个点代表 当前目录/文件,我们展示一下->:

我们可以看到,cd .代表跳到当前目录,也就是没跳别的地方,pwd也就没改变,

cd .. 代表跳到上级目录,也就从112中跳出去了,跳到了root


用法3: cd 相对路径+绝对路径

相对路径和绝对路径可以一起使用,如下->:

这里我们细致的讲一下如何实现的

我们首先看红色的,我们使用相对路径跳到上级目录,然后又执行了 /lesson2 , 此时,这里的/就不代表从根目录下查找,因为你一种是相对路径一种是绝对路径,/ 就相当于变为了一种分隔符类似的,变成了代表从当前目录下查找

所以实际上执行的是,先跳到上级目录(跳到目录112中),然后在目录112中查找lesson2目录


cd ../..,这是因为两个上级目录不可以连续使用,如cd ....,所以 / 也变成了一个分隔符,它是先跳到了上级目录112中,然后从112中跳到了root


用法4: cd /

我们上面提到过,/ 是根目录,而cd / 可以直接跳到根目录下,如下图->:


用法5: cd ~

cd ~ 可以让我们直接跳到家目录下,什么是家目录?就是我们当前用户的目录

如下图->:


用法6: cd - 

cd - 可以退回到上一次的所在目录,如下图->:

4.touch指令 

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

功能 : 命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件


常用选项->:

-a : 只改变access time

-c : 只改变modification time

4.1touch使用实例 

用法1 ->: touch 文件名

我们先观察到,lesson2中并没有任何文件或目录,我们在当前目录下touch创建一个test2的文件,再用ls展开当前目录,发现,确实创建了,并通过ls -l 详细的看到确实是文件


nano +普通文件名字

指令:通过nano指令可以进入文件写代码;

输入nano test2后,我们会进入下面的画面

如果写完了可以使用 ctrl + x 进行保存,之后在最下面会弹出一个选项,摁Y确认,再摁回车保存即可

之后我们可以使用cat指令输出文件内容(后面讲cat指令)

5.mkdir指令

语法: touch [选项] dirname

功能 : 在当前目录下创建一个名为 "dirname" 的目录


常用选项->:

-p :可以一次建立多个目录

5.1mkdir使用实例

用法1->: mkidr 目录名

我们可以观察到,最开始的lesson2目录中只有一个test2文件,而我们mkdir后,新增了两个目录,这就是mkdir的使用


mkdir可以直接创建多个目录,如下->:


用法2->: mkdir -p 目录名/目录名/目录名/.......

但是,mkdir不可以直接递归创建多个文件,如下->:

解释一下,我们想在112中创建一个color目录,在color目录中创建一个red目录,在red目录中创建一个blue目录,但是直接用mkdir不可以创建,报错了,这是因为我们没有使用-p选项

我们使用mkdir -p 后,可以发现,递归创建成功了。这就是mkdir -p 的使用

6.rmdir指令和rm指令

rmdir 是一个与 mkdir 相对应的命令。 mkdir 是建立目录,而 rmdir 是删除命令。

语法: rmdir [-p] [dirName]

使用对象: 具有当前目录操作权限的所有使用者

功能: 删除空目录


常用选项:

-p 当子目录被删除后如果父目录变为空目录的话,就连带父目录一起删除(即递归删除)


rm 命令可以同时删除文件或目录

语法 : rm [-f-i-r-v][dirName/dir]

适用对象 :所有使用者

功能 :删除文件或目录

6.1 rmdir指令使用实例->:

用法1: rmdir 目录名

使用rmdir可以删除指定目录,但是有一些注意事项,我们下面讲:


看下图->:我们使用rmdir时有三种情况不可以删

第一种情况 ->: 删掉当前所在目录

第二种情况->: 删除所有上级目录

第三种情况->: 想要删除的目录中存在目录/文件

我们接下来举例,看下图->:

下图中,我们

这张图说明的是前两种情况,接下来的图是第三种情况:

我们想要删除112里面的color目录,但是因为color目录中存在东西,所以不可以删除此目录


用法2: rmdir -p 目录名/目录名/......

我们上述中无法直接删除color目录,难到我们要一步一步进去删再一步一步出来吗?

没这个必要,使用rmdir -p 递归删除,直接实现,如下图->:

可以观察到,color目录被全部删除了

 6.2 rm指令使用实例

用法1: rm -r 文件名/目录名

首先,rm的删除与rmdir类似,都是不可以删除当前目录或者一切的上级目录

但是如果rm删除的目录中存在其他东西,是可以删除的

效果如下->:

我们讲解一下上图,(别看话长但很简单)首先我们观察到,big目录中存在一个文件test999,我们返回上级目录112,接着删除big目录,它问我们,确定要删除big目录吗?我们回答y(yes),接着,它检测到big目录中存在test999文件,它就会又问我们,要删除test999文件吗?(因为如果不删除此文件,无法删除目录),我们回答yes。那么文件删掉了,它会递归回来,问我们确定要删除big目录吗?我们再回答y,此时成功删掉了。

声明: 不删除回答n


用法2: rm -rf 文件名/目录名

使用rm -rf可以无视文件权限,直接删除目录/文件,也就是不会再询问你,如下图->:


用法3: rm 文件名

使用rm 文件名可以删除文件,但是不可以删除目录,如下->:

可以观察到,rm直接加文件是不可以删除的,因为rm删除文件需要使用rm -r,但是rm 文件名可以删除文件

7.man指令

语法: man [选项] 命令

功能: 查找命令如何使用


常用选项:

-k 根据关键字搜索联机帮助

num 只在第num章节查找

-a 将所有章节显示出来,比如man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当摁下q退出,他会继续往后面搜索,直到所有章节都搜索完毕


解释一下 ,man 手册分为8章
1 是普通的命令
2 是系统调用 , 如 open,write 之类的 ( 通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
3 是库函数 , 如 printf,fread4 是特殊文件 , 也就是 /dev 下的各种设备文件
5 是指文件的格式 , 比如 passwd, 就会说明这个文件中各个字段的含义
6 是给游戏留的 , 由各个游戏自己定义
7 是附件还有一些变量 , 比如向 environ 这种全局变量在这里就有说明
8 是系统管理用的命令 , 这些命令只能由 root 使用 , 如 ifconfig

8.cp指令

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

功能: 在当前目录下查找,并复制文件或目录


说明:

cp 指令用于复制文件或目录

如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中


常用选项:

-f 或 --force  强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理

8.1 cp 使用实例

用法1: cp -r 源目录/文件 目标目录/文件

首先我们看一下下图,观察到112目录下有许多目录,我们想要实现目录的复制或者文件的复制就需要使用cp -r

比如,我们现在就想把lesson1目录复制进lesson2目录中,我们可以这样写:

可见,lesson1被复制到lesson2中了

额外补充:如果cp的目标文件/目录不存在,则会自己创建一个目标文件/目录,如下图->:


用法2: cp -i  文件名

上述讲解中,如果有同志自己尝试会发现cp其实没有 -r 是不可以复制目录的(源文件是目录不可以,目标目录无所谓),但是cp -r 既可以操作目录又可以操作文件,所以这里没有讲解,只需要记住无时无刻加 -r 即可

cp -i 的作用为在覆盖文件之前先询问用户,注意,我说的是 "覆盖" ,不是复制

覆盖是文件名重复的意义,如下->:

这里lesson1中的apple复制到lesson2中的apple就属于覆盖,加-i会在拷贝前询问你(其实不加也会询问)

9.mv指令

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

功能: 

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


常用选项 :

-f  : force  强制的意思,如果目标文件已经存在,不会询问而直接覆盖

-i  :若目标文件  (destination)  已经存在时,就会询问是否覆盖!

9.1mv使用实例

用法1: mv 文件/目录名 文件/目录名(重命名功能)

mv 文件名 文件名可以实现文件名的重定义,也就是改名(即覆盖),这里演示一下

如图,我们将apple文件的名字更改为了peach


如果我们改的名字与别的文件名字重复了,那就会实现覆盖,演示一下->:

将peach更改为apple会进行覆盖,还询问了我们一下


用法2: mv 文件/目录 路径(转移功能)

可见,将lesson1中的apple文件转移到了上级目录中

再看一个->:


用法3: mv 文件名 路径+新名字

这个指令会将两个操作同时进行,结果就是转移到了新路径下并且更换了名字

将lesson2目录转移到了root目录下

10.cat指令

语法:  cat [ 选项 ][ 文件 ]

功能:  查看目标文件的内容


常用选项 :

-b 对非空输出行编号

-n 对输出的所有行编号

-s 不输出多行空行

10.1cat使用实例

用法1: cat 文件名

11.完结

2a775d9141e049b28a499aa8c5166913.png

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

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

相关文章

智能合约安全 | 合约无效化攻击

目录: 智能合约安全 合约无效化攻击 合约自毁函数 selfdestruct 攻击实现 漏洞防御 总结 智能合约安全 合约无效化攻击 合约无效化攻击类同于web安全中的逻辑漏洞中的一种 我们这里拿一个典型的例子来讲解 有这样一份智能合约, 每个人可以向其中发送1 eth 第七个…

蓝桥 发现环

0发现环 - 蓝桥云课 找到环 不过在最近一次维护网络时,管理员误操作使得某两台电脑之间增加了一条数据链接,于是网络中出现了环路。环路上的电脑由于两两之间不再是只有一条路径,使得这些电脑上的数据传输出现了BUG。 为了恢复正常传输&am…

weaviate 安装与测试

weaviate 安装 前提条件:docker安装完成 步骤: 开启docker 在终端运行命令 docker run -p 8080:8080 -p 50051:50051 cr.weaviate.io/semitechnologies/weaviate:1.29.0 weaviate 测试 python-client安装代码测试 import weaviate client weaviat…

SpringBoot原理-02.自动配置-概述

一.自动配置 所谓自动配置,就是Spring容器启动后,一些配置类、bean对象就自动存入了IOC容器当中,而不需要我们手动声明,直接从IOC容器中引入即可。省去了繁琐的配置操作。 我们可以首先将spring项目启动起来,里面有一…

内容中台与企业内容管理架构解析

内容中台技术架构解析 内容中台的技术架构以数据资产化和服务API化为核心,通过解耦内容生产与消费环节构建数字化基础设施。其架构通常包含统一内容池、智能处理引擎和开放接口层三大模块:统一内容池通过标准化元数据模型对多源异构内容进行结构化存储&…

DeepSeek开源周Day2:DeepEP - 专为 MoE 模型设计的超高效 GPU 通信库

项目地址:https://github.com/deepseek-ai/DeepEP 开源日历:2025-02-24起 每日9AM(北京时间)更新,持续五天 (2/5)! ​ ​ 引言 在大模型训练中,混合专家模型(Mixture-of-Experts, MoE)因其动…

密码学(哈希函数)

4.1 Hash函数与数据完整性 数据完整性: 检测传输消息(加密或未加密)的修改。 密码学Hash函数: 构建某些数据的简短“指纹”;如果数据被篡改,则该指纹(以高概率)不再有效。Hash函数…

网络流算法: Edmonds-Karp算法

图论相关帖子 基本概念图的表示: 邻接矩阵和邻接表图的遍历: 深度优先与广度优先拓扑排序图的最短路径:Dijkstra算法和Bellman-Ford算法最小生成树二分图多源最短路径强连通分量欧拉回路和汉密尔顿回路网络流算法: Edmonds-Karp算法网络流算法: Dinic算法 环境要求 本文所用…

R语言+AI提示词:贝叶斯广义线性混合效应模型GLMM生物学Meta分析

全文链接:https://tecdat.cn/?p40797 本文旨在帮助0基础或只有简单编程基础的研究学者,通过 AI 的提示词工程,使用 R 语言完成元分析,包括数据处理、模型构建、评估以及结果解读等步骤(点击文末“阅读原文”获取完整代…

深度学习简介

目录 一、剖析,什么是深度学习?二、深度学习人工神经网络、机器学习、人工智能关系三、深度学习的发展3.1 从感知机到人工神经网络1. 早期发展2. 陷入低谷3. 短暂复兴4. 再次受挫5. 深度突破 3.2 深度学习时代1. 语音领域突破2. 大规模图像数据库3. Alex…

进行性核上性麻痹患者的生活护理指南

进行性核上性麻痹是一种神经系统退行性疾病,合理的生活护理能有效改善症状,提高生活质量。 居家环境要安全。移除地面杂物,铺设防滑垫,安装扶手,降低跌倒风险。在浴室、厨房等湿滑区域要特别加强防护措施。建议在床边、…

【数据结构】链表与顺序表的比较

链表和顺序表是两种常见的数据结构,各有优缺点,适用于不同的场景。 ### 顺序表(数组) 顺序表在内存中连续存储元素,支持随机访问。 **优点:** 1. **随机访问**:通过索引直接访问元素&#xf…

osgEarth安装总结

第一步:安装OSG 直接通过git下载源码,使用cmake进行编译, git clone --depth 1 https://github.com/openscenegraph/OpenSceneGraph.git mkdir build cd build cmake .. make sudo make isntall编译过程中缺什么库,就安装什么库 …

网络安全-使用DeepSeek来获取sqlmap的攻击payload

文章目录 概述DeepSeek使用创建示例数据库创建API测试sqlmap部分日志参考 概述 今天来使用DeepSeek做安全测试,看看在有思路的情况下实现的快不快。 DeepSeek使用 我有一个思路,想要测试sqlmap工具如何dump数据库的: 连接mysql数据库&#…

25物理学研究生复试面试问题汇总 物理学专业知识问题很全! 物理学复试全流程攻略 物理学考研复试调剂真题汇总

正在为物理考研复试专业面试发愁的你,是不是不知道从哪开始准备? 学姐告诉你,其实物理考研复试并没有你想象的那么难!只要掌握正确的备考方法,稳扎稳打,你也可以轻松拿下高分!今天给大家准备了…

KTV点歌系统

收藏关注不迷路!! 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多…

开源绝版经典小游戏合集

随着生活节奏的日益加快,我们常常需要一些小游戏来缓解疲惫的身心。过去,Windows 7自带的扫雷、蜘蛛纸牌等小游戏深受大家喜爱,但随着系统的更新换代,这些经典游戏逐渐淡出了人们的视野。我也曾花费不少时间寻找这些游戏&#xff…

【AI Coding】Windsurf:【Prompt】全局规则与项目规则「可直接使用」

先看效果 这是在windsurf中与ai对话的反馈 为什么要写这个规则(Prompt) 写的这份针对windsurf的全局规则,详细的涵盖了前端的各个方向:技术栈、测试、工程、性能优化、回答规范 通过提前预设一些关键词,可以提高回答…

传输层协议TCP

TCP全称为 传输控制协议(Transmission Control Protocol),就是要对数据的传输进行一个详细的控制。 TCP协议段格式 源端口:发送方的端口号,用来标识发送端的应用程序或进程。 目标端口:接收方的端口号,用来标识接收端…

SpringBoot 日志 与 门面模式(外观模式)

日志的使用 先引入日志对象,注意是 引入的是 org.slf4j 这个包下的 Logger 在传参上:可以传入类名,或者一个字符串,该参数表示日志名称 例如如果传入 “aaaa”,那么日志的名称就是 aaaa RequestMapping("/log&…