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

【Linux】基本的指令(三)

大家好我是沐曦希💕

Linux专栏:Linux零基础学习

文章目录

  • 1.时间相关的指令
  • 2.Cal指令
  • 3.find指令:(非常重要)-name
  • 4.grep指令
  • 5.zip/unzip指令
  • 6.写在最后

1.时间相关的指令

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
[root@iZ2ze79kprp9cai14dsma8Z ~]# date
Thu Sep 29 15:46:46 CST 2022
[root@iZ2ze79kprp9cai14dsma8Z ~]# date +%Y/%m/%d-%H:%M:%S
2022/09/29-16:08:19

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″ //这样可以设置全部时间
2022/09/29-16:08:19
[root@iZ2ze79kprp9cai14dsma8Z ~]# date +%Y/%m/%d-%X
2022/09/29-04:09:28 PM

3.时间戳
时间->时间戳: date +%s
时间戳->时间: date -d@1508749502
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的
午夜)开始所经过的秒数,不考虑闰秒。

[root@iZ2ze79kprp9cai14dsma8Z ~]# date +%s
1664439152
[root@iZ2ze79kprp9cai14dsma8Z ~]# date +%Y/%m/%d-%H:%M:%S -d@1664439152
2022/09/29-16:12:32

2.Cal指令

cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。 “阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。
命令格式: cal [参数][月份][年份]
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
常用选项

  • -3 显示系统前一个月,当前月,下一个月的月历
  • -j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
  • -y 显示当前年份的日历

在这里插入图片描述

cal -n显示本月前后共n月的日历
在这里插入图片描述
查看cal的语法和选项:cal -h
在这里插入图片描述
其中cal -s:以星期日为每周的开头
cal -m:以星期一为每周的开头

3.find指令:(非常重要)-name

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

find name(目录名)//查找目录并显示该目录下所有的文件和目录

[root@iZ2ze79kprp9cai14dsma8Z ~]# find File

在这里插入图片描述
语法: find pathname -options
功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
常用选项

-name 按照文件名查找文件。

[root@iZ2ze79kprp9cai14dsma8Z ~]# pwd
/root
[root@iZ2ze79kprp9cai14dsma8Z ~]# find -name file
[root@iZ2ze79kprp9cai14dsma8Z ~]# find -name test
./File/test

没有找到相应文件则不会显示,找到后显示想要文件的路径。

当我们进行find搜索的时候,可能需要访问磁盘,进而导致效率低下。

whereis指令也是用来进行搜索的
在特定的路径下,查找指定的文件名对应的指令或文档

[root@iZ2ze79kprp9cai14dsma8Z ~]# whereis test
test: /usr/bin/test /usr/share/man/man1/test.1.gz /usr/share/man/man1p/test.1p.gz
[root@iZ2ze79kprp9cai14dsma8Z ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

whereis的选项
在这里插入图片描述
还有一个which指令也用来进行搜索,which常用来搜索指令的所在的路径

[root@iZ2ze79kprp9cai14dsma8Z ~]# which find
/usr/bin/find
[root@iZ2ze79kprp9cai14dsma8Z ~]# which man
/usr/bin/man
[root@iZ2ze79kprp9cai14dsma8Z ~]# which which
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
	/usr/bin/alias
	/usr/bin/which
[root@iZ2ze79kprp9cai14dsma8Z ~]# which ll
alias ll='ls -l --color=auto'
	/usr/bin/ls

其中alias相当于对指令进行重命名/起别名
其中查找范围:which<whereis<find

4.grep指令

文本内容的行过滤工具,默认会匹配文本中的关键字,匹配上的进行显示。
语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来

常用选项

  • -i :忽略大小写的不同,所以大小写视为相同
  • -n :顺便输出行号
  • -v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行
[root@iZ2ze79kprp9cai14dsma8Z ~]# grep '999' ./File/file.txt

在这里插入图片描述
grep -n:带行号

[root@iZ2ze79kprp9cai14dsma8Z File]# grep -n '999' file.txt

在这里插入图片描述
grep -i:忽略大小写

[root@iZ2ze79kprp9cai14dsma8Z File]# grep 'abc' file.txt
abc [115]
abc [239]
abc [428]
[root@iZ2ze79kprp9cai14dsma8Z File]# grep -n 'ABC' file.txt
[root@iZ2ze79kprp9cai14dsma8Z File]# grep -i 'ABC' file.txt
abc [115]
abc [239]
abc [428]

grep -v:把未匹配到的进行显示输出

[root@iZ2ze79kprp9cai14dsma8Z File]# grep -v 'hello world' file.txt
abc [115]
abc [239]
abc [428]

其中grep可以和其他命令结合管道来进行其他的匹配工作

[root@iZ2ze79kprp9cai14dsma8Z File]# grep '999' file.txt | wc -l
19

wc:统计行数

sort指令用于排序文本内容,按ASCII码值进行行号排序。

[root@iZ2ze79kprp9cai14dsma8Z File]# sort test.txt

在这里插入图片描述
uniq:对文本相邻的相等的内容进行去重,只保留一个.
那么uniq和sort可以通过管道结合对文本进行去重和排序

[root@iZ2ze79kprp9cai14dsma8Z File]# cat test.txt
aaaa
aaaa
bbbb
cccc
cccc
bbbb
eeee
dddd
eeee
dddd
[root@iZ2ze79kprp9cai14dsma8Z File]# uniq test.txt
aaaa
bbbb
cccc
bbbb
eeee
dddd
eeee
dddd
[root@iZ2ze79kprp9cai14dsma8Z File]# sort test.txt | uniq 
aaaa
bbbb
cccc
dddd
eeee

5.zip/unzip指令

安装zip/unzip指令

yum install -y zip unzip

zip my.zip(文件名+.zip) 要压缩的文件
语法: zip 压缩文件.zip 目录或文件
功能: 将目录或文件压缩成zip格式
常用选项

-r 递归处理,将指定目录下的所有文件和子目录一并处理

[root@iZ2ze79kprp9cai14dsma8Z ~]# zip _zip.zip lesson4
  adding: lesson4/ (stored 0%)
  [root@iZ2ze79kprp9cai14dsma8Z ~]# mkdir tmp
[root@iZ2ze79kprp9cai14dsma8Z ~]# ll
total 24
drwxr-xr-x 3 root root 4096 Sep 30 13:55 File
drwxr-xr-x 2 root root 4096 Sep 28 21:27 lesson2
drwxr-xr-x 3 root root 4096 Sep 30 13:54 lesson4
drwxr-xr-x 2 root root 4096 Sep 28 21:19 Linux
drwxr-xr-x 2 root root 4096 Sep 30 13:58 tmp
-rw-r--r-- 1 root root  166 Sep 30 13:58 _zip.zip
  [root@iZ2ze79kprp9cai14dsma8Z ~]# cd tmp
[root@iZ2ze79kprp9cai14dsma8Z tmp]# mv ../_zip.zip .
[root@iZ2ze79kprp9cai14dsma8Z tmp]# unzip _zip.zip
Archive:  _zip.zip
   creating: lesson4/
[root@iZ2ze79kprp9cai14dsma8Z tmp]# ll
total 8
drwxr-xr-x 2 root root 4096 Sep 30 13:54 lesson4
-rw-r--r-- 1 root root  166 Sep 30 13:58 _zip.zip
[root@iZ2ze79kprp9cai14dsma8Z tmp]# tree /lesson4
/lesson4 [error opening dir]

0 directories, 0 files

zip默认对一个目录进行打包压缩的时候,只会对这个目录文件进行打包压缩,不会把该目录下的目录和文件进行打包。
zip -r:递归处理,将指定目录下的所有文件和子目录一并处理

[root@iZ2ze79kprp9cai14dsma8Z ~]# zip -r lesson4.zip lesson4
  adding: lesson4/ (stored 0%)
  adding: lesson4/lesson4_1/ (stored 0%)
  adding: lesson4/_file.txt (stored 0%)
  adding: lesson4/test3.txt (stored 0%)
[root@iZ2ze79kprp9cai14dsma8Z tmp]# unzip lesson4.zip
Archive:  lesson4.zip
   creating: lesson4/
   creating: lesson4/lesson4_1/
 extracting: lesson4/_file.txt       
 extracting: lesson4/test3.txt

zip -r 你命名的压缩包(自定义) dir(要压缩的目录和文件)
unzip 你命名的压缩包(自定义) //在当前目录下进行解包解压功能

unzip my.zip -d 路径 //解包解压到指定路径下

[root@iZ2ze79kprp9cai14dsma8Z ~]# unzip lesson4.zip -d lesson2
Archive:  lesson4.zip
   creating: lesson2/lesson4/
   creating: lesson2/lesson4/lesson4_1/
 extracting: lesson2/lesson4/_file.txt  
 extracting: lesson2/lesson4/test3.txt

在这里插入图片描述
为什么会有打包压缩呢?
要传输大量大文件时候,进行打包压缩便于传输和保存,防止丢包。
将多个文件和目录结合成一个文件,进行高效传输。

6.写在最后

那么Linux基本指令(三)到这里就结束了。

在这里插入图片描述

相关文章:

  • 算法学习 | 贪心算法~通过局部最优的选择来得到整体最优解
  • 聊聊Spring Cloud Gateway 动态路由及通过Apollo的实现
  • Python爬虫入狱小技巧
  • java中判断集合是否为空
  • Vitepress搭建组件库文档(下)—— 组件 Demo
  • 计算多张图片的移位距离
  • 一起啃西瓜书(四)
  • 贪婪算法(Huffman编码)
  • 在Windows使用VSCode搭建嵌入式Linux开发环境
  • 嵌入式C语言编程中经验教训总结(七)指针、指针数组和数组指针
  • 表哥月薪22k+,而我还在混日子……
  • 【饭谈】在学习测开网课之前,你的心脏需要武装一下
  • Jetson Agx Xavier平台ov5693 glass-to-glass 延时测试
  • C++ 命名类型转换
  • 【定制项目】【M15 消防安全宣传】【横屏版】主要模块:视频 + 音频 + 图标 + 问答游戏
  • [ JavaScript ] 数据结构与算法 —— 链表
  • Bootstrap JS插件Alert源码分析
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • golang中接口赋值与方法集
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • java中的hashCode
  • PAT A1092
  • Zsh 开发指南(第十四篇 文件读写)
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 如何优雅地使用 Sublime Text
  • 系统认识JavaScript正则表达式
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • kubernetes资源对象--ingress
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • ​你们这样子,耽误我的工作进度怎么办?
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • $refs 、$nextTic、动态组件、name的使用
  • ()、[]、{}、(())、[[]]命令替换
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (六)vue-router+UI组件库
  • (三)uboot源码分析
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (转)C#调用WebService 基础
  • (转)http-server应用
  • (转)LINQ之路
  • ***通过什么方式***网吧
  • .mysql secret在哪_MySQL如何使用索引
  • .net 7 上传文件踩坑
  • .Net Winform开发笔记(一)
  • .NET 服务 ServiceController
  • .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比
  • @cacheable 是否缓存成功_Spring Cache缓存注解
  • @EnableConfigurationProperties注解使用
  • @JSONField或@JsonProperty注解使用
  • [ 隧道技术 ] cpolar 工具详解之将内网端口映射到公网
  • [2021]Zookeeper getAcl命令未授权访问漏洞概述与解决
  • [IE编程] IE中对网页进行截图的编程接口