linux基本指令的学习

文章目录

  • ls指令
  • pwd指令
    • 小知识
  • cd 指令
    • 小知识
  • touch 指令
  • mkdir指令
  • rm指令
    • 小知识
  • man指令
  • cp指令
  • mv指令
  • cat,more,less指令
  • 小知识 (echo)
  • head 和 tail指令
    • 小知识 (管道)
  • date指令
    • 小知识 (时间戳)
  • find指令
    • 小知识 (which) 揭秘指令
    • 小知识 alias (去别名)
  • grep指令
  • zip/unzip 指令

这里和windows系统做个过渡:

Windows中文件对应的就是linux中的文件,文件夹 --> linux的目录。

同时:linux中一切皆为文件。(小知识)

ls指令

罗列当前目录下的指定文件或目录。

在这里插入图片描述
在这里插入图片描述
如上图红色标记出,我们的ls指令还可以带有选项,这里我们只列举了 l s − l ls -l lsl l s − a ls -a lsa 这两个常用的。

语法格式: ls [空格] - [选项]

同时这些选项可以组合一起使用,顺序没有关系。
l s − a : ls -a: lsa 罗列当前目录的隐藏文件。
l s − l : ls -l: lsl 罗列出文件的详细信息。
在这里插入图片描述
在这里插入图片描述
至于其他的则是文件的属性

文件 = 文件内容 + 属性。

在这里插入图片描述

pwd指令

显示当前所在的目录位置

在这里插入图片描述
这里顺便说一下,在linux中有 root(超级用户)普通用户 之分,普通用户默认是在家目录的字目录下,并不能进入 root 的目录。
在这里插入图片描述
如上图,此时我们就在 root目录下。

小知识

在windos中我们使用 ’ \ '来做目录分隔符。
在这里插入图片描述
而在linux中我们是以 ’ / '来做目录分隔符
在这里插入图片描述

cd 指令

进入指定目录

在这里插入图片描述
同时 cd 也可以进行切换路径的作用。

  • c d cd cd . . / ../ ../ [点点] 表示上一级目录
  • c d cd cd . / ./ ./ [点] 表示当前目录

当然这里的路径分隔符也可以不加。

小知识

linux 的目录结构其实是一块多叉树。

在这里插入图片描述
由于我们 cd …/ 返回上一级父目录,而父目录只有一个,那也就说明我们呢根目录 -> 指定目录路径唯一
在这里插入图片描述
由于路径具有唯一性,这也是为什么我们可以 cd 进入指定目录的原因。
同时 linux还提供了一种方法验证目录结构为多叉树。

在这里插入图片描述

touch 指令

在windows中我们可以创建各种类型的文件,那么在Linux中也不例外。

在这里插入图片描述

mkdir指令

创建目录(文件夹)

在这里插入图片描述
那如何创建多级目录呢?这就需要用到 mkdir指令的选项

  • mkdir -p 递归创建多级目录
  • rm -r 递归删除非空 (这里只是适合删除多级目录)

如果想要删除单个空目录,我们就使用 r m d i r rmdir rmdir,如果这个目录里面有文件或者子目录,就需要用到 rm -r (递归删除)

在这里插入图片描述
这里需要注意: 当我们在root用户下执行上述操作的时候,每次递归都会询问是否删除,这里我是在普通用户下执行的所以不存在这种问题。

rm指令

有上述例子我们可以直到 rm 可以删除多级目录,虽然 rm 不可以删除单个空目录,但是rm 直接删除文件确实可以的。

在这里插入图片描述
同时 rm 还有一个选项 -f

  • rm -rf (递归强制删除文件或者目录)这里就不做演示了 [doeg]

小知识

linux中按 T a b Tab Tab 建可以进行不全,同时快速按两下Tab键可以补全路径
在这里插入图片描述
如上图,当我们cd想要进入某个指定目录但是我们却忘了当前目录有啥的时候,就可以快速按两下Tab键,可以显示当前目录的内容。

man指令

man指令可以看作是指令的词典,哪个忘了或者不会直接查就可以了。

  • 语法格式: m a n man man + 指令 指令 指令
  • 甚至可以查看 c语言的 p r i n t f ( ) printf() printf()

在这里插入图片描述
退出的话直接按q就可以了。
在这里插入图片描述
如何直到自己有没有安装man呢?
在这里插入图片描述
如果没有的话直接运行如下指令即可:

  • y u m yum yum [空格] i n s t a l l install install [空格] − y -y y [空格] m a n − p a g e s man-pages manpages
    在这里插入图片描述

cp指令

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

这里我们演示拷贝文件到指定目录下。
在这里插入图片描述
在这里插入图片描述

mv指令

  • 剪切文件、目录
  • 重命名

在这里插入图片描述

cat,more,less指令

这三个都是查看文件内容的指令。

cat [选项] [文件]

区别:cat不适合查看大文件,因为 cat是把文件的内容一次性输出到屏幕上的,所以如果文件内容太多就会出现刷屏的效果。

m o r e more more: 一次只输出以页(屏幕大小),然后按 e n t e r enter enter 可以向下移动,不过只能按 e n t e r enter enter建。

l e s s less less:(常用),也是一次只输出以页(屏幕大小),不过可以按上下建调整,同时输入 / + 内容可以进行查找内容。

在这里插入图片描述
同时,此时我们按 小写 n 小写n 小写n,可以继续向下匹配, 大写 n 大写n 大写n 向上匹配。退出直接按q就可以了

小知识 (echo)

在我们linux中,一切皆对象,例如键盘、屏幕,其实都是一个文件。在C语言和C++中,我们使用
p r i n t f printf printf c o u t cout cout 其实就是打印内容到显示器上 --> 向显示器文件中写入数据。

s c a n f scanf scanf c i n cin cin 读取键盘内容 --> 读取键盘文件的数据。

这里有一个指令 e c h o echo echo

echo “hello world” 就是向显示器文件中写入 “hello world”。这里的echo默认会加一个换行。

在这里插入图片描述
同时我们的echo还可以向文件中写入数据。

在这里插入图片描述
所以现在我们其实就可以使用 > > > + 文件名来创建文件了 [doeg]。

那我如果就想往里面追加内容呢?
在这里插入图片描述

有输出那就有输入。

在这里插入图片描述
如果 cat 后面什么都不加的话,就默认从显示器文件读取,推出的话直接按 c t r l ctrl ctrl + D,或者 c t r l ctrl ctrl + C

head 和 tail指令

显示指定文件的前 n 行 或 后 n 行 。n 是一个具体的数字,默认为10.

head(tail) -n(具体数字) [文件名]

在这里插入图片描述

小知识 (管道)

那如果我想要获取当前文件的 [ 5000 , 5020 ] [5000,5020] [5000,5020] 这一段区间的内容呢?

在这里插入图片描述

date指令

格式如下:

  • %H : 小时(00…23)
  • %M : 分钟(00…59)
  • %S : 秒(00…61) (大写)
  • %X : 相当于 %H:%M:%S
  • %d : 日 (01…31)
  • %m : 月份 (01…12)
  • %Y : 完整年份 (0000…9999)

在这里插入图片描述

小知识 (时间戳)

由于世界上各个地方存在时差,那么在互联网时代,人们联系日益增进,那么时差就会很烦,所以我们以一个时间为准,规定从当前时间为准,算时间戳(以秒为单位),这样我们日后进行交易等等,就不会存在时差的问题了。

格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)

在这里插入图片描述
当然了我们也可以利用时间戳来算出秒数对应的日期。

在这里插入图片描述
当然也可以转换一下格式
在这里插入图片描述

find指令

由于find指令功能很强大,所以选项也很多,这里我们先学一个 -name 。选项

  • -name 按照文件名查找文件

语法格式: f i n d find find + p a t h n a m e pathname pathname + 选项 选项 选项

在这里插入图片描述

小知识 (which) 揭秘指令

查找系统命令所在位置的指令

在这里插入图片描述
我们发现这些我们用的指令他们都在 一个 bin目录下。
在这里插入图片描述

当我们进入bin目录再ls就可以看到所有的指令了。那么指令究竟是什么呢?为什么我们可以直接使用呢?
我们先自己写一个简单的程序。
在这里插入图片描述
如上图此时我们的 m y c o m m e n d mycommend mycommend 程序是一个exe文件,当我们 ./mycommend 的时候就可以直接运行这个可执行程序了,那如果我们把当前的可执行程序移动到我们的 bin目录下会发生什么呢?

在这里插入图片描述
如上图,当我们把我们自已写的可执行程序移动到Bin目录底下之后,发现我们不需要在使用 ./mycommend就可以直接运行我们的mycommend了,那么就说明,我们平常使用的指令其实就是一个又一个的可执行程序,并没有什么高级的。就是写好的c/c++ 的二进制文件拷贝到 bin目录下,当我们使用的时候其实是linux去相应的目录调用可执行程序。

那么我们也可以这样调用在这里插入图片描述
只不过这样显得有点搓,所以linux让我们直接输入指令自动就去调用对应bin目录下的可执行程序了。

小知识 alias (去别名)

在这里插入图片描述
下面两段有什么不同呢?我们发现一个我们的mycmd可执行程序有颜色,一个没有?

在这里插入图片描述

在这里插入图片描述
如上图,其实我们的ls默认是给 ls --color=auto 去了个别名,这也是为什么我们直接 ls -l那个可执行程序带了颜色的原因。

那么我们也可以给指令取别名。
在这里插入图片描述
这个别名并不存在,当我们重启我们的linux机器的时候,ddd就失效了。

grep指令

语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来

选项:

  • -i 忽略大小写
  • -v 查找到谁就抛弃他,其他的留下来
  • -n 添加行号(源文件中的)
    在这里插入图片描述
    行号示例:
    在这里插入图片描述

zip/unzip 指令

压缩/解压缩。

zip语法:zip + filename.zip + 解压文件或目录

在这里插入图片描述

unzip 语法:

unzip + 解压文件

在这里插入图片描述

不加 -d 的话默认解压到当前目录。

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

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

相关文章

STM32(五):STM32指南者-按键控制灯开关实验

说明:源代码和教程可从野火处下载,本博客为了记录学习过程STM32(四):STM32指南者-跑马灯实验的基础上 一、采用轮询方式1、bsp_key.h2、bsp_key.c3、main.c 二、采用中断方式1、bsp_exti.h2、bsp_exti.c3、stm32f10x_i…

ARM架构(一)—— ARMV8V9基础概念

目录 1.ARMCore的时间线2.ARM术语小结2.1 A64和arrch642.2ARM架构现在的5个系列2.3 微架构2.4 PE2.5 Banked2.6 ARM文档术语2.7 IMPLEMENTATION DEFINFD 和 DEPRECATED2.8 EL1t和EL1h 3 ARMv7的软件架构4 安全状态切换模型4.1 Secure state和Non-secure state介绍 5 Interproce…

鸿蒙模拟器(HarmonyOS Emulator)Beta申请审核流程

文 | Promise Sun 一.背景: 鸿蒙项目开发需要使用模拟器进行开发测试,但目前想在DevEco Studio开发工具中使用模拟器就必须到华为官网进行报名申请,参加“鸿蒙模拟器(HarmonyOS Emulator)Beta活动申请”。 申请审核通…

cleanshot Mac 上的截图工具

笔者闲来无事,最近在找一些mac上好用的工具其中一款就是cleanShot。为什么不用原有的mac自带的呢。因为相对来说编辑功能不算全面,不支持长截图。那有没有一款软件支持关于截图的好用工具呢。 所以笔者找了这款。安装包是直接安装就可使用的。请大家点赞…

AI算法17-贝叶斯岭回归算法Bayesian Ridge Regression | BRR

贝叶斯岭回归算法简介 贝叶斯岭回归(Bayesian Ridge Regression)是一种回归分析方法,它结合了岭回归(Ridge Regression)的正则化特性和贝叶斯统计的推断能力。这种方法在处理具有大量特征的数据集时特别有用&#xff…

STM32第九课:STM32-基于标准库的42步进电机的简单I/O控制(附电机教程,看到即赚到)

一:步进电机简介 步进电机又称为脉冲电机,简而言之,就是一步一步前进的电机。基于最基本的电磁铁原理,它是一种可以自由回转的电磁铁,其动作原理是依靠气隙磁导的变化来产生电磁转矩,步进电机的角位移量与输入的脉冲个数严格成正比…

4000厂商默认账号密码、默认登录凭证汇总.pdf

获取方式: 链接:https://pan.baidu.com/s/1F8ho42HTQhebKURWWVW1BQ?pwdy2u5 提取码:y2u5

Linux编程乐趣《简单、有趣、好玩的Linux命令》

文章目录 一、黑客帝国(cmatrix)1.1 centOS 手动安装:1.2 . 运行1.3 . 效果 二、cal命令三、htop四、sl:蒸汽火车五、cowsay:会说话的小牛六、boxes七、pv 一、黑客帝国(cmatrix) 1.1 centOS 手动安装: #…

2024.7.12单片机PWM

遇到了一个光标变成下划线的问题: Keil5光标变下划线,变回来的方法_keil5光标是下划线-CSDN博客 这里是用了输入捕获(IC:input capture),输出比较(OC:Output Compare)区别 学到这…

加速访问:优秀的Python、Java、Javascript和Linux镜像站点推荐

前言 当访问位于国外的官方网站时,常常会面临到网速缓慢或者无法访问的问题,这不仅令人沮丧,也影响了工作效率。为了解决这些问题,我开始寻找并使用一些镜像站点,特别是在Python、Java、Javascript和Linux等领域。 这…

3DMAX造山地形插件Mountain使用方法详解

3DMAX造山地形插件Mountain使用教程 3DMAX造山地形插件Mountain,用于在3dMax中轻松快速地创建逼真的山脉地形。它具有交互性、快速性和易用性,初学者只需点击一下即可,高级用户可以使用各种丰富的参数。Mountain创建简单的3dMax几何体&#x…

C++ //练习 15.17 尝试定义一个Disc_quote的对象,看看编译器给出的错误信息是什么?

C Primer(第5版) 练习 15.17 练习 15.17 尝试定义一个Disc_quote的对象,看看编译器给出的错误信息是什么? 环境:Linux Ubuntu(云服务器) 工具:vim 代码块 /********************…

Python机器学习、深度学习技术提升气象、海洋、水文领域实践技术

Python是功能强大、免费、开源,实现面向对象的编程语言,能够在不同操作系统和平台使用,简洁的语法和解释性语言使其成为理想的脚本语言。除了标准库,还有丰富的第三方库,Python在数据处理、科学计算、数学建模、数据挖…

STM32+TMC2209控制步进电机正反转。

STM32F103ZET6TMC2209控制步进电机正反转 1. 步进电机介绍2 驱动器TMC2209介绍2.1 引脚图及其功能2.2 细分介绍2.3 TMC控制驱动器接法 3 控制器介绍3.1 确定控制引脚3.2 UBEMX配置3.2.1 GPIO配置3.2.2 NVIC配置3.2.3 RCC配置3.2.4 SYS配置3.2.5 USRAT2配置(PS:没用上…

《Programming from the Ground Up》阅读笔记:p49-p74

《Programming from the Ground Up》学习第3天,p49-p74总结,总计26页。 一、技术总结 1.function (1)定义 p49, Functions are unit of code that do a defined piece of work on specified types of data。 函数是在指定类型的数据上完成所定义的某…

实验二:图像灰度修正

目录 一、实验目的 二、实验原理 三、实验内容 四、源程序和结果 源程序(python): 结果: 五、结果分析 一、实验目的 掌握常用的图像灰度级修正方法,包括图象的线性和非线性灰度点运算和直方图均衡化法,加深对灰度直方图的理解。掌握对比度增强、直方图增强的原理,…

数据库启动报ORA-600 6711故障分析处理---惜分飞

几个月以前的一个数据库故障,今天拿出来在win上重新分析,数据库启动报ORA-600 6711错 C:\Users\XFF>SQLPLUS / AS SYSDBA SQL*Plus: Release 12.1.0.2.0 Production on 星期日 7月 14 16:17:32 2024 Copyright (c) 1982, 2014, Oracle. All rights reserved. 已连接到空…

发那科机床切换程序号

此需求一般出现在要通过发那科机床做自动化单元的情况。通过发那科SDK给发那科寄存器指令,进而实现,机床自动程序号切换。 一、更改3006参数:开启工件号检索功能 二、更改G24的值(0-9999) G24为需要切换的程序号。 三、…

UML顺序图的建模技术及应用示例

新书速览|《UML 2.5基础、建模与设计实践》 顺序图是强调消息时间顺序的交互图,它描述了对象之间传送消息的时间顺序,用于表示用例中的行为顺序。顺序图将交互关系表示为一个二维图,横轴代表在协作中各独立对象的类元角色;纵轴是…