grep
grep [-acinv] [--color=auto] '搜寻字符串' filename 选项与参数:
- -a :将 binary 文件以 text 文件的方式搜寻数据
- -c :计算找到 '搜寻字符串' 的次数
- -i :忽略大小写的不同,所以大小写视为相同
- -n :顺便输出行号
- -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
- --color=auto :可以将找到的关键词部分加上颜色的显示喔!
awk
awk '{pattern + action}' {filenames}
sed
sed [-nefr] [动作]
选项与参数:
- -n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
- -e :直接在命令列模式上进行 sed 的动作编辑;
- -f :直接将 sed 的动作写在一个文件内, -f filename 则可以运行 filename 内的 sed 动作;
- -r :sed 的动作支持的是延伸型正规表示法的语法。(默认是基础正规表示法语法)
- -i :直接修改读取的文件内容,而不是输出到终端。动作说明: [n1[,n2]]function
- n1, n2 :不见得会存在,一般代表『选择进行动作的行数』,举例来说,如果我的动作是需要在 10 到 20 行之间进行的,则『 10,20[动作行为] 』function:
- a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
- c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
- d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
- i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
- p :列印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
- s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!
lsof
默认 : 没有选项,lsof列出活跃进程的所有打开文件 组合 : 可以将选项组合到一起,如-abc,但要当心哪些选项需要参数
- -a : 结果进行“与”运算(而不是“或”)
- -l : 在输出显示用户ID而不是用户名
- -t : 仅获取进程ID
- -U : 获取UNIX套接口地址
- -F : 格式化输出结果,用于其它命令。可以通过多种方式格式化,如-F pcfn(用于进程id、命令名、文件描述符、文件名,并以空终止)
curl
调试类
- -v, --verbose 输出信息
- -q, --disable 在第一个参数位置设置后 .curlrc 的设置直接失效,这个参数会影响到 -K, --config -A, --user-agent -e, --referer
- -K, --config FILE 指定配置文件
- -L, --location 跟踪重定向 (H)
CLI显示设置
- -s, --silent Silent模式。不输出任务内容
- -S, --show-error 显示错误. 在选项 -s 中,当 curl 出现错误时将显示
- -f, --fail 不显示 连接失败时HTTP错误信息
- -i, --include 显示 response的header (H/F)
- -I, --head 仅显示 响应文档头
- -l, --list-only 只列出FTP目录的名称 (F)
- -#, --progress-bar 以进度条 显示传输进度
数据传输类
- -X, --request [GET|POST|PUT|DELETE|…] 使用指定的 http method 例如 -X POST
- -H, --header
设定 request里的header 例如 -H "Content-Type: application/json" - -e, --referer 设定 referer (H)
- -d, --data 设定 http body 默认使用 content-type application/x-www-form-urlencoded (H)
--data-raw ASCII 编码 HTTP POST 数据 (H)
--data-binary binary 编码 HTTP POST 数据 (H)
--data-urlencode url 编码 HTTP POST 数据 (H) - -G, --get 使用 HTTP GET 方法发送 -d 数据 (H)
- -F, --form <name=string> 模拟 HTTP 表单数据提交 multipart POST (H)
--form-string <name=string> 模拟 HTTP 表单数据提交 (H) - -u, --user user:password 使用帐户,密码 例如 admin:password
- -b, --cookie cookie 文件 (H)
- -j, --junk-session-cookies 读取文件中但忽略会话cookie (H)
- -A, --user-agent user-agent设置 (H)
传输设置
- -C, --continue-at OFFSET 断点续转
- -x, --proxy [PROTOCOL://]HOST[:PORT] 在指定的端口上使用代理
- -U, --proxy-user USER[:PASSWORD] 代理用户名及密码
文件操作
- -T, --upload-file 上传文件
- -a, --append 添加要上传的文件 (F/SFTP)
输出设置
- -o, --output 将输出写入文件,而非 stdout
- -O, --remote-name 将输出写入远程文件
- -D, --dump-header 将头信息写入指定的文件
- -c, --cookie-jar 操作结束后,要写入 Cookies 的文件位置
wget
文件参数
- -o,--output-file=FILE 将软件输出信息保存到文件;
- -a,--append-output=FILE将软件输出信息追加到文件;
- -d,--debug显示输出信息;
- -q,--quiet 不显示输出信息;
- -i,--input-file=FILE 从文件中取得URL;
下载参数
- -t,--tries=NUMBER 是否下载次数(0表示无穷次)
- -O --output-document=FILE 指定下载目录和文件名
- -nc, --no-clobber 不要覆盖已经存在的文件
- -N,--timestamping只下载比本地新的文件
- -T,--timeout=SECONDS 设置超时时间
- -Y,--proxy=on/off 关闭代理
tail
- tail -n flilename 查看文件的最后几行
- tail -f filename 实时监控文件的更新内容
- tail -f -s 间隔一定时间查看文件的更新
head
head 默认 显示前10行,head -n 显示文件的前n行 head -n -line除了line行之外显示
less
分页显示 -g 只标志最后搜素的关键词 -i 搜索是忽略大小写 -m显示类似more的百分比 -N显示每行行号
find
find [参数] [路径] [查找和搜索范围] -name 按名称查找 -size 按大小查找 -user 按属性查找 -type 按类型查找 -iname 忽略大小写
kill
kill [参数][进程号pid]
- -l 列出系统支持的信号
常用信号如下:
- HUP 1 终端断线
- INT 2 中断(同 Ctrl + C)
- QUIT 3 退出(同 Ctrl + \)
- TERM 15 终止
- KILL 9 强制终止
- CONT 18 继续(与STOP相反, fg/bg命令)
- STOP 19 暂停(同 Ctrl + Z)
- -s指定向进程发送信号
- -a 处理当前进程时不限制命令名和进程号的对应关系
- -p 指定kill命令只打印相关进程的进程号,而不发送任何信号
正则表达式
- ^ 表示以什么开头,^bqh 以bqh开头
- $ 是以什么结尾
- ^$ 表示空行。
- \ 例. 就只代表点本身,转义符号,让有着特殊身份移动的字符,脱掉马甲,还原原型$
- ^.* 以任意多个字符开头。
- .*$ 以任意多个字符结尾。
- (.*) 从第一字符匹配,到空格停止,
- [abc] 匹配字符集合内的任意一个字符【a-zA-Z】
- [^abc] 匹配不包括^后的任意字符的内容;中括号里的^为取反,注意和以...开头区别。
- a{n,m} 重复n到m次,前一个重复的字符。如果有用egrep/sed -r 可以去掉斜线。
- {n,} 重复至少n次,前一个重复的字符。如果有用egrep/sed -r 可以去掉斜线。
- {n} 重复n次,前一个重复的字符。如果有用egrep/sed -r 可以去掉斜线。
- ①^word 搜索以word开头的;vi ^ 一行的开够
- ②word搜索以word结尾的;vi 搜索以word结尾的;vi搜索以word结尾的;vi 一行的开头
- ③^$ 表示空行。
扩展的正则表达式:ERP(egrep或grep -E)
- 重复一个或一个以上前面的字符
- ? 复0个或一个0前面的字符
- | 用或的方式查找多个符合的字符串
- () 找出“用户组”字符串