【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.pswp.cn/diannao/72073.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/72073.shtml

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

相关文章

RabbitMQ系列(七)基本概念之Channel

RabbitMQ 中的 Channel(信道) 是客户端与 RabbitMQ 服务器通信的虚拟会话通道,其核心作用在于优化资源利用并提升消息处理效率。以下是其核心机制与功能的详细解析: 一、Channel 的核心定义 虚拟通信链路 Channel 是建立在 TCP 连…

Zookeeper(80)Zookeeper的常见问题有哪些?

Zookeeper作为分布式系统的协调服务,常见的问题主要集中在配置、性能、连接管理、数据一致性和节点故障等方面。以下是一些常见问题及其详细解决方法和代码示例。 1. 配置问题 问题描述 配置不当可能导致 Zookeeper 集群无法正常启动或运行效率低下。 解决方法 …

如何管理路由器

一、管理路由器的必要性 1、需要修改拨号上网的密码。 2、需要修改WIFI的SSID名字和密码。 3、设置DHCP协议信息。 4、设置IP地址的过滤规则。 5、给某个设备连接设置网络限速。 二、常见的方式 (一)web网页方式 1、计算机用双绞线或者WIFI的方式连接路由器。 2、在计算机中打开…

linux vim 撤销 回退操作

在Linux的vim编辑器中,撤销和回退操作是非常基本的,但它们可以通过不同的方式实现,具体取决于你想要的精确效果。下面是一些常用的方法: 1. 撤销(Undo) 单个撤销: 你可以通过按下u键来撤销上一…

浅谈流媒体协议以及视频编解码

流媒体协议介绍 流媒体协议用于传输视频、音频等多媒体数据,确保数据流畅地传输到用户设备。常见的流媒体协议包括 RTMP、HLS、DASH、WebRTC 等,每种协议具有不同的特点和适用场景。 1. RTMP (Real-Time Messaging Protocol) 定义:由 Adob…

AF3 DataPipeline类process_multiseq_fasta 方法解读

AlphaFold3 data_pipeline 模块DataPipeline类的 process_multiseq_fasta 方法用于处理多序列 FASTA 文件,生成 AlphaFold3 结构预测所需的特征,适用于多链复合物的预测。它结合了 Minkyung Baek 在 Twitter 上提出的“AlphaFold-Gap”策略,即通过在多链 MSA 中插入固定长度…

图片爬取案例

修改前的代码 但是总显示“失败” 原因是 修改之后的代码 import requests import os from urllib.parse import unquote# 原始URL url https://cn.bing.com/images/search?viewdetailV2&ccidTnImuvQ0&id5AE65CE4BE05EE7A79A73EEFA37578E87AE19421&thidOIP.TnI…

使用自动化运维工具 Ansible 集中化管理服务器

一、概述 Ansible 是一款为类 Unix 系统开发的自由开源的配置和自动化工具 官方网站:https://www.ansible.com/ Ansible 成立于 2013 年,总部设在北卡罗来纳州达勒姆,联合创始人 ad Ziouani 和高级副总裁 Todd Barr都是红帽的老员工。Ansible 旗下的开源软件 Ansible 十分…

CMU15445(2023fall) Project #2 - Extendible Hash Index 匠心分析

胡未灭,鬓已秋,泪空流 此生谁料 心在天山 身老沧州 ——诉衷情 完整代码见: SnowLegend-star/CMU15445-2023fall: Having Conquered the Loftiest Peak, We Stand But a Step Away from Victory in This Stage. With unwavering determinati…

P1706 全排列问题

题目描述 按照字典序输出自然数 1 到 n 所有不重复的排列,即 n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。 输入格式 一个整数 n。 输出格式 由 1∼n 组成的所有不重复的数字序列,每行一个序列。 每个数字保留 5 个场宽。…

会话与会话管理:Cookie与Session的深度解析

一、什么是会话? 二、Cookie:客户端存储技术 1. Cookie的工作原理 2、在后端设置cookie 3、在前端设置cookie 三、浏览器开启了cookie禁用怎么办? 一、什么是会话? 会话(Session)是指一个用户与服务器之间…

【Linux系统】—— 冯诺依曼体系结构与操作系统初理解

【Linux系统】—— 冯诺依曼体系结构与操作系统初理解 1 冯诺依曼体系结构1.1 基本概念理解1.2 CPU只和内存打交道1.3 为什么冯诺依曼是这种结构1.4 理解数据流动 2 操作系统2.1 什么是操作系统2.2 设计OS的目的2.3 操作系统小知识点2.4 如何理解"管理"2.5 系统调用和…

算法-二叉树篇15-最大二叉树

最大二叉树 力扣题目链接 题目描述 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大值 右边 的 子数组后缀上 构建…

运维Apache面试题及参考答案

目录 简述 Apache Web 服务器的主要特点及适用场景 Apache 的默认监听端口是什么?如何修改为其他端口? Apache 的主配置文件名称及路径是什么?不同 Linux 发行版的默认路径有何差异? 解释 Apache 的 MPM(Multi-Processing Module)机制,列举常见的工作模式(如 prefor…

51c自动驾驶~合集52

我自己的原文哦~ https://blog.51cto.com/whaosoft/13383340 #世界模型如何推演未来的千万种可能 驾驶世界模型(DWM),专注于预测驾驶过程中的场景演变,已经成为追求自动驾驶的一种有前景的范式。这些方法使自动驾驶系统能够更…

用大白话解释缓存Redis +MongoDB是什么有什么用怎么用

Redis和MongoDB是什么? Redis:像你家的“小冰箱”,专门存高频使用的食物(数据)。它是基于内存的键值数据库,读写速度极快(每秒超10万次操作)。比如你每次打开手机App,用…

自然语言处理:词频-逆文档频率

介绍 大家好,博主又来给大家分享知识了。本来博主计划完成稠密向量表示的内容分享后,就开启自然语言处理中文本表示的讲解。可在整理分享资料的时候,博主发现还有个知识点,必须得单独拎出来好好说道说道。 这就是TF-IDF&#xf…

架构思维:架构的演进之路

文章目录 引言为什么架构思维如此重要架构师的特点软件架构的知识体系如何提升架构思维大型互联网系统架构的演进之路一、大型互联网系统的特点二、系统处理能力提升的两种途径三、大型互联网系统架构演化过程四、总结 引言 在软件开发行业中,有很多技术人可能会问…

DeepSeek-R1-Zero:基于基础模型的强化学习

注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》(人工智能科学与技术丛书)【陈敬雷编著】【清华大学出版社】 文章目录 DeepSeek大模型技术系列四DeepSeek大模型技术系列四》DeepSeek-…

Metal学习笔记八:纹理

到目前为止,您已经学习了如何使用片段函数和着色器为模型添加颜色和细节。另一种选择是使用图像纹理,您将在本章中学习如何操作。更具体地说,您将了解: • UV 坐标:如何展开网格,以便可以对其应用纹理。 •…