【Linux】-关于Linux的指令(下)

news2024/11/28 8:31:45

💖作者:小树苗渴望变成参天大树
❤️‍🩹作者宣言:认真写好每一篇博客
💨作者gitee:gitee
💞作者专栏:C语言,数据结构初阶,Linux,C++

在这里插入图片描述

文章目录

  • 前言
  • 一、时间相关的指令
  • 二、cal指令
  • 三、find -name指令
  • 四、grep指令
  • 五、zip和unzip指令
  • 六、tar指令
  • 七、bc指令
  • 八、uname -r指令
  • 九、重要的几个热键[Tab],[ctrl]-c, [ctrl]-d
  • 十、关机
    • 十一、总结


前言

今天我将把Linux指令讲完,难度其实还好,但是细节太多,大家一定要理解好,看文章的时候不要急于求成,一个指令的过,这样才能学到更好,并且今天我将切换到普通用户来跟大家讲解,这样对指令的理解徽更好,接下来我们开始进入正文的讲解


一、时间相关的指令

date显示
date 指定格式显示时间: date +%Y:%m:%d
date 用法:date [OPTION]… [+FORMAT]
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
在这里插入图片描述
这是时间的默认格式,我们可能看不习惯,可以按照自己的习惯把时间显示出来
在这里插入图片描述

红框里面是你想要的格式,最前面的+号不能少。

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.时间戳

Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。

那时间是我们人为规定的,而且地球是一个圆,个地方时间不一样,所以我们要想办法把时间统一起来,解决时差的问题,不能所以国家·时间都一样,那样就对不上,再计算机中我们采用时间戳的方式来记录时间,我们来看看怎么看Linux上的时间戳:

时间->时间戳:date +%s

在这里插入图片描述
这个时间戳我们看到是单调递增的,这上面的数字是从起始时间到现在时间经过了多少秒,我们来看看怎么通过时间戳来看具体时间:

时间戳->时间:date -d@1508749502

在这里插入图片描述
我们再来看一个时间戳的案例:
在这里插入图片描述

不是说从午夜开始吗??为什么我们是八点开始呢??原因是起始时间是再欧洲那一块,我们这属于东八区,所以比他们早八个小时看到太阳,所以我们从八点开始计算时间戳。

相信到这我把时间戳的概念应该让大家有所了解了吧。

二、cal指令

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

命令格式: cal [参数][月份][年份]
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
常用选项

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这个指令没有什么可具体介绍的,就是查看日历的,接下来将的这个非常重要

三、find -name指令

这个指令是非常重要的,而且他的功能非常的强大,有许多选项,今天我就简单的介绍一下

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

语法: find pathname -options
功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
常用选项:-name 按照文件名查找文件
如果我们想要看到现在我们写过了多少个.c文件

find ~ -name *.c//~是家目录

在这里插入图片描述
在这里插入图片描述

对于我这个机器我就写了一个.c文件,两个.txt文件
也可以查找想要的指令:
在这里插入图片描述
我们看到第一个再绝对路径下查找直接就查找到,再上一级路径下,我们就出现这样的提示,没有权限,再root账户下可能几乎看不到这样的提示,因为root的权限比较大,再学习Linux第一节我就讲过所有目录形成一个树形结构
对于刚才查找的指令,因为我们是普通用户,当查到没有权限的目录下,就会有提示,锁喉才找到我们想要的指令,usr目录下肯定有普通用户访问不了目录。

所以有了这样的知识储备后,我们的普通用户其实是再home目录的一个子目录:
在这里插入图片描述
只要再xdh目录下的所有目录,我们进行查找的时候就没有任何限制,就必须加/home/xdh这样的前缀,除非再xdh这个目录下,不然访问都有可能受限制

find可以再指定的路径下对文件进行搜索

我们再学习alias指令的时候,提到过怎么查找指令,which
在这里插入图片描述

对于which:只能查找指令,并且把详细的信息显示出来

还有一个查找指令:whereis
在这里插入图片描述
这个.gz后面就会讲到就是压缩包的意思,我们也看到man目录,就是手册的位置

whereis:再系统特定的路径下,即可以找到可执行程序,有可以找到手册,安装包,压缩包等

对于这三个指令,都有自己特定使用的场景,大家到时候自己选择使用哪个就好了

补充知识点:

du -k test.txt//按kb计算文件大小
du -m test.txt//按mb计算大小

四、grep指令

语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
常用选项:

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

我们先来使用一个脚本,创建一个大文本,简单的测试一下grep指令

cnt=1; while [ $cnt -le 10000 ]; do echo "hello Linux $cnt"; let cnt++; done > test.txt

在这里插入图片描述
test.txt里面是10000个这样的数据,我们来查查出现‘999’的行
在这里插入图片描述
他是按照一行给你现实出来,所以也叫行文本过滤工具

接下来我们创建一个文件,再里面写一些相关的内容,随便写都行。来测试对应的选项

在这里插入图片描述

-i:忽略大小写的不同,所以大小写视为相同
在这里插入图片描述
-n:顺便输出行号(把所查找到的内容再文件的第几行显示出来)
在这里插入图片描述

-v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行
在这里插入图片描述
大家对于在文件中搜索字符串应该理解了吧

grep后可接多个文件,把每个文件中想要的查找的内容显示出来。

五、zip和unzip指令

在我们Windows中,我们经常将文件进行的打包压缩,那我们为什么要这么做呢??原因是有的文件太大了,下载起来太慢了,给用户的体验太差了,所以我们将他们压缩成比较小的文件,其次打包压缩可以将多个文件变成同一个压缩包,不容易造成文件的丢失

总结:

1.能被打包压缩的,一定是一个整体,有多个文件->一个文件,不容易造成文件的丢失
2.打包压缩的,大小变小了,下载时间变成短,用户体验变好了。

所以在Windows上有了许多压缩工具,在Linux也有对应的压缩工具zip和unzip
有的机器默认是没有安装的,所以你单独输入zip unzip 出现了not found 就代表没有安装,输入下面指令进行安装:

yum install -y zip unzip

我们来具体看看再Linux下的压缩解压时怎么完成的,我们先创建一个压缩文件目录,再里面创建一些其他目录和文件。
在这里插入图片描述
语法: zip 压缩文件.zip 目录或文件
功能: 将目录或文件压缩成zip格式
常用选项:
-r 递 归处理,将指定目录下的所有文件和子目录一并处理

将test2目录压缩:zip test2.zip test2

我们将zip1目录打包压缩成d1.zip
在这里插入图片描述
我们解压一下看看 使用unzip:

解压到指定的tmp目录:unzip test2.zip -d /tmp

在这里插入图片描述
我们把d1.zip解压到test1目录下,然后再查看里面的内容就没有了,原因是直接压缩,他会把你的目录直接当成文件进行压缩,里面的就没有,所以看不到里面的内容,我们比较加一个选项才能完成递归式压缩

**-r:**递 归处理,将指定目录下的所有文件和子目录一并处理
在这里插入图片描述
这样才可以达到我们想要的效果,所以我建议不管啥时候都带上-r是一个比较好的选择

也可以将统一目录下的文件和子目录一起打包,不需要都放在一个目录下,对一个目录进行打包,这个灵活性比较大
在这里插入图片描述

六、tar指令

这也是一个非常重要的指令,这个指令也是关于压缩解压的,但功能比上面两个还要强大,这个指令的选项和find的一样,非常的多,压缩和解压都是这一个指令,用不同的选项而已,所以我只讲常用的和重要的
tar [-cxtzjvf] 文件与目录 … 参数:

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

这个指令几乎是每个机器都有指令,来使用这个指令看有没有这个指令:

tar --version

在这里插入图片描述
出现这个行了

对于这个指令,我们给文件进行压缩打包的后缀就不是zip了,而是tar.gz

tar-打包的后缀
gz-压缩的后缀
打包压缩的缩写为tgz

我们看到上面有许多选项,我们只需要掌握三个就行了

-czf:打包压缩
在这里插入图片描述

-tzf:预览
再Windows你点开压缩包会出现下面的情况,让你先预览一下,但这个时候还没有进行解压
在这里插入图片描述
再Linux上,使用tar -tzf来预览

在这里插入图片描述

-xzf和-C:解压到指定目录下
在这里插入图片描述
一个指令解决zip和unzip的所有事,我们目前只需要记住这三个组合选项就行了,而且对于解压到指定路径下zip是-d,tar是-C,这和zip还是有点差别的

我们再来单独看看打包和压缩
在这里插入图片描述
仅压缩
在这里插入图片描述
打包和压缩可以分开指向也可以一起执行,这个灵活性特别强,现在掌握我最开始讲的三个组合选项就够了,其余的就当了解了。

七、bc指令

这指令就好比我们Windows上的计算机,可以很简单的计算浮点运算,我们具体来看看怎么使用的吧
在这里插入图片描述

退出可以按Ctrl+c,这个指令可以配合管道来使用,我们来看看操作
在这里插入图片描述
其他没什么好讲解的,我们开始讲解下一个指令

八、uname -r指令

有的时候想看自己的机器是什么版本的话,就需要使用到这个指令
语法:uname [选项]
功能: uname用来获取电脑和操作系统的相关信息。
补充说明:uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。
常用选项

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

在这里插入图片描述

九、重要的几个热键[Tab],[ctrl]-c, [ctrl]-d

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

这几个热键大家下来可以自己尝试一下,博主就不在这里做具体介绍了

十、关机

语法:shutdown [选项] ** 常见选项:**
-h : 将系统的服务停掉后,立即关机。
-r : 在将系统的服务停掉之后就重新启动
-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思

Windows下也有相关的挂你就按指令,再cmd下运行就行了,大家可以自己去尝试一下。

十一、总结

到这里博主几乎把Linux的操作指令讲解完成了,大家可以操作Linux了,还有许多其他的指令,那都是修改,查看等一下指令,和操作指令不同,其他指令后面遇到在细讲,我先方出来让大家见见:

◆ 安装和登录命令: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。

大家先看一下,三篇博客讲解指令,博主也是刚开始学习,指令要多敲才能孰能生巧,所以大家也要多练习,下篇博主将讲解权限的概念,细节很多,大家要做好准备。
在这里插入图片描述

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

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

相关文章

Centos7 经典模式安装GBase 8s 图文教程

Centos7安装GBase 8s 图文教程 前言1.1 硬件要求1.2 系统要求1.3 虚拟 PC 软件1.4 安装及配置数据库服务器1.4.1 创建 gbasedbt 组和用户1.4.2 创建 GBase 8s 数据库安装目录1.4.3 上传并解压安装包1.4.4 执行安装 参考文献 前言 本篇博文分享如何在Centos7 x86架构的系统中安…

第2章-Selenium-API操作

目标: 1. 熟练应用八种元素定位方式 2. 掌握对元素和浏览器的操作方法 3. 掌握键盘鼠标的操作 4. 掌握元素等待的操作 5. 掌握下拉选择框、 警告框和滚动条的操作 6. 掌握如何切换frame框架和多窗口 7. 掌握如何实现窗口截图 1.元素定位 1. 掌握id、 name、 cla…

【leetcode】622 二叉树的最大宽度

题目描述 给你一棵二叉树的根节点 root ,返回树的 最大宽度 。 树的 最大宽度 是所有层中最大的 宽度 。 每一层的 宽度 被定义为该层最左和最右的非空节点(即,两个端点)之间的长度。将这个二叉树视作与满二叉树结构相同&#…

MATLAB 之 M 文件和程序控制结构(顺序、选择、循环)

文章目录 一、M 文件1. M 文件的建立与打开1.1 建立新的 M 文件1.2 打开已有的 M 文件 2. M 文件的分类 二、 程序控制之顺序结构1. 数据的输入2. 数据的输出3. 程序的暂停 三、程序控制之选择结构1. if 语句2. switch 语句3. try 语句 四、程序控制之循环结构1. for 语句2. wh…

畸变像差校正技术(畸变相位补偿)发展现状及其仿真实验研究-技术汇总-Matlab代码

▒▒本文目录▒▒ 一、引言二、物理方法2.1 基于二次曝光法的畸变像差补偿仿真实验验证 三、数值方法3.1 基于主成分分析法的畸变像差补偿仿真实验验证3.2 基于标准多项式拟合法的畸变像差校正仿真实验验证3.3 基于最小二乘拟合法的畸变像差校正仿真实验验证3.4 基于泽尼克多项…

Simulink 自动代码生成电机控制——永磁同步电机参数获取

目录 前言 极对数测量 电阻测量(Rs) 电感测量(Ld和Lq) 磁链测量 总结 前言 在建模之前或者需要更换一个新电机,需要获取目标电机的电气参数,如果参数不对,对于电流环参数的整定&#xff0…

2023/05/08~14 刷题记录

A - Plus and Multiply 题意: 题解: 题目说可以将集合里面的数字 *a 或者 b 操作,并将新的值放进集合中,首先想到 dfs 暴力求解,但是太暴力了,直接 时间超限 。通过观察我们可以知道,要求 n 是否…

前端模块化

什么是模块化 事实上模块化开发最终目的是将程序划分成一个个小的结构在这个结构中编写属于自己的逻辑代码,有自己的作用域,不会影响到其他的结构这个结构可以将自己希望暴露的变量、函数、对象等导出给其他结构使用。可以通过某种方式,导入…

电脑软件:国内最好用解压缩软件 7-Zip 新版本发布

5 月 9 日消息,7-Zip 是一款拥有极高压缩比的的开源压缩软件,支持 LZMA2 等 7 种开源算法,以及支持较广泛的压缩格式 .7z,体积不大(1.5MB)、功能完善,除了默认 UI 不符合国内审美外几乎没什么可…

Oracle数据库安装教程,并实现公网远程连接【内网穿透】

✨ 目录 🎈 前言🎈 1. 数据库搭建🎈 2. 内网穿透🎈 2.1 安装cpolar内网穿透🎈 2.2 创建隧道映射 🎈 3. 公网远程访问🎈 4. 配置固定TCP端口地址🎈 4.1 保留一个固定的公网TCP端口地址…

Java经典笔试题—day08

Java经典笔试题—day08 🔎选择题🔎编程题🥝两种排序方法🥝求最小公倍数 🔎结尾 🔎选择题 (1)下列选项中关于Java中super关键字的说法正确的是() A.super关键字是在子类对象内部指代…

JAVA JDK下载安装手册

JDK的介绍与安装 JDK简介 JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。编写 Java 程序必须使用 JDK,它提供了编译和运行 Java 程序的环境。是整个java开发的核心。 准备JDK 本次使用的是JDK1.8 如下所示: 下载完…

记两道AES-CBC题

文章目录 知识导入(AES-CBC模式)题一(buu [ACTF新生赛2020]crypto-aes 1)题目描述:题目分析:知识导入os.urandom(n)函数比特,字节,二进制数之间的关系AES.new(key,AES.MODE_CBC,iv) 题二(crack AES-CBC IV)…

小黑子—Java从入门到入土过程:第九章-IO流

Java零基础入门9.0 Java系列第九章- IO流1. 初识IO流2. IO流的体系2.1 字节流2.1.1 FileOutputStream 字符串输出流2.1.1 - I 字符串输出流的细节2.1.1 - II FileOutputStream写数据的3种方式2.1.1 -III FileOutputStream写数据的两个小问题 2.1.2 FileInputStream 字符串输入流…

点线面产生局部坐标系以及计算到世界坐标系的旋转矩阵

欢迎关注更多精彩 问题描述 给定点O,线段AB,平面OP,求以OP法向为某一轴,以AB在OP上的投影为另一轴,O为原点的局部坐标系。要求给出X,Y,Z轴的单位向量,以及原点O. 求出转换到世界坐标系的旋转矩阵RT。 如…

ChatGPT的简单了解

ChatGPT 是 InstructGPT 的同级模型,它经过训练可以按照提示中的说明进行操作并提供详细的响应。 InstructGPT论文:https://arxiv.org/pdf/2203.02155.pdf InstructGPT怎么准备和标记数据集:https://harryliu.blog.csdn.net/article/detail…

【连续介质力学】张量的性质2

张量的代数操作 张量的性质 张量迹 Tensor Trace 定义 e ^ i ⨂ e ^ j \hat e_i \bigotimes \hat e_j e^i​⨂e^j​的迹: T r ( e ^ i ⨂ e ^ j ) e ^ i ⋅ e ^ j δ i j Tr(\hat e_i \bigotimes \hat e_j) \hat e_i \cdot \hat e_j \delta_{ij} Tr(e^i​⨂e^j​)e^i​⋅…

总结如何申请注册 GitHub 教师教育优惠 Benefits for Teachers 来免费使用 copilot

目录 1. GitHub 教师教育优惠有什么2. 如何申请教师教育优惠呢2.1 选择学校2.2 更改个人信息2.3 准备证明材料2.4 提交申请2.5 遇到的问题2.5.1 问题 12.5.2 问题 22.5.3 问题 3 3. 申请免费的 GitHub Copilot 学生注册不在此处赘述了,网上有很多教程可以参考。但是…

软件测试面试面对HR提出的问题,怎么回答才不会被面试官“套路”

面试中,如何回答HR提出的问题很大程度上决定了面试能不能成功。 下面是软件测试人员在面试过程中经常被问到的10个问题,告诉你怎么回答才不会被面试官套路...... 请你做一个自我介绍 误区: 一般人回答这个问题过于平常,只说姓…

JVM学习(一)

一、JVM介绍 1.1基本概念 JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、 一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作系统之上的,它与硬件没有直接 的交互。 1.2 运行过程 我们都知道 Java …