Linux命令学习记录Word下载.docx

上传人:b****6 文档编号:16187105 上传时间:2022-11-21 格式:DOCX 页数:13 大小:23.54KB
下载 相关 举报
Linux命令学习记录Word下载.docx_第1页
第1页 / 共13页
Linux命令学习记录Word下载.docx_第2页
第2页 / 共13页
Linux命令学习记录Word下载.docx_第3页
第3页 / 共13页
Linux命令学习记录Word下载.docx_第4页
第4页 / 共13页
Linux命令学习记录Word下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

Linux命令学习记录Word下载.docx

《Linux命令学习记录Word下载.docx》由会员分享,可在线阅读,更多相关《Linux命令学习记录Word下载.docx(13页珍藏版)》请在冰豆网上搜索。

Linux命令学习记录Word下载.docx

#创建f1的一个硬连接文件f2

[oracle@Linux]$ln-sf1f3 

#创建f1的一个符号连接文件f3

当删除原始文件f1后,硬连接f2不受影响,但是符号连接f3文件无效

grep

作用

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

grep全称是GlobalRegularExpressionPrint,表示全局正则表达式版本,它的使用权限是所有用户。

格式

grep[options]

主要参数

[options]主要参数:

-c:

只输出匹配行的计数。

-I:

不区分大小写(只适用于单字符)。

-h:

查询多文件时不显示文件名。

-l:

查询多文件时只输出包含匹配字符的文件名。

-n:

显示匹配行及行号。

-s:

不显示不存在或无匹配文本的错误信息。

-v:

显示不包含匹配文本的所有行。

pattern正则表达式主要参数:

\:

忽略正则表达式中特殊字符的原有含义。

^:

匹配正则表达式的开始行。

$:

匹配正则表达式的结束行。

\<

从匹配正则表达式的行开始。

\>

到匹配正则表达式的行结束。

[]:

单个字符,如[A]即A符合要求。

[-]:

范围,如[A-Z],即A、B、C一直到Z都符合要求。

所有的单个字符。

*:

有字符,长度可以为0。

grep命令使用简单实例

$grep‘test’d*

显示所有以d开头的文件中包含test的行。

$grep‘test’aabbcc

显示在aa,bb,cc文件中匹配test的行。

$grep‘[a-z]\{5\}’aa

显示所有包含每个字符串至少有5个连续小写字符的字符串的行。

$grep‘w\(es\)t.*\1′aa

如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着另外一个es(\1),找到就显示该行。

如果用egrep或grep-E,就不用”\”号进行转义,直接写成’w(es)t.*\1′就可以了。

grep-ipatternfiles:

不区分大小写地搜索。

默认情况区分大小写,

grep-lpatternfiles:

只列出匹配的文件名,

grep-Lpatternfiles:

列出不匹配的文件名,

grep-wpatternfiles:

只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),

grep-Cnumberpatternfiles:

匹配的上下文分别显示[number]行,

greppattern1|pattern2files:

显示匹配pattern1或pattern2的行,

greppattern1files|greppattern2:

显示既匹配pattern1又匹配pattern2的行。

grep-npatternfiles即可显示行号信息

grep-cpatternfiles即可查找总行数

awk

是行处理器:

相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息

awk[-F|-f|-v]‘BEGIN{}//{command1;

command2}END{}’file

[-F|-f|-v]大参数,-F指定分隔符,-f调用脚本,-v定义变量var=value

BEGIN初始化代码块,在对每一行进行处理之前,初始化代码,主要是引用全局变量,设置FS分隔符

//匹配代码块,可以是字符串或正则表达式

{}命令代码块,包含一条或多条命令

多条命令使用分号分隔

END结尾代码块,在对每一行进行处理之后再执行的代码块,主要是进行最终计算或输出结尾摘要信息

$0表示整个当前行

$1每行第一个字段

NF字段数量变量

NR每行的记录号,多文件记录递增

FNR与NR类似,不过多文件记录不递增,每个文件都从1开始

\t制表符

\n换行符

FSBEGIN时定义分隔符

RS输入的记录分隔符,默认为换行符(即文本是按一行一行输入)

~匹配,与==相比不是精确比较

!

~不匹配,不精确比较

==等于,必须全部相等,精确比较

=不等于,精确比较

&

 逻辑与

||逻辑或

+匹配时表示1个或1个以上

/[0-9][0-9]+/两个或两个以上数字

/[0-9][0-9]*/一个或一个以上数字

FILENAME文件名

OFS输出字段分隔符,默认也是空格,可以改为制表符等

ORS输出的记录分隔符,默认为换行符,即处理结果也是一行一行输出到屏幕

-F'

[:

#/]'

定义三个分隔符

awk命令使用简单实例

awk-F:

'

{print$1;

print$2}'

/etc/passwd//将每一行的前二个字段,分行输出,进一步理解一行一行处理文本

{print$1,$3,$6}'

OFS="

\t"

/etc/passwd//输出字段1,3,6,以制表符作为分隔符

awk-F"

:

{print"

Username:

$1"

\t\tUid:

$3}'

/etc/passwd//自定义输出

{printNF}'

/etc/passwd//显示每行有多少字段

{print$NF}'

/etc/passwd//将每行第NF个字段的值打印出来

awk-F:

NF==4{print}'

/etc/passwd//显示只有4个字段的行

NF>

2{print$0}'

/etc/passwd//显示每行字段数量大于2的行

awk'

{printNR,$0}'

/etc/passwd//输出每行的行号

{printNR,NF,$NF,"

$0}'

/etc/passwd//依次打印行号,字段数,最后字段值,制表符,每行内容

NR==5{print}'

/etc/passwd//显示第5行

NR==5||NR==6{print}'

/etc/passwd//显示第5行和第6行

route-n|awk'

NR!

=1{print}'

//不显示第一行

{if($1~/mail/){print$1}else{print$2}}'

/etc/passwd//if...else...

{{if(($10==12)&

($1=="

c"

))print$5}}'

/etc/passwd//逻辑与(或||),$10匹配12,并且$1为c

BEGIN{A=0;

B=0}{if($3>

100){A++;

print"

large"

}else{B++;

small"

}}END{printA,"

B}'

/etc/passwd//ID大于100,A加1,否则B加1

{if($3<

100)next;

elseprint}'

/etc/passwd//小于100跳过,否则显示

BEGIN{i=1}{if(i<

NF)printNR,NF,i++}'

/etc/passwd

while语句

BEGIN{i=1}{while(i<

NF)printNF,$i,i++}'

/etc/passwd

数组

netstat-anp|awk'

=1{a[$6]++}END{for(iina)printi,"

a[i]}'

=1{a[$6]++}END{for(iina)printf"

%-20s%-10s%-5s\n"

i,"

uniq

uniq命令可以去除排序过的文件中的重复行,因此uniq经常和sort合用。

也就是说,为了使uniq起作用,所有的重复行必须是相邻的。

uniq[-icu]

-i:

忽略大小写字符的不同;

-c:

进行计数

-u:

只显示唯一的行

uniq命令使用简单实例

sort

sort命令对File参数指定的文件中的行排序,并将结果写到标准输出。

如果File参数指定多个文件,那么sort命令将这些文件连接起来,并当作一个文件进行排序。

sort[-fbMnrtuk][fileorstdin]

-f:

忽略大小写的差异,例如A与a视为编码相同;

-b:

忽略最前面的空格符部分;

-M:

以月份的名字来排序,例如JAN,DEC等等的排序方法;

-n:

使用『纯数字』进行排序(默认是以文字型态来排序的);

-r:

反向排序;

就是uniq,相同的数据中,仅出现一行代表;

-t:

分隔符,默认是用[tab]键来分隔;

-k:

以那个区间(field)来进行排序的意思

sort命令使用简单实例

sort-t'

'

-k5test_yangjing.txt//以,来分隔的,第5栏来排序,默认以字符串排序

-k5ntest_yangjing.txt//以,来分隔的,第5栏来排序,以数字排序

sort-t'

'

-k6.2,6.4-k1r//先以第六个域的第2个字符到第4个字符进行正向排序,再基于第一个域进行反向排序

-k7–u//第七个域进行排序,然后去重

wc

统计文件里面有多少单词,多少行,多少字符。

利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。

wc[-lwm]

-c或--bytes或--chars只显示Bytes数;

-l:

仅列出行;

-w:

仅列出多少字(英文单字);

-m:

多少字符;

split

切割文件

split[--help][--version][-<

行数>

][-b<

字节>

][-C<

][-l<

][要切割的文件][输出文件名]

-<

或-l<

 指定每多少行就要切成一个小文件。

 -b<

 指定每多少字就要切成一个小文件。

 -C<

 与-b参数类似,但切割时尽量维持每行的完整性。

 --help 显示帮助。

 --version 显示版本信息。

 [输出文件名] 设置切割后文件的前置文件名,split会自动在前置文件名后再加上编号。

w

显示目前登入系统的用户信息。

执行这项指令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。

单独执行w指令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。

w[-fhlsuV][用户名称]

-f 开启或关闭显示用户从何处登入系统。

-h 不显示各栏位的标题信息列。

-l 使用详细格式列表,此为预设值。

-s 使用简洁格式列表,不显示用户登入时间,终端机阶段作业和程序所耗费的CPU时间。

-u 忽略执行程序的名称,以及该程序耗费CPU时间的信息。

-V 显示版本信息。

more

mor显示输出的内容,然后根据窗口的大小进行分页显示,然后还能提示文件的百分比

more[参数选项][文件]

+num从第num行开始显示;

-num定义屏幕大小,为num行;

+/pattern从pattern前两行开始显示;

-c从顶部清屏然后显示;

-d提示Pressspacetocontinue,'

q'

toquit.(按空键继续,按q键退出),禁用响铃功能;

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

-p通过清除窗口而不是滚屏来对文件进行换页。

和-c参数有点相似;

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

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

退出more的动作指令是q

tail

某个档案文件的最后几行显示到终端上,假设该档案有更新,tail会自己主动刷新,确保你看到最新的档案内容

tail[-f][-cNumber|-nNumber|-mNumber|-bNumber|-kNumber][File]

-f该参数用于监视File文件增长。

-cNumber从Number字节位置读取指定文件

-nNumber从Number行位置读取指定文件。

-mNumber从Number多字节字符位置读取指定文件,比方你的文件假设包括中文字,假设指定-c参数,可能导致截断,但使用-m则会避免该问题。

-bNumber从Number表示的512字节块位置读取指定文件。

-kNumber从Number表示的1KB块位置读取指定文件。

-r逆序显示

find

查找文件或目录。

find指令用于查找符合条件的文件。

任何位于参数之前的字符串都将被视为欲查找的目录。

find[目录...][-amin<

分钟>

][-anewer<

参考文件或目录>

][-atime<

24小时数>

][-cmin<

][-cnewer<

参考文find[目录...][-amin<

][-ctime<

][-daystart][-depyh][-empty][-exec<

执行指令>

][-false][-fls<

列表文件>

][-follow][-fprint<

][-fprint0<

][-fprintf<

<

输出格式>

][-fstype<

文件系统类型>

][-gid<

群组识别码>

][-group<

群组名称>

][-help][-ilname<

范本样式>

][-iname<

][-inum<

inode编号>

][-ipath<

][-iregex<

][-links<

连接数目>

][-lname<

][-ls][-maxdepth<

目录层级>

][-mindepth<

][-mmin<

][-mount]

[-mtime<

][-name<

][-newer<

][-nogroup][noleaf][-nouser][-ok<

][-path<

][-perm<

权限数值>

][-print][-print0][-printf<

][-prune][-regex<

][-size<

文件大小>

][-true][-type<

文件类型>

][-uid<

用户识别码>

][-used<

日数>

][-user<

拥有者名称>

][-version][-xdev][-xtype<

]

-name 

filename 

#查找名为filename的文件

-perm 

#按执行权限来查找

-user 

username 

#按文件属主来查找

-groupgroupname 

#按组来查找

-mtime 

-n+n 

#按文件更改时间来查找文件,-n指n天以内,+n指n天以前

-atime 

#按文件访问时间来查GIN:

0px"

-ctime 

#按文件创建时间来查找文件,-n指n天以内,+n指n天以前

-nogroup 

#查无有效属组的文件,即文件的属组在/etc/groups中不存在

-nouser 

#查无有效属主的文件,即文件的属主在/etc/passwd中不存

-newer 

f1!

f2 

找文件,-n指n天以内,+n指n天以前 

#按文件创建时间来查找文件,-n指n天以内,+n指n天以前 

#查更改时间比f1新但比f2旧的文件

-type 

b/d/c/p/l/f 

#查是块设备、目录、字符设备、管道、符号链接、普通文件

-size 

n[c] 

#查长度为n块[或n字节]的文件

-depth 

#使查找在进入子目录前先行查找完本目录

-fstype 

#查位于某一类型文件系统中的文件,这些文件系统类型通常可在/etc/fstab中找到

-mount 

#查文件时不跨越文件系统mount点

-follow 

#如果遇到符号链接文件,就跟踪链接所指的文件

-cpio 

%;

#对匹配的文件使用cpio命令,将他们备份到磁带设备中

-prune 

#忽略某个目录

find 

-nameapril* 

 

在当前目录下查找以april开始的文件

-name 

april* 

fprintfile 

在当前目录下查找以april开始的文件,并把结果输出到file中

-nameap*-o-namemay* 

查找以ap或may开头的文件

/mnt 

-nametom.txt 

-ftypevfat 

在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件

-namet.txt!

在/mnt下查找名称为tom.txt且文件系统类型不为vfat的文件

/tmp 

-namewa*-typel 

在/tmp下查找名为wa开头且类型为符号链接的文件

/home 

-mtime 

-2 

在/home下查最近两天内改动过的文件

find/home 

-atime-1 

查1天之内被存取过的文件

find/home-mmin 

+60 

在/home下查60分钟前改动过的文件

-amin 

+30 

查最近30分钟前被存取过的文件

-newer 

tmp.txt 

在/home下查更新时间比tmp.txt近的文件或目录

-anewer 

在/home下查存取时间比tmp.txt近的文件或目录

-used 

列出文件或目录被改动过之后,在2日内被存取过的文件或目录

-usercnscn 

列出/home目录内属于用户cnscn的文件或目录

-uid 

+501 

列出/home目录内用户的识别码大于501的文件或目录

-group 

cnscn 

列出/home

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1