当前位置: 首页 > news >正文

Linux入门——入门常用基础指令(2)

文章目录

  • 入门常用基础指令(2)
    • echo指令和printf指令
    • mv指令
    • 对于Linux万物皆文件的讲解
      • 回顾文件操作
      • 重定位操作
        • 输出重定位
        • 输入重定位
      • 实验操作
      • Linux下的文件分类
    • 文件信息查询
      • tac指令、more指令和less指令
        • 使用cat指令和tac指令查日志
        • more指令查询
        • less指令查询
      • head指令和tail指令
        • 查询指定行数之间的内容
          • 把内容先加载在新的文件内再输出
          • 配合管道文件使用
    • date指令
      • 时间戳
    • cal指令
    • find指令

入门常用基础指令(2)

本篇文章继续讲解Linux的入门指令。

我们前面已经了解过了一些基础的指令了,也了解了一些常用的选项。其实指令的格式基本上都是:指令名称 + 选项 + 操作对象

但是选项有很多种,也不可能一次性讲完和记住。在当前入门的情况下,都只会挑基础的,当前需要了解的来讲。

echo指令和printf指令

我们先来看echo指令:
语法:echo [选项] [字符串]
作用:将后续内容按照字符串的形式直接打印出来

我们来看几个使用例子:
在这里插入图片描述
注意,这里的字符串的内容可以用‘’或者“”包着,这里看似没有什么区别,但其实是有区别的。

不过以当前入门的基础来说,是讲不明白的。我们只需要记住一个结论就可以:
单引号的核心作用就是“完全按原样输出”,它会将引号内的所有内容(包括特殊字符如 $、\、! 等)视为普通文本,禁止一切解析和扩展。这是最“简单粗暴”的字符串包裹方式,适合需要严格控制的场景。而双引号对于某些特殊字符会进行特殊作用的解析。

其实可以把它理解成我们在c/c++程序中学到的某些字符,它在打印的时候是会被识别乘转义字符,又或是有一些特殊作用。所以打印在显示屏上是看不见的。但是在Linux系统下使用echo指令,后面用单引号包起来的内容,里面是什么样,就怎么样打印出来。

不过这里我们需要注意的是,使用echo打印出来的字符串是默认带换行效果的,如果不想换行可以加一个选项-n

在这里插入图片描述
这样确实是做到了不换行。


接着我们再来看看printf指令。没有看错,这个我们熟悉的不能再熟悉的函数,在Linux系统下竟然是一个指令,我们可以使用man指令查看一下:
在这里插入图片描述
这个指令的作用其实和echo差不多,只不过说,这个很像我们在c/c++程序中使用的那个printf函数一样,是格式化打印,是需要我们指定打印内容的格式的(也就是输入占位符)。

使用语法:
printf “占位符1 占位符2 占位符3…” 按照对应占位符的数据

注意,这里和echo指令有一些区别,就是printf指令打印出来的默认是不带换行的,但是我们可以手动地输入一个换行符让它打印:
在这里插入图片描述
很明显,我们加入了换行符\n后,打印效果就自带换行了。

这里和我们在c/c++程序中用到printf函数很相似,但是在语法结构上区别还是不小,注意不要搞混。

mv指令

mv指令其实是move指令的简写,就是将一个文件进行移动:

语法: mv [选项] 源文件或目录 目标文件或目录
作用有两种:

  1. 移动文件的位置
  2. 给文件重命名

注意:这里的文件其实是广义上的。其实在Linux下,万物都是文件。这一点我们在下一个章节将会着重讲解。不要把我们以前经常使用Windows下的认知带到这里来。

Linux万物都是文件,包括文件夹,也包括普通文件,也包括指令…


我们这个部分先进行讲解mv指令的使用:

首先我们先来看移动文件的位置
有时候我们会发现,我们将文件创建错位置了。我们可以想要把它放在其他路径下。如果是在我们常用的图形化界面Windows系统下很简单,直接把文件进行拖拽到指定位置就好了。

但是其实图形化界面的操作本质上也是后台对应的一个个指令,让我们来看看如何使用:

我在当前路径下开辟了一个叫pos的目录,里面放了一个普通文件a1.txt,使用tree命令可以查看当前路径下对应的文件树形结构(上篇文章讲过的)。

但是我觉得a1.txt放错位置了,能不能把它放到和pos目录同一级的目录下?
在这里插入图片描述
答案是可以的,我们使用mv指令即可:
在这里插入图片描述
我们进入pos目录下就能找到这个a1.txt文件了,然后使用指令:mv a1.txt ..,即把a1.txt这个文件移动到上一级目录去。使用这个指令后我们使用ls指令查看,pos目录内部确实是没有文件了。我们返回上一级目录发现,a1.txt确实是到这一级目录下了。

当然也可以把其他的文件移到其他目录去。

那目录是否可以挪到其他目录下呢?(注意这里的my不是目录,这是我之前留下的一个可执行程序文件,也就是可执行的二进制文件)。

在这里插入图片描述
新开两个目录pos1和pos2,在pos1内创建一个普通文件a.c,然后使用指令:mv pos1 pos
再来查看当前树形结构发现,pos1这个文件夹直接就被挪动到了pos目录下了。


接下里我们再来看重命名的用法:

目标文件存在的情况下:
在这里插入图片描述
系统会提示,是否要重写文件,其实就是覆盖。如果我们输入y(yes),就会让what.txt把has.c给覆盖了:
在这里插入图片描述
但是名字还是保留has.c。也就是说,当一个文件使用mv指令的时候,目标文件存在,那么指定的文件就会把内容全部覆盖到目标文件,但是只保留目标文件的名字了。

也就是说,操作后的目标文件,名字不变,里面内容被指定文件覆盖。这就很像给指定文件改了名字。所以可以把它看成重命名。

给目录进行重命名:
在这里插入图片描述
使用指令mv pos POS,成功的把原来的pos目录名字改为POS了。(因为POS是不存在的)。

给文件改名字:
在这里插入图片描述
也是一样的,成功改名。

但是前面我们又举了例子说,如果mv操作的两个对象都是文件,并且目标文件又存在,本质上会把它替换掉。这其实也可以理解为移动,本质上覆盖也是移动。


重命名和移动的操作语法是一样的,怎么分辨呢?
我们来个总结:

1.指定文件时普通文件,目标文件也是普通文件的情况下:
如果目标文件存在,那就会进行询问覆盖。本质上就是把指定文件的内容覆盖到目标文件上,指定文件又改个名字。从结果上来看是给指定文件重命名了。但是会少了少了一个文件。

如果目标文件不存在,由于指定文件是一个普通文件,那么不可能把那个目标文件识别成不存在的目录,只能是识别成不存在的普通文件名,会进行给指定文件直接改名。不会少文件。


2.指定文件是普通文件,目标文件是存在的目录
这个演示过了,会把指定的普通文件移动到这个目标目录下。

但是有人会问,有没有可能,指定文件是普通文件,但是目标文件是不存在的目录呢?
这是没有可能的,前面说到,因为后面的指定文件名不存在,如果指定文件是普通文件,那么目标文件不可能识别成不存在的目录,而是识别出不存在的普通文件名,会进行重命名操作。


3.指定文件是目录,目标文件是目录
因为指定文件是目录了,后面的目标文件名只可能识别成目录名。
如果目标目录存在,那么就把指定目录移动到目标目录下。
如果目标目录不存在,那么就是重命名。

所以也不会存在指定文件是目录,目标文件是普通文件的情况。这是不可能发生的。


其实就是看第二个参数(目标文件)
如果不是目录/不存在,就是重命名,反之移动。

对于Linux万物皆文件的讲解

我们在上一个部分讲过,在Linux下万物皆文件。

其实在入门指令(1)部分的时候我们也提及到果,所谓的指令,只不过是一个个的二进制文件罢了,我们可以直接使用指令,也可以使用它的路径:
在这里插入图片描述
在Linux系统中,不仅仅是指令是文件。就连键盘也是文件,显示器也是文件,哪怕是我们当前所用的Xshell终端也是一个文件。

那也就是说,我们所有的使用的打印函数(如printf,cout)都是打印在文件上的。输入函数(scanf,cin)也都是输入到文件内的。显示器显示的本质就是文件的显示。

回顾文件操作

我们就以我们在c/c++中学到的文件操作为例。我们每次要操作一个文件的时候,都是要使用函数fopen把一个文件打开,用一个FILE*指针接收。

但是我们可以直接打印在显示器上啊,也可以直接输入。我们也没有先对这些对应的文件进行打开操作,这不是违背理论吗?

我们在c语言的文件操作中讲到过,有三个流是程序一启动就被打开的:
标准输入流stdin、标准输出流stdout、标准错误流stderr。

其实对应到Linux系统下,其实就是这三个对应的文件在系统启动的时候就直接打开了。这是系统帮我们完成的,因为大部分情况下我们操作的时候就是输入到显示屏上,输出到显示屏上。所以不需要我们完成打开它们的操作。只不过说有时候我们需要操作自己开辟的文件,所以需要有对应的流进行接收和插入。所以需要我们自行插入对应的文件流。

重定位操作

我们接下里将会做一些实验验证Linux下万物皆文件的观点。但是在此之前,我们需要了解一个新的操作,即重定位。

重定位操作分为输出重定位和输入重定位。

输出重定位

我们回顾一下echo指令的用法:
在这里插入图片描述
即把输入的字符串打印在显示屏上。

输出重定位操作就是把输出的内容进行重定位,需要使用操作符>
在这里插入图片描述
使用重定位操作符,我们可以就好像是把信息打印在了文件上一样。只不过不加重定位操作符的时候,默认打印在的是当前显示器文件上。

我们再次使用echo指令重定位到new.txt这个文件上:
在这里插入图片描述
发现会把文件清空后再重新写入。

重定位到一个不存在的文件:
在这里插入图片描述
会自行创建文件然后再输入信息到文件中。

使用>直接操作文件,发现会把已存在的文件情况。不存在会创建:
在这里插入图片描述

其实我们会发现,输入重定位操作符>就很像我们在c语言文件操作中学的只写的方式打开文件。


但是有时候我们可能会需要追加字符,就需要使用>>进行操作:
在这里插入图片描述
我们发现直接操作文件,是不会清空内容的。
而且成功的追加了字符串到指定文件(注意echo指令自带换行符)。

这个操作符的操作就是:
文件不存在,就创建。直接操作不会清空文件内容。可以追加字符。

这个操作就很像c语言文件操作的文件打开方式“a” —> 追加

输入重定位

了解完输出重定位后,输入重定位理解起来就很简单了,操作符为<
在这里插入图片描述
不使用输入重定位操作符的时候,我们直接使用cat指令:
这个时候就可以理解为是从标准输入文件(键盘)中,读取字符给cat,cat直接打印在显示屏上。

在这里插入图片描述
也可以直接从指定的文件读取后再打印出来。

这个方式的结果好像和直接使用cat是一样的。但是它们还是有区别的。当前由于知识不足,无法进行讲解。当前只需要会用就可以了。

实验操作

接下来我们将做一个实验,来验证一下我们之前得到的结论。
既然Linux下皆文件,包括显示器。包括我们现在登陆的Xshell终端,那我们来试着验证一下。

首先我们是可以找得到我们所用终端这个这个文件的位置的,路径是:/dev/pts

dev其实就是device(设备)的缩写,我们使用ls指令看看这个路径下有什么文件:
在这里插入图片描述
第一个文件名字就是0,其实就是代表当前这个文件。

我们还可以在不同终端界面下登录同一个账号:
在这里插入图片描述
然后再次打开查看发现,多了一个文件是1,其实就是新开的那个终端,我们再开一个看看:
在这里插入图片描述
确实是这么一回事。其实这里就已经可以初步地证明了这个终端就是一个文件了。
但是为了更加正确的证明,我们还得再想别的办法。

这个时候就需要使用到我们前面讲到的重定位操作了。重定位的本质是把内容定位到指定的位置(文件)输出。既然说终端本质是一个文件,那么肯定可以进行重定位操作。那是否就是说,可以在某个终端将想要打印的内容打印到不同的终端上呢?

在这里插入图片描述在这里插入图片描述
经过实验发现,这确实是可行的。因为重定位操作只能重定位到文件。


在这里再给出另外一种方式进行验证,我们用一下c语言程序的文件操作:

在当前目录下写一个hello.c的文件,里面是这样一个程序

//hello.c
#include <stdio.h>const char *dev="/dev/pts/1";int main()
{int cnt = 10;FILE *fp = fopen(dev, "w");if(fp == NULL){printf("open %s error!\n", dev);return 1;}while(cnt--){fprintf(fp, "%s %d\n", "hello world" ,cnt);sleep(1);}fclose(fp);return 0;
}

我们把打开的文件变成终端文件名字为1的那个路径名,如果能够正常的运行这个代码,就一定说明终端是个文件了,并且会在1号机上打印:

需注意的是,在Linux系统下,需使用gcc编译器对.c文件进行一系列操作,生成可执行文件。
使用指令:gcc hello.c -o my
我这里生成了一个叫做my的可执行文件。

我们之前又说过,指令和可执行文件本质是都是文件。我们可以直接使用指令的名字进行操作,也可以使用指令文件的绝对路径:
在这里插入图片描述
最后发现确实是在1号机上成功的输出了想要看到的效果。

所以经过以上的两个简单的小实验就可以证明出,Linux下皆是文件。

Linux下的文件分类

这里我们再来简单地讲一下Linux下文件的分类。因为当前也是刚入门,只稍微提及一些基础的必要的知识。具体的内容是需要等到后面部分再来讲解的。

我们这里输出一个结论:
Linux下的文件不以后缀进行区分。

我们倒回去看看刚刚的实验部分,我在生成目标文件的时候,直接取名叫做my了。目标文件后缀不是.o吗?又或者我们在windows下的可执行文件都是以.exe结尾的。其实这里要说的是,Linux下是不以文件的后缀进行区分文件类型的。

在这里插入图片描述
我们把程序打印的路径改一下并重新编译,再把my这个名字改为my.c
发现照样是可以当作成可执行程序使用的。所以Linux下根本不是以文件后缀进行区分文件的。

我们在基础指令(1)的部分渗透过一点,说到Linux的系统下,区分文件是以ls -l打印出来的新的开头部分决定的:
在这里插入图片描述
我们之前就讲过两个,以-开头的是普通文件,普通文件包括但不限于(文本文件,.c/.cpp源文件,png图像…)。这些在Linux下都是被称为普通文件。以d开头的就是目录文件了。

当然大类也不止这些,还有以下几个类别:

第一个字符文件类型说明
-普通文件 (regular file)常规文件,如文本、二进制文件等
d目录 (directory)文件夹
l符号链接 (symbolic link)软链接,指向另一个文件或目录
s套接字文件 (socket)用于进程间通信的套接字文件
p命名管道 (FIFO/pipe)先进先出的进程间通信管道
c字符设备 (character device)按字符流访问的设备(如终端)
b块设备 (block device)按数据块访问的设备(如硬盘、USB 设备)

我们常用的键盘、显示器、终端是属于字符设备文件的,我们可以尝试看看:
在这里插入图片描述
我们当前的0号机确实是以c开头的。

这里我们只进行了解就好了。很多文件当前还不需要进行过多了解,常用的也就是普通文件和目录文件。重点能区分它们两个就可以了。

当然具体想要直到某个文件是什么类型的,使用file指令就可以了:
在这里插入图片描述
直接使用通配符就可以把所有的文件类型打印出来了。


但是现在有人举例子了:
在这里插入图片描述
现在把hello.c改为hello.txt,再使用gcc进行编译,发现报错了。不是说不以后缀进行区分吗?

这里要注意的是:
Linux只是在区分文件类型的时候没那么多分类,确实是不以后缀名进行区分,这是系统层面规定的。但是gcc是个工具,它是要识别文件的具体的后缀名的,否则就会报错了。

在这里插入图片描述
再把文件名改成对应的后缀就可以正常编译了。

所以一定切记:
Linux不以文件后缀区分文件类型,但并不代表不适用文件名后缀。

文件信息查询

tac指令、more指令和less指令

这两个命令的使用其实和cat很像,只不过相比于cat指令,它们有着一些特殊的用处。

比如我们的系统中是存在一个叫做日志的东西的。在Windows系统中也是有的。里面可能会记录有一些我们对应时间做的操作,也可能是某个时间系统报出什么错误。在企业里的开发工作的时候,程序员的一项必备工作就是查日志。

查系统日志是有必要的。因为有时候系统会报错什么错误。查解决方案的时候是需要进入日志中查询的,有助于快速查找出错误。

在Linux下也是有日志文件的,它的路径是:/var/log/messages
但是需要注意,不同的系统可能存在的位置会不一样。在这里就不多说了。

使用cat指令和tac指令查日志

使用cat指令查日志就非常简单了,直接cat 日志路径就可以了:
在这里插入图片描述我们发现,日志的输出是按照时间顺序(过去到现在)进行的。但是有时候我们可能知道某个报错的信息是放在比较靠前的位置的。这种情况使用cat指令就还得网上翻。

所以就可以使用tac指令,是可以做到倒着输出的:
在这里插入图片描述
这样子就发现,旧时间的信息放在后面了。这就是cat和tac两个指令的差别。

more指令查询

其实也不是查询日志才会用到这些指令。只不过是有些文件,里面内容特别多。可能是几十万行。如果一次性全部输出出来是很难找的。我们更希望的是能够做到像浏览页面一样,先输出一定的行数后就停止,直到我们自行翻阅。

这个时候就可以使用more指令了:
语法: more [选项]
功能:more命令,功能类似 cat
常用选项:
-n 指定输出行数
q 退出more

比如现在我使用指令:more /var/log/messages
在这里插入图片描述
系统就一次只打印满一面,这里计算出来是%9(全屏的百分比不一样)。然后就不会再打印出来了。需要我们自行下翻。

下翻就是按下键s即可(我的机器箭头下键识别不出)。
在这里插入图片描述
下翻会有skipping one line的提示。

如果翻到一半不想翻了直接按q键就可以退出了。
在这里插入图片描述
还可以通过选项-n进行指定每次下翻的行数。

在这里插入图片描述
还可以使用操作/ 寻找内容,这个操作在more指令里可以帮助我们往下翻找到含有这个被寻找内容的地方,但是缺点是没有高亮提示。

less指令查询

前面讲过more指令进行查询。但是more指令的缺点不少:

  1. 不支持上翻
  2. 某些设备对于page down的键识别不出,不能使用这个键下翻
  3. 寻找内容没有高亮提示,且只向下查找

所以比较推荐使用less指令,less指令可以看作是more指令的升级版,功能更加强大:

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大
less 的用法比起 more 更加的有弹性,在 more 的时候,我们并没有办法向前面翻, 只能往后面看
但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更
容易用来查看一个文件的内容
除此之外,在 less 里可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。且有指定查询内容的高亮提示。

语法: less [参数] 文件
对应的参数很多,但目前只需要重点了解个别就好。

选项:
-i 忽略搜索时的大小写
-N 显示每行的行号
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
q:quit

同样的,不想查询了就按q键盘

用法和more很像,但是高级很多。在这里就不进行重复讲解了。感兴趣的可以前去尝试下。

head指令和tail指令

但是有时候我们希望的是,只显示某个文件里面内容的特定行数,这怎么办呢?这时候就需要用到head指令和tail指令了。

head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head用来显示档案的开头至标准输出中,而 tail 当然就是看档案的结尾。


先来看head指令:
语法:head [参数]… [文件]…
功能:head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
选项:-n<行数> 显示的行数

一般来说,这些指令都是用在查询内容比较多的文件的。我们可以使用脚本命令生成有大量内容的文件。但是为了方便,还是拿日志文件进行讲解了。

直接调用head命令查询前多少行,tail命令查询后面多少行。
如果不传多少行对应的选项参数-n,就默认是10行。
在这里插入图片描述

查询指定行数之间的内容

现在还有个问题,就是我们可能想要查询从前往后数的 第x行 ~ 第y行的内容。
这应该怎么办呢?

这里我们就以打印485行到500行为例子,下面提供两种解决方案:

把内容先加载在新的文件内再输出

既然要把485行500打印出来,那么很简单。

我们可以先把前五百行的内容重定位到一个文件内,然后再使用tail命令打印出倒数15行就开夜路。这样子就成功的把倒数的后面几行打印出来了:
在这里插入图片描述
但是这个方法最大的弊端就是需要开一个新的文件。感觉不太好,还有其他方法吗?

配合管道文件使用

这里我们先展示用法,再来简单地讲解一下原理:
在这里插入图片描述
我们使用指令:head -500 /var/log/messages | tail -15

中间的|就代表着一个管道文件。现在要想真正理解它是很难的。这需要等到后面再进行深入地讲解。当前就先简单了解一下使用:

这里的意思其实可以理解为:
先对日志文件进行取出500行,但是把它放在一个管道文件里。然后后面的tail -15其实就是从管道文件里取出倒数15行的内容。

管道文件甚至可以连着很多个一起用:
在这里插入图片描述
就是把|理解为一个管道文件,后续的操作都是对前面的那个管道文件操作的。

但其实管道文件也是会有消耗的,因为本质也是个文件。但是使用起来更方便,所以更推荐使用第二种方法。

date指令

date指令是用来看当前系统当前的运行时间的:
指定格式显示时间: date +%Y:%m:%d
用法: 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

演示一下:
在这里插入图片描述
+这个符号是必须要写的,这是语法规定。然后使用该指令,系统会按照我们输入的格式进行打印时间。占位符是用来进行参数替换的(学习过c语言这里就很简单理解了)。


使用选项-s可以进行系统的时间的一些设定。先不讲,这不是本篇文章的重点。

时间戳

当我们使用指令:date +%s的时候(不是%S,大小写对应的是不同的),系统会打印一个数字:
在这里插入图片描述
而且这个数字看着是每秒+1的。这个就是时间戳。


讲到时间戳就得了解一件事情:
就是电脑是如何记录当前时间的?为什么给电脑断电了再次重启还是能显示正确的时间。但是有时候又发现时间不准了?

这个时候就得了解一个事情,就是电脑记录时间的原理。电脑内部有一个纽扣电池,这个专门用来给一个记录时间戳的计数器供电。这个计数器每秒+1,这个数字就是时间戳。哪怕我们断电了,里面纽扣电池在供电,时间戳仍在记录,不断地+1。而电脑就是通过这个时间戳进行时间的转换的。

但现在面临着一个问题,这个时间戳是从什么时间开始记录的呢?因为要根据时间戳计算当前时间,就是要确定时间戳为0的时候是哪一天,然后根据时间戳(从0到现在的秒数),来计算当前日期。


时间戳 0(1970-01-01 00:00:00)对应的具体地点是英国伦敦的格林尼治天文台(经度 0°),即本初子午线所在的 UTC(协调世界时)标准时区。

这个规定是早早就规定好的。但是这里面临着一个问题,如果时间戳为0的时间是以英国伦敦的格林尼治天文台为标准,那么现在的所有时间戳都是计算的当前英国伦敦的格林尼治天文台的时间了。这肯定不行。因为世界上各地是有时差的(纽约时间 北京时间…)。

所以这里面临着时间的换算。所以这里需要特意强调时间戳为0的时候是英国伦敦的格林尼治天文台的(1970-01-01 00:00:00)这个时间,这个时间对应到当时北京时间是(1970-01-01 08:00:00),因为东八区和中时区差了8个时区。

我们可以在当前系统查一下时间戳对应的时间:
使用指令date -d@时间戳(数字)可以将时间戳转化为时间:

在这里插入图片描述
很明显会发现,时间戳0对应的时间是1970年1月1日 08:00:00。

时间戳转化为时间后,在不同地区的设备里是需要进行时差转换的。就好比贸易,中国这边晚上20点下的单。对应伦敦中午十二点,这个时候就应该伦敦这边立马发货。但是时间戳不进行转化,那就变成了伦敦这边要晚上20点发货。这肯定是不行的。所以时间戳在不同地区是需要进行时差转化的,因为需要一个统一的标准。

cal指令

命令格式: cal 参数 [年份]
这个指令是用来查看日历的:
常用选项:
-3 显示系统前一个月、当前月、下一个月的月历
-j 显示在当年中的第几天(一年日期按天算,从1月1日起计算,默认显示当前月在一年中的天数)
-y 显示当前年份的日历

在这里插入图片描述
默认查看的是当前系统所处时间的那一个月的日历。

这个指令用的很少,稍微了解一下就可以了。

find指令

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

语法: find pathname -options
作用:在某个路径下找到文件执行相应的操作

常用选项
• -name 按照文件名查找文件
• 其他选项需要在查,这个命令其实比较复杂

不过当前处于入门阶段,所以先不了解那么多。会使用-name这个选项就可以了。

在这里插入图片描述
使用指令:find ~ -name r.txt,意思就是在家目录下找到一个叫r.txt的文件。然后会把这个文件的绝对路径找出来。

在这里插入图片描述
有不同路径下的重名文件也不怕,会全部找出来。

相关文章:

  • 每日算法 -【Swift 算法】正则表达式匹配:支持 `.` 和 `*`
  • 端到端测试最佳实践:从入门到精通的完整指南
  • 【AUTOSAR OS 】保护功能解析:从原理到应用与源代码解析(上篇)
  • Docker 前端镜像容器部署指南
  • 【HW系列】—Log4j2、Fastjson、Shiro漏洞流量特征
  • 超声成像系统解决方案AFE模拟前端
  • Vue开发系列——Vue 生命周期钩子 及常见知识点
  • Cisco Meraki(MR36) 踩坑指南
  • 线程池学习(一)
  • 小白成长之路-Linux操作系统-进程管理
  • JVM——Truffle:语言实现框架
  • JVM与JMM深度解析:从Java 8到Java 21的演进
  • 字符串day8
  • Python 如何让自动驾驶的“眼睛”和“大脑”真正融合?——传感器数据融合的关键技术解析
  • 弧度 = 弧长与半径的比值
  • Linux系统之cal命令的基本使用
  • QT6 关于使用MSVC2019,UI设计师自定义控件的制作和QT Cretor里面调用
  • 多模态简介
  • QTest应用迷城
  • 命象架构法 02|你的系统有“用神”吗?
  • 西班牙语网站设计哪家好/小红书关键词优化
  • 连云港做企业网站公司/新网站怎么做优化
  • 广州网站建设吧/厦门seo招聘
  • 六安的网页制作/黄山网站seo
  • 深圳建设网站公/解析域名网站
  • 阿里云上传的网站 服务器路径/seo项目分析