这篇文章我们学习Linux系统命令——软链接、搜索查找、解压缩、时间日期命令。
软、硬链接
创建链接
使用ln命令为某个文件在另外一个位置建立一个同步的链接,类似于windows里面的快捷方式,以路径的形式存在,主要存放链接其他文件的路径,其语法格式如下:
ln -s [原文件或目录][软链接名] # 给原文件创建一个软链接
示例代码如下:
touch a.txt # 创建空的a.txt文件
ln -s a.txt link1 # 创建a.txt文件软链接,链接名为link1
ll # 查看目录下的文件
如下图所示:
这样就为a.txt文件创建了一个名为link1的软链接,我们就可以通过link1来访问到a.txt文件了。
当不加-s时,该链接为硬链接,只是单纯地增加一个链接来指向文件,示例代码如下:
touch b.txt # 创建空文件b.txt
ln b.txt link2 # 为b.txt创建名为link2的硬链接
ll
如下图所示:
删除链接
使用rm命令删除链接,其语法格式如下:
rm -rf 链接名
示例代码如下:
rm -rf link1
如下图所示:
搜索查找
find
使用find命名将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端,其语法格式如下:
find [搜索范围] [选项]
可选参数有:
- -name<查询方法>:按照指定的文件名查找模式查找文件;
- -user<用户名>:查找属于指定用户名所有文件;
- -size<文件大小>:按照指定的文件大小查找文件,单位有:b(块512字节),c(字节),w(字2字节),k(千字节),M(兆字节),G(吉字节)
示例代码如下:
find /root -name "*.txt" # 查找root目录下txt后缀的文件
find /root -size +10M # 查找root目录下超过10M的文件
find /root -user root # 查找root目录下root用户的文件
如下图所示:
locate
使用locate命令快速定位文件路径,其是利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。
Locate指令无需遍历整个文件系统,查询速度较快,为了保证查询结果的准确度,管理员必须定期更新locate时刻。其语法格式如下:
locate 文件名
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。
示例代码如下:
updatedb
locate txt # 查找含有txt的文件
如下图所示:
grep过滤查找及“|”管道符
使用grep命令查找文件里符合条件的字符串;
管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理,其语法格式如下:
grep 选项 查找内容 源文件
常用可选参数有:
-n:显示匹配行及行号。
使用wc关键参数可以统计文件的行数、字数,以及字节数。
示例代码如下:
grep -n boot anaconda-ks.cfg # 查找anaconda-ks.cfg文件中boot的内容
ls | grep .cfg # 列出当前目录下的cfg文件
grep -n boot test.txt | wc #统计
如下图所示:
压缩和解压
gzip/gunzip压缩
使用gzip命令压缩文件、使用gunzip解压文件,其语法格式如下:
gzip 文件 # 压缩文件
gunzip 文件.gz # 解压缩文件命令
注意:
- 只能压缩文件不能压缩目录;
- 不保留原来的文件;
- 同时多个文件会产生多个压缩包;
- 只能将文件压缩为*.gz文件;
示例代码如下:
ls
touch c.txt
gzip c.txt
ls
gunzip c.gz
ls
如下图所示:
zip/unzip压缩
使用zip、unzip解压缩文件,其语法格式如下:
zip [选项] XXX.zip #压缩文件或目录
unzip [选项] XXX.zip # 解压缩文件
可选参数有:
- -r:压缩目录;
- -d:指定解压后文件的存放目录;
zip压缩命令在window/linux都通用,可以压缩目录且保留源文件。
示例代码如下:
zip -r a.zip c.txt # 压缩root目录,压缩后的名为myroot
unzip -d /home a.zip # 解压缩myroot.zip文件到tmp目录下
如下图所示:
tar打包
基本语法如下:
tar [选项] XXX.tar.gz 将要打包进去的内容 #打包目录,压缩后的文件格式.tar.gz
可选参数有:
-c:产生.tar打包文件;
-v:显示详细信息;
-f:指定压缩后的文件名;
-z:打包同时压缩;
-x:解包.tar文件;
-C:解压到指定目录;
示例代码如下:
tar -zcvf a.tar.gz b.txt c.txt # 打包b、c文件在a.tar.gz文件中
如下图所示:
时间日期
使用date命令来处理时间日期,其语法格式如下:
date [选项]
常用选项有
- -d<时间字符串>:显示指定的“时间字符串”表示的时间,而非当前时间;
- -s<日期时间>:设置系统日期时间。
查询时间
示例代码如下:
date # 显示当前时间
date +%Y # 显示当前年份
如下图所示:
除了显示年份,还可以显示其他时间,
- +%m:显示当前月份
- +%d:显示当前是哪一天
- "+%Y-%m-%d %H:%M:%S":显示年月日时分秒
- +%S:显示当前秒
- +%s:显示当前时间戳
当我们想显示前后一天的时间时,可以使用-d参数,示例代码如下:
date -d "1 day ago" +"%Y-%m-%d" # 显示前一天时间
date -d "-1 day ago" +"%Y-%m-%d" # 显示明天时间
如下图所示:
设置时间
设置系统时间,其语法格式如下:
date -s 字符串时间
示例代码如下:
date -s "2017-06-19 20:52:18"
如下图所示:
修改了系统时间后,可以使用ntpdate命令联网恢复。
好了,Linux系统命令——软链接、搜索查找、解压缩、时间日期命令就学到这里。
公众号:白巧克力LIN
该公众号发布Python、数据库、Linux、Flask、自动化测试、Git等相关文章!
网友评论