人人范文网 范文大全

linux基础命令小结2

发布时间:2020-03-02 21:28:16 来源:范文大全 收藏本文 下载本文 手机版

linux基础命令小结

1.文件查看命令 cat命令

这条命令适用于最简单的文本查看,它在显示文件内容的时候是以第一行开始,在显示过程中没有停顿,文件较长的话,只能看到最后一页内容在屏幕上显示,不适合查看长文件。

例如:我们查看“/etc”目录下的“inittab文件,直接在命令提示符下输入:

由于这个文件较长,我们只看到了文件的最后一页在屏幕上的显示。如果在cat /etc/inittab后加上-n将在显示的结果中显示行号。

接下来这个命令比较有意思,写法是将cat反过来些,并且它和cat命令的功能刚好相反,是以文件的最后一行开始到文件的第一行反向的显示到屏幕。它就是tac,用法也和cat一样,这里不做详细介绍。 more命令

当文件很大的时候more命令相比cat命令要好用的多,它的用法也是more [文件名],它的显示方法是分屏显示文件内容。

例如:同样还是“/etc”目录下的“inittab文件,也是在命令提示符下输入:

我们看到这个命令的确是分屏显示,在屏幕的最下方还显示出当前显示内容在整个文件中的百分比。那么我们怎样可以看到40%以下的内容,这里介绍几个常用的操作按键,如果想了解详细使用方法,在分屏显示界面中输入“h”会显示more命令的帮助信息。

输入空格将显示下一屏的文件内容,如果文件已经显示到文件尾,more命令会自动退出。

输入字幕b将显示上一屏的文件内容,如果显示已经在文件头部,则屏幕显示文件保持不变。

使用回车键可以将文件内容向上滚动一行,也就是显示一行新的内容到当前屏幕。

输入q或Q退出more命令阅读环境。

总结,这条命令可以分屏显示内容和翻页功能,较适合阅读较长的文件。 le命令

le命令和more的功能几乎差不多,只是多了一些功能。更适用阅读较长较大的文件。使用方法也是le [文件名]。

还是以查看“/etc”目录下的“inittab文件,也是在命令提示符下输入: le也是以全屏幕的显示文件,最后一行显示出了当前阅读文件的名称。

le命令中的“回车键、空格键和b”操作键功能和more的相同,还可以使用Page Up和 Page Down进行上下翻页,使用上下方向键对文本内容一行一行的上下移动,退出命令和more的也一样。还可以查找字符串,输入/要查找的字符串。

head和tail命令

这两条命令可以查看文件的前几行或后几行,两条命令都是默认显示文件内容10行,但是head是显示最前10行,而tail是最后10行。

head和tail命令中添加选项“-n”,可以设置查看最前n行或最后n行,例如查看“/etc”目录下的“inittab文件中的前3行使用命令如下:

nl命令

nl命令查看文件的同时可以显示行号,用法和cat –n相似。

指令:od 示例用法:od -c hello Linux指令:od od命令

用户通常使用od命令查看特殊格式的文件内容。通过指定该命令的不同选项可以以十进制、八进制、十六进制和ASCII码来显示文件。

语法:od [选项] 文件… 命令中各选项的含义:Axb l o c k s 20 20 20 20 20 31 6b 2d 62 6c 6f 63 6b 73 20 20 000020 U s e d A v a i l a b 20 20 20 20 55 73 65 64 20 41 76 61 69 6c 61 62 000030 l e U s e % M o u n t e d 6c 65 20 55 73 65 25 20 4d 6f 75 6e 74 65 64 20 10.

11.---- My test ----- 12.ysun@linetcps1dev:~> cat a 13.hello,world.14.Joey.1.2.3.4.5.6.ysun@linetcps1dev:~> od -Ax -tcx4 a 000000 h e l l o , w o r l d .\\n \\t J o 6c6c6568 6f772c6f 2e646c72 6f4a090a 000010 e y .\\n \\n \\0 \\0 \\0 0a2e7965 0000000a 000015 od 和 hexdump 实用程序 od 和 hexdump 分别输出文件或流的八进制、十六进制或其他编码的字节。它们对于访问或可视地检查文件中不能直接显示在终端上的字符很有用。

HERE 文档

有一种特殊的重定向值得在本教程中提一下。虽然严格地讲,HERE 文档是诸如 bash 这样的 shell 的特性,而不是与文本实用程序有关的任何东西,但是它们提供了向文本实用程序发送特殊数据的有用途径。 双小于号重定向可用于从终端接收伪文件的内容。HERE 文档必须紧跟在

1.2.3.4.5.6.$ od -c Alice > Bob > END 0000000 A l i c e \\n B o b \\n 0000012 任何字符串都可以用作分隔符;输入将在一行上遇到该字符串本身的地方终止。这样为我们提供了创建持久性文件的快捷方法:

1.2.3.4.5.6.7.$ cat myfile Dave > Edna > EOF $ hexdump -C myfile 00000000 44 61 76 65 0a 45 64 6e 61 0a |Dave.Edna.| 0000000a 这就是Linux指令od的知识。

touch fileA 如果fileA存在,使用touch指令可更改这个文件或目录的日期时间,包括存取时间和更改时间;

如果fileA不存在,touch指令会在当前目录下新建一个空白文件fileA。

touch 命令详解

功能说明:改变文件或目录时间。

法:touch [-acfm][-d ][-r ][-t ][--help]

[--version][文件或目录...] 或 touch [-acfm][--help][--version][日期时间][文件或目录...]

补充说明:使用touch指令可更改文件或目录的日期时间,包括存取时间和更改时间。

数:

-a或--time=atime或--time=acce或--time=use 只更改存取时间。

-c或--no-create 不建立任何文件。

-d 使用指定的日期时间,而非现在的时间。 -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

-m或--time=mtime或--time=modify 只更改变动时间。

-r 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同。

-t 使用指定的日期时间,而非现在的时间。

--help 在线帮助。

--version 显示版本信息。

grep 功能说明:查找文件里符合条件的字符串

语法:grep[­abcEFGhHilLnqrsvVwxy][­A 显示列数][­B 显示列数][­C 显示列数][­d 进行动作] [­e 范本样式][­f 范本文件][­­help][范本样式][文件或目录...] 备注:grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合

所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来.若不指定任何文

件名称,或是所给予的文件名为“­”,则 grep 指令会从标准输入设备读取数据 参数:

-E, –extended-regexp PATTERN被视为一个扩展的正则表达式 -F, –fixed-strings PATTERN是一个以换行符格开的字符串集合 -G, –basic-regexp PATTERN被视为一个基本的正则表达式 -P, –perl-regexp PATTERN被视为一个Perl的正则表达式 -e,–regexp=PATTERN 把PATTERN视为正则表达式 -f,–file=FILE 从FILE中获取PATTERN -i,–ignor-case 忽略大小写指令

-w,–word-regexp 强迫PATTERN只匹配完整的词 -x,–line-regexp 强迫PATTERN只匹配完整的行

-z,–null-data 数据行以零字节而不是以换行符结束 杂项:

-s,–no-meages 不显示错误信息 -v,–invert-match 选择不匹配的行 -V,–version 打印版本信息并退出

–help [...] 用„grep‟搜索文本文件

如果要在几个文本文件中查找一字符串,可以使用„grep‟命令。„grep‟在文本中搜索指定的字符串。

假设正在„/usr/src/linux/Documentation‟目录下搜索带字符串„magic‟的文件: $ grep magic /usr/src/linux/Documentation/* sysrq.txt:* How do I enable the magic SysRQ key? sysrq.txt:* How do I use the magic SysRQ key? 其中文件„sysrp.txt‟包含该字符串,讨论的是 SysRQ 的功能。 默认情况下,„grep‟只搜索当前目录。如果此目录下有许多子目录,„grep‟会以如下形式列出: grep: sound: Is a directory 这可能会使„grep‟的输出难于阅读。这里有两种解决的办法: 明确要求搜索子目录:grep -r 或忽略子目录:grep -d skip 当然,如果预料到有许多输出,可以通过 管道 将其转到„le‟上阅读:

2.文件或目录的查找 find命令

find命令的在查找文件或目录的功能非常强大,可以根据文件的大多数属性来查找文件,它的使用形式也是多变的,基本命令格式:

find [path] [expreion] 使用这条命令最常用的是按照文件名查找,文件名表达式的格式为:-name 文件名,其中文件名可以使用*或?通配符进行表示。符合条件的将被显示出来。

例如:查找“inittab”文件,可以使用find / –name inittab

我们在查找的过程中会发现它的查找速度相当的慢,而且这条命令十分耗硬盘。所以这条命令虽然功能十分的强大,但是最好先使用其它命令查找不到的时候使用。

其它可选选项:

-adminN

在过去N分钟内读过的文件 -anewerFILE 比文件FILE更晚读取的文件 -cnewer FILE 比文件FILE更新的文件

-atime[士]N

在过去N天以内(-)或以外(+)读取过的文件 -cmin[士]N

在过去N分钟以内(-)或以外(+)修改过的文件 -ctime[士]N

在过去N天以内(-)或以外(+)修改过的文件 -empty

空文件

-gN

组id号是N的文件 -groupNAME 组名是NAME的文件

-ipath P,path P 路径名符合P的文件,ipath会忽略大小写

-name NAME,-iname NAME 文件名称符合NAME的,iname会忽略大小写。

-sizeN[b|c|k|w] 文件大小是N,单位b代表512位的块,c表示一个char,k表示kilobytes,w是一个word。

-typeT

文件类型是T的文件,文件类型有d目录、c字符设备文件、b块设备文件、f普通文件、l符号链接、s套接字文件。

-mount,-xdev 只检查和指定目录在同一个文件系统中的文件,避免列出其它文件系统中的文件。 which命令

which的基本功能是通过环境变量PATH到该路径内寻找可执行文件,所以用于查找可执行文件。其实这个时候想一想,怎样可以看出文件是可执行文件,我在前面已经介绍了一种方法,学习就是结合起来运用。在我们还不熟悉这个系统的时候,我们可以先在某个目录查看一下是否有可执行文件,然后在使用which验证。 whereis命令

whereis可以迅速的找到文件,而且还提供了这个文件的二进制可执行文件、源代码文件和使用手册页存放位置。 例如:查找inittab文件

我们可以看到inittab是存放在子目录/etc下,而且他的使用手册在/usr/share/man/man5下的inittab.5.gz

Linux中常用的五大搜索命令用法简介: JMerWDIcF5 免费发布招聘信息、产品信息、公司信息、房屋租售信息等的分类目录

在用linux的时候我们经常会查找一些文件,这就需要用到一些查找命令,下面介绍5种常用的命令.JMerWDIcF5 免费发布招聘信息、产品信息、公司信息、房屋租售信息等的分类目录

1.find

find命令是最常见也是最强大的查找命令,你可以用它找到任何你想找的文件。find命令可以在使用、管理Linux系统中方便地查找所需要的文件。 m ulu 0 01 免费发布招聘信息、产品信息、公司信息、房屋租售信息

find命令的格式如下:

$ find mu lu0 01 第一目录网-分类目录平台

- : 所要搜索的目录及其所有子目录。默认为当前目录。可以为一个目录,目录间用空格分隔。 mu lu0 01 第一目录网-分类目录平台

- : 所要搜索的文件的特征。 mu lu0 01 第一目录网-分类目录平台

表达式 说明:

-name文件 最常用的一个参数,告诉find要找什么文件;要找的文件包括在引号中,可以使用通配符(*和?) pui5fncplY ,网站提交,RSS提交,网站提交,RSS提交

-perm模式 匹配所有模式为指定数字型模式值的文件。不仅仅是读,写和执行,所有模式都必须匹配。如果在模式前是负号(-),表示采用除这个模式外的所有模式。 JMerWDIcF5 免费发布招聘信息、产品信息、公司信息、房屋租售信息等的分类目录

-type x 匹配所有类型为x的文件。x是c(字符特殊),b(块特殊),d(目录),p(有名管道),l(符号连接),s(套接文件)或f(一般文件)。 JMerWDIcF5 免费发布招聘信息、产品信息、公司信息、房屋租售信息等的分类目录

-links n 匹配所有连接数为n的文件。

-user用户号 匹配所有用户序列号是前面所指定的用户序列号的文件,可以是数字型的值或用户登录名。 m ulu 0 01 免费发布招聘信息、产品信息、公司信息、房屋租售信息

-atime n 匹配所有在前n天内访问过的文件。 BtoBVV9NCv 租房,招聘,信息发布,免费信息发布,出租,出售,房屋

-mtime n 匹配所有在前n天内修改过的文件。

-newer文件 匹配所有修改时间比file文件更新的文件。 m ul u 00 1第一目录网-分类信息发布平台

-size n 匹配所有大小为n 块的文件(512字节块,若k在n后,则为1K字节块)。

第 一目 录网社区!

-print 显示整个文件路径和名称。一般来说,都要用-print,如果没有这个参数,则find命令进行所要求的搜索是没有显示结果的。 fL6D5WQ2 网站导航,搜索引擎登录,网站登录,网站推广,网站登录入口,产品目录

- : 对搜索结果进行特定的处理。

第 一 目 录 网社区!

如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。

www.daodoc.com

find的使用实例:

$ find .-name \'my*\' pui5fncplY ,网站提交,RSS提交,网站提交,RSS提交

搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件。 BtoBVV9NCv 租房,招聘,信息发布,免费信息发布,出租,出售,房屋

$ find .-name \'my*\' -ls

搜索当前目录中,所有文件名以my开头的文件,并显示它们的详细信息。 BtoBVV9NCv 租房,招聘,信息发布,免费信息发布,出租,出售,房屋

$ find .-type f -mmin -10

搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录。

www.daodoc.com

1) 知道了某个文件的文件名,却不知道它存于哪个目录下,此时可通过查找命令找到该文件,命令如下:

第 一目 录网社区!

# find / -name httpd.conf print

2)根据部分文件名查找 m ul u 00 1第一目录网-分类信息发布平台

当要查找某个文件时,不知道该文件的全名,只知道这个文件包含几个特定的字母,此时用查找命令也是可找到相应文件的。这时在给字查找文件名时通配符“*”、“?”。例如,还是查找文件“httpd.conf”,但仅记得该文件名包含“http”字符串,可使用如下命令查找: m ulu 0 01 免费发布招聘信息、产品信息、公司信息、房屋租售信息

#find / name *http* -print

3)根据文件的特性查找

第 一 目 录 网社区!

如果仅知道某个文件的大小、修改日期等特征也可使用find命令把该文件查找出来。例如,知道一个文件尺寸小于为2500bytes,可使用如下命令查找: sRledqxiuB 上网导航,网站目录,网址提交,网站目录,网址分类

#find /etc size -2500c print

下面是以时间特征为查找条件的find命令函数的参数: BtoBVV9NCv 租房,招聘,信息发布,免费信息发布,出租,出售,房屋

?amin n 查找n分钟以前被访问过的所有文件.JMerWDIcF5 免费发布招聘信息、产品信息、公司信息、房屋租售信息等的分类目录

?atime n 查找n天以前被访问过的所有文件.

?cmin n 查找n分钟以前文件状态被修改过的所有文件.1P349FNY 公司推广,网站推广的好帮手

?ctime n 查找n天以前文件状态被修改过的所有文件.m ul u 00 1第一目录网-分类信息发布平台

?mmin n 查找n分钟以前文件内容被修改过的所有文件.sRledqxiuB 上网导航,网站目录,网址提交,网站目录,网址分类

?mtime n 查找n天以前文件内容被修改过的所有文件.fL6D5WQ2 网站导航,搜索引擎登录,网站登录,网站推广,网站登录入口,产品目录

2.whereis

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。 m ulu 0 01 免费发布招聘信息、产品信息、公司信息、房屋租售信息

whereis命令的使用实例:

$ whereis grep JMerWDIcF5 免费发布招聘信息、产品信息、公司信息、房屋租售信息等的分类目录

3.locate

locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含 有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可 以在使用locate之前,先使用updatedb命令,手动更新数据库。 m u lu0 01第一目录网!

locate命令的使用实例:

$ locate /etc/sh pui5fncplY ,网站提交,RSS提交,网站提交,RSS提交

搜索etc目录下所有以sh开头的文件。

$ locate ~/m 1P349FNY 公司推广,网站推广的好帮手

搜索用户主目录下,所有以m开头的文件。

www.daodoc.com

$ locate -i ~/m

搜索用户主目录下,所有以m开头的文件,并且忽略大小写。

www.daodoc.com

4.type

type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。 m u lu0 01第一目录网!

type命令的使用实例:

$ type cd fL6D5WQ2 网站导航,搜索引擎登录,网站登录,网站推广,网站登录入口,产品目录

系统会提示,cd是shell的自带命令(build-in)。 m ulu 0 01 免费发布招聘信息、产品信息、公司信息、房屋租售信息

$ type grep

系统会提示,grep是一个外部命令,并显示该命令的路径。 m ul u 00 1第一目录网-分类信息发布平台

$ type -p grep

加上-p参数后,就相当于which命令。 JMerWDIcF5 免费发布招聘信息、产品信息、公司信息、房屋租售信息等的分类目录

5.which

which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。 1P349FNY 公司推广,网站推广的好帮手

which命令的使用实例:

$ which grep

linux的几个查找命令的用法

which (寻找『执行档』)

[root@www ~]# which [-a] command 选项或参数:

-a :将所有由PATH目录中可以找到的指令均列出,而不止第一个被找到的指令名称

範例一:分別用root與一般帳號搜尋ifconfig 這個指令的完整檔名 [root@www ~]# which ifconfig

/sbin/ifconfig

注意看,明明which一般使用者找不到的ifconfig却可以让whereis找到! #这是因为系统真的有ifconfig这个『档案』,但是使用者的PATH并没有加入/sbin #所以,未来你找不到某些指令时,先用档案搜寻指令找找看再说!

范例二:只找出跟pawd有关的『说明文件』档名(man page) [root@www ~]# whereis -m pawd

pawd: /usr/share/man/man1/pawd.1.gz /usr/share/man/man5/pawd.5.gz ------------

locate

[root@www ~]# locate [-ir] keyword 选项与参数:

-i :忽略大小写的差异;

-r :后面可接正规表示法的显示方式

范例一:找出系统中所有与pawd相关的档名 [root@www ~]# locate pawd /etc/pawd /etc/pawd /etc/news/pawd.nntp /etc/pam.d/pawd ....(底下省略)....

-- find

[root@www ~]# find [PATH] [option] [action] 选项与参数:

1.与时间有关的选项:共有-atime, -ctime与-mtime ,以-mtime说明-mtime n :n为数字,意义为在n天之前的『一天之内』被更动过内容的档案;

-mtime +n :列出在n天之前(不含n天本身)被更动过内容的档案档名;

-mtime -n :列出在n天之内(含n天本身)被更动过内容的档案档名。

-newer file :file为一个存在的档案,列出比file还要新的档案档名

范例一:将过去系统上面24小时内有更动过内容(mtime)的档案列出 [root@www ~]# find / -mtime 0

#那个0是重点! 0代表目前的时间,所以,从现在开始到24小时前,

#有变动过内容的档案都会被列出来! 那如果是三天前的24小时内?

# find / -mtime 3有变动过的档案都被列出的意思!

范例二:寻找/etc底下的档案,如果档案日期比/etc/pawd新就列出 [root@www ~]# find /etc -newer /etc/pawd

# -newer用在分辨两个档案之间的新旧关系是很有用的!

如果我想要找出『4天内被更动过的档案档名』呢?

那可以使用『 find /var -mtime -4 』。

那如果是『4天前的那一天』就用『 find /var -mtime 4 』。

有没有加上『+, -』差别很大喔! 我們可以用簡單的圖示來說明一下:

图5.2.1、find相关的时间参数意义

图中最右边为目前的时间,越往左边则代表越早之前的时间轴啦。

由图5.2.1我们可以清楚的知道:

 +4 +4代表大于等于5天前的档名:ex> find /var -mtime +4  --4代表小于等于4天内的档案档名:ex> find /var -mtime -4  4则是代表4-5那一天的档案档名:ex> find /var -mtime 4

范例三:搜寻/home底下属于用户vbird的档案 [root@www ~]# find /home -user vbird

范例四:搜寻系统中不属于任何人的档案 [root@www ~]# find / -nouser

#透过这个指令,可以轻易的就找出那些不太正常的档案。

#如果有找到不属于系统任何人的档案时,不要太紧张, #那有时候是正常的~尤其是你曾经以原始码自行编译软体时。

范例五:找出档名为pawd这个档案 [root@www ~]# find / -name pawd #利用这个-name可以搜寻档名啊!

范例六:找出/var目录下,档案类型为Socket的档名有哪些? [root@www ~]# find /var -type s

#这个-type的属性也很有帮助喔! 尤其是要找出那些怪异的档案, #例如socket与FIFO档案,可以用find /var -type p或-type s来找!

范例七:搜寻档案当中含有SGID或SUID或SBIT的属性 [root@www ~]# find / -perm +7000

#所谓的7000就是---s--s--t ,那么只要含有s或t的就列出,

#所以当然要使用+7000 ,使用-7000表示要含有---s--s--t的所有三个权限,

#因此,就是+7000 ~明白了吧?

范例八:将上个范例找到的档案使用ls -l列出来~ [root@www ~]# find / -perm +7000 -exec ls -l {} \\;

#注意到,那个-exec后面的ls -l就是额外的指令,指令不支援命令别名,

#所以仅能使用ls -l不可以使用ll喔! 注意注意!

范例九:找出系统中,大于1MB的档案 [root@www ~]# find / -size +1000k

#虽然在man page提到可以使用M与G分别代表MB与GB,

#不过,俺却试不出来这个功能~所以,目前应该是仅支援到c与k吧!

范例十:找出/etc底下档名包含httpd的档案:

[root@www ~]# find /etc -name \'*httpd*\'

不过由于find在寻找资料的时后相当的操硬盘! 所以没事情不要使用find啦!他命令可以取代!那就是上面提到的whereis与locate啰! !

可以用其

Linux文本处理命令

Sort命令

sort命令的功能是对文件中的各行进行排序。sort命令有许多非常实用的选项,这些选项最初是用来对数据库格式的文件内容进行各种排序操作的。实际上,sort命令可以被认为是一个非常强大的数据管理工具,用来管理内容类似数据库记录的文件。

Sort命令将逐行对文件中的内容进行排序,如果两行的首字符相同,该命令将继续比较这两行的下一字符,如果还相同,将继续进行比较。

语法:

sort [选项] 文件

说明:sort命令对指定文件中所有的行进行排序,并将结果显示在标准输出上。如不指定输入文件或使用“- ”,则表示排序内容来自标准输入。

sort排序是根据从输入行抽取的一个或多个关键字进行比较来完成的。排序关键字定义了用来排序的最小的字符序列。缺省情况下以整行为关键字按ASCII字符顺序进行排序。

改变缺省设置的选项主要有:

- m 若给定文件已排好序,合并文件。

- c 检查给定文件是否已排好序,如果它们没有都排好序,则打印一个出错信息,并以状态值1退出。

- u 对排序后认为相同的行只留其中一行。

- o 输出文件 将排序输出写到输出文件中而不是标准输出,如果输出文件是输入文件之一,sort先将该文件的内容写入一个临时文件,然后再排序和写输出结果。

改变缺省排序规则的选项主要有:

- d 按字典顺序排序,比较时仅字母、数字、空格和制表符有意义。

- f 将小写字母与大写字母同等对待。

- I 忽略非打印字符。

- M 作为月份比较:“JAN”

pos2 指定一个或几个字段作为排序关键字,字段位置从posl开始,到pos2为止(包括posl,不包括pos2)。如不指定pos2,则关键字为从posl到行尾。字段和字符的位置从0开始。

- b 在每行中寻找排序关键字时忽略前导的空白(空格和制表符)。

- t separator 指定字符separator作为字段分隔符。

下面通过几个例子来讲述sort的使用。

用sort命令对text文件中各行排序后输出其结果。请注意,在原文件的第

二、三行上的第一个单词完全相同,该命令将从它们的第二个单词vegetables与fruit的首字符处继续进行比较。

$ cat text

vegetable soup

fresh vegetables

fresh fruit

lowfat milk

$ sort text

fresh fruit

fresh vegetables

lowfat milk

vegetable soup

用户可以保存排序后的文件内容,或把排序后的文件内容输出至打印机。下例中用户把排序后的文件内容保存到名为result的文件中。

$ sort text>result

以第2个字段作为排序关键字对文件example的内容进行排序。

$ sort +1-2 example

对于file1和file2文件内容反向排序,结果放在outfile中,利用第2个字段的第一个字符作为排序关键字。

$ sort -r -o outfile +1.0 -1.1 example

sort排序常用于在管道中与其他命令连用,组合完成比较复杂的功能,如利用管道将当前工作目录中的文件送给sort进行排序,排序关键字是第6个至第8个字段。

$ ls7

sort命令也可以对标准输入进行操作。例如,如果您想把几个文件文本行合并,并对合并后的文本行进行排序,您可以首先用命令cat把多个文件合并,然后用管道操作把合并后的文本行输入给命令sort,sort命令将输出这些合并及排序后的文本行。在下面的例子中,文件veglist与文件fruitlist的文本行经过合并与排序后被保存到文件clist中。

$ cat veglist fruitlist | sort > clist

uniq命令

文件经过处理后在它的输出文件中可能会出现重复的行。例如,使用cat命令将两个文件合并后,再使用sort命令进行排序,就可能出现重复行。这时可以使用uniq命令将这些重复行从输出文件中删除,只留下每条记录的唯一样本。

语法:

uniq [选项] 文件

说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如果输入文件用“- ”表示,则从标准输入读取。

该命令各选项含义如下:

- c 显示输出中,在每行行首加上本行在文件中出现的次数。它可取代- u和- d选项。

- d 只显示重复行。

- u 只显示文件中不重复的各行。

- n 前n个字段与每个字段前的空白一起被忽略。一个字段是一个非空格、非制表符的字符串,彼此由制表符和空格隔开(字段从0开始编号)。

+n 前n个字符被忽略,之前的字符被跳过(字符从0开始编号)。

- f n 与- n相同,这里n是字段数。

- s n 与+n相同,这里n是字符数。

例如:

1.显示文件example中不重复的行。

uniquc 统计字节数。

w 统计字数。

这些选项可以组合使用。

输出列的顺序和数目不受选项的顺序和数目的影响。

总是按下述顺序显示并且每项最多一列。

行数、字数、字节数、文件名

如果命令行中没有文件名,则输出中不出现文件名。

例如:

$ wc12就只显示在两个文件中都存在的行;comm123则什么也不显示。 Diff命令

该命令的功能为逐行比较两个文本文件,列出其不同之处。它比comm命令完成更复杂的检查。它对给出的文件进行系统的检查,并显示出两个文件中所有不同的行,不要求事先对文件进行排序。

语法:diff [选项] file1 file2

说明:该命令告诉用户,为了使两个文件file1和file2一致,需要修改它们的哪些行。如果用“- ”表示file1或fiie2,则表示标准输入。如果file1或file2是目录,那么diff将使用该目录中的同名文件进行比较。例如:

diff /usr/xu mine

把目录/usr/xu 中名为mine的文件与当前目录中的mine文件进行比较。

通常输出由下述形式的行组成:

n1 a n3,n4 n1,n2 d n3 n1,n2 c n3,n4 这些行类似ed命令把filel转换成file2。字母(a、d和c)之前的行号(n1,n2)是针对file1的,其后面的行号(n3,n4)是针对file2的。字母a、d和c分别表示附加、删除和修改操作。

在上述形式的每一行的后面跟随受到影响的若干行,以“<”打头的行属于第一个文件,以“>”打头的行属于第二个文件。 diff能区别块和字符设备文件以及FIFO(管道文件),不会把它们与普通文件进行比较。

如果file1和file2都是目录,则diff会产生很多信息。如果一个目录中只有一个文件,则产生一条信息,指出该目录路径名和其中的文件名。

diff各选项的含义如下:

- b 忽略行尾的空格,而字符串中的一个或多个空格符都视为相等。如How are you与How are you被视为相同的字符串。

- c 采用上下文输出格式(提供三行上下文)。

- C n 采用上下文输出格式(提供n行上下文)。s lunch /home/xu

用户为当前目录下的文件lunch创建了一个符号链接/home/xu。

链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。

硬连接指通过索引节点来进行的连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件才会被真正删除。 与硬连接相对应,Lnux系统中还存在另一种连接,称为符号连接(Symbilc Link),也叫软连接。软链接文件有点类似于Windows的快捷方式。它实际上是特殊文件的一种。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

touch f1(创建一个f1的文件) ln f1 f2 创佳一个f2的硬连接 ln -s f1 f3 创建一个f3的软连接

此时如果删除f3,对f1,f2无影响;如果删除f2,对f1,f3也无影响,如果删除f1,那么因为f2也应用f1,所以并不影响f2节点的,touch创建的文件仍然存在;但是此时f3因为是软连接,导致f3失效。如果删除f1,f2 ,那么touch 创佳的文件会被删除。

嵌入式linu学习心得

mathematic命令小结

LINUX基础命令注释

CISCO基础命令总结

华为基础命令总结

基础分部工程小结2

Shell命令文本操作命令小结

华为交换机基础命令总结V1.3

基础小结

linux命令方法2文库

linux基础命令小结2
《linux基础命令小结2.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档