Linux的基本指令(3)

01. date指令

date 指定格式显示时间: date +%Y:%m:%d

**date 用法:**date [OPTION]... [+FORMAT]
在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下
%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

a:直接date

**解释:**直接date 会显示当前的年月日以及时分秒

b:date的使用

**解释:**可知,其中的分隔符可以自己更换(:/ - .....都可以),不要分隔符,但留空格,是错的

c:date不要分隔符

**解释:**不要分隔符,只能挨在一起才行,但是打印出来的效果不易识别时间

d:date +%s

**解释:**会打印出时间戳

e:将时间戳转换成时间

解释:date -d @时间戳,即可将时间戳转换成时间,但显示的时间不太符合我们平时的时间,第二个图会更清晰。

f:时差

解释: 时间戳是指‌格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数 ,由于时差,所以北京时间晚8h

02. cal指令

cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。"阳历"又名"太阳历",系以地球绕行太阳一周为一年,为西方各国所通用,故又名"西历"。
命令格式 : cal [ 参数 ][ 月份 ][ 年份 ]
功能 : 用于查看日历等时间信息,如只有一个参数,则表示年份 (1-9999) ,如有两个参数,则表示月份和年份
常用选项
-3 显示系统前一个月,当前月,下一个月的月历
-j 显示在当年中的第几天(一年日期按天算,从 1 月 1 号算起,默认显示当前月在一年中的天数)
-y 显示当前年份的日历

a:直接cal

**解释:**直接 cal打印当月的日历,并且标注了当前日期,可以看出是一份西式日历,因为周日在前

b:cal -y 年

解释: cal -y 年 直接打印出2024这一年的日历

c:cal -3

解释: cal -3显示显示系统前一个月,当前月,下一个月的月历

03. find指令

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

a:指定名字去查

解释: 指定名字(file.txt)去查,这只是一个工作量特别小的一个查找,如果查找一个很多的东西,find第一次会很慢(多叉树的遍历),后面再查相同的内容,就会很快。find第一次查找的时候,能看到其查找的过程,即在屏幕在缓慢的显示其查找到的内容,然后在后面再次查找的时候,就会快多

b:指定路径去查

**解释:**指定在 /usr/bin 这个路径下 去查ls,查系统的指令,直接which会更简单

c:指定部分名字去查

**解释:**去查找file.开头的东西,后面是什么都会被查到

04. whereis指令

whereis

whereis 命令用于定位二进制文件、源代码文件和手册页等相关文件。

它搜索的是预编译好的路径列表,这些路径通常是系统标准安装路径。

whereis 可以查找多个类型的文件,比如二进制文件、源代码文件和手册页。

**解释:**这表示 ls 命令的二进制文件位于 /usr/bin/ls,其手册页位于 /usr/share/man/man1/ls.1.gz

05. grep****指令

语法: grep [ 选项 ] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
常用选项:
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ' 搜寻字符串 ' 内容的那一行
nano 一个file.txt,在里面写以下内容

a:grep

**解释:**能看出来grep是对于大小写敏感的

b:grep +空字符

**解释:**单引号中不输入东西,即查找空字符的行,全部都会被搜寻到

c:grep -i

解释: -i的 i 是 ignore的缩写,可以搜寻的字符串的大小写,a 和 A 搜寻到的东西一样

d:grep -i + 空字符

解释: 单引号中不输入东西,即查找空字符的行,全部都会被搜寻到

e:grep -n

解释: -n :顺便输出行号,

f:grep -n + 空字符

**解释:**单引号中不输入东西,即查找空字符的行,全部都会被搜寻到

g:grep -in

解释:可以组合使用

h:grep -in + 空字符

**解释:**单引号中不输入东西,即查找空字符的行,全部都会被搜寻到

i:grep -v

解释:-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

总结:三种都可以自由组合使用

06. sort****指令

语法: sort 文件
**功能:**把文件中的行按照ASCLL码值来排列,这意味着,如果两行的首字符相同, sort 会继续比较下一个字符,直到找到可以决定顺序的不同字符为止。
-r 逆向排列

a:sort

**解释:**sort把文件里面的内容按照ASCLL码值来进行排列

b:sort -r

**解释:**逆向排列

07. uniq****指令

语法: sort [选项] 文件
**功能:**默认情况下, uniq 只会输出连续的重复行中的第一行, 但是只会去重相邻的行
-u:仅输出文件中不重复的行, 但是只会对相邻的行进行判断
-d:显示重复行, 但是只会对相邻的行进行判断
-c:在行的前面显示改行出现的次数

a:uniq

**解释:**只是unip 只会去重相邻的

b:uniq -c

**解释:**只是unip 只会去重相邻的,-c只是在前面加上了改行重复的次数

c:uniq -u

解释: 仅输出文件中不重复的行,但是也是仅仅是对相邻的行的判断,比如1-3行都是aaaaa,那

-u 认为这三行都重复了,不再输出,而第4行的AAAAA 和 第7行和第9行的AAAAA,都会被认为是不重复行

d:uniq -d

解释: 发现-d显示重复行,但是只会对相邻的行进行判断,AAAAA虽然有几行,但是不相邻,所以认为不重复,所以不显示

总结:要和sort搭配使用,才能达到有效的去重

**解释:**因为uniq所有的功能都是对相邻的行进行的,但是一样的行不一定相邻,那我们就用sort让该相邻的行实现相邻就行

08. sort+uniq的搭配

a:sort + uniq

**解释:**用 | 实现搭配即可,其余的选项都可以搭配使用

b:sort + uniq -c

**解释:**有效去重后,再前面显示了每行出现的次数

09. grep+sort+uniq+wc的搭配

a:sort + uniq + wc

wc -l 命令用于计算给定文件中的行数。这里的 -l 选项代表 "lines",告诉 wc 命令你想要知道输入文本中的行数。

**解释:**对file.txt做有效去重后,统计去重后的行数。

b:grep + sort + uniq + wc

解释:

  • cat file.txt 读取 file.txt 文件的内容。
  • grep 'a' 筛选出包含字母 "a" 的所有行。
  • sort 将这些行按照字典顺序排序。
  • uniq 删除排序后连续的重复行。
  • wc -l 计算并输出最终结果中的行数,即文件 file.txt 中不重复的、包含字母 "a" 的行的数量。

最终,这条命令会输出一个数字,表示 file.txt 中不重复的、包含字母 "a" 的行的总数

10. .zip/unzip指令

语法: zip 压缩文件 .zip 目录或文件
功能: 将目录或文件压缩成 zip 格式
常用选项:
-r 递 归处理,将指定目录下的所有文件和子目录一并处理

a:不可对目录仅 .zip


**解释:**对目录应该 -r

b:对目录应该-r

**解释:**对目录应该-r

c:指定目录解压

**解释:**指定将110.zip解压到dir1这个买目录,不需要再mv

d:在当前路径下解压注意同名的处理

解释:

这个提示说明在解压缩过程中,unzip 命令遇到了一个问题:存档 110.zip 中包含的文件 110/file.txt 已经存在于当前目录中。unzip 询问用户如何处理这个冲突:

  • [y]es:如果用户输入 y 或按回车键,则 unzip 将替换现有的 file.txt 文件。
  • [n]o:如果用户输入 n,则 unzip 将跳过这个文件,不替换现有的 file.txt
  • [A]ll:如果用户输入 A,则 unzip 将自动替换所有冲突的文件,而不再提示。
  • [N]one:如果用户输入 N,则 unzip 将自动跳过所有冲突的文件,而不再提示。
  • [r]ename:如果用户输入 r,则 unzip 会自动将新文件重命名(通常是在文件名后添加一个数字),以避免覆盖现有文件。

用户需要根据具体情况选择一个选项,然后按回车键继续解压缩过程。

11. tar指令

语法: tar [选项] 压缩文件.tgz 目录或文件

-c :建立一个压缩文件的参数指令(create 的意思)

-x :解开一个压缩文件的参数指令

-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩

-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数

-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行

a:-czf:打包压缩命名

b:-xzf:解压

c:-cvzf:打包压缩命并且看到压缩过程

d:-xvzf:解压并且能看到解压的过程

e:指定路径解压

和.zip的操作一样,不过-d换成了-C,不再演示

12. uname指令

语法 : uname [ 选项 ]
功能 : uname 用来获取电脑和操作系统的相关信息。
补充说明 : uname 可显示 linux 主机所用的操作系统的版本、硬件的名称等基本信息。
常用选项:
-a 或 --all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称

13. Linux和windows的互通

a:windows到Linux

直接拖拽即可

将桌面上的一个txt拖拽到xshell中

b:Linux到windows(sz指令)

相关推荐
未来之窗软件服务2 分钟前
sql速度优化多条合并为一条语句
数据库
山东布谷科技官方5 分钟前
布谷直播源码部署服务器关于数据库配置的详细说明
运维·服务器·数据库·直播系统源码·直播源码·直播系统搭建·直播软件开发
yanwushu5 分钟前
Xserver v1.4.2发布,支持自动重载 nginx 配置
mysql·nginx·php·个人开发·composer
易云码25 分钟前
信息安全建设方案,网络安全等保测评方案,等保技术解决方案,等保总体实施方案(Word原件)
数据库·物联网·安全·web安全·低代码
newxtc31 分钟前
【客观理性深入讨论国产中间件及数据库-科创基础软件】
数据库·中间件·国产数据库·国产中间件·科创
蓝眸少年CY31 分钟前
MySQL 【流程控制】函数
mysql
水月梦镜花33 分钟前
redis:list列表命令和内部编码
数据库·redis·list
MonkeyKing_sunyuhua1 小时前
ubuntu22.04 docker-compose安装postgresql数据库
数据库·docker·postgresql
天郁青1 小时前
数据库交互的本地项目:后台管理系统
数据库·交互
马剑威(威哥爱编程)1 小时前
MongoDB面试专题33道解析
数据库·mongodb·面试