linux高级命令¶
- 输出重定向
- 查看文件内容
- 文本搜索
- 查找文件
- 管道
- 链接
输出重定向:>¶
Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。
ls > test.txt
test.txt 如果不存在,则创建,存在则覆盖其内容
注意:>
输出重定向会覆盖原来的内容,>>
输出重定向则会追加到文件的尾部
查看文件内容:cat&more¶
cat
cat xxx.py
可以用来快速查看某个文件内容,输出到控制台
cat test.txt >> haha.txt
将test.txt的内容追加到haha.txt中
cat 1.txt 2.txt > 1_2.txt
将1.txt 2.txt内容合并到1_2.txt中
more
查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令,从头开始,每次只显示一页,空格键显示下一页,b键上一页,按下q键退出显示,按下h键可以获取帮助。
more xxx.py
文本搜索:grep¶
Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找。如果找到匹配模式, grep打印包含模式的所有行。
grep一般格式为:
grep [-选项] '搜索内容串' 文件名
在grep命令中输入字符串参数时,最好用引号或双引号括起来。
例如:
从某个文件搜索
grep 'a' 1.txt
搜索当前目录所有文件
grep 'for' *
递归搜索当前目录及子目录的文件
grep -rni "字符串abc" *
常用选项说明:**
选项 | 含义 |
---|---|
-v | 显示不包含匹配文本的所有行(相当于求反) |
-n | 显示匹配行及行号 |
-i | 忽略大小写 |
-r | 包含子目录 |
查找文件:find¶
find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。
常用用法:
命令 | 含义 |
---|---|
find ./ -name test.sh | 查找当前目录下所有名为test.sh的文件or目录 |
find ./ -name '*.sh' | 查找当前目录下所有后缀为.sh的文件or目录 |
find ./ -name "[A-Z]*" | 查找当前目录下所有以大写字母开头的文件or目录 |
find ./ -maxdepth 1 -name '*.sh' | 只查找当前目录所有后缀为.sh的文件or目录 |
find ./ -type f -name "Test*" | 查找当前目录所有以Test开头的文件,不包含目录 f文件,d目录,l链接 |
find /tmp -size 2M | 查找在/tmp 目录下等于2M的文件 |
find /tmp -size +2M | 查找在/tmp 目录下大于2M的文件 |
find /tmp -size -2M | 查找在/tmp 目录下小于2M的文件 |
find ./ -mtime +3 | 查找当前目录下修改时间超过3天的文件 |
find ./ -mmin -10 | 查找当前目录下修改时间小于10分钟的文件 |
find ./ -size +4k -size -5M | 查找当前目录下大于4k,小于5M的文件 |
find ./ -perm 777 | 查找当前目录下权限为 777 的文件或目录 |
管道:|¶
管道:一个命令的输出可以通过管道做为另一个命令的输入。
管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“ | ”的左右分为两端,左端塞东西(写),右端取东西(读)。即管道左边的输出结果作为管道右侧的参数
cat info.txt | more` `tree | more
建立链接文件:ln¶
Linux链接文件类似于Windows下的快捷方式。
链接文件分为软链接和硬链接。
- 软链接:软链接不占用磁盘空间,源文件删除则软链接失效。常用,可以对文件或文件夹创建
ln -s 源文件 链接文件
- 硬链接:硬链接只能链接普通文件,不能链接目录。
ln 源文件 链接文件
没有-s
选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,一般用于保护系统重要的文件。所以-s选项是更常见的形式。
注意
如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。