Linux系统常用命令总结笔记

Linux 系统中的一个用于查看文件内容的命令。

它可以将一个或多个文件的内容输出到终端,也可以用于文件的合并操作.

参数:

-n:显示行号。

-b:显示非空行号。

-s:合并空白行。

-E:在每行结尾添加 $ 符号。

-T:将制表符显示为 ^I。

-v:显示不可打印字符。

例子:

cat -nsv data_test.c ##查看单个文件的内容,打印行号;

cat file1.txt file2.txt ##查看多个文件

cat file1.txt file2.txt > file3.txt ##将多个文件的内容合并到一个文件中

注:cat 命令不支持搜索、滚动、翻页等操作,如果需要进行这些操作,可以使用 less 命令。

---tac: 反序输出文件内容.从最后一行开始显示,可以看出 tac 是 cat 的反向显示。

参数:

-b:把间隔字符放在前面

-r:视间隔字符为普通字符

-s: 以字符串作为行分隔符

例子:

cat test.txt; ##正常顺序显示;

tac test.txt; ##反向顺序显示;

tac a.txt b.txt > c.txt; ##文件合并;

---less: 是一个用于查看文本文件内容的实用工具。

它以交互方式显示文件内容,允许用户在文件中上下滚动,搜索文本,以及执行其他操作。

参数:

-N:显示行号。

-i:忽略搜索时的大小写。

-F:在只有一个文件时,不进行分页。

-S:禁止换行显示长行。

-R:显示彩色输出。

-q:禁止显示提示信息。

+<行号>:从指定的行号开始查看文件。

常用的按键包括:

--空格键:向下翻一页。

--Enter键:向下翻一行。

--b键:向上翻一页。

--q键:退出less命令。

--/键:进行搜索操作。

例子:

less file.txt ##打开名为file.txt的文件,并使用less命令进行查看。

less -N file.txt ##以行号的形式显示文件内容,并打开名为file.txt的文件

less -i file.txt ##在搜索时忽略大小写,并打开名为file.txt的文件

less -F file1.txt file2.txt ##命令将同时打开名为file1.txt和file2.txt,并在只有一个文件时不进行分页

less -S file.txt ##禁止换行显示长行,并打开名为file.txt的文件

less -R file.txt ##该命令将以彩色输出的形式显示文件内容,并打开名为file.txt的文件

less +10 file.txt ##打开名为file.txt的文件,并跳转到第10行的位置开始显示

less -NR +30 nm_test.c

---more: 一页一页的显示文件内容,方便使用者逐页阅读

参数:

+n:从笫n行开始显示

-n: 定义一页(一次)大小为n行

+/pattern: 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示

-c: 从顶部清屏,然后显示

-d: 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能

-l: 忽略Ctrl+l(换页)字符

-p: 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似

-s: 把连续的多个空行显示为一行

-u: 把文件内容中的下画线去掉

例子:

more +10 file.txt ##从file.txt的第10行开始显示;

more -10 file.txt ##显示file.txt文件,每屏显示10行;

more +/hello file.txt ##从第一次出现hello单词的位置显示;

ls -l | more -5 ##分屏显示ls 结果,每屏限制为5行;

---vim:文本查看和编辑工具,功能十分强大。具体用法见另一篇文章介绍。

---echo:以用于向标准输出或文件写入一行或多行文本。

.应用比较广泛,功能如下

1)打印文本,只需要在字符串的引号内写上要输出的文本即可;

2)变量的输出,只需要在引号内使用$符号加上变量名即可;

3)转义字符,可以使用转义字符来输出特殊字符;

4)输出到文件,可以将输出内容重定向到文件中;

5)输出格式控制,用于控制输出的格式。

.参数:

-n:不自动换行,输出字符串后不跟随回车符。

-e:允许输出字符串中的转义字符,如“\n”表示换行符、“\t”表示制表符等

.例子:

echo "Hello world" ##输出一般字符串

name="Linux" ##输出变量值

echo "The operating system is $name"

echo "This is a test" > test.txt ##向文件写入文本

echo -e "line1\nline2\nline3" ##输出多行文本

---head: Linux 系统中的一个用于显示文件开头部分的命令。

它可以显示文件的前几行,默认显示前 10 行,也可以根据需求指定显示的行数。

参数:

-n: 指定要显示的行数。例如,-n 20表示显示前20行。

-c: 指定要显示的字节数。例如,-c 100表示显示前100个字节。

-q: 不显示文件名头部信息。

-v : 总是显示文件名头部信息

例子:

head file.txt ##显示文件的前 10 行

head -n 50 file.txt ##显示文件的前 50 行

head -c 100 file.txt ##显示文件的前100个字节

head file1.txt file2.txt ##显示多个文件的开头部分

cat file.txt | head ##显示前10行内容

head -q file.txt ##静默模式,只显示文件内容而不显示文件名

head -v file.txt ##显示file.txt文件名的头部信息

---tail: 用于查看文件的末尾内容,默认情况下显示文件的后10行。

参数:

-n: 指定要显示的行数。例如,-n 20表示显示后20行。

-c: 指定要显示的字节数。例如,-c 100表示显示最后100个字节。

-q: 不显示文件名尾部信息。

-v: 总是显示文件名尾部信息。

-f: 该选项用于监视文件变化,在文件内容增长时自动显示新增的内容,常用于查看日志文件。

-F: 类似于-f选项,但在文件被切换或重命名时,tail会尝试重新打开文件

例子:

tail file.txt ##显示文件的后10行

tail -n 20 file.txt ##显示文件的后20行

tail -c 100 file.txt ##显示文件的最后100个字节

tail file1.txt file2.txt ##显示多个文件的尾部内容

cat file.txt | tail ##通过管道传递数据并显示尾部内容

tail -f -n 20 file.txt | grep "ERROR" ##监视文件中出错的内容,实时更新后面20行内容;

---history:主要功能是用于显示与管理历史记录。

linux系统默认会记录用户所执行过的所有命令,可以使用history命令查阅它们。

参数:

-c:清空当前历史命令;

-a:将历史命令缓冲区中命令写入历史命令文件【/root/.bash_history】;

-r:将历史命令文件中的命令读入当前历史命令缓冲区;

-w:将当前历史命令缓冲区命令写入历史命令文件中【/root/.bash_history】;

n:打印最近的n条历史命令

!+字母:调出最近使用一次以此字母开头的命令

!!: 表示最近使用的一次操作的命令

!+数字:表示调出历史记录的几条命令

!-数字:调出最近的几条命令

说明:因为history默认只能保留1000条历史记录的数量,所以若要增加数量到2000,可以通过修改变量$HISTSIZE [root@localhost ~]# echo $HISTSIZE

1000

[root@localhost ~]# export HISTSIZE=2000

[root@localhost ~]# echo $HISTSIZE

2000

例子:

history ##查看最近所有的操作命令;

history 10 ##查看最近10条命令

!! ##使用最近一次使用的命令

!cp ##使用最近一次cp的命令操作;

history -c ##清空历史记录中保存的命令;

---wc:命令常用于计算文件的行数、字数和字节数,日常操作以及脚本编程中经常使用到

参数:

-l: 显示行数;

-w: 显示字数;

-m: 显示字符数;

-c: 显示字节数;

-L: 显示最长行的长度;

-r:可以递归地统计目录中的所有文件

例子:

wc filename.txt ##统计文件中的行数、字数和字节数

wc file1 file2 file3 ##统计多个文件的总行数、字数和字节数

wc -l filename ##统计文件中的行数

wc -w filename ##统计文件中的字数

wc -c filename ##统计文件中的字节数

wc -l -r dir ##递归统计目录中的文件中所有的行数;

---cut: 用于从文件或标准输入中提取字段并输出到标准输出

参数:

-b:仅显示行中指定直接范围的内容;

-c:仅显示行中指定范围的字符;

-d:指定字段的分隔符,默认的字段分隔符为“TAB”;

-f:显示指定字段的内容;

-n:与“-b”选项连用,不分割多字节字符;

--complement:补足被选择的字节、字符或字段;

--out-delimiter= 字段分隔符:指定输出内容是的字段分割符;

--help:显示指令的帮助信息;

--version:显示指令的版本信息。

例子:

cut -d ":" -f 1 /etc/passwd ##提取passwd文件中的用户名字段;

cut -d ":" -f 1,2 /etc/passwd ##取passwd文件中的第1,2字段

cut -c1-2 /etc/passwd ##取passwd文件中的第1,2个字节

##使用cut提取本地网卡地址

ifconfig eth0 |grep -w inet |cut -d ' ' -f 10

###查看系统本地的用户有多少个

cut -d ":" -f 1 /etc/passwd |wc -l

---sort: sort 命令用于将文本文件内容加以排序。

sort 可针对文本文件的内容,以行为单位来排序

参数:

-b: 忽略每行前面开始出的空格字符。

-c: 检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1

-C: 检查文件是否已排好序,如果乱序,不输出内容,仅返回1

-d: 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。

-f: 排序时,将小写字母视为大写字母。

-i: 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。

-m: 将几个排序好的文件进行合并。

-M: 将前面3个字母依照月份的缩写进行排序。

-n: 依照数值的大小排序。

-u: 意味着是唯一的(unique),输出的结果是去完重了的。

-o: <输出文件> 将排序后的结果存入指定的文件。

-r: 以相反的顺序来排序。

-t: <分隔字符> 指定排序时所用的栏位分隔字符。

例子:

sort -u seq.txt ##输出行中去除重复行

sort -n number.txt ##将数字按字符来排序,1-2-10-11-20

sort -n -r number.txt >number1.txt ##r表示降序,n表示按数字进行排序,20-11-10-2-1

sort -n -r number.txt -o number.txt ##-o表示输出到一个指定文件中;

sort -t ' ' -k1.2 testsort.txt ##从公司英文名称的第二个字母开始进行排序

sort -n -k2 -k3 -u testsort.txt ###这里设置了两层排序优先级的情况下,使用-u就没有删除任何行

---uniq: 删除文件中的重复行。

uniq 命令读取由 InFile 参数指定的标准输入或文件。该命令首先比较相邻的行,

然后除去第二行和该行的后续副本。

参数:

-c:在每列旁边显示该行重复出现的次数。

-d:仅显示重复出现的行列。

-D:打印所有重复行

-f:忽略比较指定的栏位。

-i:比较时忽略大小写差异

-s<字符位置>或=<字符位置>: 忽略比较指定的字符。

-u:仅显示出一次的行列。

-z:以0字节结束行,而不是换行

-w<字符位置>或=<字符位置>: 指定要比较的字符。

例子:

uniq file1 file2 ##要删除文件file1中 的重复行并将其保存到一个名为 file2 的文件中

cat t.log|cut -d '/' -f 3|sort|uniq -c|sort -nr ##经常与sort结合在一起使用,进行排序去掉重复行;

---split:可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等。

命令格式: split [操作大文件的参数] [大文件] [输出文件的可选参数] [输出文件名]

参数:

-b:值为每一输出档案的大小,单位为 byte。

-C:每一输出档中,单行的最大 byte 数。

-d:使用数字作为后缀。

-l:值为每一输出档的行数大小。

-a:指定后缀长度(默认为2)

例子:

split -b 10k data.txt ##分割成大小为10KB的小文件

split -b 10k data.txt -d -a 3 ##使用数字作为后缀,分割文件名为3个字节长度x001;

split -l 100 data.txt ##每100行切割成一个小文件

split -l 100 date.file -d -a 3 temp ##按行来分割,分割文件名为temp开始的3位数字编号,如:temp001

---seq: 一个序列的缩写,主要用来输出序列化的东西。

用法:

--用法:seq [选项]... 尾数

  或:seq [选项]... 首数 尾数

  或:seq [选项]... 首数 增量 尾数

以指定增量从首数开始打印数字到尾数

参数:

-f: 使用printf 样式的浮点格式

-s: 使用指定字符串分隔数字(默认使用:\n)

-w: 在列前添加0 使得宽度相同【自动补位】

--help 显示此帮助信息并退出

--version 显示版本信息并退出

例子:

seq -s '#' 5 ##指定分隔符为#,横着输出,默认换行输出;

==》1#2#3#4#5

seq -s ' ' 1 2 10 ##以空格作为分格,且输出单数。 【起始】【增量】【结尾】

==》1 3 5 7 9

seq -w 1 10 ##默认补位操作,在列前添加0,使宽度相同;

seq -w -s " " 90 110 ##等宽输出 90 到 110 之间的连续整数

---stat: 命令用于显示指定文件或文件系统的文件状态信息,

包括文件的类型、权限、大小、所属用户和组、访问时间、修改时间、创建时间等详细信息。

它可以用于检查文件的状态以及了解文件的属性

参数:

-c:指定输出格式;

-f:显示文件系统状态而非文件状态;

-t:使用简短格式输出

说明:Linux下的三个时间:

--Access Time:简写为atime,表示文件的访问时间。当文件内容被访问时,更新这个时间。

--Modify Time:简写为mtime,表示文件内容的修改时间,当文件的数据内容被修改时,更新这个时间。

--Change Time:简写为ctime,表示文件的属性状态时间,当文件的属性状态被修改时,更新这个时间。

例子:

stat -c %y filename:显示指定文件的最后访问时间

stat -c %z filename:显示指定文件的最后一次修改时间

stat -c %A filename:显示指定文件的权限

stat -c %n filename:显示指定文件的文件名

stat -c %U filename:显示指定文件的所有者

stat -c %G filename:显示指定文件的所有者组名

stat -c %s filename:显示指定文件的大小

stat -c %t filename:显示指定文件的类型

stat -f /etc/hosts ##显示指定文件所在文件系统的详细信息,包括文件系统的名称、挂载点、文件系统类型、文件系统大小、可用空间等。

stat /etc/hosts

##显示指定文件的三种时间信息;

---man: 用于显示 Linux 操作系统中的手册页(manual page)。

它提供了对 Linux 操作系统中各种命令、函数、库等的详细说明

参数:

-f:显示命令或函数的简短描述。

-k:使用关键字搜索所有与该关键字相关的手册页。

-S:指定手册页的搜索路径。

-a:显示所有与命令或函数相关的手册页。

-w:显示命令或函数的手册页文件路径。

-C:指定手册页的格式。

-l:显示所有手册页的列表。

-p:显示函数的原型。

-s:显示指定节的手册页。

-u:显示未压缩的手册页。

-h:显示帮助信息

-M:指定手册页的源路径。

例子:

man stat ##查看命令的使用说明

man -k keyword ##在所有手册页中搜索关键字

man -a command ##显示所有与命令或函数相关的手册页

man -w command ##显示命令或函数的手册页文件路径

man -p function ##显示函数的原型

man 2 open ##显示指定节的手册页

man -u command ##显示未压缩的手册页

man -M /usr/share/man command ##指定手册页的源路径

---paste: 可用于合并文件的行和列;

参数:

-d: 自定义间隔符,默认为tab

-s:串行处理,非并行

例子:

paste test1.conf test2.conf > test.conf ##将两个文件,按照行合并,并输出到新文件;

##将两个文件按照行合并,同时指定间隔符

paste -d= test1.conf test2.conf > test.conf

#将两个文件串行合并

paste -s test1.conf test2.conf > test.conf

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值