6.文件查找与搜索相关的命令常用的有
列出
列出
7.文件打包和解压缩Linux常见的压缩格式:
一般只需要掌握几个命令即可,包括zip、tar。 7.1zip压缩打包程序
7.2使用unzip命令解压缩zip文件将压缩文件解压到当前目录:
使用安静模式,将文件解压到指定目录:
上述指定目录若不存在,则自动创建,如果不想解压只想查看压缩包内容,可以使用参数
7.3tar打包工具在Linux上常用的打包工具tar工具,其同时实现了对7z、gzip、下载、bzip2等工具的支持。
以下是tar工具常用的参数:
8.文件系统操作与磁盘管理8.1查看磁盘和目录的容量
第一列指定文件系统的名称,第二列指定磁盘块容量大小,第三四列分别是已用和可用,第五列指定使用的内存百分比,最后一栏指定的文件系统的挂载点。 使用参数
8.2使用
|
参数 | 说明 |
---|---|
-a |
同--all ,显示目录中所有文件的大小 |
-s |
同--summarize ,仅显示总计,只列出最后加总的值 |
//TODO 创建虚拟磁盘
//TODO 格式化磁盘
//TODO 将磁盘挂载到目录
内建命令:实际上是shell程序的一部分,其中包含的是一些比较简单的Linux系统命令,这些命令是写在bash源码的builtins里面,由shell程序识别并在shell程序内部完成运行。通常在Linux系统加载运行时shell就被加载被驻留在系统内存中。而且解析内部命令shell不需要创建子进程,因此其执行速度比外部命令快。比如:history、cd、exit等。
外部命令:Linux系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调入内存。虽然其不包含在shell中,但是其命令执行过程是由shell程序控制的。外部命令是在Bash之外额外安装的,通常放在/bin
、/sbin
、/usr/bin
等。比如:ls
、vi
等。
简单来说,内建命令是先天自带的,外部命令是后天装载的。可以使用
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
说明该指令为命令别名所设定的名称
help
命令
若查看的命令为内建命令,则:
help <command>
若为外部命令,一般外部命令基本上都有一个参数--help
,则:
<command> --help
注意:在zsh中内置并没有
help
命令,若要查看,需切换至bash。//TDOD zsh与bash异同优劣
man
命令
该命令得到的内容比用help
更多更详细,而且man
命令没有内建和外部命令的区分。但是并非代表help
命令没有存在必要,因为help
这种显示简单扼要的信息特别使用,不太紧急的时候可以用man
命令这种详细描述的查询方式。
在man
命令的手册中,分有多个章节,如下:
章节数 | 说明 |
---|---|
1 | Standard commands(标准命令) |
2 | System calls(系统调用) |
3 | Library functions(库函数) |
4 | Special devices(设备说明) |
5 | File formats(文件格式) |
6 | Games and toys(游戏和娱乐) |
7 | Miscellaneous(杂项) |
8 | Administrative Commands(管理员命令) |
9 | 其他(Linux特定的),用来存放内核例行程序的文档 |
info
命令
该命令来自自由软件基金会的GNU项目,是GNU的超文本帮助系统,能够更完整的显示出GNU信息。
man
和info
就像两个集合,它们有一个交集部分,但与man
相比,info
工具可显示更完整的GNU工具信息。若man
页包含的某个工具的概要信息在info
中也有介绍,那么man
页中会有请参考info
页更详细内容的字样。
crontab
命令常见于Unix和类Unix的操作系统中,用于设置周期性被执行的指令。
该命令从输入设备读取指令,并将其存放在crontab文件中,以供之后读取和执行。通常,crontab储存的指令被守护进程激活,crond为其守护进程,crond常常在后台运行,每一分钟都会检查一次是否有预定的作业需要执行。
通过crontab
命令,我们可以在固定的间隔时间执行指定的系统指令或shell脚本。时间间隔的单位可以是分钟、小时、日、周和月的任意组合。
crontab的格式:
准备工作
查看rsyslog和cron是否启动。前者以便我们可以通过日志中的信息来了解我们的任务是否真的被执行了,后者需要启动cron来检查是否有预定的指令执行。
若rsyslog未启动/安装,则:
sudo apt-get install -y rsyslog
sudo service rsyslog start
若cron未启动,则:
sudo cron -f &
添加计划任务
使用crontab
命令添加计划任务:
crontab -e
在文档中,新增一行计划任务,如下为每隔一分钟便在/home/demo
目录下创建一个以时间戳为名的空白文件:
0 0/1 * * * ? * touch /home/demo/$(date \%Y\%m\%d\%H\%M\%S)
"%"
在crontab文件中,具有结束命令行、换行、重定向的作用,此时需要加"\"
来进行转义。cron表达式可以通过cron表达式在线生成器来生成。
将文档保存退出,可以通过以下指令查看添加了什么任务:
crontab -l
注意:新创建的任务,不会马上执行,至少要过2分钟之后才可以。可以通过重启cron使其立即执行。
任务执行之后,可以通过查看syslog
日志,查看任务是否执行:
sudo tail -f /var/log/syslog
当任务执行完毕后,可以通过以下命令删除任务:
crontab -r
crontab
深入
每个用户使用crontab -e
添加计划任务,都会在/var/spool/cron/crontabs
中添加一个该用户自己的任务文档,这样的目的是为了隔离。
如果是系统级别的定时任务,只需要使用sudo
去编辑/etc/crontab
文件即可。cron服务检测时间最小单位是分钟,所以cron每分钟会读取一次/etc/crontab
与/var/spool/cron/crontabs
里面的内容。
|