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中的一些非常常用并且比较基础的指令,当然,仅仅靠这些指令是不够的,剩下的指令我们后面用到了再进行学习
感谢各位大佬观看,创作不易,还请各位大佬点赞支持!!!