¶想法
这篇主要记录一下在 Linux 终端下常用的 Shell 命令, 像 ls, cd, cp, mv 等基本的就不做整理介绍了,之后遇到了会一点点追加,算是一个整理吧。整理的命令都在 Ubuntu 14.04 LTS 系统亲测通过 …
¶wc 命令
wc 命令是一个统计命令,使用方式可以使用 「 man wc 」 查看。
¶统计文件个数
1: 统计某文件夹下文件的个数
1 | # 注: 参数 '-l', 是小写的英文字母 l, 不是数字 1 |
2: 统计某文件夹下目录的个数
1 | ls -l | grep "^d" | wc -l |
3: 统计文件夹下文件的个数,包括子文件夹
1 | ls -lR | grep "^-" | wc -l |
4: 统计某目录(包含子目录)下的所有包含关键子的文件个数:
1 | ls -lR 目录路径 | grep 关键字 | wc -l |
例如:
1 | # 统计 /home/xxxx 下所有文件名称包含关键字"shell"的文件个数 |
¶统计代码行数
年底又要统计代码工作量了,总不能一个一个文件找吧。 试试 wc 这个命令吧。
1 |
|
¶scp 命令:不同节点间复制文件或者文件夹
Linux scp 命令用于 Linux 之间复制文件和目录。
scp 是 secure copy的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。
Note: 请先确保集群中的各个节点间可以使用 SSH 免密登录。
¶从本地复制文件
1 |
|
eg:
1 |
|
¶从本地复制文件夹
1 | scp -r local_folder remote_username@remote_ip:remote_folder |
eg:
1 |
|
¶复制文件到远程
从远程复制到本地,只要将从本地复制到远程的命令的后 2 个参数调换顺序即可,如下实例
eg:
1 |
|
¶tail 命令
tail 命令依照要求将指定的文件的最后部分输出到标准设备,通常是终端,通俗讲来,就是把某个文件的最后几行显示到终端上,假设该文件有更新,tail 会自己主动刷新,确保你看到最新的输出内容,常用于监控 log 日志的输出等。
eg:
¶tail -f
1/ tail -f filename
监控 filename 文件的尾部内容(默认 10 行,相当于增加参数 -n 10),实时刷新显示在屏幕上。 按下 「 CTRL + C 」 退出,。
2/ tail -n 20 filename
显示 filename 最后 20 行。
3/ tail -r -n 10 filename
逆序显示 filename 最后 10 行。
¶grep 命令
Linux grep 命令用于查找文件里符合条件的字符串。常见的几个配置参数使用说明如下表格:
No | params | explain |
---|---|---|
1 | –version or -V | 该命令的版本号 |
2 | -A N | 找到所有的匹配行,并显示匹配行后 N 行 |
3 | -B N | 找到所有的匹配行,并显示匹配行前面 N 行 |
4 | -b | 显示匹配到的字符在文件中的偏移地址 |
5 | -c | 显示有多少行被匹配到 |
6 | –color | 把匹配到的字符用颜色显示出来 |
7 | -e | 可以使用多个正则表达式 |
8 | -f FILEA FILEB | FILEA 在 FILEAB 中的匹配 |
9 | -i | 不区分大小写针对单个字符 |
10 | -m N | 最多匹配 N 个后停止 |
11 | -n | 打印行号 |
12 | -o | 只打印出匹配到的字符 |
13 | -R | 搜索子目录 |
14 | -v | 显示不包括查找字符的所有行 |
这里举这几个常用的参数的例子:
-v : 反转匹配输出。
-w : 精确匹配输出。
-c : 输出能匹配到的列数。
eg: /etc/hosts 文件中包含如下内容 [cat /etc/hosts]:
127.0.0.1 xxxx xxxx xxxx xxxx
::1 xxxx xxxx xxxx xxxx
x.x.x.x xxxx xxxx xxxx xxxx
x.x.x.x xxxx xxxx xxxx xxxx
则使用举例和输出如下:
1 使用 -v 过滤
1 | $ cat /etc/hosts | grep -v 127 | grep -v ::1 |
则输出将前两行过滤了,输出如下:
1 | x.x.x.x xxxx xxxx xxxx xxxx |
2 使用 -w 精确匹配
1 | $ cat /etc/hosts | grep -w 127 |
则精确匹配搭配包含 「 127 」 的行,输出如下:
1 | 127.0.0.1 xxxx xxxx xxxx xxxx |
3 使用 -c 输出匹配的行数
1 | $ cat /etc/hosts | grep -c 127 |
则精确匹配搭配包含 「 127 」 的行数为 1 ,输出如下:
1 | $ 1 |
¶参考资料
[1] http://blog.sina.com.cn/s/blog_464f6dba01012vwv.html
[2] http://www.runoob.com/linux/linux-comm-scp.html
[3] https://www.jianshu.com/p/4131d09ff592
[4] http://www.runoob.com/linux/linux-comm-grep.html