【Linux】Linux基本指令3

news2025/4/28 6:05:14

目录

1.date指令

2.cal指令

3.find指令:(灰常重要) -name

4.grep指令——行文本过滤工具

5.zip/unzip指令:

6.tar指令(重要):打包/解包,不打开它,直接看内容

7.bc指令:

8.uname –r指令:

9.重要的几个热键[Tab],[ctrl]-c, [ctrl]-d

10.关机

 11.shell命令以及运行原理


本节开始我们使用普通用户的账号来学习linux,不能使用root账号,本专栏后面的学习都是用普通账号

下面开始正式开始

我们先来了解一下日志

日志:在日常生活中,日志是指类似日记的日常记录。随着互联网的迅猛发展,日志被越来越多地用于指代机器数据。

机器数据通常由系统或程序自己产生。

程序开发者为监控程序执行过程,会让程序在执行完一步或几步操作后输出相应的执行结果,该结果通常会记录系统或程序在什么时间、哪个主机、哪个程序上执行了什么操作及出现了什么问题等信息,这些信息被称为机器数据,即日志(Log)。

当系统、程序或硬件设备出现原因不明的错误或故障时,通过查看日志能够快速定位错误或故障的原因

日志:时间,日志等级,日志具体时间,其他时间 

1.date指令

data是用来显示时间的

date 指定格式显示时间:

 date +%Y:%m:%d

date 用法:

date [OPTION]... [+FORMAT]

1.1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下

  • %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

我们看几个例子 

分隔符是可以自己设置的,不能是空格

我们再看看几个例子 

1.2.在设定时间方面——要root账号

  • 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″ //这样可以设置全部时间

1.3.时间戳

什么是时间戳?

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数 。

时间戳是使用数字签名技术产生的数据,签名的对象包括了原始文件信息、签名参数、签名时间等信息。时间戳系统用来产生和管理时间戳,对签名对象进行数字签名产生时间戳,以证明原始文件在签名时间之前已经存在。

由此而知——时间戳只会单调递增,这在计算机世界里是非常重要的

  • 时间->时间戳:date +%s
  • 时间戳->时间:date -d@1508749502
  • Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的 午夜)开始所经过的秒数,不考虑闰秒。

我们看看时间戳

 我们也能把时间戳转换成年月日

我们加点要求

 依次类推

这个是北京时间哦!!我们看上面时间戳的概念 

有人就想问了,这个时间戳会溢出吗?

2.cal指令

cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳 历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。

命令格式:

cal [参数][月份][年份]

功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份

常用选项:

举例:

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

我们看看

可以直接查看任意一年全年的日历

3.find指令:(灰常重要) -name

  • Linux下find命令在目录结构中搜索文件,并执行指定的操作。
  • Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。
  • 即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。
  • 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系 统可能会花费很长的时间(这里是指30G字节以上的文件系统)。

语法:

 find pathname -options

功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)

常用选项:

  • -name   按照文件名查找文件。 

 

我们使用find从家目录开始递归式的查找名字叫test.c的文件 

~是家目录的意思哦 

我们可以从家目录开始递归式寻找文件格式是.c的文件

 依次类推,各种也能找

我们也能使用find查找指令

 我们不知道具体的文件夹,我们可以像下面这样搜索

Permission denied是个问题,这个是普通用户的权限问题,系统不让你查

用root账号就不会有这种问题 

find很重要,我们可以使用man find去了解更多的

 which也是查找,在系统的指令路径下进行指定的搜索

/usr/bin

它是专门用来搜索指令的

whereis也是查找

 它是介于find和which之间,它可以在系统特定路径下,既可以找到可执行程序,又可以找到安装包,压缩包等

4.grep指令——行文本过滤工具

grep参考文档:linux grep命令详解 - ggjucheng - 博客园 (cnblogs.com)

语法:

grep [选项] 搜寻字符串 文件

功能: 在文件中搜索字符串,将找到的行打印出来

常用选项:

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

为了演示这个效果,我们先创建一个大文件 

100000个数字!!!!!!

我们使用这个去查找,要查到猴年马月

我们就可以使用grep指令了

 

所有带9的都给你找出来了 

我们加几个9

我们继续展示一下

-v是反转的意思

 

 -n就是打印行数

 -i是忽略大小写

这个可以跟管道结合起来写

 grep的用处举例

5.zip/unzip指令:

我们先来了解打包和压缩

 打包和压缩

打包:

压缩

为什么要打包和压缩?

Linux充服务器的时候,也需要使用打包压缩的知识 

 语法:

zip 压缩文件.zip 目录或文件

功能: 将目录或文件压缩成zip格式

常用选项:

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

 我们先做准备

我们直接把这个d1打包

在此之前,我们要确保我们的系统配置了zip

要去root账号里安装哦!!!!

sudo yum install zip

这个是安装zip指令的安装指令

我们当前在普通用户,怎么快速的切换root账号?

很简单,注意要输入密码

我们怎么退回去普通用户呢?

 我们把它放当上级目录里去

我们现在开始将它解压 

我们解压出来的只有d1这个文件夹,它麾下的目录全没有复制过来

那怎么办呢? 

 

不就成功了吗!!! 

如果我们想把108_class和d1.zip一起压缩进去,只需要再写这个即可

这个时候这个zip就有这么多文件了 

我们还可以指定解压路径

6.tar指令(重要):打包/解包,不打开它,直接看内容

tar [-cxtzjvf] 文件与目录 .... 参数:

案例:

  • -c :建立一个压缩文件的参数指令(create 的意思);——创建压缩包的意思
  • -x :解开一个压缩文件的参数指令!——解压的意思
  • -t :查看 tarfile 里面的文件!
  • -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
  • -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
  • -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
  • -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
  • -C : 解压到指定目录

我们以下面这个为例子

我们可以使用tar来打包和压缩

打包和压缩的后缀格式非常多

指令很多——我们不必记住所有指令,我们只需在要用的时候去查即可

我们只讲最常用的

 这个就是将d1目录,log.txt,test.c文件打包成一个code.gz格式的文件

我们直接解压 

我们只讲3种组合

打包成tgz的后缀

tar czf XXX      ——打包压缩
tar tzf XXX.tgz      ——预览
tar xzf XXX.tgz    ——解压解包

 我们要记忆住这3种即可

我们只需要知道这个后缀格式即可,不够用的再去搜

默认情况下,tar是解压在当前目录下。

我们可以指定解压路径

我们在解压指令后面加-C选项就可指定解压路径

7.bc指令:

这个就是linux的计算器

bc命令可以很方便的进行浮点运算 

 可以配合echo使用

8.uname –r指令:

语法:

uname [选项] 

功能: uname用来获取电脑和操作系统的相关信息。

补充说明:uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。

常用选项:

  • -a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称 

查系统版本——和windows的差不多

 

x86_64和x64是一样的 

我们可以查磁盘的情况

9.重要的几个热键[Tab],[ctrl]-c, [ctrl]-d

  • [Tab]按键---具有『命令补全』和『档案补齐』的功能
  • ctrl+r——历史命令搜索
  • [Ctrl]-c按键---让当前的程序『停掉』
  • [Ctrl]-d按键---通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可 以用来取代exit

 这些是特别常用的

我们先讲tab键——命令补全

我们输入w,然后就按Tab键,就有下面这样子

我们再试试 

我们输入下面那个,然后按tab键 

按下tab键发现它直接给我们补全了 

我们看看ctrl+r——历史命令搜索

我们直接点击ctrl+r

我们随便输入一个a,就发现了 

 

我们还可以通过history指令来搜索历史指令

Linux默认记录最新的1000条

ctrl+c——程序终止 

上面的搜索界面,我们可能担心出不来

我们可以直接按ctrl+出来

 ctrl+d——退出

我们可以直接ctrl+d,然后我们就回到云服务器登录界面了

再ctrl+d直接关闭了Xshell 

10.关机

Linux操作系统(我指的是服务器),永不关机 

语法:

shutdown [选项] **

常见选项:

  • -h  : 将系统的服务停掉后,立即关机。
  • -r: 在将系统的服务停掉之后就重新启动
  • -t seconds : -t 后面加秒数,亦即『过几秒后关机』的意思

 这里我们不做演示,懂得都懂

以下命令作为扩展:

  • 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;
  • 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;
  • 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;
  • 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;
  • 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who; 
  • 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。

这些我们在后续学习过程中会讲 

 11.shell命令以及运行原理

Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。 而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。

如何理解?为什么不能直接使用kernel?

我们所有的指令,最终都要在OS内部运行,但是直接使用OS难度非常高,我们用户不能直接和操作系统打交道,我们只能通过命令行来进行交互,和OS沟通的之间的桥梁就是命令行解释器 

指令——>命令行解释器——>os 

命令行解释器存在的意义:

  • 进行命令行解释
  • 保护OS,对于用户的非法请求,直接拦截 

命令行解释器是个统称

在Linux下叫    命令行,bash/sh,   shell

在Windows下叫   图形化界面 

从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)主要包含:

  • 将使用者的命令翻译给核心(kernel)处理。
  • 同时,将核心的处理结果翻译给使用者。

对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的 操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)。

shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运 行出结果,通过shell解析给用户。

帮助理解:

  • 如果说你是一个闷骚且害羞的程序员,那shell就像媒婆,操作系统内核就是你们村头漂亮的 且有让你心动的MM小花。你看上了小花,但是有不好意思直接表白,那就让你你家人找媒婆帮你提 亲,所有的事情你都直接跟媒婆沟通,由媒婆转达你的意思给小花,而我们找到媒婆姓王,所以我们叫 它王婆,它对应我们常使用的bash。

指令运行的原理

我们这里只简单的了解了解它

zs_108是用户名,@后面是主机名,再后面的~是当前目录,$+后面是命令行提示符

上面的这些一起叫做bash命令行

我们输入指令的过程本质就是输入字符串

到后面我们学习的进程的知识之后我们就会指到,上面一条指令的执行就是一个进程

指令的本质就是编译好的可执行程序

到这里,我们指令的学习暂告一段落,我们在后面的学习中会慢慢的学习更多的指令

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

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

相关文章

OSPF学习笔记(状态机)

1、邻居关系 OSPF设备启动后,会通过OSPF接口向外发送Hello报文,收到Hello报文的OSPF设备会检查报文中所定义的参数,如果双方一致就会形成邻居关系,两端设备互为邻居 2、邻接关系 形成邻居关系后,如果两端设备成功交…

Spring boot集成通义千问大模型

Spring boot集成通义千问大模型 背景 我在用idea进行java开发时发现了通义灵码这款免费的智能代码补全插件,用了一段时间了,感觉很不错。就想着在自己的项目中也能集成通义千问大模型实现智能回答,毕竟对接openai需要解决网络问题&#xff…

[学习笔记]知乎文章-PyTorch的Transformer

参考资料: PyTorch的Transformer register_buffer的作用是:登记成员变量,它会自动成为模型中的参数,随着模型移动(gpu/cpu)而移动,但是不会随着梯度进行更新。 参考资料:【Torch API…

【云原生】kubernetes中pod的生命周期、探测钩子的实战应用案例解析

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

向量数据库引领 AI 创新——Zilliz 亮相 2024 亚马逊云科技中国峰会

2024年5月29日,亚马逊云科技中国峰会在上海召开,此次峰会聚集了来自全球各地的科技领袖、行业专家和创新企业,探讨云计算、大数据、人工智能等前沿技术的发展趋势和应用场景。作为领先的向量数据库技术公司,Zilliz 在本次峰会上展…

Pont在小程序开发的使用

Pont是一个很好的前后端桥,但是有个问题。默认产生的代码,无法支持微信小程序开发。根本原因是因为使用了window给全局的对象注入了API和refs属性,由于小程序没有window属性,当然就无法使用了,解决办法也比较简单。只需…

轻松入门:HTML网页制作指南 进阶篇

一.表格标签 1.1表格的主要作用 表格不是用来布局页面的,而是用来展示数据的。 1.2基本语法 <table><tr><td>单元格内的文字</td>...</tr>...</table>说明&#xff1a; 1.<table> </table> 是用于定义表格的标签。 2.<t…

Iphone自动化指令每隔固定天数打开闹钟关闭闹钟(一)

注意&#xff1a;因为是第一次用iphone的快捷指令&#xff0c;不是很明白&#xff0c;所以之后多次运行发现有bug&#xff0c;所以快捷指令部分在下一章重新写&#xff0c;我用两个日期测试了&#xff0c;没问题&#xff0c;这一章可以当做熟悉快捷指令的一些操作用&#xff0c…

【协议开发系列】梳理关于TCP和UDP两种协议的区别和使用场景

起源 前二天项目上在核对外部对接服务的五元组列表的时候&#xff0c;有一位客户提问对于同样的服务同时支持tcp和udp二种方式&#xff0c;有什么优点和缺点&#xff0c;应该如何选择&#xff1f;这个问题突然让我愣了一下&#xff0c;确实好久没有“温故”了&#xff0c;相关…

【哈希】用哈希桶封装unordered_map unordered_set

&#x1f389;博主首页&#xff1a; 有趣的中国人 &#x1f389;专栏首页&#xff1a; C进阶 &#x1f389;其它专栏&#xff1a; C初阶 | Linux | 初阶数据结构 小伙伴们大家好&#xff0c;本片文章将会讲解 用哈希桶封装 unordered_map & unordered_set 的相关内容。 如…

pdf拆分成有图和无图的pdf(方便打印)

pdf拆分成有图和无图的pdf(方便打印) 原因 打印图片要彩印&#xff0c;每次都要手动弄&#xff0c;打印的时候很麻烦&#xff1b; 随着打印次数的增加&#xff0c;时间就越来越多 为解决此问题&#xff0c;使用python写一个exe解决这个问题 历程 找一个python的GUI界面找到 t…

USART串口外设

USART介绍 USART&#xff1a;另外我们经常还会遇到串口&#xff0c;叫UART&#xff0c;少了个S&#xff0c;就是通用异步收发器&#xff0c;一般我们串口很少使用这个同步功能&#xff0c;所以USART和UART使用起来&#xff0c;也没有什么区别。 其实这个STM32的USART同步模式&a…

MySQL 索引的使用

本篇主要介绍MySQL中索引使用的相关内容。 目录 一、最左前缀法则 二、索引失效的场景 索引列运算 字符串无引号 模糊查询 or连接条件 数据分布 一、最左前缀法则 当我们在使用多个字段构成的索引时&#xff08;联合索引&#xff09;&#xff0c;需要考虑最左前缀法则…

基于物理的分析模型,用于具有场板结构的GaN HEMT的输入、输出及反向电容

Physics-Based Analytical Model for Input, Output, and Reverse Capacitance of a GaN HEMT With the Field-Plate Structure&#xff08;TPE 17年&#xff09; 摘要 该论文提出了一种分析模型&#xff0c;用于描述带有场板结构的常开型AlGaN/GaN高电子迁移率晶体管&#x…

多屏多机同控!天途首发瑶光智控地面站

瑶光智控地面站全新发布&#xff01;高性能处理器&#xff0c;高亮三屏显示。内置天途云控系统&#xff0c;融合图传、控制、存储和数据处理等功能与一体&#xff0c;强大算力&#xff0c;高度集成无人机、无人船、无人车和机械狗等多种无人装备进行云控云算。 内置4G公网通讯模…

RabbitMQ-发布/订阅模式

1、发布/订阅模式介绍 在普通的生产者、消费者模式&#xff0c;rabbitmq会将消息依次传递给每一个消费者&#xff0c;一个worker一个&#xff0c;平均分配&#xff0c;这就是Round-robin调度方式&#xff0c;为了实现更加复杂的调度&#xff0c;我们就需要使用发布/订阅的方式…

现货白银的交易时间有多连贯?

国际市场上的现货白银优势很多&#xff0c;它除了具备国内同类型品种所不具备的数十倍资金杠杆外&#xff0c;也基本上实现了全天24小时不间断的交易时间&#xff0c;所以投资者可以在全天候连贯的行情中&#xff0c;寻找属于自己的交易获利机会。 但对于内地的投资者来说&…

【香橙派 AIpro】新手保姆级开箱教程:Linux镜像+vscode远程连接

香橙派 AIpro 开发板 AI 应用部署测评 写在最前面一、开发板概述官方资料试用印象适用场景 二、详细开发前准备步骤1. 环境准备2. 环境搭建3. vscode安装ssh插件4. 香橙派 AIpro 添加连接配置5. 连接香橙派 AIpro6. SSH配置 二、详细开发步骤1. 登录 juypter lab2. 样例运行3. …

HQChart使用教程100-uniapp如何在vue3运行微信小程序

HQChart使用教程100-uniapp如何在vue3运行微信小程序 症状原因分析解决思路解决步骤1. 修改vender.js2. 修改HQChartControl.js 完整实例HQChart代码地址 症状 HQChart插件在uniappvue3的项目编译成小程序以后&#xff0c; 运行会报错&#xff0c;见下图。 原因分析 查了下…

从了解到掌握 Spark 计算框架(二)RDD

文章目录 RDD 概述RDD 组成RDD 的作用RDD 算子分类RDD 的创建1.从外部数据源读取2.从已有的集合或数组创建3.从已有的 RDD 进行转换 RDD 常用算子大全转换算子行动算子 RDD 算子综合练习RDD 依赖关系窄依赖宽依赖宽窄依赖算子区分 RDD 血统信息血统信息的作用血统信息的组成代码…