本文
主要对日常linux系统使用使用的命令进行记录,方便后续自己查找以及分享给需要的朋友。
版本 | 说明 |
---|---|
0.1 | 初版发布 |
背景
- 主机: Thinkpad S2
- 系统: Deepin GNU/Linux 15.11
- 内核: Debian 6.3.0-18+deb9u1
查看系统信息
- 查看系统版本: “cat /etc/issue”
- 查看内核版本(具体可以查看etc目录下关于系统和内核的文件内容):
- RedHat内核: “cat /etc/redhat-release”
- Debian内核: “cat /etc/debian_version”
查看命令是否存在
- which perl
- alias print_declare
head和tail
- 读取前10行: head -n 10 file
- 读取后10行: tail -n 10 file
- 读取前200字符: head -c 200 file
- 读取前200x512字符: head -c 200b file(200k=200x1024)
- 读取动态文件末尾,适合动态输出的log文件:tail -f file.log
- 读取中间内容,如读取101行到150行内容: cat file | head -n 150 | tail -n 50
批量重命名rename
- 替换单个字符(小写变大写): rename ‘y/a-z/A-Z/’ * (替换表达式中y代表替换字符一一对应,即a替换为A,b替换为B… 最后*代表当前目录下所有文件,也可以*.v,代表所有带.v后缀的文件)
- 替换特定字符串: rename ‘s/abc/123/’ * (替换表达式中s代表特定字符串替换,即abc替换为123,最后*代表当前目录下所有文件,也可以*.v,代表所有带.v后缀的文件)
常用命令之grep
grep命令功能是搜索文本中包含的字符串,常用方法如下:
- grep “字符串” * 搜索当前目录下的所有文件,也可以使用 *.v 只搜索带.v后缀的文件(不包含子目录下的文件)
- grep -r “字符串” * -r或-R可以递归搜索,也就是搜索包含子目录以及子子目录等中的所有文件
- grep -i “字符串” * 忽略字符串中的大小写
- grep -n “字符串” * 列出字符串所在文件的行号
- grep实际使用中,由于某些特殊字符带有特殊含义,而在使用其本意时,需要结合转义字符\,比如字符串“**“,就需要加转义”\*\*“,不然会匹配成任意。
终极使用:我会将此命令定义别名为gg(将下面代码赋值到.bashrc即可),这样终端命令行使用gg来达到“搜索当前目录以及子目录下所有文件,显示行号,搜索字符高亮显示”功能,这对熟悉他人文档环境时很有用,能够快速定位到自己想要搜索的内容,更快的熟悉文档环境。
|
|
常用命令之find
find是查找文件的命令,常用就是查找文件名为xx的文件,使用方法如下,这里就是在(.)当前目录及其子目录下查找带.c后缀的文件:
|
|
也可以搭配管道命令(可以理解为同时执行),如下命令指在 find . 结果中使用 grep搜索特定字符串:
|
|
还可以使用参数-maxdepth来指定层级深度,我的终极使用,我会将此命令定义别名为ff(将下面代码赋值到.bashrc即可),这样终端命令行使用ff来达到“查找当前目录并设定搜索深度,比如1代表仅当前目录,带特定字符串的文件名”,使用方法如:ff 3 “*.c”
|
|
文章原创,可能存在部分错误,欢迎指正,联系邮箱 cao_arvin@163.com。