linux命令拓展
1.追加内容到某文件
echo “i like learn linux” >>quzhi.txt
2.删除指定的空目录:
rmdir 目录名
rmdir -p 目录名 (删除指定的空目录及其内子空目录)
3.显示zip包信息
zipinfo 压缩包名 (显示压缩包内的文件名称及简要属性信息)
zipinfo -v 压缩包名(显示压缩包内的文件名称及详细属性信息)
zipinfo -h 压缩包名 (仅显示压缩包内文件大小及数目信息)
4.修改主机名
hostnamectl set-hostname zjy
5.清屏
ctrl+l
6.查看指定端口
netstat -ano | grep 8080
7.grep (过滤)
7.1 grep ‘关键字’ 文件名
grep ‘like’ quzhi.txt (在quzhi.txt里边过滤你好)
7.2 grep ‘关键字’ /路径/文件名
grep ‘like’ /home/dcs35/zhang/quzhi.txt(在zhang文件夹下的quzhi.txt过滤like)
7.3 grep -n ‘关键字’ 文件名
grep -n ‘like’ /home/dcs35/zhang/quzhi.txt(在quzhi.txt里边过滤like,并显示行号)
7.4 grep ‘关键字’ 文件名 -C1(展示查到的内容上一行和下一行的)
grep ‘like’ quzhi.txt -C5(展示quzhi.txt里边你好的上五行和下五行的)
7.5 过滤多个关键字
grep -E ‘12|18|like’ quzhi.txt
8.find
8.1 查找当前目录及其子目录下后缀为txt的文件
find . -name ‘*.txt’
8.2 将当前目录及其子目录中的所有文件列出
find . -type f
8.3 查找 /home 目录下大于 1MB 的文件
ind /home -size +1M
9.sed
批量修改文件内容
sed -i ‘s/修改前的内容/修改后的内容/g’ /路径/文件名
10.cat /proc/version 查看linux操作系统版本
11.grep MemTotal /proc/meminfo 查看linux系统内存总量
12.grep MemFree /proc/meminfo 查看linux空闲内存量
13.uptime 查看系统运行时间,用户数,负载
14.cat /proc/loadavg 查看系统负载
15.paste 命令用于合并文件的列
15.1 把每个文件以列对列的方式,一列列地加以合并
paste p1.txt p2.txt p3.txt
15.2 将一个文件中的多行数据合并为一行进行显示
paste -s p1.txt
16.diff 用于比较文件的差异。
16.1 bj1.txt bj2.txt (比较两个文件)
16.2 diff quzhi.txt bj1.txt -y -w (并排格式输出)
"|"表示前后2个文件内容有不同
"<"表示后面文件比前面文件少了1行内容
">"表示后面文件比前面文件多了1行内容
17.patch 用于修补文件
diff bj1.txt bj2.txt >bj.patch (将比较结果保存在bj.patch)
patch -p0 bj1.txt bj.patch (使用补丁包升级bj1.txt文件)
18.egrep命令用于在文件内查找指定的字符串
egrep linux *
19.expr命令是一个手工命令行计数器
19.1 计算字符串长度
expr length ‘this’
19.2 抓取字串
expr substr “this is a test” 3 4
19.3 抓取第一个字符数字串出现的位置
expr index “thisisis” i
20.uniq 用于检查及删除文本文件中重复出现的行列
uniq uniq.txt
21、date 显示系统日期
data -s 修改时间日期
22、pstree 以tree形式显示系统目前进程
23、sort
sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
sort -u 在输出行中去除重复行。
sort -r 将升序改成降序
sort aa>bb 将sort结果输出到标准输出,写入到新文件(写入到原文件(aa)会直接清空aa)
sort aa -o aa 将sort结果输出到文件(不会清空原文件)
sort -n 以数值来排序而非首字符的大小
sort -k -t : -t:指设定间隔符,-k用来指定列数,该命令旨在使用sort命令时遇到多列内容,想要以指定一列为标准来排序。
sort -f 将小写字母都转换为大写字母来排序
sort -c 会检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1
sort -C会检查文件是否已排好序,如果乱序,不输出内容,仅返回1
sort -M会以月份来排序,比如JAN小于FEB等等
sort -b会忽略每一行前面的所有空白部分,从第一个可见字符开始比较。
24、
curl
curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。
curl [option] [url]
curl http://www.linux.com >> linux.html 使用linux的重定向功能保存
curl -o linux.html http://www.linux.com 使用curl的内置option:-o(小写)保存网页
curl -O http://www.linux.com/hello.sh 使用curl的内置option:-O(大写)保存网页中的文件
curl -o /dev/null -s -w %{http_code} www.linux.com 测试网页返回值
curl -x 192.168.100.100:1080 http://www.linux.com 使用内置option:-x来支持设置代理
curl -c cookiec.txt http://www.linux.com 保存http的response里面的cookie信息。内置option:-c(小写)
curl -D cookied.txt http://www.linux.com 保存http的response里面的header信息。内置option: -D
curl -b cookiec.txt http://www.linux.com 使用cookie
curl -A “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.0)” http://www.linux.com 模仿浏览器
curl -e “www.linux.com” http://mail.linux.com 伪造referer
curl -r 0-100 -o dodo1_part1.JPG http://www.linux.com/dodo1.JPG 分块下载
curl -O ftp://用户名:密码@www.linux.com/dodo1.JPG 通过ftp下载文件
curl -# -O http://www.linux.com/dodo1.JPG 显示下载进度条
curl -s -O http://www.linux.com/dodo1.JPG 不会显示下载进度信息
curl -C -O http://www.linux.com/dodo1.JPG 断点续传
curl -T dodo1.JPG -u 用户名:密码 ftp://www.linux.com/img/ 上传文件
curl -f http://www.linux.com/error 显示抓取错误
25、ss
ss 是 Socket Statistics 的缩写。ss 命令可以用来获取 socket 统计信息,它显示的内容和 netstat 类似。但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快。当服务器的 socket 连接数量变得非常大时,无论是使用 netstat 命令还是直接 cat /proc/net/tcp,执行速度都会很慢。ss 命令利用到了 TCP 协议栈中 tcp_diag。tcp_diag 是一个用于分析统计的模块,可以获得 Linux 内核中第一手的信息,因此 ss 命令的性能会好很多。
-h, --help 帮助
-V, --version 显示版本号
-t, --tcp 显示 TCP 协议的 sockets
-u, --udp 显示 UDP 协议的 sockets
-x, --unix 显示 unix domain sockets,与 -f 选项相同
-n, --numeric 不解析服务的名称,如 “22” 端口不会显示成 “ssh”
-l, --listening 只显示处于监听状态的端口
-p, --processes 显示监听端口的进程(Ubuntu 上需要 sudo)
-a, --all 对 TCP 协议来说,既包含监听的端口,也包含建立的连接
-r, --resolve 把 IP 解释为域名,把端口号解释为协议名称
-s, 显示概要信息
-o, 显示时间信息
-m, --memory 显示 socket 使用的内存
-i, --info 显示更多 TCP 内部的信息