【Linux】Linux学习之文件查找、文件打包和解压缩、文件系统操作与磁盘管理、帮助命令、任务计划crontab

时间:2021-01-18 11:07:41   收藏:0   阅读:0

6.文件查找

与搜索相关的命令常用的有whereiswhichfindlocate

列出home目录中,当天(24小时之内)有改动的文件:

find ~ -mtime 0

列出home目录下比/etc目录新的文件:

find ~ -newer /etc

7.文件打包和解压缩

Linux常见的压缩格式:

文件后缀名 说明
*.zip zip程序打包压缩的文件
*.rar rar程序压缩的文件
*.7z 7zip程序压缩的文件
*.tar tar程序打包,未压缩的文件
*.gz gzip程序(GNU zip)压缩的文件
*.xz xz程序压缩的文件
*.bz2 bzip2程序压缩的文件
*.tar.gz tar打包,gzip程序压缩的文件
*.tar.xz tar打包,xz程序压缩的文件
*.tar.bz2 tar打包,bzip2程序压缩的文件
*.tar.7z tar打包,7z程序压缩的文件

一般只需要掌握几个命令即可,包括zip、tar。

7.1zip压缩打包程序

注意:关于zip命令,因为Windows系统与Linux/Unix在文本文件格式上的一些兼容问题,比如换行符(不可见字符),在Windows为CR+LF(Carriage-Return+Line-Feed:回车+换行),而在Linux/Unix上为LF(换行),所以如果在不加处理的情况下,在Linux上编辑的文本,在Windows上打开可能看起来没有换行,此时需要使用参数-l来将LF转换为CR+LF。

zip -r -l -o <file name> <path>

7.2使用unzip命令解压缩zip文件

将压缩文件解压到当前目录:

unzip <file name>

使用安静模式,将文件解压到指定目录:

unzip -q <file name> -d <path>

上述指定目录若不存在,则自动创建,如果不想解压只想查看压缩包内容,可以使用参数-l

unzip -l <file name>

注意:使用unzip解压文件时同样要注意兼容问题。通常在Windows系统上创建的压缩文件,如果包含中文的文档或以中文为文件名的文件时,默认采用GBK或其他编码,Linux上默认使用UTF-8编码。如果不加任何处理,直接解压可能会出现中文乱码的问题。可以使用参数-O(英文大写O)解决。如下:

unzip -O GBK 中文压缩文件.zip

7.3tar打包工具

在Linux上常用的打包工具tar工具,其同时实现了对7z、gzip、下载、bzip2等工具的支持。

以下是tar工具常用的参数:

参数 说明
-c 建立压缩档案
-x 解压
-t 查看内容
-r 向压缩归档文件末尾追加文件
-u 更新原压缩包的文件
-v 显示所有过程
-z 压缩文件格式为:*.tar.gz
-J 压缩文件格式为:*.tar.xz
-j 压缩文件格式为:*.tar.bz2

8.文件系统操作与磁盘管理

8.1查看磁盘和目录的容量

技术图片

第一列指定文件系统的名称,第二列指定磁盘块容量大小,第三四列分别是已用和可用,第五列指定使用的内存百分比,最后一栏指定的文件系统的挂载点。

使用参数-h,使用人类可读的格式,如下:

df -h

技术图片

8.2使用du命令查看目录的容量

du -h -d 0 <path>

其中参数-h代表更易读的方式;参数-d代表查看目录的深度,后面紧跟深度;0代表只查看一级目录的信息,同理1代表查看二级……

常用参数:

参数 说明
-a --all,显示目录中所有文件的大小
-s --summarize,仅显示总计,只列出最后加总的值
8.3简单的磁盘管理

//TODO 创建虚拟磁盘

//TODO 格式化磁盘

//TODO 将磁盘挂载到目录

9.Linux下的帮助命令

9.1内建命令和外部命令

内建命令:实际上是shell程序的一部分,其中包含的是一些比较简单的Linux系统命令,这些命令是写在bash源码的builtins里面,由shell程序识别并在shell程序内部完成运行。通常在Linux系统加载运行时shell就被加载被驻留在系统内存中。而且解析内部命令shell不需要创建子进程,因此其执行速度比外部命令快。比如:history、cd、exit等。

外部命令:Linux系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调入内存。虽然其不包含在shell中,但是其命令执行过程是由shell程序控制的。外部命令是在Bash之外额外安装的,通常放在/bin/sbin/usr/bin等。比如:lsvi等。

简单来说,内建命令是先天自带的,外部命令是后天装载的。可以使用type命令来区分命令是内建还是外部。

type <command>

通常会得到三种情况:

  • xxx is a shell builtin 说明该命令是内建命令,正如上文所说内建命令都是在bash源码中的builtins的.def
  • xxx is /usr/bin/xxx 说明该命令是外部命令,正如上文所说,外部命令在/usr/bin or /usr/sbin等等中
  • xxx is an alias for xx --xxx 说明该指令为命令别名所设定的名称
9.2帮助命令的使用

10. Linux任务计划crontab

crontab命令常见于Unix和类Unix的操作系统中,用于设置周期性被执行的指令。

该命令从输入设备读取指令,并将其存放在crontab文件中,以供之后读取和执行。通常,crontab储存的指令被守护进程激活,crond为其守护进程,crond常常在后台运行,每一分钟都会检查一次是否有预定的作业需要执行。

通过crontab命令,我们可以在固定的间隔时间执行指定的系统指令或shell脚本。时间间隔的单位可以是分钟、小时、日、周和月的任意组合。

crontab的格式:

技术图片

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!