【Linux修炼手册:基本指令(上)】

news/2024/4/29 22:30:42/文章来源:https://blog.csdn.net/m0_68872612/article/details/127773674

目录

1 ls 指令

2 pwd命令

3 cd 指令

4 touch指令

5 mkdir指令(重要)

6 rmdir指令 && rm 指令(重要)

7 cp指令(重要)

8 mv指令(重要)

9 cat

总结:


1 ls 指令

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

功能对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

首先我们来看只用ls命令不带选项的情况:

 我们不难发现,只用ls命令不带选项只是会列举该目录下所有子目录与文件,只有目录名或者文件名,没有其他详细信息。

而当我们为其带上选项后:如带上 -l

 就会列出文件的详细信息(包括文件的属性)

此命令还可以简写为:ll

 这两个是等价的。

其他常用选项:

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

我们可以来试用这些命令:

ls -la:

 ls -la等价与ls -l -a,与我们前面说的类似,有些命令可以合并。那这里的.和..又是什么意思呢?

.表示当前目录

..表示上级目录

 

 我们可以通过cd..返回到上级目录,然后通过pwd命令显示用户当前所在的目录(cd和pwd这两个命令都很简单,后面也会提及),至于关于其他有关ls的带选项的命令我这里就不一一展示了,大家有兴趣可以自己下去试试。


2 pwd命令

语法: pwd
功能显示用户当前所在的目录
常用选项:无

3 cd 指令

语法:cd 目录名
功能改变工作目录。将当前工作目录改变到指定的目录下。
举例
  • cd .. : 返回上级目录
  • cd /home/litao/linux/ : 绝对路径
  • cd ../day02/ : 相对路径
  • cd ~:进入用户家目
  • cd -:返回最近访问目录

 在这里我们就得了解什么是绝对路径?什么是相对路径?

我们知道在Windows中路径分隔符是用'\'(反斜杠),而Linux中路径分隔符是用'/'(斜杠).Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。

我们不难发现这些文件和目录本质上就形成了一颗多叉树,而这些子文件和子目录的公共祖先我们把它称为根目录('/'),也就是说当我们不断回退回退到根目录时就不会再回退了。

 那这和绝对路径相对路径有啥关呢?

绝对路径:路径从根目录出发。一般在配置某些文件中,对某种文件进行配置的时候采用。

相对路径:路径从当前目录出发,用起来比较方便,也是后面我们指令操作时,路径定位的常用方式。

我们可以来试试:

我们不难发现通过绝对路径找我们始终是从根目录下寻找,所以不用回退到上一级目录,而相对路径寻找的时候我们有可能要通过回退才能找到我们想要的路径。

 

 


4 touch指令

语法:touch [选项]... 文件...
功能touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
常用选项
-a   或--time=atime或--time=access或--time=use只更改存取时间。
-c   或--no-create  不建立任何文档。
-d  使用指定的日期时间,而非现在的时间。
-f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m   或--time=mtime或--time=modify  只更改变动时间。
-r  把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t  使用指定的日期时间,而非现在的时间。

 touch 一般我们都是用来建立一个文件(注意:touch不能用来建立目录

在这里,我们提前了解一个有意思的命令:tree

第一次使用tree命令需要安装,安装的命令为:

yum install -y tree

我们可以在lesson3后面创建一个名为text3.c的文件:

 通过tree来查看文件和目录就更为清楚了。


5 mkdir指令(重要)

语法mkdir [选项] dirname...
功能在当前目录下创建一个名为 “dirname”的目录
常用选项
-p, --parents  可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录

 使用mkdir递归创建多个目录一定要加上-p选项:

 


6 rmdir指令 && rm 指令(重要)

rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。
语法rmdir [-p][dirName]
适用对象具有当前目录操作权限的所有使用者
功能删除空目录
常用选项
-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
rm命令可以同时删除文件或目录
语法rm [选项][dirName/dir]
适用对象所有使用者
功能删除文件或目录
常用选项
  • -f 即使文件属性为只读(即写保护),亦直接删除
  • -i 删除前逐一询问确认
  • -r 删除目录及其下所有文件

 通过上面命令的介绍我们不难发现rmdir只能删除空目录:

 但是rm可以删文件也可以删目录,不管是否为空:

 当我们只带-r选项时,操作系统会一次询问我们是否要删去?y表示yes,n表示no.

但是我们如果用-rf选项时就直接删除,不会询问。

另外大家谨慎使用:rm -rf /  

该命令会将根目录下的所有文件和目录全部删完,如果是云服务器还好,重装一个花不了多少时间,但如果是用的虚拟机的话就比较麻烦了,强烈建议大家不要轻易尝试。


7 cp指令(重要)

语法cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
常用选项:
  • -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在 。
  • -i 或 --interactive 覆盖文件之前先询问用户 。
  • -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理 。
  • -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理。

 我们可以简单试试:

 我们还可以通过-rf选项强制递归拷贝多个文件或者目录:

 假设目的目录不存在又会发生什么呢?

 


8 mv指令(重要)

mv命令是move的缩写,可以用来移动文件或者将文件改名move (rename) fifiles),是Linux系统下常用的命令,经常用来备份文件或者目录。
语法: mv [选项] 源文件或目录 目标文件或目录
功能:
1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
常用选项:
  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖

我们可以来试试:

 我们不难发现,用mv移动多级目录的时候是不用带-r选项的。

如何用mv指令给文件或则目录改名呢?

 这里要想得到正确的改名还得在目标文件和目录带上正确的路径,否则将会得不到想要的结果。


9 cat

语法cat [选项][文件]
功能 查看目标文件的内容
常用选项
  • -b 对非空输出行编号
  • -n 对输出的所有行编号
  • -s 不输出多行空行

在这之前我们先解决一个问题:如何打开一个文件并且向里面编写我们想要的代码呢?

这里我们先不讲vim(vim在后面我们会详细讲解)除了用vim我们还能用一些更为简单的工具吗?

答案肯定是有的:那就是nano

第一次使用nano命令需要用下面的命令安装:

yum install -y nano

安装好之后我们就可以通过:nano +文件名进去写代码了:

 这个工具就跟记事本一样,不会给你提示有关代码编写的快捷,当我们编写好了之后应该怎样保存退出呢?

先按Ctrl+x,然后按y再回车就保存退出了。

我们可以看到text3.c中已经有数据了:

 那我们想看text3.c中内容该怎么办?

这时候就要用cat:

当然我们还可以用-b -s 选项来给出我们想要的行号:

 那我们如何编译呢?

 我们可以用gcc编译器来实现,通过执行当前目录下的a.out文件来得到我们想要的结果。

 我们再来认识一个命令:stat

它的作用是获取文件的所有属性

 在这之前我们还得了解一个常识:任何文件都有3个时间分别叫做Access Time  ,Modify Time ,

Change Time.(为了好记住可以记作ACM),至于这3个时间分别代表什么意思?我后面的博客会给大家介绍,这里就不再多讲了。


总结:

Linux基本命令这一块儿听着或许有些枯燥,但是这些基本指令我们每一个人都要很好的掌握,这也为后来进一步学习打下基础,基本指令下将在下一篇文章分享,如果该文有什么不对的地方欢迎评论区指正。

 

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

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

相关文章

C语言如何做到四舍五入保留小数

C语言中的格式化打印 : 例如: printf("%.2f",21.195); 输出是 21.20 四舍五入保留了定义宏变量 #define 即符号常量 也能够四舍五入保留 而变量和常变量 并不四舍五入: float a21.195 ;const float b21.195;printf("%.2f \n %.2f&quo…

Java本地搭建宝塔部署实战springboot工艺管理系统源码

大家好啊,我是测评君,欢迎来到web测评。 本期给大家带来一套java开发的工艺管理系统源码,该系统是前后端分离的架构,前端使用Vue2,后端使用SpringBoot2。 技术架构 技术框架:SpringBoot2.0.0 Mybatis1.3.…

【linux】stat文件属性中三个时间的区别(Access time,Modify time,Change time)

在了解这三个时间之前,我们了解什么是stat。 stat 文件名/目录 表示查看这个文件或者目录的属性,当然属性中包括我们的三个时间属性。 例如: OK,了解完stat之后 ,我们开始进入主题:Access time,Modify time,Change t…

几款很好看的爱心表白代码(动态)

分享几款好看的爱心表白代码❤️爱心代码❤️(C语言)❤️流动爱心❤️(htmlcssjs)❤️线条爱心❤️(htmlcssjs)❤️biu表白爱心❤️(htmlcssjs)❤️matlab爱心函数❤️(需…

LSTM--火灾温度预测

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍦 参考文章地址: 365天深度学习训练营-第R2周:LSTM-火灾温度预测🍖 作者:K同学啊一句话介绍LSTM,它是RNN的进阶版,如果…

静态路由———初学

文章目录实验需求:关键命令:静态路由默认路由实验配置接下来是配置pc的IP地址静态路由的配置保存实验需求: PC1 在 LAN1 中,PC2 在 LAN2 中,使用静态路由实现 pc1 和 pc2 之间的互相通信 本实验使用Cisco Packet Tracer 模拟器搭建 所有的路…

公考求的是稳定,搞IT求的是高薪,鱼和熊掌能否兼得?

程序员和公务员,大概是最让大家耳熟能详的两种职业。 这也是中国现代年轻人最具有代表性的两种职业。 程序员是从事程序开发、程序维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软…

Verilog功能模块——Uart收发

摘要本文分享了一种通用的Uart收发模块,可实现Uart协议所支持的任意波特率,任意位宽数据(5~8),任意校验位(无校验、奇校验、偶校验、1校验、0校验),任意停止位(1、1.5、2…

前端反爬思考,好友从百度搜到了我的文章,链接却是别人的

今天感叹可以改完八阿哥早点下班,在吃饭的时候,就想着自己也写了一段时间了,看看百度这个强大的引擎能不能搜到我的博客文章。 1、发现文章被爬走了 吃饭的时候用手机搜的,感觉还挺开心,我还给朋友炫耀,你看…

Import Error: from torchtext.data import to_map_style_dataset解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理…

电子统计台账:快速设置产品的排除与保留

目录 1 基础操作 2 设置垂直过滤模板 2.1 排除法 2.2 保留法 3 完成其他设置 4 小提示:项目导入导出 实践中,企业数据文件中可能有很多产品,中间混杂诸如“累计”、“合计”、“报表人”、“企业负责人”等信息。我们需要用简单的操作完…

洛谷千题详解 | P1018 [NOIP2000 提高组] 乘积最大【C++、Python、Java、pascal语言】

博主主页:Yu仙笙 专栏地址:洛谷千题详解 目录 题目描述 输入格式 输出格式 输入输出样例 解析: C源码: Python源码: Pascal源码: Java源码: -------------------------------------------------…

苯丙氨酸甲酯双三氟甲基磺酰亚胺[PheC1][Tf2N]氨基酸酯离子液体

苯丙氨酸甲酯双三氟甲基磺酰亚胺[PheC1][Tf2N]氨基酸酯离子液体 纯度:95% 外观与形状:液体/固体, 储存:存放于惰性气体之中 应避免湿气 (吸湿) 包装规格(Packing):50g、100g、500g 保存方法:密闭,阴凉,通风干燥处 氨基酸酯…

返回Series或DataFrame中指定列中指定数量的最小值nsmallest()函数

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 返回Series或DataFrame中 指定列中指定数量的最小值 nsmallest()函数 [太阳]选择题 下列说法错误的是? import pandas as pd mySeries pd.Series([31, 21, 11]) print("【显示】mySer…

Numpy手撸softmax regression

算法介绍 Softmax 回归(或多项逻辑回归)是将逻辑回归推广到我们想要处理多个类的情况。 在逻辑回归中,我们假设标签是二元的:y(i)∈{0,1}y^{(i)} \in \{0,1\}y(i)∈{0,1},我们使用这样的分类器来区分两种手写数字。 Softmax 回归…

C#项目实战|人脸识别考勤

此文主要通过WinForm来制作的一个人脸识别考勤打卡程序,有兴趣的小伙伴可以接入到打卡机上。 一、实现流程1.1、创建项目1.2、设计页面1.3、创建应用1.4、获取Token及参数解析1.5、与人脸数据比对并展示一、实现流程 1.1、创建项目 打开Visual Studio,右…

值得入手的键盘——Keychron K8 Pro

目录 一、前言 二、介绍 三、上手体验 四、总结 一、前言 在如今,外设产品市场相当火爆的时代,拥有诸多知名的品 牌,而一个新品牌要在竞争非常激烈的情况下站稳脚跟,实属不易。诞生于2017年的 Keychron 以其品质作为高端战略…

【mcuclub】舵机-SG90

一、实物图(SG90) 二、原理图 编号名称功能1GND电源地(棕色线)2VCC电源正(红色线)3I/O信号线(黄色线) 三、简介 舵机(英文叫Servo),是伺服电机的…

WINDOWS核心编程--Windows程序内部运行机制

现代的桌面应用基本上很少使用原始的 Windows API 进行开发了,因为使用原始 API 堆砌出来的应用代码逻辑非常繁琐,特别是窗口消息的处理非常不方便,大多数直接使用 C# 或者 QT 这种跨平台的开发库,而那种直接封装 Windows API 而存…

C语言经典题目之青蛙跳台阶问题

目录 一、问题描述 二、问题分析 1.当n1时 2.当n2时 3.当n3时 4.n4,n5........nn时 三、代码实现 总结 一、问题描述 一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法。 二、问题分析 青蛙跳台阶&a…