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

news2025/7/7 0:33:01

  

目录

 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.coloradmin.cn/o/2308077.html

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

相关文章

Netty为什么性能很高?

大家好,我是锋哥。今天分享关于【Netty为什么性能很高?】面试题。希望对大家有帮助; Netty为什么性能很高? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Netty是一款高性能的网络通信框架,主要用于构建高性能的网络应用程序。…

[深度学习] 大模型学习2-提示词工程指北

在文章大语言模型基础知识里,提示词工程(Prompt Engineering)作为大语言模型(Large Language Model,LLM)应用构建的一种方式被简要提及,本文将着重对该技术进行介绍。 提示词工程就是在和LLM聊…

基于POI的Excel下拉框自动搜索,包括数据验证的单列删除

目录 目标 例子 1.搜索下拉框页 2.数据源页 3.效果 代码以及注意事项 1.代码 2.注意事项 1.基于Excel的话,相当于加入了一个【数据验证】 2.代码中的一些方法说明 目标 期望在Excel利用代码创建具备自动搜索功能的下拉框 例子 1.搜索下拉框页 2.数据源…

Python 数据可视化(一)熟悉Matplotlib

目录 一、安装包 二、先画个折线图 1、修改标签文字和线条粗细 2、内置样式 3、scatter() 绘制散点图 4、scatter() 绘制多个点 5、设置样式 6、保存绘图 数据可视化指的是通过可视化表示来探索和呈现数据集内的规律。 一、安装包 win R 打开终端 安装 Matplotlib&…

考研出分24小时,人类精神状态图鉴

2月24日,上午10点起,各省考研初试成绩陆续公布,考生们或紧张的输入准考证号,或抱团等待“审判”。然而更魔幻的还在后头——下午4点,教育部竟在同一天直接发布了《2025年研考国家分数线》。 不少网友表示:…

神经网络AI原理回顾

长期记忆存储在大模型的参数权重中,不经过推理和编码无法读取,且必须依赖输入的提示,因为大模型不会无缘无故的自言自语,毕竟输入层是它唯一 与外界交互的窗口。 目前个性化大模型的局限就是训练成本过高,除非使用RAG&…

数据库导出

MySQL数据库 使用命令行导出 导出整个数据库:在命令行中输入mysqldump -u用户名 -p密码 数据库名 > 导出文件路径/文件名.sql。例如mysqldump -uroot -p123456 mydb > /home/user/mydb_backup.sql,回车后输入密码即可将名为mydb的数据库导出为SQL…

进程间通信 —— 共享内存

目录 1.共享内存实现通信的原理 2.如何使用共享内存实现通信 共享内存通信接口介绍 shmget shmat shmdt shmctl 使用示例 key和shmid 3.共享内存通信的优缺点 缺点:不提供任何同步机制,可能会造成数据混乱。 优点:共享内存是进程…

本地搭建dify结合ollama+deepseek方法详解

1.安装ollama,安装deepseek-r1:8b模型 2.安装dify社区版 访问Dify GitHub项目地址 git clone https://github.com/langgenius/dify.git cd dify/docker cp .env.example .env docker compose up -d docker compose ps 查重以下实例是否启动成功: 更新Dif…

Linux系统软件管理

systemctl 控制软件启动和关闭 Linux系统很多软件支持使用systemctl命令控制:启动,停止,开启自启。 能被systemctl管理的软件,一般被称为:服务。 语法:systemctl start|stop|status|enable|disable 服务名…

在Linux桌面上创建Idea启动快捷方式

1、在桌面新建idea.desktop vim idea.desktop [Desktop Entry] EncodingUTF-8 NameIntelliJ IDEA CommentIntelliJ IDEA Exec/home/software/idea-2021/bin/idea.sh Icon/home/software/idea-2021/bin/idea.svg Terminalfalse TypeApplication CategoriesApplication;Developm…

从0开始的操作系统手搓教程19:构建我们的内存管理——第二步:内存子系统进化,获取页!

目录 讨论页表的分析和索引的完成 完成一个宽泛的页获取 从指定的内存池中分配若干页 获取准备用来提供给客户端方向的虚拟地址起始位置 根据内存池的选择,完成对物理内存的获取 关联我们的物理内存和虚拟内存 编写尝试 运行的截图 现在,我们将会…

数学软件Matlab下载|支持Win+Mac网盘资源分享

如大家所了解的,Matlab与Maple、Mathematica并称为三大数学软件。Matlab应用广泛,常被用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。 Matlab将数值分析、矩阵计算、科学…

FASIONAD:自适应反馈的类人自动驾驶中快速和慢速思维融合系统

24年11月来自清华、早稻田大学、明尼苏达大学、多伦多大学、厦门大学马来西亚分校、电子科大(成都)、智平方科技和河南润泰数字科技的论文“FASIONAD : FAst and Slow FusION Thinking Systems for Human-Like Autonomous Driving with Adaptive Feedbac…

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

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

2020年蓝桥杯Java B组第二场题目+部分个人解析

#A&#xff1a;门牌制作 624 解一&#xff1a; public static void main(String[] args) {int count0;for(int i1;i<2020;i) {int ni;while(n>0) {if(n%102) {count;}n/10;}}System.out.println(count);} 解二&#xff1a; public static void main(String[] args) {…

【Azure 架构师学习笔记】- Azure Databricks (13) -- 搭建Medallion Architecture part 1

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (12) – Medallion Architecture简介 前言 上文已经介绍了关于Medallion的知识&#xff0c;本文开始用ADB 来实现&#xff0c; 但是基于内容较…

2025年2月21日优雅草内测分发站全新升级-测试运营-优雅草内测分发站新用户提供免费100下载点-2月28日正式运营并且提供私有化部署版本

2025年2月21日优雅草内测分发站全新升级-测试运营-优雅草内测分发站新用户提供免费100下载点-2月28日正式运营并且提供私有化部署版本 说明 优雅草内测分发站新用户提供免费100下载点&#xff0c;优雅草分运营站和demo测试站 运营站&#xff1a;www.youyacao.cn 提供免费100…

通过 PromptTemplate 生成干净的 SQL 查询语句并执行SQL查询语句

问题描述 在使用 LangChain 和 Llama 模型生成 SQL 查询时&#xff0c;遇到了 sqlite3.OperationalError 错误。错误信息如下&#xff1a; OperationalError: (sqlite3.OperationalError) near "sql SELECT Name FROM MediaType LIMIT 5; ": syntax error [SQL: …

IP段转CIDR:原理Java实现

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…