前言
本篇文章继续介绍了一部分linux常用命令,包括文件的权限,文件的特殊属性,打包和压缩文件,查看文件内容,文本处理这五个部分。linux常用命令及解释详情请看正文。
- 使用 "+" 设置权限,使用 "-" 用于取消
一、文件的权限
二、文件的特殊属性
三、打包和压缩文件
四、查看文件内容
五、文本处理
5.1 grep
这些命令是使用管道、标准输入(STDIN)和标准输出(STDOUT)进行文本操作的:
将命令应用于 file1 的内容,并将处理结果输出到 result.txt 文件中:
cat file1 | command( sed, grep, awk, 等等...) > result.txt
将命令应用于 file1 的内容,并将处理结果附加到已有的 result.txt 文件末尾:
cat file1 | command( sed, grep, awk, 等等...) >> result.txt
在文件 ‘/var/log/messages’ 中查找包含关键词 “Aug” 的行:
grep Aug /var/log/messages
在文件 ‘/var/log/messages’ 中查找以 “Aug” 开头的词汇:
grep ^Aug /var/log/messages
选择在文件 ‘/var/log/messages’ 中包含数字的所有行:
grep [0-9] /var/log/messages
在目录 ‘/var/log’ 及其子目录中递归搜索字符串 “Aug”:
grep Aug -R /var/log/*
5.2 sed
这些
sed
命令能够对文本文件进行替换、删除、查找等操作:
将 example.txt 文件中的 “string1” 替换为 “string2”:
sed 's/stringa1/stringa2/g' example.txt
从 example.txt 文件中删除所有空白行:
sed '/^$/d' example.txt
从 example.txt 文件中删除所有带有零个或多个空格开头的注释行,以及所有空白行:
sed '/ *#/d; /^$/d' example.txt
将输入字符串 “esempio” 转换为大写字母:
echo 'esempio' | tr '[:lower:]' '[:upper:]'
从 result.txt 文件中排除第一行:
sed -e '1d' result.txt
只查看 example.txt 文件中包含关键词 “string1” 的行:
sed -n '/stringa1/p' example.txt
从 example.txt 文件中删除每一行末尾的零个或多个空白字符:
sed -e 's/ *$//' example.txt
从文档中删除所有的 “string1” 词汇,保留剩余的内容:
sed -e 's/stringa1//g' example.txt
查看 example.txt 文件中从第一行到第五行的内容:
sed -n '1,5p;5q' example.txt
查看 example.txt 文件中的第五行内容:
sed -n '5p;5q' example.txt
将 example.txt 文件中的每个连续的零替换为单个零:
sed -e 's/00*/0/g' example.txt
5.3 其它
这些命令可以帮助你进行文件的处理、比较和合并等操作:
显示 file1 文件的内容,并在每行前面标记行号:
cat -n file1
删除 example.txt 文件中的所有偶数行。使用 awk 命令筛选出奇数行:
cat example.txt | awk 'NR%2==1'
在字符串 “a b c” 中,使用 awk 命令打印第一列(以空格分隔的单词):
echo a b c | awk '{print $1}'
在字符串 “a b c” 中,使用 awk 命令打印第一列和第三列:
echo a b c | awk '{print $1,$3}'
将 file1 和 file2 的内容按行合并:
paste file1 file2
将 file1 和 file2 的内容按行合并,并使用 “+” 字符进行分隔:
paste -d '+' file1 file2
对 file1 和 file2 的内容进行排序:
sort file1 file2
取出 file1 和 file2 的并集,并去除重复的行:
sort file1 file2 | uniq
删除 file1 和 file2 的交集,并保留其他行:
sort file1 file2 | uniq -u
取出 file1 和 file2 的交集,并仅保留同时存在于两个文件中的行:
sort file1 file2 | uniq -d
比较 file1 和 file2 的内容,仅删除在 file1 中包含的行:
comm -1 file1 file2
比较 file1 和 file2 的内容,仅删除在 file2 中包含的行:
comm -2 file1 file2
比较 file1 和 file2 的内容,仅删除两个文件都包含的行:
comm -3 file1 file2
总结
Linux命令的使用具有灵活性、高效性和强大的功能。它们能够提供快速、可自动化和高度定制的操作方式。使用Linux命令可以以低资源消耗处理大型任务,并且支持编程和批量操作。总而言之,Linux命令是一个强大的工具,能够提供高效、灵活和可定制的操作,对于计算机系统的理解和掌握非常有价值。