个人主页:平行线也会相交
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创
收录于专栏【Linux专栏】🎈
本专栏旨在分享学习Linux的一点学习心得,欢迎大家在评论区讨论💌
目录
- date指令
- cal指令
- find指令
- grep(行文本过滤工具)
- zip/unzip指令
- tar指令
- bc指令
- uname –r指令
- 重要的几个热键[Tab],[ctrl]-c, [ctrl]-d
- 关机
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
举个例子:
date +%y-%m-%d
date +%y-%m-%d_%H:%M:%S
date +%F
(%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″
//这样可以设置全部时间
举个例子:
date +%s
3.时间戳
时间->时间戳:date +%s
时间戳->时间:date -d@1508749502
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的
午夜)开始所经过的秒数,不考虑闰秒。
请看举例:
date +%s
date -d @1685846308
date +%Y-%m-%d_%H:%M:%S -d @1685846308
date +%Y-%m-%d_%H:%M:%S -d @0
cal指令
cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。
命令格式: cal [参数][月份][年份]
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份。
常用选项:
-3
:显示系统前一个月,当前月,下一个月的月历
-j
:显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
-y
:显示当前年份的日历
举个例子:
cal -3
cal 2023
cal
cal 2030
find指令
1.Linux下find命令在目录结构中搜索文件,并执行指定的操作。
2.Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。
3.即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。
4.在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。
语法: find pathname -options
功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
常用选项:
-name
: 按照文件名查找文件。
举个例子:
find ~ -name test.c
find ~ -name '*.c'
find ~ -name 'test*'
来看一下访问权限的问题:
find /usr/ -name pwd
如果我们是在自己的家目录(/home/用户名
)查自己的文件时是可以正常去查找的,从这个目录(/home/用户名
)以下的整个多叉树我们都是可以进行访问的。
但是一旦从系统中去查找的话,可能就会受到权限的约束,即不让我们去查,由于我这里使用的是普通用户,所以没有权限去查,我们可以使用root账号来进行查找,或者权限身份的切换来使用root的身份来进行查找,这块的内容等到之后权限那里再给大家介绍吧。
总结一下:find指令
可以在指定的路径
下进行文件的查找,是真的在磁盘文件中查找。
grep(行文本过滤工具)
语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
常用选项:
-i
:忽略大小写的不同,所以大小写视为相同。
-n
:顺序输出行号。
-v
:反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行。
举个例子:
grep '999' log.txt
grep 'world' log.txt
grep -v 'world' log.txt
grep -n 'world' log.txt
grep -n '' log.txt
grep -vn 'world' log.txt
grep -i 'bit' log.txt
grep -in 'bit' log.txt
我们也可以配合通过管道文件|
来使用grep指令
,比如:
cat log.txt | grep 'bit'
cat log.txt | grep -n 'bit'
cat < log.txt
cat log.txt | cat
zip/unzip指令
Linux充当服务器时,需要各种网络应用场景来满足通讯的需求。
语法: zip 压缩文件.zip 目录或文件
功能: 将目录或文件压缩成zip格式
常用选项:
-r
:递归处理,将指定目录下的所有文件和子目录一并处理。
zip d1.zip d1
这里其实只是默认把目录d1
进行压缩,所以解压之后只有d1。
我们可以看到解压之后只有d1
的空目录,什么都没有。我们应该使用选项-r
,即递归式的对目录d1
进行打包和压缩,请看:
zip -r d1.zip d1
我们现在来验证一下,是否将d1中的d2中的file4.txt中的内容打印出来
,请看:
既然能够打印出来,说明我们解压缩成功了。
我们应该如何对目录d1
和文本文件log.txt
进行整体压缩呢?
请看:zip -r d1.zip d1 log.txt
可以看到,现在只剩下d1.zip
这个压缩包了,我们对其进行解压,请看:
unzip d1.zip
我们现在来把d1.zip
解压到test目录
中去
请看:
现在将d1.zip
解压到test目录
中去,unzip d1.zip -d test
或者unzip d1.zip -d test/
,这里注意/
有没有都可以,请看结果:
此时,成功将d1.zip
解压到目标目录test
中去了。
tar指令
tar [-cxtzjvf] 文件与目录 … 参数:
-c
:建立一个压缩文件的参数指令(create 的意思);
-x
:解开一个压缩文件的参数指令!
-t
:查看 tarfile 里面的文件!
-z
:是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j
:是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v
:压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f
:使用档名,请留意,在 f 之后要立即接档名,不要再加参数!
-C
: 解压到指定目录
举例:
tar czf code.tgz d1 log.txt
:打包压缩
tar tzf code.tgz d1 log.txt
:不进行解压解包,只预览(查看),只是看一下。
tar xzf code.tgz
:解压解包
下面来看解压到指定路径的操作:
tar xzf code.tgz -C ..
:解压到上一级目录
bc指令
bc命令可以很方便的进行浮点运算。
uname –r指令
语法:uname [选项]
功能: uname用来获取电脑和操作系统的相关信息。
补充说明:uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。
常用选项:
-a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
补充一点:x86_64==x64
、x86==32位
。
重要的几个热键[Tab],[ctrl]-c, [ctrl]-d
[Tab]
按键—具有『命令补全』和『档案补齐』的功能
[Ctrl]-c
按键—让当前的程序『停掉』
[Ctrl]-d
按键—通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,它也可以用来取代exit。
关机
语法:shutdown [选项]
常见选项:
-h
:将系统的服务停掉后,立即关机。
-r
:在将系统的服务停掉之后就重新启动。
-t sec
: -t 后面加秒数,亦即『过几秒后关机』的意思。
好了,关于Linux指令的一些基本指令到这里就全部结束了,不要眼高手低,还是得多上手实践才行。
就到这里吧,再见啦,友友们!!!