linux 文本命令
1. cat语法
cat [options] [filename]...
[options]:
-A, --show-all 等价于 -vET
-b, --number-nonblank 对非空输出行编号
-e 等价于 -vE
-E, --show-ends 在每行结束处显示 $
-n, --number 对输出的所有行编号
-s, --squeeze-blank 不输出多行空行
-t 与 -vT 等价
-T, --show-tabs 将跳格字符显示为 ^I
-u (被忽略)
-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
--help 显示此帮助信息并离开
# cat file | tail -n +5 | head -n 100 > newfile.txt 注:查看从第5行开始的100行内容,并把结果重定向到一个新的文件
# cat file | head -n 100 | tail -n +5 注:查看第5行到100行的内容,并把结果重定向到一个新的文件
# cat file1 file2 | sort | uniq > file3 注:取出两个文件的并集
# cat file1 file2 | sort | uniq -d > file3 注:取出两个文件的交集
# cat file1 file2 | sort | uniq -u > file3 注:删除交集,留下其他的行
# cat file1 file2 > file3 注:两个文件合并(一个文件在上,一个文件在下)
# paste file1 file2 > file3 注:两个文件合并(一个文件在左,一个文件在右)
# sort file | uniq 注:重复的多行留一行
# sort file | uniq –u 注:把重复的行全部去掉
# cat /etc/profile 注:查看/etc/目录下的profile文件内容;
# cat -b /etc/fstab 注:查看/etc/目录下的profile内容,并且对非空白行进行编号,行号从1开始;
# cat -n /etc/profile 注:对/etc目录中的profile的所有的行(包括空白行)进行编号输出显示;
# cat -E /etc/profile 注:查看/etc/下的profile内容,并且在每行的结尾处附加$符号;
# cat /etc/fstab /etc/profile | more 注:对于内容极大的文件来说,可以通过管道|传送到more 工具,然后一页一页的查看
## cat filename | grep --color -ciw 'word' 一行多个word只统计一次
# cat filename | grep -o 'word' | wc -l
注:查看某词忽略大小写在文件中出现的次数
2. cut语法
显示切割后的数据
-f:选择显示的列
-s:不显示没有分隔符的行
-d:自定义分隔符
# cat grep.txt
aaa bbb ccc
111 222
xx yy zz
oo
qq ttt wwx
88888
666
AA BB CC
# cut -d' ' -f2 -s grep.txt 注:以空格为分隔符,将每一行分为多列,然后显示第2列
bbb
222
yy
ttt
BB
# cut -d' ' -f2 grep.txt
bbb
222
yy
oo
ttt
88888
666
BB
3. sort语法
-n:按数值排序
-r:倒序
-t:自定义分隔符
-k:选择排序列
-u:合并相同行
-f:忽略大小写
# cat sort.txt
banana 12
apple 1
orange 8
# sort sort.txt
apple 1
banana 12
orange 8
# sort -t' ' -k2 sort.txt
apple 1
banana 12
orange 8
# sort -t' ' -k2 -n sort.txt
apple 1
orange 8
banana 12
# sort -t' ' -k2 -n -r sort.txt
banana 12
orange 8
apple 1
4. wc语法
默认输出的为 文件的行数、单词数、以及字符数
-c:字节
-m:字符
-l:行数
-L:最长一行的字符
-w:单词数
# cat grep.txt
aaa bbb ccc
111 222
xx yy zz
oo
qq ttt wwx
88888
666
AA BB CC
# wc grep.txt
8 17 64 grep.txt
# wc -m grep.txt
64 grep.txt
# wc -c grep.txt
64 grep.txt
# wc -l grep.txt
8 grep.txt
# wc -L grep.txt
12 grep.txt
# wc -w grep.txt
17 grep.txt
5. more语法
more [options] [filename]
[options]:
+num 从第num行开始显示;
-num 定义屏幕大小,为num行;
+/pattern 从pattern 前两行开始显示;
-c 从顶部清屏然后显示;
-d 提示Press space to continue, 'q' to quit.(按空格键继续,按q键退出),禁用响铃功能;
-l 忽略Ctrl+l (换页)字符;
-p 通过清除窗口而不是滚屏来对文件进行换页。和-c参数有点相似;
-s 把连续的多个空行显示为一行;
-u 把文件内容中的下划线去掉退出more的动作指令是q
指令
Enter 向下n行,需要定义,默认为1行;
Ctrl+f 向下滚动一屏;
空格键 向下滚动一屏;
Ctrl+b 返回上一屏;
= 输出当前行的行号;
:f 输出文件名和当前行的行号;
v 调用vi编辑器;
! 命令 调用Shell,并执行命令;
q 退出more当我们查看某一文件时,想调用vi来编辑它,不要忘记了v动作指令,这是比较方便的;
# more -dc /etc/profile 注:显示提示,并从终端或控制台顶部显示;
# more +4 /etc/profile 注:从profile的第4行开始显示;
# more -4 /etc/profile 注:每屏显示4行;
# more +/MAIL /etc/profile 注:从profile中的第一个MAIL单词的前两行开始显示;
# ls -l /etc |more 注:大文件需与管道结合
6. less语法
less [options] [filename]
[options]:
-c 从顶部(从上到下)刷新屏幕,并显示文件内容。而不是通过底部滚动完成刷新;
-f 强制打开文件,二进制文件显示时,不提示警告;
-i 搜索时忽略大小写;除非搜索串中包含大写字母;
-I 搜索时忽略大小写,除非搜索串中包含小写字母;
-m 显示读取文件的百分比;
-M 显法读取文件的百分比、行号及总行数;
-N 在每行前输出行号;
-p pattern 搜索pattern;比如在/etc/profile搜索单词MAIL,就用 less -p MAIL /etc/profile
-s 把连续多个空白行作为一个空白行显示;
-Q 在终端下不响铃;
指令
回车键 向下移动一行;
y 向上移动一行;
空格键 向下滚动一屏;
b 向上滚动一屏;
d 向下滚动半屏;
h less的帮助;
u 向上洋动半屏;
w 可以指定显示哪行开始显示,是从指定数字的下一行显示;比如指定的是6,那就从第7行显示;
g 跳到第一行;
G 跳到最后一行;
p n% 跳到n%,比如 10%,也就是说比整个文件内容的10%处开始显示;
/pattern 搜索pattern ,比如 /MAIL表示在文件中搜索MAIL单词;
v 调用vi编辑器;
q 退出less
!command 调用SHELL,可以运行命令;比如!ls 显示当前列当前目录下的所有文件;
less -N /etc/profile 注:显示行号
7. head语法
head -n 行数值 文件名
head -n 10 /etc/profile 注:显示前10行内容
head -20 filename | column -t
8. tail语法
tail -n 行数值 文件名
tail -n 5 /etc/profile 注:显示最后5行内容
tail -f /var/log/syslog 注:显示文件后十行内容并在文件内容增加后自动显示新增的内容
9. sed语法
sed是一行一行的处理文件内容的,正在处理的内容存放在模式空间(缓冲区)内,处理完成后按照选项的规定进行输出或文件的修改
sed [options] ‘[command]’ [filename]
[options]:
-n 抑制自动(默认的)输出 读取下一个输入行,-n要读取的行号
-e 执行多个sed命令
-f 运行脚本
-i 编辑文件内容
-i.bak 编辑的同时创造.bak的备份
-r 使用扩展的正则表达式
[command]:
a 在匹配后追加
i 在匹配后插入
p 打印
d 删除
r/R 读取文件/一行
w 另存
s 查找
c 替换
y 替换
h/H 复制拷贝/追加模式空间(缓冲区)到存放空间
g/G 粘贴 从存放空间取回/追加到模式空间
x 两个空间内容的交换
n/N 拷贝/追加下一行内容到当前
D 删除\n之前的内容
P 打印\n之前的内容
b 无条件跳转
t 满足匹配后的跳转
T 不满足匹配时跳转
# sed -n 3p /etc/passwd 注:对第三行进行操作p打印出
# sed -n '1,3p' /etc/passwd 注:显示1-3行的内容
# sed -n '1,3!p' /etc/passwd 注:加感叹号就是除了1-3显示其他所有内容
# sed -n '3,+3p' /etc/passwd 注:显示第三行和之后的三行
# sed '1i###' /etc/passwd 注:在文件的头插入###
# sed '1i###' /etc/passwd > a.txt 注:重定向
# sed '1i###' /etc/passwd >> a.txt 注:追加
# sed '$a@@@' /etc/passwd >> a.txt 注:在文件尾部追加@@@ $代表尾部a代表追加
# sed '3c$$$' /etc/passwd 注:第三行插入$$$
# sed '1,2d' ab 注:删除第一行到第二行
# sed -n '/ruby/p' ab 注:查询包括关键字ruby所在所有行
10. awk语法
awk语句都是由模式和动作组成,一个awk脚本可以有多个语句。模式决定动作语句的触发条件和触发时间,commands 是真正awk命令,[-F域分隔符]是可选的。 input-file(s) 是待处理的文件。
在awk中,文件的每一行中,由域分隔符分开的每一项称为一个域。通常,在不指名-F域分隔符的情况下,默认的域分隔符是空格。
awk [-F field-separator] 'commands' input-file(s)
特殊字段:
BEGIN语句设置计数和打印头部信息,在任何动作之前进行。
END语句输出统计结果,在完成动作之后执行。
分隔符默认是空格,可以用-F,改变成逗号为分隔符-F,或改成冒号-F
eg:准备要显示的内容
# vim result.txt
aa 7 17 27 37 47 57
bb 8 18 28 38 48 58
cc 9 19 29 39 49 59
dd 6 16 26 36 46 56
# awk '{print $0}' result.txt 注:$0显示所有内容
# awk '{print $1}' result.txt 注:$1显示内容的第一列
# awk -F: '{print $1}' /etc/passwd 注:显示第一列,以:作为分隔符
# awk '{print $1,$3}' result.txt 注:显示第一列和第三列内容
# awk 'BEGIN {print "name level result\n"} {print $1,$2,$3} END{ print "end of class1 results"}' result.txt
# awk '$2 >= 7 {print $0}' result.txt
# awk '{ if($1 == "aa" || $2=="8") print $0 }' result.txt
11.grep语法
文本过滤器,全称:Global Regular Expression Print
grep [options] PATTERN[FILE...]
[options]:
-i:忽略大小写
--color:匹配到字符用其他颜色显示出来,默认是红色 -v:显示没有被模式匹配到的行
-o:只显示被模式匹配到的字符串,不显示行
-E:使用扩展正则表达式
-A n:表示显示该行及其后n行
-B n:表示显示该行及其前n行
-C n:表示显示该行及其前后各n行
# grep -n root /etc/passwd
# grep -n '[^g]oo' regular_express.txt
12.tr语法
tr [:class:] [:class:]
alnum:字母和数字
alpha:字母
cntrl:控制(非打印)字符
digit:数字
graph:图形字符
lower:小写字母
print:可打印字符
punct:标点符号
space;空白字符
upper:大写字母
xdigit:十六进制字符
# tr '[:lower:]' '[:upper:]' 注:将所有小写字母换成大写字母
# echo 12345 | tr '0-9' '9876543210' 注:加密
# echo 87654 | tr '9876543210' '0-9' 注:解密
# echo "Hello 123 world 456" | tr -d '0-9' 注:使用-d将stdin中的数字删除并打印出来
13.echo语法
echo输出内容到控制台
echo [options] [content]
[options]:
-e: 支持反斜线控制的字符转换
# echo "hello\tworld"
# echo -e "hello\tworld"
14.> 输出重定向和 >> 追加
# ls -l > a.txt 注:列表的内容覆盖写入文件a.txt中
# ls -al >> aa.txt 注:列表的内容追加到文件aa.txt的末尾
# cat 文件1 > 文件2 注:将文件1的内容覆盖到文件2
# echo “内容” >> 文件
相关推荐
本资源"Linux命令大全"包含了516个Linux命令的详细资料,对于学习和理解Linux操作系统至关重要。下面,我们将深入探讨这个资源中涉及的一些关键知识点。 1. **命令手册**: - 在Linux世界中,命令手册(man pages...
2. **Linux常用命令**: Linux是一个强大的操作系统,其命令行界面提供了丰富的操作命令: - `ls`:列出目录内容 - `cd`:改变当前工作目录 - `pwd`:显示当前工作目录 - `mkdir`:创建新目录 - `rm`:删除...
Linux 文本处理命令 Linux 文本处理命令是 Linux 操作系统中的一组命令,用于处理文本文件和文本流的命令。这些命令可以实现文本的排序、去重、统计、过滤等操作。本文将详细介绍 Linux 文本处理命令,包括 sort、...
1. "jdk-8u144-linux-x64.rpm":如前所述,这是一个RPM格式的JDK安装包,用户可以通过Linux的RPM命令进行安装。 2. "资源说明必读.txt":这通常是一个包含重要安装说明、许可证信息、使用指南或注意事项的文本文件,...
LINUX处理文本命令 处理文本和文本文件的命令 一. sort 文件排序, 通常用在管道中当过滤器来使用. 这个命令可以依据指定的关键字或指定的字符位置, 对文件行进行排序. 使用-m选项, 它将会合并预排序的输入文件. 想...
4.1.1 Linux常用命令-文件处理命令-命令格式与目录处理命令ls 4.1.2 Linux常用命令-文件处理命令-目录处理命令 4.1.3 Linux常用命令-文件处理命令-文件处理命令 4.1.4 Linux常用命令-文件处理命令-链接命令 4.2.1 ...
在Linux系统中,tar命令用于打包多个文件或目录到一个单一的归档文件,而gz是一种常用的文件压缩格式,通过gzip工具实现。这种组合使得文件更易于传输和存储,同时在下载后,用户需要先使用gunzip解压gz文件,然后用...
本篇将深入探讨Linux常用命令,帮助你更好地理解和操作Linux系统。 首先,让我们从最基本的命令开始: 1. **ls**:用于列出目录中的文件和子目录。通过添加参数,如`-l`(长格式)、`-a`(显示隐藏文件)和`-h`...
通过学习这些基本的Linux命令和Shell操作,初学者可以更快地熟悉Linux环境,并能有效地管理和操作Linux系统。此外,掌握这些技能还有助于提升在开发、运维以及其他与Linux相关的领域的专业能力。
1. **ed**:它是最早的Linux文本编辑器,基于行的界面使得它对初学者来说可能较为复杂。`ed`命令允许用户在内存中编辑文本,然后将其写入文件。基本用法包括`a`(追加)、`i`(插入)、`d`(删除)和`w`(写入)等。...
### Linux文本处理命令合集详解 #### diff/patch:查找/修补文本差异 - **diff** 命令用于比较两个文件之间的不同之处。 - `diff version1.txt version2.txt`:简单地列出两个文件之间的不同行。 - `diff -u ...
自动化任务以shell为例,shell不能直接操作Excel文档,需要将Excel转换成文本然后在解析和分析,我使用GO语言开发编译成二进制命令,上传到服务器当命令使用。
- 解压:使用`tar -zxvf jdk-8u151-linux-x64.tar.gz`命令解压文件到指定目录。 - 设置环境变量:编辑`~/.bashrc`或`~/.bash_profile`,添加以下内容: ``` export JAVA_HOME=/path/to/jdk1.8.0_151 export ...
总结来说,"jdk-8u161-linux-x64.rpm.zip"是一个适用于Linux 64位系统的Java Development Kit,版本8u161,可以通过RPM命令进行安装。它的重要性在于提供了Java开发和运行所需的所有组件,同时该版本可能包含安全...
解压流程通常包括首先使用"unzip"命令解压ZIP文件,然后使用"tar -zxvf"命令解压得到的".tar.gz"文件,最后将解压出的目录移动到系统路径下的适当位置,以便全局使用JDK。而"新建文本文档.txt"可能需要根据实际情况...
4.1.1 Linux常用命令-文件处理命令-命令格式与目录处理命令ls 4.1.2 Linux常用命令-文件处理命令-目录处理命令 4.1.3 Linux常用命令-文件处理命令-文件处理命令 4.1.4 Linux常用命令-文件处理命令-链接命令 4.2.1 ...
在压缩包子文件的文件名称列表中,我们看到有两个文件:jdk-8u151-linux-x64.tar.gz和新建文本文档.txt。前者是我们的主要关注点,即JDK的压缩文件,通常包含bin目录下的可执行文件(如java、javac等)、lib目录下的...
Linux命令行操作是Linux系统管理中的一项基本技能,它允许用户通过输入文本命令来操作计算机。Linux命令行是通过Shell程序来实现与计算机的交互的。本篇文档将详细介绍一些常用的Linux命令行操作,帮助用户更高效地...
1. **解压文件**:首先,你需要在Linux服务器上解压"audit-plugin-mysql-5.7-1.1.7-921-linux-x86_64.zip",这通常通过`unzip`命令完成。 2. **复制插件到MySQL插件目录**:将解压后的审计插件文件移动到MySQL的...
本文将详细解读《Linux命令大全完整版.pdf》中所收录的各类命令,以帮助读者更好地理解和运用Linux命令。 1. Linux系统管理命令 系统管理命令是Linux系统中最重要的命令类别之一,涵盖了用户管理、进程控制、系统...