当前位置: 首页 > news >正文

【Linux探索学习】第二弹——Linux的基础指令(中)——夯实基础第二篇

Linux基础指令(上):【Linux探索学习】第一弹——Linux的基本指令(上)——开启Linux学习第一篇-CSDN博客

前言:

在前面我们已经讲解了一些常用的Linux的基础指令,那些当然是远远不够的,今天我们就继续Linux基础指令的学习

目录

一、man指令

二、echo指令和cat指令

三、cp指令

四、mv指令

五、which指令

六、alias指令

七、总结


在讲解今天内容之前,我们先来看一下上篇的内容,如果有还没掌握的请先返回上篇,循序渐进

下面正式开始今天内容的讲解:

一、man指令

Linux中的指令选项是有很多的,我们很难将它们全部记住,当我们遇到拿不准使用什么命令参数时,我们就可以去查看Linux的联动手册,访问的方式就是通过man指令

man指令语法:man 选项 命令

我们可以先来看一下man指令不带选项的最简单的用法,比如我们查看ls指令的所有用法:

执行此命令后我们就可以看到Linux联动手册中ls的全部参数及用法了(图中只是截取了部分)

在我们看完后,按q键,就可以退出

可能会有人说,对man指令也很陌生,所以我们也可以用man指令去查它自己

执行这个命令后我们可以看到这样的几行文字:

前面的序号对应着Linux联动手册中的章节号,也就是Linux手册中的内容是分章节的,不同的内容存在不同的章节中,下面我们来看一下上面几行所对应的中文:

1  是普通的命令
2  是系统调用,open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要        加什么头文件)
3  是库函数,printf,fread4是特殊文件,也就是/dev下的各种设备文件
5  是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
6  是给游戏留的,由各个游戏自己定义
7  是附件还有一些变量,比如向environ这种全局变量在这里就有说明
8  是系统管理用的命令,这些命令只能由root使用,ifconfig
当我们查不同的内容时,尽量带上它们所对应的编号,比如当我们想查C语言中的printf,它所对应 的就是3中的库函数,所以我们需要这样:

切记要带上这个3,如果不带上3我们查的就不是C语言中的库函数了,而是普通命令中的printf,因为我们在查找一个命令时,Linux手册默认的是从上到下查找,所以就是先1,再2,再......如果一个指令,就比如printf,在第一章中有,那么就找到它,而不是第三章中C语言中的printf,所以要加上章节号

二、echo指令和cat指令

echo指令的作用是将内容写入文件中,这里的文件即包括显示屏,也包括普通的文本文件

向屏幕中写入内容的操作:

向普通文件中写入内容的操作:

这里我们要了解一个概念,其实我们键盘输入的内容被打印到文件中而不是显示器中,这样的操作叫输出重定向,上面第二个输出方式就叫做输出重定向

同时我们还要知道的是,在我们向一个文件中写入内容时,比如上文中的test.txt文件,如果其中原来是有内容的,在我们写入新的内容后,原来的内容会被覆盖所以有些时候我们想删除文件中的内容时,也可以采用“>文件名”的操作方式,那我们如何不覆盖原文件中的内容,直接追加到后面呢?实现这个功能我们需要的是 追加重定向:>>

或许有人会对上面的cat疑惑,下面我们来讲一下cat指令:

cat指令的作用就是查看目标文件中的内容,除了上面最基础的用法外,还有以下选项:

-b  对非空输出行编号

-n  对输出的所有行编号

-s  不输出多行空行

cat后面什么也不跟时,默认从键盘中读取,如果后面跟了文件名之类时,就不是从键盘中读取了,这种方式叫做输入重定向

三、cp指令

cp指令的作用就是复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录, 则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存 在的目录,则会出现错误信息

在我们用户层面上,同一个目录下是不能有重名的文件的,如果同一个目录 下有重名的文件,就会丧失文件的唯一性,我们就根据文件路径查找,所以当我们对一个文件进行拷贝时,如果是拷贝在同一目录下,切记不要重名,如果是在不同目录下可以重名

同一目录下的拷贝:

拷贝后我们可以发现此目录下多了一个拷贝文件,并且文件中内容与被拷贝文件一致

不同目录下的拷贝:

在这个拷贝操作中,我们将test.txt文件拷贝到目录dir1中,属于不同目录下的拷贝,所以就可以重名

cp指令也有几个比较重要的选项:

-f   --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i   --interactive 覆盖文件之前先询问用户
-r  递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录       或符号链 接,则一律视为普通文件处理
-R   --recursive递归处理,将指定目录下的文件及子目录一并处理
我们重点讲解一下其中的-r选项:
-r选项就是递归处理的意思,在前面我们也学了一些其它指令,比如mkdir,rm等指令,也都是递归处理的意思,这里的cp -r的作用也就是递归复制,比如一个目录d1,它的下面还有目录d2或者文件d3,这个时候就需要使用-r选项递归复制

四、mv指令

mv指令有两个作用,一个是剪切,一个是重命名,下面我们可以看一下书上对这个指令功能的讲解:
1. mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的
目录中。
2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它
将所给的源文件或目录重命名为给定的目标文件名。
3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至
目标目录中。
下面我们来讲解一下mv指令这两个功能的区别和使用方式:
重命名:
重命名操作一般是将文件放在相同目录下的,也就是说第二个参数是同目录下一个不存在的文件名
比如这样,我们就把test.txt文件的名字改成tmp.txt,mv指令的第二个参数是相同目录下的文件名
剪切:
剪切操作是将目标文件换一个路径,比如换到其它目录下,第二个参数是其他路径
如图,我们就将tmp.txt文件剪切到同级的dir1文件中去了
剪切+重命名:
其实上面两种功能是可以结合起来的,而且其实所有的操作,都是可以看作是剪切+重命名,比如我们上面讲的重命名,它也可以看作是一个文件先剪切到同级文件,再进行重命名
而重命名则可以看作一个文件剪切到其它目录,然后再命相同的名字

五、which指令

which指令的作用就是帮助我们找到指令所在的位置,如下:

六、alias指令

alias指令的功能是给指令进行重命名,这个指令是非常有意思的,比如下面的操作:

我们将 ls -l指令 重命名成指令1,此时我们就可以发现 “指令1” 与 ls- l指令 有了同样的效果
但有一点需要我们注意的是,重命名只是临时的,在我们断开云服务器时就会结束

七、总结

以上就是今天Linux基础指令的内容,结合上篇,我们也讲了有十几个基础指令了,还有几个基础指令我们留在下一章讲
感谢各位大佬观看,创作不易,还请各位大佬点赞支持!!!

相关文章:

【Linux探索学习】第二弹——Linux的基础指令(中)——夯实基础第二篇

Linux基础指令(上):【Linux探索学习】第一弹——Linux的基本指令(上)——开启Linux学习第一篇-CSDN博客 前言: 在前面我们已经讲解了一些常用的Linux的基础指令,那些当然是远远不够的&#xff…...

Python和QT哪个更适合嵌入式方向的上位机开发?

最近因为工作需要,需要做一个上位机用来处理收集到的数据,然后进行分析,最好有图标输出,当然还要考虑开发便捷,毕竟平时主要是嵌入式方向开发,核心技术栈主要是Linux和C语言,对于开始上位机并不…...

Unity实战案例全解析:RTS游戏的框选和阵型功能(5)阵型功能 优化

前篇:Unity实战案例全解析:RTS游戏的框选和阵型功能(4)阵型功能-CSDN博客 本案例来源于unity唐老狮,有兴趣的小伙伴可以去泰克在线观看该课程 我只是对重要功能进行分析和做出笔记分享,并未无师自通&#x…...

Android compose 的基本环境搭建

1.创建项目 导入版本 1.gradle/libs.versions.toml [versions] accompanistPermissions "0.36.0" agp "8.5.0-beta01" coilCompose "2.7.0" constraintlayoutComposeVersion "1.0.1" hiltAndroid "2.51.1" hiltNavi…...

git | 合并 commit 的两种方法

比如你最近的 3 次提交分别为 A B C,你想将它们合并成 X。 方案一 使用 git rebase -i HEAD~3 进入编辑: pick 0148079 A pick 29cae72 B pick bf8572a C修改: r 0148079 A f 29cae72 B f bf8572a C:wq 保存进入 commit 编辑页面,输入 X …...

Grafana链接iframe嵌入Web前端一直跳登录页面的问题记录

概述 公司有个项目使用到Grafana作为监控界面,因为项目方的环境极其复杂,仅物理隔离的环境就有三四个,而且每个都得部署项目,今天在某个环境测试,查看界面遇到一个比较奇怪的Grafana问题,后面针对该问题进行跟踪分析并解决,故而博文记录,用于备忘。 问题 登录项目We…...

后端Java-SpringBoot整合MyBatisPlus步骤(超详细)

1.新建项目。 2.点击完上一步的next之后,选择pom.xml文件中的依赖。 3.点击pom文件进行项目初始化。 按照下面的俩步骤刷新一下maven ,让文件生效 4.新建一个application.yml文件 5. 新建一个数据库mp,在数据库中新建一张user表 6.连接数据…...

8609 哈夫曼树

### 思路 1. **选择最小权值节点**:在哈夫曼树构建过程中,选择两个权值最小且父节点为0的节点。 2. **构建哈夫曼树**:根据权值构建哈夫曼树,确保左子树权值小于右子树权值。 3. **生成哈夫曼编码**:从叶子节点到根节点…...

docker的harbor仓库登录问题

目录 一、问题描述 二、证书信任问题 三、DNS解析问题 四、解决 参考链接:Docker login Harbor报错解决:Error response from daemon: Get https:..-阿里云开发者社区 一、问题描述 问题: 挂机或者挂机重启之后harbor登录不上 查看日…...

ENV | docker 安装使用(简单实操版)

1. 详细步骤 1.1 安装 sudo apt update sudo apt install docker.io1.2 验证(可跳过) docker -v1.3 使用 1.3.1 拉取镜像 # 镜像源,如使用腾讯云服务器,可使用 https://mirror.ccs.tencentyun.com docker pull xxx1.3.2 运行…...

【Golang】深入解读Go语言中的错误(error)与异常(panic)

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...

DMDSC更换DCR和VOTE磁盘

DMDSC更换DCR和VOTE磁盘 为了提高DMDSC集群运行速度和节点之间通信协调的效率,需要将运行在机械盘上的dcr和vote磁盘替换到SSD高效磁盘上。将原来200M的dcr和vote机械磁盘,换成500M的SSD高效磁盘。 磁盘替换规划信息如下所示: 信息说明 替…...

国产化框架PaddleYOLO结合Swanlab进行作物检测

1. 项目介绍 粮食安全,作为人类生存与发展的基石,始终是全球关注的焦点。它不仅仅关乎粮食的充足供应,更涉及粮食的质量安全、营养健康以及可持续生产等多个维度。在全球化、气候变化和资源环境约束日益加剧的背景下,如何确保粮食…...

Linux编译部署PHP环境

1.准备工作 安装前我们需要设置防护墙,开放端口,更新yum源 # 1.防火墙 systemctl status firewalld 看到active(running)就意味着防火墙打开了 systemctl stop firewalld 看到inactive(dead)就意味着防火墙关闭了 systemctl start fire…...

Win11禁止搜索栏查找互联网内容

禁止任务栏和开始菜单的搜索栏查找互联网内容的方法如下: 使用组策略:WinR键,或菜单框,输入gpedit.msc回车,启动本地组策略编辑器。使用左侧的边栏导航到“计算机配置”>“管理模板”>“Windows组件”>“搜索…...

dig和nmap的区别

dig和nmap是两种在网络管理和安全领域广泛使用的工具,它们在功能、用途和原理上存在显著差异。 dig 定义与功能: dig(Domain Information Groper)是一个用于查询DNS(域名系统)信息的命令行工具。它允许用…...

无人机飞手入伍当兵技术优势分析

随着现代战争形态的不断演变,无人机技术在军事领域的应用日益广泛,成为提升军队作战能力的重要手段。对于无人机飞手而言,其专业技能和实战经验在入伍当兵后能够转化为显著的技术优势,为国防事业贡献重要力量。以下是从专业技能优…...

[Everything] 文件搜索工具的下载及详细安装使用过程(附有下载文件)

快速搜索文件名及其所在路径 下载链接在文末 下载压缩包后解压 !!安装路径不要有中文 解压后得到文件 双击exe文件得到 选择简体中文,点击OK 点击“我接受” 更改安装目录,最好不要放在C盘,点击下一步 点击下一步 点…...

HIRI-ViT:使用高分辨率输入的视觉Transformer扩展

摘要 https://arxiv.org/pdf/2403.11999 视觉Transformer( V i T \mathrm{ViT} ViT)与卷积神经网络(CNN)的混合深度模型已成为视觉任务中一类强大的骨干网络。自然地,提高此类混合骨干网络的输入分辨率会增强模型容量…...

TI DSP TMS320F280025 Note15:串口SCI的使用

TMS320F280025 串口SCI的使用 ` 文章目录 TMS320F280025 串口SCI的使用框图分析串口特点可编程数据格式SCI端口中断非FIFO/FIFO模式下SCI中断的操作/配置UartDriver.cUartDriver.h串口时钟由PCLKCR7控制使能,默认位系统时钟4分频 串口接收与发送都可以触发中断 串口使用的引脚…...

串口通信粘包问题:成因深度解析与项目实战解决方案

在嵌入式开发、工业工控、上位机下位机交互项目中,串口(RS232/RS485)是最基础、最常用的通信方式。绝大多数开发者都遇到过这样的问题:串口接收的数据偶尔错乱、解析报错、数据拼接异常,单次接收的数据时而半包、时而多…...

新能源车轻量化为什么开始盯上高强镁合金?

续航,是悬在每一台纯电动汽车头上的达摩克利斯之剑。多充一度电、多堆一些正极材料,是一条路;但还有另一条路——把车造得更轻。 SAE(美国汽车工程师学会)的测算已经被反复引用:整车每减重100千克&#xff…...

Qri高级功能:如何使用JSON Schema验证和描述数据集结构

Qri高级功能:如何使用JSON Schema验证和描述数据集结构 【免费下载链接】qri youre invited to a data party! 项目地址: https://gitcode.com/gh_mirrors/qr/qri Qri是一个强大的开源数据协作工具,它提供了丰富的功能来帮助用户管理、共享和验证…...

如何用Python脚本榨干百度网盘带宽:pan-baidu-download终极指南

如何用Python脚本榨干百度网盘带宽:pan-baidu-download终极指南 【免费下载链接】pan-baidu-download 百度网盘下载脚本 项目地址: https://gitcode.com/gh_mirrors/pa/pan-baidu-download 在数字时代,百度网盘已成为我们存储和分享大型文件的默认…...

独立开发者如何利用Taotoken Token Plan,以更低成本启动AI项目

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 独立开发者如何利用Taotoken Token Plan,以更低成本启动AI项目 对于独立开发者或小型团队而言,启动一个集成…...

DeepSeek重复代码识别失效了?5个被90%团队忽略的AST解析盲区及修复清单

更多请点击: https://codechina.net 第一章:DeepSeek代码重复检测失效的真相与影响 DeepSeek-R1 模型在代码理解任务中表现出色,但其内置的代码重复检测机制在特定场景下存在系统性失效。根本原因在于模型对语义等价但语法结构差异显著的代…...

零基础怎么学Agent?这个工程师考试内容拆给你看

站在 AI Agent(智能体)爆发的十字路口,很多既没有深厚算法背景、也没有丰富写代码经验的“小白”常常感到迷茫:动辄谈及的大模型交互、复杂的业务编排,零基础真的能学会吗? 事实上,智能体开发早…...

Hermes Agent工具如何自定义接入Taotoken提供商

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Hermes Agent工具如何自定义接入Taotoken提供商 Hermes Agent 是一款功能强大的AI智能体开发框架,它支持通过自定义提供…...

5分钟掌握文件完整性验证:HashCalculator终极免费批量哈希计算工具指南

5分钟掌握文件完整性验证:HashCalculator终极免费批量哈希计算工具指南 【免费下载链接】HashCalculator 哈希值计算工具,批量计算/批量校验/查找重复文件/改变哈希值等,支持集成到系统右键菜单 项目地址: https://gitcode.com/gh_mirrors/…...

解放学术资源:caj2pdf——打破CAJ格式壁垒的开源解决方案

解放学术资源:caj2pdf——打破CAJ格式壁垒的开源解决方案 【免费下载链接】caj2pdf Convert CAJ (China Academic Journals) files to PDF. 转换中国知网 CAJ 格式文献为 PDF。佛系转换,成功与否,皆是玄学。 项目地址: https://gitcode.com…...