linux基础指令【中篇】


📙 作者简介 :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.mfbz.cn/a/346685.html

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

相关文章

2023龙信杯wp

打了好像70多分,没拿奖,因为一些众所周知的原因,复盘间隔时间太长了没什么印象了已经 案情简介 2023年9月,某公安机关指挥中心接受害人报案:通过即时通讯工具添加认识一位叫“周微”的女人,两人谈论甚欢,确…

配网行波型故障预警定位装置:电力系统的安全守护神

随着科技的不断发展,电力系统的运行和管理已经越来越依赖于先进的技术手段。在这个领域中,配网行波型故障预警定位装置(也被称为智能电网监测设备)已经成为了一种重要的技术装备。它能够实时监测电力系统的运行状态,及时发现并预警故障&#…

VI / VIM的使用

vi/vim 的区别简单点来说,它们都是多模式编辑器,不同的是 vim 是 vi 的升级版本,它不仅兼容 vi 的所有指令,而且 还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于 x win…

Leetcode25-上升下降字符串(1370)

1、题目 给你一个字符串 s ,请你根据下面的算法重新构造字符串: 从 s 中选出 最小 的字符,将它 接在 结果字符串的后面。 从 s 剩余字符中选出 最小 的字符,且该字符比上一个添加的字符大,将它 接在 结果字符串后面。…

from sklearn.preprocessing import LabelEncoder的详细用法

sklearn.preprocessing 0. 基本解释1. 用法说明2. python例子说明 0. 基本解释 LabelEncoder 是 sklearn.preprocessing 模块中的一个工具,用于将分类特征的标签转换为整数。这在许多机器学习算法中是必要的,因为它们通常不能处理类别数据。 1. 用法说…

进程通信与socket编程实践之猜数字小游戏

socket是实现进程通信的一种重要方式,本文将通过socket编程实现服务器进程与客户端进程之间的通信,并在通信之外实现猜数字的小游戏。 1. 设计思路 本文设计的C/S结构的猜数字游戏功能如下:服务器端自动生成一个1-100之间的随机数字&#x…

未来已来:概念车展漫游可视化的震撼之旅

随着科技的飞速发展,汽车行业正经历着前所未有的变革。而在这场变革中,概念车展无疑是一个引领潮流、展望未来的重要舞台。 想象一下,你站在一个巨大的展厅中,四周陈列着各式各样的概念车。它们有的造型独特,有的功能先…

Protein carbonyl ELISA kit羰基化蛋白ELISA试剂盒

蛋白质羰基化是蛋白质氧化损伤的一种,是氧化应激中一种不可逆的化学修饰。蛋白质羰基化会引起蛋白质结构的改变,使其失去原有的生物学功能,最终导致细胞和组织功能紊乱。蛋白质羰基化不仅是氧化损伤的一项重要指标,也参与多种疾病…

客户大批量保密文件销毁,数据销毁新方案及实践 文件销毁 硬盘销毁 数据销毁 物料销毁

2023年春节前夕,青岛客户经理接到一个电话,韩国驻华机构想请我们做文件销毁,要求在2天内销毁800多箱纸文件。800多箱需要在短短两天内完成销毁,这一数字创下了淼一文件数据销毁自2009年以来的历史记录。单从业绩和营销角度看&…

AIGC是什么?GPT-4.0、DALL·E以及Midjourney等多种智能服务

AIGC(人工智能生成内容,Artificial Intelligence Generated Content)是指利用人工智能技术自动生成的文本、图像、音频和视频等内容。随着技术的进步,AIGC已经成为创意产业和内容创作领域的一股新兴力量。MidTool作为一款集成了多…

Spring Security 之 基本认证

基本认证 这部分提供了关于Spring Security如何为基于Servlet的应用程序提供基本HTTP认证支持的详细信息。 这部分描述了Spring Security中HTTP基本认证的工作原理。首先,我们看到WWW-Authenticate标头被发送回未经身份验证的客户端: 首先,用户对未经授权的资源 /private …

2024.1.22力扣每日一题——最大交换

2024.1.22 题目来源我的题解方法一 暴力法方法一 哈希表贪心方法三 贪心 题目来源 力扣每日一题;题序:670 我的题解 方法一 暴力法 直接暴力对数字中的每两个位置进行交换,然后记录交换后生成数字的最大值 时间复杂度:O( log ⁡…

用游戏盾会掉线吗,游戏出现掉线或者卡顿的可能有哪些原因

目前游戏类用户使用抗D盾进行防护DDOS攻击的情况非常普遍,有些第一次了解接触到盾的用户,会有担心接入盾使用后,玩家那边会不会掉线或者出现卡的问题。 其实关于这方面是完全不用担心,游戏盾都是由高防节点智能多线节点分布&…

TCP的连接和关闭的那些事

一、基础概念 1、啥是TCP? 它是面向连接的一种协议,任何数据发送之前都需要建立连接。 2、TCP/IP协议的四层中那一层? TCP位于运输层,详见下图 3、TCP协议的状态机有哪些? 在链接建立和断开不同阶段都有不同的状态&#xf…

企业邮箱遭入侵!印度制药巨头损失超4500万元

近日,印度制药巨头阿尔肯实验室子公司部分员工的企业邮箱遭入侵,导致其子公司被欺诈5.2亿卢比(约合人民币4500万元)。而根据截至2023年9月的季度财务报告数据,该公司营业收入为263.46亿卢比,净利润为64.65亿…

网页首页案例(使用框架:继上一篇博客结尾)

文章目录 新认识的快捷键1.先写好组件并导入App.vue2.往组件中一个一个填内容3.整体静态完成后,发现某些小部分相同,其实可以分装成小组件4.最后通过js动态渲染 新认识的快捷键 1.Ctrl滚轮按住往下拖可以部分选中 .用同样的方法选中下面的111&#xff0…

机器学习:多元线性回归闭式解(Python)

import numpy as np import matplotlib.pyplot as pltclass LRClosedFormSol:def __init__(self, fit_interceptTrue, normalizeTrue):""":param fit_intercept: 是否训练bias:param normalize: 是否标准化数据"""self.theta None # 训练权重系…

Vue3 Teleport 将组件传送到外层DOM位置

✨ 专栏介绍 在当今Web开发领域中,构建交互性强、可复用且易于维护的用户界面是至关重要的。而Vue.js作为一款现代化且流行的JavaScript框架,正是为了满足这些需求而诞生。它采用了MVVM架构模式,并通过数据驱动和组件化的方式,使…

力扣hot100 合并区间 排序 贪心

Problem: 56. 合并区间 复杂度 时间复杂度: O ( n log ⁡ n ) O(n\log{n}) O(nlogn) 空间复杂度: O ( n ) O(n) O(n) Code class Solution {public int[][] merge(int[][] intervals){Arrays.sort(intervals, (int[] a, int[] b) -> {return a[0] - b[0];});// 按照数…

基于原生图数据库的知识图谱存储

目录 前言1 关系模型的局限1.1 语义关联的隐藏1.2 数据多样性的挑战1.3 动态性受限1.4 与自然语言描述失配 2 知识图谱与图数据库2.1 图数据库概述2.2 图的结构特征的优势2.3 跨领域图建模与查询2.4 丰富的关系语义表达与推理能力 3 图数据建模的好处3.1 自然表达3.2 易于扩展3…