【Linux探索学习】第三弹——Linux的基础指令(下)——开启新篇章的大门

news2024/10/7 14:22:14

Linux基础指令(上):

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

Linux基础指令(中):

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

前言:

在前面我们已经讲了有十几个Linux的基础指令及相关的知识了,今天我们再补充几个重点的基础指令,给基础指令收个尾,为下面的内容做准备

目录

一、date指令

1. 时间显示

2. 设定时间

3. 时间戳

二、cal指令

三、find指令

1. find指令

2. which指令

3. whereis指令

四、grep指令

五、zip/unzip指令

六、tar指令

1. 打包压缩

2. 预览

3. 解压缩包

4. tar指令与zip/unzip指令的使用场景

七、bc指令

八、uname指令

九、总结


在正式讲解今天的内容之前,建议大家先去看一下我前两篇的内容,看看是否有还未掌握的内容,确认没有后,再返回查看今天内容,确保知识连贯性

一、date指令

在我们平时工作学习中,会经常接触日志的概念,它有利于帮助我们记录工程的进度,并且出错也能帮助我们查找问题的所在,日志中关键的一部分内容就是时间的记录,在Linux中与时间记录有关的指令主要就是date指令,date指令可以帮助我们记录时间

date指令的作用主要体现在三个方面:

1. 时间显示

我们可以用date指令来显示当前时间,具体做法就是 date +几个标记,标记可以是以下这些:

%H : 小时(00..23) 
%M : 分钟(00..59) 
%S : 秒(00..61) 
%X : 相当于 %H:%M:%S 
%d : 日 (01..31) 
%m : 月份 (01..12) 
%Y : 完整年份 (0000..9999) 
%F : 相当于 %Y-%m-%d

比如下面这个例子:

2. 设定时间

date -s //设置当前时间,只有root权限才能设置,其他只能查看。
date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00

date -s 01:01:01 //设置具体时间,不会对日期做更改
date -s “01:01:01 2008-05-23″ //这样可以设置全部时间

date -s “01:01:01 20080523″ //这样可以设置全部时间
date -s “2008-05-23 01:01:01″ //这样可以设置全部时间

date -s “20080523 01:01:01″ //这样可以设置全部时间

3. 时间戳

时间戳是一个很有意思的概念,因为每个地方时间都不一样,计算机为了同一时间,就把1970年午夜作为一个起点,之后每过一秒加1,一直持续到现在

查看当前时间对应的时间戳的方法:date +%s

查看一个时间戳所对应的时间的方法:date -d@数字

二、cal指令

cal指令是与日历(阳历)有关的指令,它可以帮助我们查看日历相关的信息

cal指令不加任何选项默认的是查看当前年份当前月份的日历:

cal指令有以下几个选项:

-3 显示系统前一个月,当前月,下一个月的月历
-j  显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天      数)
-y  显示当前年份的日历

各自的用法如下:

-3选项:

-j选项:

-y选项:

三、find指令

1. find指令

Linux中find指令是非常重要的,它能帮助我们在指定路径下查找文件,Linux下find命令提供了非常多的查找条件,功能非常强大,所以它对应的有许多选项,今天我们就先记住它最基本的用法,就是在指定路径下查找文件

比如在家目录下查找test.c文件

在前面我们讲过Linux下文件的存放形式是类似树状的,而我们普通用户的家目录也只是树上的一个分支,当我们以普通用户的身份查找文件时,我们只能查找我们这个家目录下的文件,其它文件我们是无权查看的,比如下面这种:

我们发现我们找到的有些路径下的文件后面有:Permission denied,这就是我们没有权限的意思,如果想要查看这种文件我们可以切换到root身份下进行

2. which指令

在前面时我们也学过一个有关查找的指令——which指令,这里我们来对比一下,which指令的功能是在搜索指令,一般都是在/usr/bin中,如下:

3. whereis指令

除了上面两种查找指令外,其实还有一个whereis指令,这个指令的功能是在系统特定的路径下查找,既可以找到可执行程序,又可以找到手册、安装包、压缩包等

比如我们查找ls指令

我们可以发现我们除了找到ls指令外,还找到了在man手册中与ls相关的一个压缩包

四、grep指令

grep指令的功能就是在文件中搜索字符串,并将找到的行打印出来

具体的用法我们结合下面的示例来讲

当我们在一个比较大的文本文件中查找指定内容的所在行时,比如这样一个文件,文件中包含以下内容:

对于这样一个文件,我们想查找其中的有些特定行时,就需要借助grep来筛选

假设上面的内容是存放在log.txt文件中,我们要找到所有含 9999 的行

上面的就是grep最基础的用法

grep也有几个常用的选项:

-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

我们可以选择这样一个文件,文件中包含以下内容:

-n选项的用法:

找到包含 ‘world’ 的行,并把它的行号打印出来

-v选项的用法:

把不包含 world 的行打印出来

-i选项的用法:

忽略大小写,只要是字母一样且顺序一样就找出来

五、zip/unzip指令

打包和压缩对于我们来说应该并不陌生,我们在平时学习提交作业等东西的时候,就经常需要将一个或几个相关联的文件打包压缩在一起,这样即可以防止这些文件中发生部分丢失,也可以节省内存

zip/unzip指令是Linux下的一种压缩和解压缩的指令,下面我们来看一下它们两个是如何对文件或目录进行压缩和解压缩

起初我们有这样一个文件夹:

我们把test.c进行压缩:

压缩后我们就可以发现目录下多了一个test.c的压缩文件,我们把原来的test.c删除掉

删除掉原来的test.c之后我们对这个.zip文件放入106目录下,并且进行解压缩

我们可以发现此时.zip文件就已经在106目录下,且解压缩形成的新文件test.c也在

显示test.c文件中的内容:

可以看到与原来的test.c文件中的内容一样,所有整个压缩和解压缩的过程没有问题

zip指令也有一个常用的选型:

-r 递 归处理,将指定目录下的所有文件和子目录一并处理

这个选项跟前面有些指令的递归选项使用场景一致,就不再赘述了

六、tar指令

tar指令也是Linux中压缩和解压缩的一种指令,但是它与zip/unzip指令还是有所不同的,下面我们先来看一下它的用法

tar指令的相关变形和作用有很多,我们主要记住下面三个就行

1. 打包压缩

tar指令与打包压缩有关的是:tar caf 压缩包名 文件名(可以是多个文件)

用法如下:

比如这样一个文件夹:

里面有三个目录和一个文件,我们可以把它们打包在一起

此时就有一个压缩包dir.tar.gz,里面就压缩的这三个 目录和一个文件,同时我们还可以观察到这个压缩包的后缀 .tar.gz ,这个后缀之所以这样命名是有意而为之的,其中 .tar 是tar指令压缩而来的意思,.gz 是压缩文件的意思,我们也可以把这个后缀简写成 .tgz

2. 预览

tar指令还可以直接对压缩包里面的内容进行预览,这有点像windows下的压缩包预览功能(就是一个压缩包,我们可以点进去看一下里面的文件的文件名和基本信息)

tar指令与预览相关的是:tar tzf 压缩包名

用法如下:

就比如上面的那个压缩文件,我们就可以对它进行预览

我们可以看到即使我们没解压,但是我们也可以预览里面的文件都有哪些

3. 解压缩包

tar指令与解压缩包有关的:tar xzf 压缩包名

我们可以把上面的原来的文件先删掉,只留下压缩包文件

然后对压缩包进行解压

解压后我们就可以发现里面的文件都解压出来了,且与原来的文件一样

上面的是解压到同一个路径,我们也可以把它解压到指定路径下,

方法是:tar xzf 压缩包名 -C 指定路径

4. tar指令与zip/unzip指令的使用场景

一般在纯Linux环境下使用我们更建议使用tar指令,如果是希望我们打包和压缩的文件在windows下也可以很方便的互通,那么我们更建议zip/unzip指令

七、bc指令

bc指令就是Linux环境下的计算器,可以帮助我们很好的进行浮点数计算

比如这个例子中,我们进行了加法和乘法的运算,在执行完相关的运算后,敲击quit退出

八、uname指令

uname指令是用来帮助我们查看我们当前使用的Linux的内核版本的,这个暂时先不深入,只做了解

uname -a指令:查体系结构和内核系统

uname -r指令:只查体系结构

九、总结

结合之前讲的两篇,我们讲的指令总共也有二三十个了,这些就是Linux中的一些非常常用并且比较基础的指令,当然,仅仅靠这些指令是不够的,剩下的指令我们后面用到了再进行学习

感谢各位大佬观看,创作不易,还请各位大佬点赞支持!!!

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

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

相关文章

vmstat命令:系统性能监控

一、命令简介 ​vmstat​ 是一种在类 Unix 系统上常用的性能监控工具,它可以报告虚拟内存统计信息,包括进程、内存、分页、块 IO、陷阱(中断)和 CPU 活动等。 ‍ 二、命令参数 2.1 命令格式 vmstat [选项] [ 延迟 [次数] ]2…

18734 拓扑排序

### 思路 1. **建模问题**:将课程和依赖关系建模为有向图,其中课程是节点,依赖关系是有向边。 2. **选择算法**:使用拓扑排序算法来确定课程的学习顺序。由于需要确保输出唯一性,同等条件下编号小的课程排在前面&…

Koa学习

Koa 安装与配置 1. 初始化项目 在终端中执行以下命令: # 创建项目文件夹 mkdir koa cd koa# 初始化并安装依赖 npm init -y npm install koa npm install nodemon --save-dev2. 修改 package.json 在 package.json 文件中进行如下修改: {"type…

LeetCode讲解篇之1143. 最长公共子序列

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 这题我们可以采用动态规划求解&#xff0c;用一个二维数组记录text1的0 ~ i区间子串和text2的0 ~ j区间子串的最长公共子序列的长度&#xff0c;我们假设该二维数组是f 这个数组有一个特性&#xff0c;如果a <…

ssm服装店销售管理系统

系统包含&#xff1a;源码论文 所用技术&#xff1a;SpringBootVueSSMMybatisMysql 免费提供给大家参考或者学习&#xff0c;获取源码请私聊我 需要定制请私聊 目 录 摘 要 I Abstract II 第1章 绪论 1 1.1研究背景 1 1.2研究意义 1 1.3国内外研究现状 2 1.3.1国外研…

R语言中的plumber介绍

R语言中的plumber介绍 基本用法常用 API 方法1. GET 方法2. POST 方法3. 带路径参数的 GET 方法 使用 R 对数据进行操作处理 JSON 输入和输出运行 API 的其他选项其他功能 plumber 是个强大的 R 包&#xff0c;用于将 R 代码转换为 Web API&#xff0c;通过使用 plumber&#x…

启动hadoop后没有 NodeManager和 ResourceManager

跟着黑马网课学下去时发现我的hadoop启动后没有NodeManager和ResourceManager 找到日志的路径 我在/export/server/hadoop/etc/hadoop/hadoop-env.sh文件里配置了日志存放的路径 这里找到你的日志路径&#xff0c;每个人的习惯和看的教程不同&#xff0c;日志放的地方大概率也…

MATLAB中lsqminnorm函数用法

目录 语法 说明 示例 求解具有无限个解的线性系统 指定容差以减少含噪数据的影响 切换显示低秩矩阵警告 lsqminnorm函数的功能是线性方程的最小范数最小二乘解。 语法 X lsqminnorm(A,B) X lsqminnorm(A,B,tol) X lsqminnorm(___,rankWarn) 说明 X lsqminnorm(A,B…

【大语言模型-论文精读】用于医疗领域摘要任务的大型语言模型评估综述

【大语言模型-论文精读】用于医疗领域摘要任务的大型语言模型评估综述 论文信息&#xff1a; 用于医疗领域摘要任务的大型语言模型评估&#xff1a;一篇叙述性综述&#xff0c; 文章是由 Emma Croxford , Yanjun Gao 博士 , Nicholas Pellegrino , Karen K. Wong 等人近期合作…

【Arduino IDE安装】Arduino IDE的简介和安装详情

目录 &#x1f31e;1. Arduino IDE概述 &#x1f31e;2. Arduino IDE安装详情 &#x1f30d;2.1 获取安装包 &#x1f30d;2.2 安装详情 &#x1f30d;2.3 配置中文 &#x1f30d;2.4 其他配置 &#x1f31e;1. Arduino IDE概述 Arduino IDE&#xff08;Integrated Deve…

Spring Boot医院管理系统:提升患者体验

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式&#xff0c;是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示&#xff1a; 图4-1系统工作原理…

python pass的作用

class Phone: IMEI None # 序列号 producer “ITCAST” # 厂商 def call_by_4g(self):print("4g通话")class Phone2022(Phone): face_id “10001” # 面部识别ID def call_by_5g(self):print("2022年新功能&#xff1a;5g通话")class NFCReader: nfc_ty…

​​​​​​​如何使用Hugging Face上的FacePoke工具调整照片中人的头部位置

在照片处理中&#xff0c;调整人物的头部位置可以为你带来创意无限的效果。借助Hugging Face上的FacePoke工具&#xff0c;这一操作变得前所未有的简单和高效。以下是详细步骤&#xff0c;教你如何使用FacePoke来调整照片中人的头部位置。 第一步&#xff1a;访问FacePoke工具…

二、Python(项目创建、常见的设置、print函数)

一、项目创建 二、常见设置 1.字体大小 2.插件 3.主题设置 4.配置解释器 三、print函数 在 Python 中&#xff0c;print()函数是一个非常重要的用于输出内容的函数。 作用&#xff1a;print函数在控制台中输出(显示,打印)括号中的内容&#xff0c;可以用于验证代码的输出结果…

【Kubernetes】常见面试题汇总(五十八)

目录 127.创建 PV 失败&#xff1f; 128. pod 无法挂载 PVC&#xff1f; 特别说明&#xff1a; 题目 1-68 属于【Kubernetes】的常规概念题&#xff0c;即 “ 汇总&#xff08;一&#xff09;~&#xff08;二十二&#xff09;” 。 题目 69-113 属于【Kubernetes】…

SpringBoot开发——SpringSecurity安全框架17个业务场景案例(一)

文章目录 一、Spring Security 常用应用场景介绍二、Spring Security场景案例1、认证(Authentication)1.1. Spring Security 配置1.2 业务逻辑代码1.3 登录控制器1.4 登录页面 (login.html)2、授权(Authorization)2.1 Spring Security 配置2.2 业务逻辑代码2.3 控制器3、表…

如何判断静态代理IP地址是否被污染?

在网络使用中&#xff0c;静态IP代理是一种常见的工具&#xff0c;用于维持稳定的连接和保护个人隐私。然而&#xff0c;有时这些IP地址可能会被污染&#xff0c;导致用户遭受各种问题&#xff0c;如连接延迟、数据泄露等。因此&#xff0c;了解如何判断址是否被污染至关重要。…

EPC User Manual Introduction

Overview 您提供的链接是指向srsRAN 4G项目的官方文档&#xff0c;具体是关于srsEPC的介绍部分。以下是该页面的核心内容概要&#xff1a; ### 概述 srsEPC是一个轻量级的完整LTE核心网络&#xff08;EPC&#xff09;实现。srsEPC应用程序作为一个单一的二进制文件运行&#…

【高阶数据结构】二叉树进阶探秘:AVL树的平衡机制与实现详解

高阶数据结构相关知识点可以通过点击以下链接进行学习一起加油&#xff01;二叉搜索树 大家好&#xff0c;这里是店小二&#xff01;今天我们将深入探讨高阶数据结构中的AVL树。AVL树是一种自平衡的二叉搜索树&#xff0c;可以看作是对传统二叉搜索树的优化版本。如果你对数据结…

828华为云征文|华为云Flexus云服务器X实例部署 即时通讯IM聊天交友软件——高性能服务器实现120W并发连接

营运版的即时通讯IM聊天交友系统&#xff1a;特点可发红包&#xff0c;可添加多条链接到用户网站和应用&#xff0c;安卓苹果APPPC端H5四合一 后端开发语言&#xff1a;PHP&#xff0c; 前端开发语言&#xff1a;uniapp混合开发。 集安卓苹果APPPC端H5四合一APP源码&#xff0…