LinuxShell命令grep
【注】具体详解参见 man 手册。
1. 简介
grep 命令用来在文件中查找并输出包含匹配指定模式的字符的行。
2. 格式
123grep [OPTIONS] PATTERN [FILE...]grep [OPTIONS] -e PATTERN ... [FILE...]grep [OPTIONS] -f FILE ... [FILE...]
其中,OPTIONS 为指定的选项参数,PATTERN 为匹配模式(可以为固定字符串、基础正则表达式 BRE 、扩展正则表达式 ERE 以及 Perl 兼容正则表达式 PCRE),FILE 为指定文件输入(FILE 为 - 代表从标准输入读入)。PATTERN 指定为 BRE 或 ERE 可参照 LinuxShell正则表达式 。
3. 常用参数
3.1 基础信息
选项参数
说明
--help
帮助手册
-V, --version
版本信息
3.2 选择匹配模式
选项参数
说明
-E, --extended-regexp
使用 ERE 解释 PATTERN
-F, --fixed-strings
把 P ...
LinuxShell命令head
【注】具体详解参见 man 手册。
1. 简介
head 命令用于在标准输出上显示每个文件起始 10 行。如果多于一个文件,则会逐个进行显示,并在每个文件显示的首部给出对应的文件名。如果没有指定文件或者指定为 -,则从标准输入上读取。
2. 格式
1head [OPTION]... [FILE]...
其中,OPTION 指定选项参数,FILE 指定显示的文件。
3. 选项
选项参数
说明
-c [-]NUM, --bytes=[-]NUM
不加 - 指定输出文本起始 NUM 个字节;加 - 指定显示文本不包含最后 NUM 个字节的全部内容
-n [-]NUM, --lines=[-]NUM
不加 - 指定输出文本起始 NUM 行;加 - 指定显示文本不包含最后 NUM 行的全部内容
-q, --quiet, --silent
显示多个文件时不输出给出文件名的首部信息
-v, --verbose
总是输出给出文件名的首部信息(即使显示单个文件)
-z, --zero-terminated
指定行界定符为全零字节(ASCII NUL)而不是换行符
--h ...
LinuxShell命令history
【注】具体详解参见 help 手册。
1. 简介
history 内建命令用于显示或操纵历史命令列表。
2. 格式
123history [NUM|-c|-d [offset]]history [-a|-n|-r|-w] [FILE]history [-p|-s] ARG [ARG ...]
其中,FILE 用于指定保存历史命令列表的文件,默认是~/.bash_history 文件。若未指定任何选项参数,则默认显示保存的所有历史命令列表。
2.1 注意事项
要设置保存历史命令的条目数,可修改 HISTSIZE 环境变量。
要设置保存历史命令列表的默认文件,可修改 HISTFILE 环境变量。
要设置显示时间戳,可修改 HISTTIMEFORMAT 环境变量(被用于 strftime(3) 的格式字符串来打印时间戳),该环境变量默认为空不打印时间戳。
当登陆 Shell 时,会自动读取历史命令列表文件到内存缓冲区内;当 Shell 退出时,才把内存缓冲区写入历史记录文件中(除非手动运行 history -a 命令强制写入)。
当使用了无效选项或发生错误时返回失败,否则 ...
LinuxShell命令let
【注】具体详解参见 help 手册。
1. 简介
Linux Shell 内建命令用于估算算数表达式。估算的计算以定宽的整数完成,不带溢出检测,但除 0 会报错。
2. 格式
1let ARG [ARG ...]
其中,ARG 参数会被 let 作为算数表达式来进行估值。ARG 中的算术操作符列表按照优先级由高到低给出如下:
【注】如果最后一个 ARG 估值为 0,则返回 1;否则返回 0 。
操作符
说明
( )
圆括号内为子表达式,优先进行估值运算
id++, id--
变量后置加、减
++id, --id
变量前置加、减
-, +
单目运算符取负、正
!, ~
逻辑取反、位取反
**
指数
*, /, %
乘法、除法、取余
+, -
加法、减法
<<, >>
左移、右移
<=, >=, <, >
比较
==, !=
等于、不等于
&
按位与
^
按位异或
`
`
&&
逻辑与
`
expr ? expr : expr
条件表达式( ...
LinuxShell命令more
【注】具体详解参见 man 手册。
1. 简介
more 是一个用于屏幕阅读的文件分页阅览过滤的 Shell 命令,一次阅览一屏幕文字,同时提供页面阅读的基于 vi 交互式命令的交互环境。
2. 格式
1more [OPTIONS] FILE...
其中,OPTIONS 指定选项参数,FILE 指定阅读的文件。
除命令行指定 OPTIONS 选项参数外,more 也同时从环境变量 MORE(选项参数同样以 - 开头)中读取选项参数,但命令行指定的 OPTIONS 参数会覆盖环境变量里的选项参数。
3. 选项
选项参数
说明
-d
提示 “[Press space to continue, ‘q’ to quit.]”,并当用户按下无效键时显示 “[Press ‘h’ for instructions.]”
-l
不要在任何包含 ^L(换页)字符的行后暂停
-f
对逻辑行而非屏幕行进行计数
-p
不进行卷屏,而是接续当前屏幕内容后显示一屏文本
-c
不进行卷屏,而是清除当前一屏内容后显示一屏文本
-s
将重复的空行压缩为一行
-u
不显示下划线
...
LinuxShell命令ps
【注】具体详解参见 man 手册。
1. 简介
ps 是 Linux 下显示瞬间进程状态的强大命令,并不动态连续显示进程状态(top 命令则是对进程进行实时监控)。
2. 格式
1ps [options]
Linux 系统中使用 ps 命令支持三种不同类型的命令行选项参数:
Unix 风格参数(参数前使用单破折线)
BSD 风格参数(参数前不使用破折线)
GNU 风格长参数(参数前加双破折线)
3. 选项
默认情况下(不提供选项参数:ps),只显示运行在当前控制台下属于当前用户的进程。
在使用 BSD 参数时,ps 命令会自动改变输出以模仿 BSD 格式。
3.1 Unix 风格
选项参数
选项参数
说明
-A
显示所有进程,同 -e
-N
显示与指定参数不符的所有进程(默认显示除当前终端下的程序外所有程序),同 --deselect
-a
显示除控制进程和无终端进程外的所有进程
-d
显示除控制进程外的所有进程
-e
显示所有进程,同 -A
-C cmdlist
显示包含在 cmdlist 列表中的进程
-G grplist
...
LinuxShell命令sort
【注】具体详解参见 man 手册和 info 手册。
1. 简介
sort 命令用于对给定的文件中的行进行排序并写到标准输出上。如果没有给定文件或者给定的文件名为 - ,则从标准输入读取数据。
2. 格式
12sort [OPTION]... [FILE]...sort [OPTION]... --files0-from=F
其中,OPTION 指定选项参数,FILE 指定文件名,--files0-from 指定文件名分隔符为全零字节(ASCII NUL)。
3. 选项
选项参数
说明
-b, --ignore-leading-blanks
忽略行数据开头的空格
-d, --dictionary-order
排序比较字符只考虑空格、字母和数字
-f, --ignore-case
将小写字母折合为大写字母进行排序比较
-g, --general-numeric-sort
按照通常的字符数值进行排序比较
-i, --ignore-nonprinting
仅考虑可打印字符
-M, --month-sort
按 (unknown) < ‘JAN’ < ...
LinuxShell命令tail
【注】具体详解参见 man 手册。
1. 简介
tail 命令用于在标准输出上显示每个文件最后 10 行。如果多于一个文件,则会逐个进行显示,并在每个文件显示的首部给出对应的文件名。如果没有指定文件或者指定为 -,则从标准输入上读取。
2. 格式
1tail [OPTION]... [FILE]...
其中,OPTION 指定选项参数,FILE 指定显示的文件。
3. 选项
选项参数
说明
-c [+]NUM, --bytes=[+]NUM
不加 + 指定输出文本最后 NUM 个字节;加 + 指定从文本第 NUM 个字节开始显示
-f, --follow, --follow=descriptor
用于实时监控文件,当文件增长时,输出后续增加的内容(跟随模式)
-F, --retry, --follow=name
对于不能访问的文件(比如权限不足)一直尝试打开,打开后处于跟随模式(--restry 需要配合 -f 使用)
-n [+]NUM, --lines=[+]NUM
不加 + 指定输出文本最后 NUM 行;加 + 指定从文本第 NUM 行开始显示
-- ...
LinuxShell命令unset
【注】具体详解参见 help 手册。
1. 简介
Linux Shell 内建命令 unset 用于取消设定 Shell 变量、函数或属性。
【注】unset 命令不能取消设定只读变量(参见 readonly 内建命令)。
2. 格式
1unset [OPTION] [NAME ...]
其中,OPTION 指定了选项参数,NAME 为指定的变量或函数。不带选项时,unset 首先尝试取消设定一个变量/变量引用;如果失败则再尝试取消设定一个函数。
3. 选项
选项参数
说明
-f
将每个 NAME 视为函数,取消函数的值
-v
将每个 NAME 视为变量,取消变量的值
-n
将每个 NAME 视为变量引用(nameref),只取消其本身而非指向的变量;与 -f 共用时该选项失效
【注】如果使用了无效选项或 unset 只读变量,返回失败;否则返回成功。
LinuxShell命令wc
1. 简介
wc 命令用来统计每个文件的行、单词和字节数并输出。如果指定多个文件,则输出每个文件的总行\单词\字节数及所有文件总的行\单词\字节数;如果没有指定文件或指定文件为 - ,则从标准输入读取。
2. 格式
12wc [options]... [filelist]wc [options]... --files0-from=F
其中,options 指定统计输出格式,filelist 为指定文件列表。options 列表如下:
options
说明
-c, --bytes
输出字节统计数
-m, --chars
输出字符统计数
-l, --lines
输出换行符统计数
--files0-from=F
将文件 F 中以 \0(ASCII NUL)结尾的字符串所指定的文件名作为待统计文件;如果 F 为 - ,则从标准输入读入这些名字
-L, --max-line-length
打印输入行中最大显示宽度(最长行字节数)【注】tab 键为 8 个字节宽,不可打印字符为 0 个字节宽
-w, --words
输出单词统计数
--help
显示帮助信息
...
LinuxShell定时功能
Linux 系统提供了多个在预定时间运行作业的方法:at 命令和 cron 表。
1. at命令
命令格式如下:
1at [-f filename] time
其中,time参数指定了Linux系统何时运行该作业。at命令可识别的time格式有很多种,譬如:
10:30
10:30 PM
now、noon、midnight、teatime
MMDDYY、MM/DD/YY、DD.MM.YY
Jul 1
now + 25 min
…
2. cron时间表
Linux 提供了 crontab 命令来处理 cron 时间表,具体用法可以 help 一下:
1crontab --help
使用以下命令编辑 cron 时间表:
1crontab -e
cron 时间表条目格式如下:
1min hour dayofmonth month dayofweek command
前五项可以使用通配符 * 表示 every min/hour/dayofmonth/month/dayofweek 。
LinuxShell正则表达式与通配符的区别
1. 正则表达式
正则表达式是用来在文本中匹配符合条件的字符串,是包含匹配 。Linux Shell中诸如 grep、awk、sed 等命令都支持正则表达式。
【注】详解请见正则表达式。
2. 通配符
通配符是用来匹配符合条件的文件/路径名,是完全匹配 。Linux Shell中 ls、find、cp 命令不支持正则表达式,所以只能使用通配符来进行文件/路径匹配。
【注】详解请见通配符。