Linux的基本指令(3)
目录
制作小文件&查看
nano指令
cat指令
tac指令
制作大文件&查看
一切皆文件
echo指令
> 输出重定向
以写"w"的形式打开文件
以追加"a"的形式打开文件
cat指令
< 输入重定向
创建big.txt
more指令
less指令(推荐使用)
head指令
tail指令
wc指令
管道
前面博客我们学习关于文件属性的操作:增删查改。如何看待这么多的指令,记不住。指令不需要刻意记忆,补充知识才是比较重要的。
制作小文件&查看
如何快速在Linux上写代码
【1】我们使用【nano指令】,nano是Linux相当于记事本的作用的指令。
如果没有nano,请安装:yum insall -y nano 安装和卸载的本质都是将这个指令拷贝/删除到这个路径下。如果你没有某个指令,都可以yum install -y 指令 安装一下。(若有不同上网搜索一下)

【2】我们使用【cat指令】去查看文件的内容。

【3】我们使用【gcc指令】去编译和【./可执行程序】去运行。

如何快速写出代码?制作小文件?
nano 源文件----->ctrl+x---->y----->回车(写代码)--->gcc 源文件(编译)---->./可执行程序
nano指令
创建一个文件(类似记事本)可以写入数据,crtl+x退出。

cat指令
语法:cat [选项][文件]
功能:查看目标文件的内容,本质是显示文件内容常用选项:
- -b 对非空输出行编号
- -n 对输出的所有行编号
- -s 不输出多行空行


tac指令
与cat相反除外,无选项,把内容倒置打印出来。

cat/tac都是去查看一些小文件内容,ls ll是去查看文件/目录的属性。上面我们也制作了一个小文件并且查看了,那我们如何制作一个大文件,并且查看呢?
制作大文件&查看
以下操作都是以【文件】为主体。角度都是站在【显示器】角度
一切皆文件
一切皆文件是Linux的基本哲学之一。普通文件、目录、字符设备、块设备和网络设备(套接字)等都被当做文件来对待。虽然他们类型不同,但是linux系统为它们提供了一套统一的操作接口。Linux可以以统一的方式来进行文件/设备的访问!
为什么说Linux下“一切皆文件”? - 知乎 (zhihu.com)
Linux 下 “一切皆文件” 思想的本质和好处在哪里?与 Windows 下的文件管理思想有啥差别? - 知乎 (zhihu.com)
Linux中的理念"一切皆文件",对于任何文件来讲,操作文件内容,当前无非就是【读】和【写】,所以:向显示器设备写入文件,就是向显示器文件,向显示器打印数据,即显示器文件写入数据。
包括我们所看到的终端也是文件! 👇证明
终端文件的路径:/dev/pts/
首先我们创建了【多个终端】

接着我们用echo 字符串 > 终端文件 把数据输入终端文件

至此,我们可以证明终端是一个文件。
echo指令
echo指令在屏幕上打印了"hello Linux”。在Linux当中一切皆文件,那么显示屏也是显示屏文件。所以可以说 echo是向显示屏这个文件,输入字符串。

> 输出重定向
此时我们这样写,相当于把写入显示器文件的字符串,写入文件 log.txt !把本来应该显示到显示器上的数据,显示到了文件中!
这个动作被称作:输出重定向
写作:>

当然我们也可以直接重定向!

以写"w"的形式打开文件
>输出重定向-----以写的形式打开文件写入数据
- 如果文件不存在,创建一个空文件,写入数据(可以不写只创建)
- 如果文件存在,清空数据,写入数据(可以不写只创建)
我们发现我们每次用echo写入数据都是,清空了原文件,重新写入。

在我们学习C语言进阶阶段,我们学习过文件以写的形式打开,并写入数据,这里复习一下。
C语言之文件操作篇(1)-CSDN博客
C语言之文件操作篇(2)-CSDN博客

所以重定向和上面代码是一样的,打开文件,文件不存在就创建,存在就清空。
以追加"a"的形式打开文件
>> 输出追加重定向-----以追加的形式打开文件写入数据(>>之间不能有空格)
- 如果文件不存在,创建一个空文件,写入数据(可以不写只创建)
- 如果文件存在,写入数据(如果有数据,就追加数据)


cat指令
我们一般都是从键盘获取数据,一切皆文件,那么ca也可以从【键盘文件】获取数据,输入【显示器文件】。

< 输入重定向
当然,我们也可以从【普通文件】获取数据输入【显示器文件】!此刻我们将【键盘文件】输入【显示器】重定向为【普通文件】获取数据输入【显示器文件】!
这个动作被称为:输入重定向
写作:<
特别提醒:cat log.txt 和cat < log.txt是区别很大的🆗!不一样!

创建big.txt
有了上面知识的铺垫,终于我们来创建一个大文件。
i=1; while [ $i -le 1000 ]; do echo "hello Linux $i"; let i++; done > big.txt

我们发现用cat 去查看这个大文件是非常不方便的,所以接下来我们学习一些查看大文件的指令!
more指令
语法:more [选项][文件]
功能:more命令,功能类似 cat。
- cat一次性全部把文件的数据全部打印出来,
- more首先会打印出占满屏幕的数据,按下Enter(回车下翻)之后,逐行打印。(可以逐行查看)。存在弊端:就是不能上下查看,只能回车下翻逐行查看
- more会特定查看。输入/关键字,就会出现关键字所对应的数据,以及上下文的数据。
常用选项:
- -n 对输出的所有行编号
- q 退出more

上面的more是存在只能下翻的弊端,那Linux就引入了我们的less指令。
less指令(推荐使用)
- less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。
- less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!
- 除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
语法: less [参数] 文件
功能:less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
- 上下键即可上下翻动,q即可退出。

现在可以上下翻动大文件的数据查看,也可以逐行特定查看,那么我们想指定查看前几行或后几行,该用下面指令了。
head指令
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。
语法:head [参数]... [文件]...
功能:head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行选项:
- -n<行数> 显示的行数

tail指令
tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容。
语法: tail[必要参数][选择参数][文件]
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
选项:
- -f 循环读取
- -n<行数> 显示行数
wc指令
统计文本行数
wc -l big.txt

管道
在Linux中的管道类似生活中的天然气/石油/自来水管道。Linux的管道是资源传输的,运输数据。
管道是用来级联多条指令的

现在我们可以less上下翻动查看数据。程序(大文件)在运行的时候会产生很多记录信息,如果发生错误,我们需要用日志来排查(大文件)/var/log/messages,现在我们可以查看日志的tail head头尾部分,如果我们想要查看big.txt的中间数据呢?
- 方法1
head -n50 test > tmp #将前50行装入临时文件tmp
tail -n1 tmp #得到中建行
- 方法2
head -n50 test | tail -n1
- command > filename :输出重定向
- command >> filename :输出追加重定向
- command < filename :输入重定向
- 快捷键:输入指令出,只有上下键即可翻看历史指令了🆗
✔✔✔✔✔最后,感谢大家的阅读,若有错误和不足,欢迎指正!
相关文章:
Linux的基本指令(3)
目录 制作小文件&查看 nano指令 cat指令 tac指令 制作大文件&查看 一切皆文件 echo指令 > 输出重定向 以写"w"的形式打开文件 以追加"a"的形式打开文件 cat指令 < 输入重定向 创建big.txt more指令 less指令(推…...
C语言memcpy,memmove的介绍及模拟实现
文章目录 每日一言memcpy介绍模拟实现 memmove介绍模拟实现思路代码 结语 每日一言 If you want to lift yourself up, lift up someone else. 如果你想振奋自己, 先振奋周遭的人。 memcpy 介绍 函数原型: void *memcpy(void *dest, const void *sr…...
克服.360勒索病毒:.360勒索病毒的解密和预防
导言: 在数字化的今天,数据安全问题变得愈发棘手。.360勒索病毒是当前网络空间的一场潜在灾难,对于这个威胁,了解应对之道和采取切实的预防措施至关重要。如果您正在经历勒索病毒的困境,欢迎联系我们的vx技术服务号(s…...
21、Resnet50 中包含哪些算法?
(本文已加入“计算机视觉入门与调优”专栏,点击专栏查看更多文章信息) 这一节汇总一下resnet50 中包含的算法,并且简单介绍。 总共卷积算法、激活算法(relu)、最大池化算法、加法(主要是为了实现残差结构)、全局平均池化、全连接和 softmax 算法这几种算法。 卷积 卷…...
pybind11教程
pybind11教程 文章目录 pybind11教程1. pybind11简介2. cmake使用pybind11教程3. pybind11的历史 1. pybind11简介 项目的GitHub地址为: pybind11 pybind11 是一个轻量级的头文件库,用于在 Python 和 C 之间进行互操作。它允许 C 代码被 Python 调用&am…...
Java基础- 自定义类加载器
自定义类加载器 在 Java 中实现自定义类加载器通常涉及继承 ClassLoader 类并重写其 findClass 方法。自定义类加载器允许我们从非标准来源(如网络、加密文件或其他媒体)加载类。下面是实现自定义类加载器的基本步骤: 1. 继承 ClassLoader …...
2022年高校大数据挑战赛A题工业机械设备故障预测求解全过程论文及程序
2022年高校大数据挑战赛 A题 工业机械设备故障预测 原题再现: 制造业是国民经济的主体,近十年来,嫦娥探月、祝融探火、北斗组网,一大批重大标志性创新成果引领中国制造业不断攀上新高度。作为制造业的核心,机械设备在…...
洛谷 P1998 阶乘之和 C++代码
前言 今天我们来做洛谷上的一道题目。 网址:[NOIP1998 普及组] 阶乘之和 - 洛谷 西江月夜行黄沙道中 【宋】 辛弃疾 明月别枝惊鹊,清风半夜鸣蝉。稻花香里说丰年,听取WA声一片。 七八个星天外,两三点雨山前。旧时茅店社林边&…...
洛谷 B2006 地球人口承载力估计 C++代码
目录 前言 思路点拨 AC代码 结尾 前言 今天我们来做洛谷上的一道题目。 网址:地球人口承载力估计 - 洛谷 题目: 思路点拨 经典牛吃草问题。 解设一个人一年吃一份草。 则x*a-y*b为会多出的草,为什么会多呢?是因为每年都有…...
少走弯路:OpenCV、insightface 等多方案人脸推理和识别
脑壳有包又花时间折腾了一下,其实之前也折腾过,主要是新看了一个方法 在下图中查找脸部 第一种方案: 使用了opencv 的cv2.FaceDetectorYN. ,完整代码如下: import numpy as np import cv2imgcv2.imread("00000…...
github代码连接vercel 建立一个公用网站
Deploying to the Cloud using Vercel 前置任务 建立一个基于flask的web app代码库并上传至github repo Vercel用途 vercel有点像一个免费的cloud server,帮助你将flask框架下的程序运行在云端。可以public访问。 deploy流程 在主文件夹中建立requirements.tx…...
使用pandas将字符串格式数据转换为单独的行
有时在处理数据时,可能会遇到这样的情况,即数据框中的整个字符串条目需要拆分到不同的行中。这可能是一项具有挑战性的任务,特别是当数据庞大而复杂时。尽管如此,一个名为pandas的Python库提供了各种函数,使用这些函数…...
【Tkinter 入门教程】
【Tkinter 入门教程】 1. Tkinter库的简介:1.1 GUI编程1.2 Tkinter的定位 2. Hello word! 程序起飞2.1 第⼀个程序2.2 字体颜色主题 3. 组件讲解3.1 tkinter 的核⼼组件3.2 组件的使⽤3.3 标签Label3.3.1 标签显示内容3.3.2 多标签的应⽤程序3.3.3 总结 3.4 按钮but…...
深入理解Java中继承的高级使用方案
摘要: 继承是Java中的一项强大的特性,它允许子类从父类中继承属性和方法。然而,继承的高级使用方案涉及更复杂的概念和技术,可以帮助开发人员构建更加灵活、可维护和可扩展的代码。本文将深入探讨Java中继承的高级用法,…...
nexus私服开启HTTPS
maven3.8.1以上不允许使用HTTP服务的仓库地址,如果自己搭建的私服需要升级为HTTPS或做一些设置,如果要升级HTTPS服务有两种方式:1、使用Nginx开启HTTPS并反向代理nexus;2、直接在nexus开启HTTPS。这里介绍第二种方式 1、在ssl目录…...
融合CFPNet的EVC-Block改进YOLO的太阳能电池板缺陷检测系统
1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义 随着太阳能电池板的广泛应用,对其质量和性能的要求也越来越高。然而,由于生产过程中的各种因素,太阳能电池板上可能存在各种缺…...
传媒行业CRM:打造高效客户管理,提升品牌影响力
传媒行业充满竞争和变化,传媒企业面临着客户管理不透明、业务流程混乱、销售数据分析不足,无法优化营销策略和运营管理等问题。CRM系统是企业实现数智化管理的神器,可以有效解决这些问题。下面说说,传媒行业CRM系统推荐。 1、建立…...
基于深度学习的肺炎CT图像检测诊断系统
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 深度学习在肺炎CT图像检测诊断方面具有广泛的应用前景。以下是关于肺炎CT图像检测诊断系统的介绍: 任务…...
YOLOv8改进 | 2023 | SCConv空间和通道重构卷积(精细化检测,又轻量又提点)
一、本文介绍 本文给大家带来的改进内容是SCConv,即空间和通道重构卷积,是一种发布于2023.9月份的一个新的改进机制。它的核心创新在于能够同时处理图像的空间(形状、结构)和通道(色彩、深度)信息…...
Python 全栈体系【四阶】(一)
四阶:机器学习 - 深度学习 第一章 numpy 一、numpy 概述 Numerical Python,数值的 Python,补充了 Python 语言所欠缺的数值计算能力。 Numpy 是其它数据分析及机器学习库的底层库。 Numpy 完全标准 C 语言实现,运行效率充分优…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用
中达瑞和自2005年成立以来,一直在光谱成像领域深度钻研和发展,始终致力于研发高性能、高可靠性的光谱成像相机,为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...
论文阅读:Matting by Generation
今天介绍一篇关于 matting 抠图的文章,抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法,已经有很多的工作和这个任务相关。这两年 diffusion 模型很火,大家又开始用 diffusion 模型做各种 CV 任务了&am…...
