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中