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

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

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

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

相关文章

Prometheus 轻量化部署和使用

文章目录 说明Prometheus简介Grafana简介prometheus和Grafana的关系环境准备(docker)docker安装时间时区问题(我的代码中)dockers镜像加速和服务器时区设置 数据库准备(mysql、redis)mysql配置redis配置 Prometheus、grafana下载和…

最小化战斗力差距——算法思路

题目链接:1.最小化战斗力差距 - 蓝桥云课 (lanqiao.cn) 可分析,把一个数组分成两组,求一组的最大值与另一组的最小值的差值的绝对值最小,可以转换为求任意两个相邻数字之间的最小插值的绝对值。 可看图示: package lan…

一文速通ESP32(基于MicroPython)——含示例代码

ESP32 简介 ESP32-S3 是一款集成 2.4 GHz Wi-Fi 和 Bluetooth 5 (LE) 的 MCU 芯片,支持远距离模式 (Long Range)。ESP32-S3 搭载 Xtensa 32 位 LX7 双核处理器,主频高达 240 MHz,内置 512 KB SRAM (TCM),具有 45 个可编程 GPIO 管…

App推广不再难!Xinstall神器助你快速获客,提升用户留存

在如今的移动互联网时代,App推广已经成为了各大应用商家争夺用户的重要手段。然而,面对竞争激烈的市场环境,如何快速提升推广效率,先人一步获得用户呢?这就需要我们借助专业的App全渠道统计服务商——Xinstall的力量。…

MySQL 多表查询强化练习

环境准备 create table dept(id int PRIMARY KEY,dname VARCHAR(50),loc VARCHAR(50) ); insert into dept values (10,研发部,北京), (20,学工部, 上海), (30,销售部,广州 ), (40,财务部,深圳);create table job(id int PRIMARY KEY,jname VARCHAR(20),descripition VARCHAR(…

机器学习——压缩网络作业

文章目录 任务描述介绍知识蒸馏网络设计 Baseline实践 任务描述 网络压缩:使用小模型模拟大模型的预测/准确性。在这个任务中,需要训练一个非常小的模型来完成HW3,即在food-11数据集上进行分类。 介绍 有许多种网络/模型压缩的类型&#xff0…

ElasticSearch常见用法,看这一篇就够了(文末送书)

2024送书福利正式起航 关注「哪吒编程」,提升Java技能 文末送3本《一本书讲透Elasticsearch:原理、进阶与工程实践》 大家好,我是哪吒。 ElasticSearch是一款由Java开发的开源搜索引擎,它以其出色的实时搜索、稳定可靠、快速安…

【Linux】进程与可执行程序的关系fork创建子进程写实拷贝的理解

一、进程与可执行程序之间关系的理解 系统会将此时在系统运行的进程的各种属性都以文件的形式给你保存在系统的proc目录下。运行一个程序的时候,本质就是把磁盘中的程序拷贝到内存中,当一个进程运行起来的时候,它本质已经和磁盘中的可执行程序…

Epuck2 在 ROS 下的运动控制

文章目录 前言一、初始配置二、运动控制三、移动机器人总结 前言 在对Epuck2机器人进行完固件更新及IP地址查询后,接下来通过ROS来对Epuck2机器人进行运动控制。 一、初始配置 (1)创建一个 catkin 工作空间 mkdir -p ~/catkin_ws/src cd ~…

cmd常用指令

cmd全称Command Prompt,中文译为命令提示符。 命令提示符是在操作系统中,提示进行命令输入的一种工作提示符。 在不同的操作系统环境下,命令提示符各不相同。 在windows环境下,命令行程序为cmd.exe,是一个32位的命令…

通俗易懂的Python循环讲解

循环用于重复执行一些程序块。从上一讲的选择结构,我们已经看到了如何用缩进来表示程序块的隶属关系。循环也会用到类似的写法。 for循环 for循环需要预先设定好循环的次数(n),然后执行隶属于for的语句n次。 基本构造是 for 元素 in 序列: statemen…

ClickHouse中的设置的分类

ClickHouse中的各种设置 ClickHouse中的设置有几百个,下面对这些设置做了一个简单的分类。

C语言疑难题:杨辉三角形、辗转相除求最大公约数、求π的近似值、兔子问题、打印菱形

杨辉三角形&#xff1a;打印杨辉三角形的前10行 /* 杨辉三角形&#xff1a;打印杨辉三角形的前10行 */ #include<stdio.h> int main(){ int i,j; int a[10][10]; printf("\n"); for(i0;i<10;i){ a[i][0]1; a[i][i]1; …

提升Java IO性能!探究BufferedOutputStream的奥秘

咦咦咦&#xff0c;各位小可爱&#xff0c;我是你们的好伙伴——bug菌&#xff0c;今天又来给大家普及Java IO相关知识点了&#xff0c;别躲起来啊&#xff0c;听我讲干货还不快点赞&#xff0c;赞多了我就有动力讲得更嗨啦&#xff01;所以呀&#xff0c;养成先点赞后阅读的好…

【系统架构师】-第4章-信息安全技术

1、基础知识 五要素&#xff1a; (1)机密性&#xff1a;确保信息不暴露给未授权的实体或进程。 (2)完整性&#xff1a;只有得到允许的人才能修改数据&#xff0c;并且能够判别出数据是否已被篡改。 (3)可用性&#xff1a;得到授权的实体在需要时可访问数据&#xff0c;即攻击…

力扣刷题Days20-151. 反转字符串中的单词(js)

目录 1,题目 2&#xff0c;代码 1&#xff0c;利用js函数 2&#xff0c;双指针 3&#xff0c;双指针加队列 3&#xff0c;学习与总结 1&#xff0c;正则表达式 / \s /&#xff1a; 2&#xff0c;结合使用 split 和正则表达式&#xff1a; 1,题目 给你一个字符串 s &am…

ChatGPT提示词方法的原理

关于提示词&#xff0c;我之前的一些文章可以参考&#xff1a; 【AIGC】AI作图最全提示词prompt集合&#xff08;收藏级&#xff09;https://giszz.blog.csdn.net/article/details/134815245?ydrefereraHR0cHM6Ly9tcC5jc2RuLm5ldC9tcF9ibG9nL21hbmFnZS9hcnRpY2xlP3NwbT0xMDExL…

RunnerGo测试平台的安装和使用

文章适用于想RunnerGo入门的同学&#xff0c;本人主要是后端&#xff0c;这里做一个入门的学习记录。想深入适用RunnerGo的同学可以参考官网文档&#xff1a; https://wiki.runnergo.cn/docs/ 这里我测试的代码是之前搭建的一个前后端分离小demo&#xff0c;代码地址是https:/…

Rocket MQ 从入门到实践

为什么要使用消息队列&#xff0c;解决什么问题&#xff1f;&#xff08;消峰、解藕、异步&#xff09; 消峰填谷 客户端》 网关 〉 消息队列》秒杀服务 异步解耦 消息队列中的重要概念理解。&#xff08;主题、消费组、队列&#xff0c;游标&#xff1f;&#xff09; 主题&…

Vulnhub - Toppo

希望和各位大佬一起学习&#xff0c;如果文章内容有错请多多指正&#xff0c;谢谢&#xff01; 个人博客链接&#xff1a;CH4SER的个人BLOG – Welcome To Ch4sers Blog Toppo 靶机下载地址&#xff1a;Toppo: 1 ~ VulnHub 搭建&#xff1a;创建任意虚拟机&#xff0c;然后…