Linux_基础指令(一)

       

目录

1、ls指令 

1.1 ls -l

1.2 ls -a 

1.3 ls -i 

2、pwd指令 

3、cd指令

3.1 路径的概念

3.1.1 绝对路径 

3.1.2 相对路径

3.2 cd ~

3.3 cd - 

4、touch指令

5、mkdir指令

6、删除系列的指指令 

6.1 rmdir 

6.2 rm

7、man指令 

8、cp指令

9、move指令

结语 


前言:

        Linux由林纳斯·托瓦兹于1991.10.5发布,是一款开放源代码的操作系统,Linux的应用场景非常广泛,例如服务器后台、车载系统、嵌入式设备等等,在Linux下有一句很经典的话叫做:一切皆为文件。无论是设备还是文件都当作文件来看待,因此他有着统一的文件操作接口,即拷贝文件、添加文件、删除文件都需要命令行来进行,本文介绍的是最基础的命令行指令对文件的操作。

        因此下文中“文件”的概念包括:普通文件和目录(目录的含义对应windows下的文件夹)

1、ls指令 

        语法:ls [选项] [要执行的目录或者普通文件] (注意指令之间用空格隔开

        他的功能是列出该目录下所有的普通文件和子目录,选项的作用就是可以列出普通文件或目录的更详细的信息,若单独一个ls指令,则只是显示出该目录下的文件名,示例如下:

        上图中表示的是,在目录zh下,有普通文件11、普通文件20243.17以及目录code、目录new11(简单来说就是白色文件名是普通文件,而蓝色文件名是目录)并无其他的文件详细信息。

1.1 ls -l

        ls后面跟-l表示的是在显示文件名的基础下,还显示出文件的更多属性,即文件的时间、权限、大小,ls -l指令测试如下:

        从上图可以发现刚好对应windows下的文件的基本属性。 

1.2 ls -a 

         ls -a也可以查看该目录下的文件,并且包括隐藏文件,那什么又是隐藏文件呢?在Linux下以.开头的文件就叫做隐藏文件,若不使用ls -a是查看不了隐藏文件的,ls -a测试指令如下:

1.3 ls -i 

         ls -i可以显示出文件的索引信息,即文件的“身份证号码”,每个文件都有唯一的索引信息。ls -i测试指令如下:

        从上图可以发现,只要是文件就会有索引信息。

2、pwd指令 

        语法:pwd 

        该指令的功能就是显示当前目录的路径,pwd指令测试如下:

3、cd指令

        语法:cd 目录名/路径

        cd的功能是从当前目录进入到某个目录。 

3.1 路径的概念

        在介绍cd指令前,先引入路径的概念,因为在Linux下,所有的文件和目录都是以多叉树的结构进行存储的,每个节点代表的是一个普通文件或者目录,而该多叉树的根结点称为根目录,他是所有文件的源头,具体示意图如下:

        从上图可以得出一个结论,每个文件都会有一条专门的路径且唯一。参考windows下的路径形式:D:\vs代码\test_3_16, \是windows下的路径分隔符,得以将不同层级的文件分割开来。而在Linux下,路径的形式和windows下逻辑是一样的,只不过Linux下的路径分隔符是反斜杠/,比如上图中test.c的路径为:/home/code/test.c

        定位一个文件时,有两种方法:1、绝对路径定位。2、相对路径定位。 

3.1.1 绝对路径 

        从根目录开始定位的路径叫做绝对路径,cd 绝对路径就能进入该路径的最后一个目录,体现绝对路径的用法如下:

        值得注意的是,这里cd /home/zh可以写成cd /home/zh/,严格来说后者比较规范因为最后以/结尾表示是一个路径。

3.1.2 相对路径

        以当前目录为基准的叫相对路径,比如以下写法:

         相对路径的第二种写法,如下:

        cd ..也是一种以当前目录为基准,找到上层的目录的方式。

3.2 cd ~

        cd ~的作用是不管在哪个目录下,直接回到家目录(家目录即该用户的目录,一般是在home目录下),比如上述进行测试的用户是zh,zh的目录是:/home/zh,则zh就是家目录。

        cd ~测试指令如下:

3.3 cd - 

        cd -的作用是跳转至上一次所在的目录,测试指令如下:

4、touch指令

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

        touch的作用是创建一个新的普通文件,若该普通文件存在则更新该文件的创建时间,touch指令测试如下:

5、mkdir指令

        语法:mkdir [选项] 目录名 

        mkdir是在当前目录下创建一个新的目录,值得注意的是:若选项为-p时,目录名可以是一条路径,即一次性创建多个目录,mkdir指令测试如下:


         mkdir -p 路径,创建一条路径下多个目录:

         此处的tree指令可以在屏幕上打印出当前目录下的所有内容的结构,tree是需要下载的,他的下载指令为:yum install -y tree

6、删除系列的指指令 

        首先,rm -rf /*或者rm -rf /这两个删除指令会删除根目录以下的所有文件,也就是说若执行了该指令则Linux系统会直接崩溃,所有不要执行这句指令!!! 

6.1 rmdir 

         rmdir只能删除空目录,但是必须得有该文件的使用权,他是与mkdir对应的,rmdir指令测试如下:


        但是用rmdir删除上文创建的z1目录,则会删除失败,因为z1目录不是一个空目录,需要对应的使用rmdir -p 路径的形式进行删除:

         若想删除非空目录,则还可以使用另一种删除指令:rm。

6.2 rm

       语法:rm [选项] 文件名

        rm可以删除任何文件, 甚至可以删除没有权限的文件,所以rm用起来即方便又危险。当rm不带任何选项时,只可以删除普通文件,rm指令测试如下:


        若想删除目录还需要在选项处加上-r,则rm -r可以删除该目录下的一切文件(除了只读权限的文件), 测试如下:

        rm -f可以删除权限为只读的文件,-f意为强制的意思,因此rm -r -f才是真正的可以删除一切文件。 

7、man指令 

        因为Linux的指令有很多,若有些记不住则可以查看联机手册,则直接在Linux下通过man指令进行手册的查看,甚至一些c语言的库函数也可以通过man指令查找。

        语法:man [选项] 命令/库函数 

        比如查找指令ls的用法:


         也可以使用man man直接打开手册的具体内容(手册总共分八章):

        比如我们要查找strlen函数的具体用法,可以使用指令man 3(对应手册第三章的内容) strlen,指令测试如下:

8、cp指令

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

        cp的功能就是拷贝文件,若没有选项,则cp只能拷贝普通文件,cp拷贝普通文件的测试代码如下:


        若想拷贝目录,则选项要为-r,即cp -r 目录名,测试指令如下:

9、move指令

         语法:mv [选项] 源文件 目标处/新的名字 

        move的缩写是mv,他的作用是可以移到文件或者将文件重命名,若mv的第二个参数是路径则发生的是移动,mv移动的指令:


        若mv的第二个参数是一个文件名则发生的是重命名,mv进行重命名的测试:

结语 

        以上就是关于Linux下的基础指令讲解,可以发现这些基础指令实现的是对文件的添加、删除、查看文件属性、修改文件名,以及路径的更换,只不过有些指令只对普通文件生效,而对目录的指令则需要多加一些选项。

        最后希望本文可以给你带来更多的收获,如果本文对你起到了帮助,希望可以动动小指头帮忙点赞👍+关注😎+收藏👌!如果有遗漏或者有误的地方欢迎大家在评论区补充,谢谢大家!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【智能算法】斑鬣狗优化算法(SHO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过。 3.代码实现4.参考文献 1.背景 2017年,Dhiman等人受到斑鬣狗自然狩猎行为启发,提出了斑鬣狗优化算法(Spotted Hyena Optimizer, SHO)。 2.算法原理 2.1算法思想 SHO将斑鬣狗狩猎行为分为围捕-狩猎-进攻三…

多线程JUC 第2季 wait和notify唤醒机制

一 wait和notify的区别与相同 1.1 wait和notify的作用 1) 使用wait()、notify()和notifyAII()时需要先对调用对象加锁。否则直接调用的话会抛出 IllegalMonitorStateExceptiona。 2) 调用wait()方法后,线程状态。由RUNNING变为WAITING,并将当前线程放置…

wordpress子比主题7.6美化插件及新手零基础搭建教程源码下载

版权申请:本文A5资源网原创,经原创作者允许转载许可声明。下载地址http://a5.org.cn/a5_ziyuan/39172.html 本源码由网友在某宝二十几元购买,现分享给大家。下图为源码文件及演示图,安装教程比较详细新手零基础就可搭建 子比主…

NeRF——基于神经辐射场的三维场景重建和理解

概述 三维重建是一种将物理世界中的实体转换为数字模型的计算机技术。其基本概念是通过对物理世界中的物体或场景进行扫描或拍摄,并使用计算机算法将其转换为三维数字模型。抽象意义上的三维模型指的是:形状和外观的组合,并且可以渲染成不同…

【Redis知识点总结】(四)——如何保证缓存与数据库中的数据一致性

Redis知识点总结(四)——如何保证缓存与数据库中的数据一致性 更新缓存删除缓存先删除缓存后更新数据库先更新数据库后删除缓存 使用canal总结 面试会经常遇到这种问题:你们如何保证缓存与数据库中的数据一致性?或者是&#xff1a…

小白必看的Python基础之函数篇

函数最重要的目的是方便我们重复使用相同的一段程序。 将一些操作隶属于一个函数,以后你想实现相同的操作的时候,只用调用函数名就可以,而不需要重复敲所有的语句。 函数的定义 首先,我们要定义一个函数, 以说明这个函数的功能…

把软件加入开机自启动

注意这个方法最佳效果是适用于打开软件后,关闭窗口不会停止服务 例如 nginx 1.把nginx的快捷方式放到如图所示的文件夹下 C:\Users\KIA_27\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 注意KIA_27应改为你自己的用户名

从政府工作报告探计算机行业发展——探索计算机行业发展蓝图

目录 前言 一、政策导向与行业发展 (一)政策导向的影响 (二)企业如何把握政策机遇推动创新发展 二、技术创新与产业升级 三、数字经济与数字化转型 四、国际合作与竞争态势 五、行业人才培养与科技创新 (一&a…

KubeSphere集群安装-nfs分布式文件共享-对接Harbor-对接阿里云镜像仓库-遇到踩坑记录

KubeSphere安装和使用集群版 官网:https://www.kubesphere.io/zh/ 使用 KubeKey 内置 HAproxy 创建高可用集群:https://www.kubesphere.io/zh/docs/v3.3/installing-on-linux/high-availability-configurations/internal-ha-configuration/ 特别注意 安装前注意必须把当前使…

【十】【算法分析与设计】滑动窗口(1)

209. 长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续 子数组 [nums(l), nums(l1), ..., nums(r-1), nums(r)] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 …

[嵌入式系统-40]:龙芯1B 开发学习套件 -10-PMON启动过程start.S详解

目录 一、龙芯向量表与启动程序的入口(复位向量) 1.1 复位向量: 1.2 代码执行流程 1.3 计算机的南桥 VS 北桥 二、PMON代码执行流程 三、Start.S详解 3.1 CPU初始化时所需要的宏定义 (1)与CPU相关的一些宏定义…

[游戏开发][UE5.3]GAS学习心得

GAS(GameplayAbilitySystem) UE提供的一套技能框架,这个框架也不是万能的,甚至各个部件你要进行封装开发,但这也比你从头写一套技能框架要容易很多。 GAS功能极其强大,所以它是一个庞大的系统,如果想运用得当&#x…

深度学习pytorch——基本运算(持续更新)

基本运算——加、减、乘、除 建议直接使用运算符,函数和运算符的效果相同 代码演示: #%% # 加减乘除 a torch.rand(3,4) b torch.rand(4) # 这里a、b可以相加,别忘了pytorch的broadcast机制 print(ab) print(torch.add(a,b)) print(torc…

MySQL中的索引失效情况介绍

MySQL中的索引是提高查询性能的重要工具。然而,在某些情况下,索引可能无法发挥作用,甚至导致查询性能下降。在本教程中,我们将探讨MySQL中常见的索引失效情况,以及它们的特点和简单的例子。 1. **索引失效的情况** …

代码算法训练营day9 | 28. 实现 strStr() 、459.重复的子字符串

day9: 28. 实现 strStr()KMP的主要应用:什么是前缀表:前缀表是如何记录的: 如何计算前缀表:构造next数组:1、初始化2、处理前后缀不相同的情况3、处理前后缀相同的情况 代码: 459.重复的子字符串…

Python入门(三)

序列 序列是有顺序的数据集合。序列包含的一个数据被称为元素,序列可以由一个或多个元素组成,也是可以没有任何元素的空序列。 序列的类型 元组(定值表):一旦建立,各个元素不可再更变,所以一…

Linux文件操作

pwd命令 cd命令 ls命令 mkdir命令 同时创建父子目录 cp命令 mv命令(相当于用cp复制之后,把源文件删除) 用mv命令来冲命令 rm命令 可以看到,我们用当前目录的文件覆盖了目标路径上的文件,并且目标路径中多了一个以波浪…

5 张图带你了解分布式事务 Saga 模式中的状态机

大家好,我是君哥。 状态机在我们的工作中应用非常广泛,今天聊一聊分布式事务中间件 Seata 中 Saga 模式的状态机。 1 状态机简介 状态机是一个数学模型,它将工作中的运行状态和流转规则抽象出来,可以协调相关信号来完成预先设定…

构造-析构-拷贝构造-赋值运算符重载-const成员函数

1. 类的6个默认成员函数 如果一个类中什么成员都没有,简称为空类。 空类中真的什么都没有吗?并不是,任何类在什么时候都不写时,编译器会自动生成以下6个成员函数。 默认成员函数:用户没有显式实现,编译器…

C++之deque与vector、list对比分析

一.deque讲解 对于vector和list,前一个是顺序表,后一个是带头双向循环链表,前面我们已经实现过,这里就不再讲解了,直接上deque了。 deque:双端队列 常见接口大家可以查看下面链接: deque - …