linux基础指令【中篇】

news2024/11/17 13:48:30

📙 作者简介 :RO-BERRY
📗 学习方向:致力于C、C++、数据结构、TCP/IP、数据库等等一系列知识
📒 日后方向 : 偏向于CPP开发以及大数据方向,欢迎各位关注,谢谢各位的支持


请添加图片描述


目录

  • 补充上篇的细节
  • 1.start 指令
  • 2.man指令
  • 3.nano指令
  • 4.cp指令
    • 4.1对文件做拷贝
    • 4.2对目录做拷贝
    • 4.3 拷贝所有文件以及目录到另一个文件
  • 5.mv指令
    • 5.1简单移动文件
    • 5.2移动文件同时实现重命名
  • 6. cat
    • 6.1 echo指令以及输出重定向
    • 6.2 cat打印
    • 6.3 cat -s
    • 6.4 cat -n
    • 6.5【扩展】tac指令
    • 6.6 cat其他用法
    • 6.7 大文件读取
    • 6.7.1 more指令
    • 6.7.2 less指令
    • 6.7.3 head指令


补充上篇的细节

请添加图片描述
从这里可以看出,我们的删除指令是只能删除可见文件的,隐藏文件是无法删除的
我们如果要删除,就必须要指定名字,不能删除目录文件这样大范围的删除了
这样设计是能好好保护很多文件的,因为有时候可能会误删文件,而隐藏文件有时候不容易看到的


1.start 指令

请添加图片描述

注:linux里使用机械键盘里的PgUp和PgDn可以翻阅之前打的指令以及后面的指令


2.man指令

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是
man 指令
语法: man [选项] 命令

🎄常用选项
-k 根据关键字搜索联机帮助
num 只在第num章节找
-a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按
下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。
解释一下,面手册分为8章
1 是普通的命令
2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文
件)
3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
6 是给游戏留的,由各个游戏自己定义
7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
8 是系统管理用的命令,这些命令只能由root使用,如ifconfig

man指令是用来介绍linux里的其他指令的操作

我们打出man ls
linux就会显示出ls的一些基础信息用法啥的
请添加图片描述
请添加图片描述
然后最后是按H寻求帮助以及按q去退出界面回到linux指令页面

如果我们连man命令也不知道呢?
我们可以通过man man命令来看
如果我们一开始看不到和我一样的信息,我们可以按回车键,持续加载更多信息,因为man指令里是有很多信息,一个页面是不会一下全部加载出来
请添加图片描述
在这里其实4以后的字典都不会用到了解就可以
man找指令信息就是通过一个字典一个字典进行查找,从上往下,这个字典找到了就会输出这字典里这个命令的信息

我们想在字典1查找ls指令的信息就是通过在man 1 ls就可,一般默认省略了中间的1,一般就是从1开始
请添加图片描述
在这里就是我们的man + 字典编号 +对应操作 这就是一般基础格式

扩展:
我们在xshell里面输入
请添加图片描述
printf是一个基础的C语言输出函数请添加图片描述
我们会发现printf在xshell也是一个可执行函数
那么我们可以直接进行输出也是可以的,这是以C语言的方式输出的
请添加图片描述
上面说了,一号字典存储的就是linux里面自带的指令,刚刚的printf在字典里就查找到一号就结束了
那我们不想在一号字典里查找怎么办?
请添加图片描述
请添加图片描述
此时你看到的就是字典3里面的print介绍
这就是指定手册查找
我们就可以看到

🐥man的使用格式就是 ----man 【制定手册】 查找数据


3.nano指令

就相当于linux里面的记事本
请添加图片描述
输入这行代码,我们就进入了file文本的写状态
我们随便写一个C语言代码
请添加图片描述
最下面的就是对应的Ctrl键+G或者X等功能
我们现在想退出
输出Ctrl键+X就退出来了请添加图片描述
这里的cat就是查看文件的作用
查看一下内容就看到了我们刚刚存储的内容
有的会没有nano这个功能,我们需要自己下载
就输入请添加图片描述
这样就安装好了
我们就可以无脑对文件进行内容输入了


4.cp指令

🐥语法:cp [选项] 源文件或目录 目标文件或目录
🎄功能: 复制文件或目录
💧说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

常用选项:
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链
接,则一律视为普通文件处理
-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

4.1对文件做拷贝

如果我们想拷贝文件到当前目录下可以吗
请添加图片描述
cp【拷贝指令】 file 【文件名】 . 【当前目录】
我们会发现file名称重名了,一个目录下不能存在两个相同名称的文件
我们将名字改一改,就会发现重新创建了一个名为file.txt的文件
请添加图片描述
访问其内容发现和file的内容是一模一样的

4.2对目录做拷贝

请添加图片描述
我们想把code目录拷贝到上层目录怎么办呢
我们发现不可以拷贝,只能拷贝文件
那么我想拷贝怎么办呢?
请添加图片描述
我们在前面加一个-rf r就是递归 f表示强制
我们访问上级目录里面发现就有这个文件
请添加图片描述
所以想拷贝目录需要带rf

我们还可以这样
请添加图片描述
请添加图片描述
拷贝完成而且内容一样

我们在后面可以加上绝对路径进行拷贝,但是在同级目录下是不可以实现同名称两个文件的,所以我们需要将其修改名称,完成不同名称但是内容一样的效果

4.3 拷贝所有文件以及目录到另一个文件

请添加图片描述
在这里会有一个疑问----我们实现拷贝的时候会不会拷贝隐藏文件呢?
其实是没有的,自己可以下去实现一下,在这里主要提一下
其实每个目录下都有一个点和两个点的隐藏文件,如果要对隐藏文件进行拷贝的话,必定会进行冲突


5.mv指令

mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。
🐥语法: mv [选项] 源文件或目录 目标文件或目录
🎄功能:

  1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
  2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
  3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。

常用选项:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

我们刚学的cp也就是拷贝,就相当于复制粘贴,源文件是不会改变的
我们接下来学的mv指令就是将源文件move移动到目标路径

5.1简单移动文件

请添加图片描述

5.2移动文件同时实现重命名

请添加图片描述
如果我们在移动项目后面加上一个具体路径且存在,那么就是将项目扔到目标路径,那如果目标路径不存在呢?
请添加图片描述
我们会发现就是将其重命名了
也就是说mv指令可以进行重命名操作请添加图片描述

6. cat

🎄语法:cat [选项][文件]
🐥功能: 查看目标文件的内容

常用选项:
-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行

在学习cat之前我们需要延伸几个概念

6.1 echo指令以及输出重定向

向一个文件中写入内容 ---- nano
输出所写的内容(相当于C语言里的printf) ----echo
请添加图片描述
echo默认会向显示器打印
加入大于符号就变成了默认向文件写入
请添加图片描述
另外我们前面什么都不写,使用重定向可以直接创建文件

6.2 cat打印

请添加图片描述
请添加图片描述

我们再次输入发现原来的数据被清空了,然后再次输入我们的新数据

也就是输出重定向,每次都会清空原始文件,然后在写入
请添加图片描述
我们两个大于号连起来的时候,输入数据不会将原数据清空,会在其基础上追加数据。
我们把“>>”叫做追加重定向

6.3 cat -s

请添加图片描述

6.4 cat -n

请添加图片描述

6.5【扩展】tac指令

我们将cat倒过来写tac,同样可以输出文件,但是会将文件倒着输出
请添加图片描述

6.6 cat其他用法

请添加图片描述
请添加图片描述
但是其实使用cat test就可以实现上述功能了,但是这两个方式本质是不一样的,其根因会在后面章节讲到

6.7 大文件读取

请添加图片描述
我们在Linux里写一段脚本,本质上是一个while循环,写一个大文件初始值i为0,循环10000次,每次输入hello i进入文件file.ese
我们这个时候使用cat指令访问file.ese会发现会很快把所有数据打印出来

6.7.1 more指令

我们想慢慢看清楚每一个数据必须往上翻
我们就可以使用more命令,但是只能回车下翻
请添加图片描述

6.7.2 less指令

但是在这里只能回车下翻,而且不能上下翻动很不方便
我们就可以使用less指令
请添加图片描述
more命令 只能回车下翻
less命令 可以上翻可以下翻 并且输入/333 会自动寻找在333行的数据请添加图片描述

6.7.3 head指令

我们如果只想看前几个文件
使用head指令请添加图片描述
我们如果想从尾部查看数据
我们可以使用tail指令,和head指令用法类似,也可以指定行数打印

那如果我们想提取文件中的任意中间部分呢?
我们想提取800-810之间的文件

我们可以将前810数据提取出来存入另一个新文件,然后在新文件中使用tail指令提取尾部十行即可
同样的也可以提取尾部然后采取提取头部的操作
但是这种做法很繁琐,并且还需要形成新文件占据空间,这种做法非常的不优雅

请添加图片描述
这样既不用开辟新文件,也可以达到我们的目的
在这里我们用来分割两条指令的下划线我们叫做 命令行管道

这种写程序的方式也叫做流水线

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

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

相关文章

C#~Winform代码调整快捷键

右移 选中要移动的代码 -> Tab 结果: 左移 选中要移动的代码 -> ShiftTab 结果: 自动调整 选中需要调整的代码 -> CtrlKD 调整后:

论文解读--Wideband 120 GHz to 140 GHz MIMO Radar:System Design and Imaging Results

120~140GHz宽带MIMO雷达:系统设计和成像结果 摘要 本文提出了一种工作频率在120 GHz ~ 140 GHz之间的宽带FMCW MIMO雷达传感器。该传感器基于SiGe技术制造的雷达芯片组,并使用MIMO方法来提高角度分辨率。MIMO操作通过发射机的时域复用实现。该雷达能够通…

[蓝桥杯]真题讲解:冶炼金属(暴力+二分)

蓝桥杯真题视频讲解&#xff1a;冶炼金属&#xff08;暴力做法与二分做法&#xff09; 一、视频讲解二、暴力代码三、正解代码 一、视频讲解 视频讲解 二、暴力代码 //暴力代码 #include<bits/stdc.h> #define endl \n #define deb(x) cout << #x << &qu…

Python 中的多进程(01/2):简介

一、说明 本文简要而简明地介绍了 Python 编程语言中的多处理&#xff08;多进程&#xff09;。解释多处理的基本信息&#xff0c;如什么是多处理&#xff1f;为什么用多处理&#xff1f;在python中怎么办等。 二、什么是多处理&#xff1f; 多处理是指系统同时支持多个处理器的…

【Android】Android中的系统镜像由什么组成?

文章目录 总览Boot Loader 的加锁与解锁Boot 镜像内核RAM diskARM 中的设备树 (Device Tree) /System 和/Data 分区镜像参考 总览 各种Android设备都只能刷专门为相应型号的设备定制的镜像。 厂商会提供一套系统镜像把它作为“出厂默认”的 Android 系统刷在设备上。 一个完…

Obsidian - 使用小记(Typora切换过来)

文章目录 关于 Obsidian打开已有的 文件夹将图片改为 Typora 的保存文件夹 关于 Obsidian 官网 https://obsidian.md/github : https://github.com/obsidianmd 个人版免费 一直习惯用 Typora 编写markdown git 记录笔记&#xff0c;多次被安利 Obsidian 后&#xff0c;今天尝…

OFD格式文件预览解决方案

问题 项目中文件预览统一采用的是pc端转pdf后在移动端上面采用Pdfview这个组件进行查看&#xff0c;现后端暂不支持ofd转pdf采用ofd.umd.js查看ofd文件&#xff0c;用WebView直接访问后端给的预览地址会出现跨域问题。 解决办法 拿到pc端预览的ofd.umd.js文件编写预览ofd文件…

JSON-handle工具安装及使用

目录 介绍下载安装简单操作 介绍 JSON-Handle 是一款非常好用的用于操作json的浏览器插件&#xff0c;对于开发人员和测试人员来说是一款很好用的工具&#xff0c;如果你还没有用过&#xff0c;请赶紧下载安装吧&#xff0c;下面是安装过程和具体使用。 下载安装 点击下载JSON…

IaC基础设施即代码:使用Terraform 连接huaweicloud华为云 并创建后端OBS

目录 一、实验 1.环境 2.huaweicloud华为云创建用户 3.Windows使用Terraform 连接 huaweicloud 4.Windows给Terraform项目添加huaweicloud华为云OBS &#xff08;实现代码与资源分离&#xff09; 二、问题 1. Windows terraform 初始化失败 2.Terraform 初始化后端资源失…

Sulfo Cy2 Biotin,水溶性 Cy2 生物素,能够与各种氨基基团特异性结合

您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;Sulfo Cyanine2 Biotin&#xff0c;Sulfo Cy2 Biotin&#xff0c;水溶性 Cy2 生物素&#xff0c;Sulfo-Cy2-Biotin&#xff0c;水溶性-Cy2-生物素 一、基本信息 产品简介&#xff1a;Sulfo Cyanine2 Biotin, also k…

el-dialog的close事件会执行两次

如果close事件执行的方法有传参&#xff0c;那么定义一个变量传参&#xff0c;而不是写死 如果写死

66.Spring是如何整合MyBatis将Mapper接口注册为Bean的原理?

原理 首先MyBatis的Mapper接口核心是JDK动态代理 Spring会排除接口&#xff0c;无法注册到IOC容器中 MyBatis 实现了BeanDefinitionRegistryPostProcessor 可以动态注册BeanDefinition 需要自定义扫描器&#xff08;继承Spring内部扫描器ClassPathBeanDefinitionScanner ) 重…

成熟的内外网数据交换方案,如何实现跨网传输?

网络迅速发展&#xff0c;我们可以从网络上查找到各式各样的信息&#xff0c;但是同时网络安全问题也随之严重。近几年&#xff0c;各种有关网络安全的新闻不断被报道&#xff0c;数据泄露给很多企业带来了严重打击&#xff0c;不仅是经济损失&#xff0c;严重者还会对企业的声…

AI嵌入式K210项目(20)-MicroPython介绍

文章目录 前言一、MicroPython是什么&#xff1f;二、官方文档学习实验过程总结 前言 单片机嵌入式编程经历了汇编、 C 语言的发展历程&#xff0c;可以说是一次编程革命&#xff0c;其背后的原因是单片机的速度越来越快&#xff0c;集成度越来越高。而这一趋势并没停止&#…

Linux第35步_在“移植uboot”前安装“libncurses5-dev,bison和flex”工具

在“移植uboot”前&#xff0c;需要在Ubuntu中安装“libncurses5-dev&#xff0c;bison和flex”工具&#xff0c;否则在“编译uboot”时&#xff0c;会报错。 一、了解相关知识 1、libncurses5-dev库是一个在Linux/Unix下广泛应用的图形函数库。 2、bison是用C编写的语法解析…

excel甘特图怎么做?这种方法一目了然

excel甘特图怎么做&#xff1f;在现代项目管理中&#xff0c;甘特图作为一种可视化工具&#xff0c;被广泛应用于规划、执行和监控项目进度。在Excel中创建甘特图是一个强大的工具&#xff0c;可以用来规划和跟踪项目进度。下面就教教你如何使用Excel制作甘特图。 一、了解甘特…

泥土

当我们置身于大自然中&#xff0c;或许很少有人会特别留意到泥土&#xff0c;因为它显得如此平凡而不起眼。然而&#xff0c;泥土却是地球上最基础、最重要的元素之一&#xff0c;是生命的孕育之源。 泥土&#xff0c;那深埋在地底的黑褐色质地&#xff0c;看似普通无比&#…

C++——类型转换与特殊类设计

我们在C语言中经常会使用到强制类型转换&#xff0c;例如指针和整形之间的转换是最为常见的&#xff0c;但是 在C中&#xff0c;C设计师认为这种强制类型转换是不安全的&#xff0c;所以在C标准中加入了四种强制 类型转换风格&#xff0c;这就是我将要介绍的强制类型转换。 在某…

《Windows核心编程》若干知识点实战应用分享

目录 1、进程的虚拟内存分区与小于0x10000的小地址内存区 1.1、进程的虚拟内存分区 1.2、小于0x10000的小地址内存区 2、保存线程上下文的CONTEXT结构体 3、从汇编代码角度去理解多线程运行过程的典型实例 4、调用TerminateThread强制结束线程会导致线程中的资源没有释放…

『OpenCV-Python|鼠标作画笔』

Opencv-Python教程链接&#xff1a;https://opencv-python-tutorials.readthedocs.io/ 本文主要介绍OpenCV-Python如何将鼠标作画笔绘制圆或者矩形。 示例一&#xff1a;图片上双击的位置绘制一个圆圈 首先创建一个鼠标事件回调函数&#xff0c;鼠标事件发生时就会被执行。鼠标…