Linux指令(3):

1. cal指令:

我们的cal指令有日历的意思

看上面,我们输入一个cal指令,可以查看当前月的日历,

我们给cal指令后面加上 - 3,他就会显示这个月为中间的三个月的日历,但是-4 不行,-5 也不行。只能 - 3。

我们也可以是给他后面加上2025,他会显示出整年的日历,

当然其他的年份也是可以看到的:

2. find指令:

find指令是我们用来在我们的树状结构中查找文件用的。

比如看上面,我们想在家目录里面查找名为test.c的文件,他就会给我们所有路径下有test.c的文件。

我们看这个,这个*表示的是通配符,表示可以是任意的内容,但是后面的结尾必须是.c结尾

所以我们就会看到所有.c结尾的文件。

查找的方式我们就是

find 后面跟上路径,然后再跟上 -name 再跟上我们要查的文件就可以了。

我们说,Linux下一切皆是文件,所以我们敲出的指令也是文件。

看我们上面的图片:我们的指令的本质:是Linux系统下固定目录下的可执行文件。(这个固定目录是usr/bin)。

所以我们不用怕这个指令,它本质上就是在我们的usr/bin/目录下存在的二进制文件罢了。(这个二进制文件和我们自己编写的C语言代码没有什么区别)。

所以我们上面学习的指令的目录都是我们的usr/bin/,

3. which指令:

Linux除了给了我们可以用来查找文件的指令find,也提供给了我们一个专门用来搜指令的指令which指令,

which这个指令会给我们显示我们要查的这个指令他的全路径,

我们看上面的图片:我们使用which指令,查看我们之前学习过的指令,我们得到结果,都是再usr/bin/路径下的文件。

所以:

我们说我们的which是专门用来搜索我们的指定的命令的,你使用find也可以搜索,我们说find可以搜文件,我们的指令就是文件。

4. file指令:

file命令是用来查看一个文件详细类型的,

我们看上面的图片:我们查看各种文件,我们用红笔圈出来的executable表示这个文件是一个二进制可执行文件,

5. alisa指令:

alisa指令可以给我们的指令取别名:

我们来看上面的图片:我们给我们的ls -a -l指令取一个新的名字zhangsan,,然后后面我们想要使用ls -a -l指令的时候,我们就可以直接使用zhangsan就可以。

当我们不想要zhangsan这个别名的时候:

我们直接把空赋给zhangsan,这时候zhangsan这个别名就指代不了我们的指令了。

注意:

在我们的Linux下,我们执行指令会优先执行我们的别名:

我们再看上面的图片:

我们给我们的指令取上别名,我们刚才说我们的指令是我们的Linux目录下的可执行文件。存在于磁盘上的。

那我们的别名是不是呢?我们ls 后面跟上固定目录试一下,不行,

别名我们现在不推荐使用,当我们对Linux比较熟了,这时候我们可以使用别名,

6. grep指令:

grep指令是用来进行一个文本处理的命令;这是一个行文本过滤工具;

它可以根据一个关键词,把一个大文本当中包含该关键词的行,以行为单位,把行过滤出来。

我们看下面的图片:

看上面,我们之前学习了管道,最开始是cat后面跟上管道,表示我们要cat查看文件内容,我们就可以把hello.txt文件里面的前2100行的后100行提取出来,然后我们现在学习了grep,我们就可以再加上一个管道,提取这些数据的包含有‘8’的行。

我们看上面的图片,上面我们已经知道了,现在我们假如有了新的需求,我们现在的要求是把含有关键字’8‘的行不显示出来,其他不含有关键字’8‘的行显示出来。

看我们上面的图片,我们使用一个 -v就可以解决,这个v的意思就是reverse,表示逆转。

我们继续看:看上面的图片,我们后面改成 -n的话,我们的结果就会加上一个行号,表示他是第几行的,(要注意,这里grep给你的行编号,他是在grep的视角上看他收到了多少内容,我们的前面的管道并起来给到我们的grep的时候就是十行数据,所以)。

然后我们改成 -nv的时候,这时候就是没有含有关键字’8‘的行都被成列出来

还有就是:我们的grep对我们的这个大小写是比较敏感的。

但是如果我们不想要让他对大小写敏感的话,我们可以加上 -ni,这时候我们看上面的图片:原本我们过滤Hello的时候,我们就只能找到Hello,大小写区分开,然后我们加上 -ni的时候,这时候我们打上Hello,这时候所有hello不论大小写这时候就都出来了。

我们上面的是加了 -n的,其实不一定非要加上 -n,-i 就可以表示你要忽略大小写。

这三个东西怎么交叉都可以:

我们看这个,三个一起拼凑到一起,表示我们带上行号并且忽略大小写,并且有关键字的行我们都不要。(顺序不要紧,可以自由的匹配)

那么什么是我们的grep的主要用途呢?

比如当我们查看日志的时候,日志的话内容很多,有时候我们已经知道我们要查询的文件的文件名了,这时候我们就可以直接使用管道加上grep ’关键字‘ ,这时候我们就可以直接过滤出我们的文件。

7. top指令:

我们的window环境下,我们的电脑里,我们都有一个任务管理器,我们可以通过任务管理器发现那些进程,什么东西正在运行,,

在我们的Linux环境下,top指令就扮演了任务管理器的角色。

比如我们看这个,这个指令就表示把我们的任务管理器打开并且每隔一秒刷新一次,然后刷新5次后结束。

然后这个指令就表示我们的任务管理器每隔5秒就刷新一次,总共刷新5次。

下面我们来讲最后一批命令,打包压缩命令:

8. zip指令和unzip指令:

我们看上面的图片:

我们现在想要打包lesson5,我们准备把整个目录进行打包。

我们来看上面的图片:我们打包我们的lesson5成为lesson5.zip文件,打包的话不影响我们的原文件,这时候我们ll查看当前目录下的文件,发现了我们的lesson5.zip文件。

然后我们刚才新建了一个目录test,现在我们把我们打包的文件放到test里面,这时候再cd进入到test里面,然后ll查看,我们就发现了我们刚才打包压缩的压缩包lesson5.zip文件,

然后我们现在看,这时候我们就要对我们的压缩包进行解压才能得到我们要的文件。

我们就unzip指令后面跟上我们的压缩包,然后ll查看当前目录下的文件,这时候我们就发现了解压出了我们的文件lesson5。

但是我们tree一下当前目录(. 表示当前目录),然后我们发现我们解压的lesson5里面什么都没有

那这是为什么呢?我们只把目录打包了,里面的文件都没有打包。

因为我们的目录是树状的,如果我们想要把整个目录打包的话,我们就要递归的进行打包压缩。

上面的打包方式是我们打包压缩单个文件的时候使用的方式。

我们看这个上面的,当我们递归式的进行打包压缩的时候,这时候就可以了。

然后我们继续往下看:

注意:我们刚才已经删除了test文件的内容,这时候我们再把压缩包移动到test文件里面然后进入到test文件内部。

然后这时候我们再对我们的压缩包进行解压,unzip指令后面跟上压缩包就行,就会得到我们的lesson5。

这时候的这个lesson5就是我们的lesson5了。

看上面是我们的两个指令,我们的zip是把后者压缩成前者。普通文件直接打包压缩,目录的话要加上 -r,递归式的打包压缩。

rm * -rf指令的话,含义是把当前目录下的所有的文件删除掉。

我们刚才解压我们的压缩包的时候,默认的都是解压到我们的当前目录下,但是我们也可以解压到其他的目录上,

我们看这个:

看上面的图片,我们还是先把lesson5进行打包压缩,然后

我们插叙一个东西:

我们的windows和Linux是可以互传东西的,我们需要先在Linux中安装上我们的工具就可以,

具体的场景就是:我们可以在我们的Linux环境下打包压缩我们的文件,然后把压缩包传到我们的windows环境下进行解压得到我们的文件。

从我们的Linux环境下传文件到我们的windows环境下使用指令sz + 文件/压缩包就可以。

然后如果你想把你本地的文件上传到Linux环境下的时候,直接拖拽到Linux环境的面板就可以了

9. tar指令:

我们的zip结尾的打包压缩的文件在Linux环境中会使用,但是不是最主流的,我们的Linux环境下最主流的打包压缩我们可以学习下tar指令;

我们看上面的图片:我们tar指令建立压缩包,czf,c表示创造文件,z表示具有压缩属性,f表示指明对应文件。

然后我们来看解压:

我们的解压的指令,我们把c变成x就好了,x是解开指令

我们记住这两个就行了,上面是压缩文件,下面是解压文件。

我们继续说:

我们说我们解压压缩包默认的是会解压到当前目录下的,那我们能不能解压到其他的目录下呢?

我们先rm * -rf 清空我们的test目录,然后执行我们的指令:

看我们上面的图片:我们解压指令的后面我们跟上一个 -C,然后后面跟上指定的目录。

我们就解压到指定的目录了。

几个重要热键:

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

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

相关文章

MLS平滑滤波

1.前言 最近在学习,因此查阅相关资料,该怎么表述感觉有些困难 2.代码 2.1代码1 使用全局坐标系 参考:python点云移动最小二乘法(Moving Least Squares)平滑_移动最小二乘法python-CSDN博客 def Moving_Least_Squares_Smoothing_v1_expla…

华为2288H V5服务器闪红灯 无法开机案例

广东某客户1台华为2288H V5服务器,由于单位外围电力维修导致服务器有过一次异常断电。结果来电之后发现服务器无法开机,开机面板上有个红色心跳指示灯, 工程师到客户现场后通过192.168.2.100登陆到2288H V5服务器的BMC管理口,打算…

SRIO入门之官方例程仿真验证

仿真SRIO事务时序仿真之前先完成下面两步操作:1.Vivado软件版本2020.1,创建好工程及SRIO的IP核2.右键综合化的IP核,然后选择打开IP示例工程直接运行仿真分别将request和response两个模块添加到仿真窗口进行查看运行1000us左右就可以看到信号动…

CMake进阶: 使用FetchContent方法基于gTest的C++单元测试

目录 1.前言 2.FetchContent详解 2.1.FetchContent简介 2.2.FetchContent_Declare 2.2.1.简介 2.2.2.关键特性 2.2.3.常见示例 2.3.FetchContent_MakeAvailable 2.3.1.简介 2.3.2.核心功能与工作流程 2.3.3.示例用法 2.3.4.关键特性 2.3.5.常见问题与解决方案 3.…

亚马逊广告投放:如何减少无效曝光提高ROI

“为什么广告花费高但转化率低?”“如何判断关键词是否值得继续投放?”“曝光量暴涨但订单没增加怎么办?”“ACOS居高不下该如何优化?”“手动广告和自动广告的预算怎么分配?”如果你也在为这些问题头疼,说…

Ethereum:拥抱开源,OpenZeppelin 未来的两大基石 Relayers 与 Monitor

不知道大家是否注意到,OpenZeppelin 正在经历一次重大的战略转型。他们决定在 2026 年 7 月 1 日正式关闭其广受好评的 SaaS 平台——Defender,并将重心全面转向开源工具的建设。 这一举动在社区引发了广泛的讨论,也标志着 OpenZeppelin 希望…

HFSS许可监控与分析

在电磁仿真领域,HFSS(High Frequency Structure Simulator)因其卓越的性能和广泛的应用而受到用户的青睐。然而,随着企业和研究机构对HFSS使用需求的不断增长,如何有效监控和分析HFSS许可证的使用情况,以确…

【前端:Html】--1.3.基础语法

目录 1.Html--文件路径 2.Html--头部元素 2.1.head元素 2.2.title元素 2.3.style元素 2.4.link元素 2.5.meta元素 2.6.script元素 2.7.base 3.Html--布局技巧 3.1.CSS Float 浮动布局 3.2.CSS Flexbox 布局 3.3.CSS Grid 网格布局 3.Html--响应式web设计 3.1.设…

Java 中 Nd4j 中的 INDArray 经过 reshape 之后数据丢失(rank = 0)

问题: 数据经过: INDArray inputArray Nd4j.create(input); // 将整个输入数组转换为 INDArray INDArray accs inputArray.get(NDArrayIndex.interval(0, imuNum * 3)).reshape(imuNum, 3, 1); // 加速度部分 INDArray oris inputArray.get(NDArrayIn…

正点原子阿波罗STM32F429IGT6移植zephyr rtos(四)---在独立的应用工程里使用MPU6050

硬件平台:正点原子阿波罗STM32F429IGT6 zephyr版本:Zephyr version 4.2.0 开发环境:wsl ubuntu 24.4 前景提要: 正点原子阿波罗STM32F429IGT6移植zephyr rtos(三)---创建一个独立的应用工程-CSDN博客 一.修…

SAP_MMFI模块-质保金标准解决方案详解

一、业务背景 在许多企业的采购业务中,尤其是设备采购、工程项目或关键物料供应,通常会与供应商约定一笔质保金(或称保留金)。这笔款项在货物交付验收后并不会立即支付,而是会被扣留一段时间(如一年),作为供应商产品质量的保证。 核心业务痛点: 在没有系统化管理的…

Stanford CS336 assignment1 | Byte-Pair Encoding (BPE) Tokenizer

BPE一、 BPETrain1、 unicode standard and unicode encoding2、 子词分词(subword tokenization)3、 BPE的训练a、 Vocabulary initializationb、 Pre-tokenizationc、 Compute BPE merges4、 train_BPE更多实现上的细节二、 BPETokenizerinit函数from_filesencodedecodeencod…

RockAI 的破壁之战:Yan 架构如何啃下“端侧炼丹”硬骨头?

过去两年,AI 模型的发展叙事几乎被两大阵营主导:无所不能的云端模型与充满想象的端侧模型。行业曾描绘一个诱人蓝图:随着轻量化模型能力的提升,AI 终将摆脱云端束缚,在每个人的设备上实现永不离线的贴身智能。然而&…

交叉验证:原理、作用与在机器学习流程中的位置

交叉验证(Cross-Validation)是机器学习中评估模型性能、选择最优参数和防止过拟合的核心技术。它在整个机器学习流程中扮演着关键角色。一、为什么需要交叉验证?1. 解决训练/测试划分的局限性​​问题​​:随机单次划分训练集/测试…

js怎么判断一个未申明的变量?

在 JavaScript 中,判断一个变量是否未声明(未定义)需要特别注意,因为直接访问未声明的变量会抛出 ReferenceError 错误。 最安全的方式是使用 typeof 操作符,因为它对未声明的变量操作时不会报错,而是返回 …

C++进阶-封装红黑树模拟实现map和set(难度较高)

目录 1.预备知识 2.初步代码 3.对红黑树实现的代码进行改造 4.对map和set的改造 5.对RBTree::insert的改造 6.对RBTree::Find函数的改造 7.实现iterator(最重要) 8.实现const_iterator 9.完成set和map的key不能修改 10.实现map的operator[] 11.代码汇总 12.总结 1.预…

安装MySQL可视化管理工具DBeaver教程

系统(kelin)上安装MySQL可视化管理工具DBeaver教程 背景说明 在国产操作系统麒麟(基于Debian/Ubuntu)环境下,MySQL数据库管理常依赖命令行,效率较低且不便于直观操作。借助 DBeaver 这类跨平台的图形化数据…

非机动车乱停放识别准确率↑37%:陌讯多特征融合算法实战解析

一、行业痛点:非机动车治理的技术瓶颈根据《2023 城市静态交通治理报告》显示,国内一线城市非机动车乱停放占用人行道比例超 60%,传统监控方案存在三大技术难点:遮挡干扰:共享单车与私人电动车堆叠导致目标完整性缺失&…

Eclipse 安装插件指南

Eclipse 安装插件指南 引言 Eclipse 是一款强大的集成开发环境(IDE),广泛应用于Java、C/C++、PHP等多种编程语言。为了提高开发效率,Eclipse 支持通过插件来扩展其功能。本文将详细介绍如何在Eclipse中安装插件,帮助您快速提升开发体验。 插件概述 Eclipse 插件是用于…

区块链 和 一致性哈希的结合

怎么结合呢? 我们先来回顾一下一致性哈希代码实现里面的结构 // Consistent holds the information about the members of the consistent hash circle. type Consistent struct {mu sync.RWMutex // 读写锁,用于保护并发访问共享数据config Con…