cat和grep指令

cat和grep指令
cat和grep指令

cat命令

功能1: 在标准输出上显示文件。

语法:cat [选项] 文件

说明:该命令功能之一是用来显示文件。它依次读取其后所指文件的内容并将其输出到标准输出。

该命令的各选项含义如下:

-v 用一种特殊形式显示控制字符,LFD与TAB除外。

加了-v 选项后,-T 和-E 选项将起作用。其中:

-T 将TAB显示为“ùI”。该选项需要与-v 选项一起使用。即如果没有使用-v 选项,则这个选项将被忽略。

-E 在每行的末尾显示一个$符。该选项需要与-v 选项一起使用。

-u 输出不经过缓冲区。

-A 等于-vET。

-t 等于-vT。

-e 等于-vE。

-n 在文件的每行前面显示行号。

指令实例:

cat example.txt // 则在屏幕上显示出example.txt 文件的内容

cat -A exam2.txt

// 在屏幕上显示出exam2.txt 文件的内容,而且如果文件中含有特殊字符的话,一并显示

功能2:连接两个或多个文件

说明:该命令功能之二是用来将两个或多个文件连接起来。

cat file1 file2 > file3

// 这样就把文件filel和文件file2的内容合并起来,放入文件file3中。

(此时在屏幕上并不能直接看到该命令执行后的结果。若想看到连接后的文件内容,

可以再使用“cat file3”。)

需要说明的是,当文件内容过多时,就带来一个问题,因为文本在屏幕上迅速地闪过,用户来不及看清其内容。因此,当文件内容较大时,一般可用more等命令分屏显示,以免因屏幕滚动太快而无法看清。

linux grep命令

1.作用

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

2.格式

grep [options]

3.主要参数

[options]主要参数:

-c:只输出匹配行的计数。

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

-h:查询多文件时不显示文件名。

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

-n:显示匹配行及行号。

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

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

pattern正则表达式主要参数:

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

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

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

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

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

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

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

。:所有的单个字符。

* :有字符,长度可以为0。

4.grep命令使用简单实例

$ grep ‘test’ d*

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

$ grep ‘test’ aa bb cc

显示在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′就可以了。

5.grep命令使用复杂实例

假设您正在’/usr/src/Linux/Doc’目录下搜索带字符串’magic’的文件:

$ grep magic /usr/src/Linux/Doc/*

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

如果有很多输出时,您可以通过管道将其转到’less’上阅读:

$ grep magic /usr/src/Linux/Documentation/* | less

这样,您就可以更方便地阅读。

有一点要注意,您必需提供一个文件过滤方式(搜索全部文件的话用*)。如果您忘了,’grep’会一直等着,直到该程序被中断。如果您遇到了这样的情况,按 ,然后再试。

下面还有一些有意思的命令行参数:

grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,

grep -l pattern files :只列出匹配的文件名,

grep -L pattern files :列出不匹配的文件名,

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

grep -C number pattern files :匹配的上下文分别显示[number]行,

grep pattern1 | pattern2 files :显示匹配pattern1 或pattern2 的行,

grep pattern1 files | grep pattern2 :显示既匹配pattern1 又匹配pattern2 的行。

grep -n pattern files 即可显示行号信息

grep -c pattern files 即可查找总行数

这里还有些用于搜索的特殊符号:

\< 和\> 分别标注单词的开始与结尾。

例如:

grep man * 会匹配‘Batman’、’manic’、’man’等,

grep ‘\

grep ‘\’只匹配’man’,而不是’Batman’或’manic’等其他的字符串。

‘^’:指匹配的字符串在行首,

‘$’:指匹配的字符串在行尾,

Unix grep指令

简介

grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符,fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep 和fgrep的功能。

grep常用用法

[root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename

选项与参数:

-a :将binary 文件以text 文件的方式搜寻数据

-c :计算找到'搜寻字符串'的次数

-i :忽略大小写的不同,所以大小写视为相同

-n :顺便输出行号

-v :反向选择,亦即显示出没有'搜寻字符串'内容的那一行!

--color=auto :可以将找到的关键词部分加上颜色的显示喔!

将/etc/passwd,有出现root 的行取出来

# grep root /etc/passwd

root:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/root:/sbin/nologin

# cat /etc/passwd | grep root

root:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/root:/sbin/nologin

将/etc/passwd,有出现root 的行取出来,同时显示这些行在/etc/passwd的行号

# grep -n root /etc/passwd

1:root:x:0:0:root:/root:/bin/bash

30:operator:x:11:0:operator:/root:/sbin/nologin

在关键字的显示方面,grep 可以使用--color=auto 来将关键字部分使用颜色显示。这可是个很不错的功能啊!但是如果每次使用grep 都得要自行加上--color=auto 又显的很麻烦~此时那个好用的alias 就得来处理一下啦!你可以在~/.bashrc 内加上这行:『alias grep='grep --color=auto'』再以『source ~/.bashrc 』来立即生效即可喔!这样每次运行grep 他都会自动帮你加上颜色显示啦

将/etc/passwd,将没有出现root 的行取出来

# grep -v root /etc/passwd

root:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/root:/sbin/nologin

将/etc/passwd,将没有出现root 和nologin的行取出来

# grep -v root /etc/passwd | grep -v nologin

root:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/root:/sbin/nologin

用dmesg 列出核心信息,再以grep 找出内含eth 那行,要将捉到的关键字显色,且加上行

号来表示:

[root@www ~]# dmesg | grep -n --color=auto 'eth'

247:eth0: RealTek RTL8139 at 0xee846000, 00:90:cc:a6:34:84, IRQ 10

248:eth0: Identified 8139 chip type 'RTL-8139C'

294:eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1

305:eth0: no IPv6 routers present

# 你会发现除了eth 会有特殊颜色来表示之外,最前面还有行号喔!

在关键字的显示方面,grep 可以使用--color=auto 来将关键字部分使用颜色显示。这可是

个很不错的功能啊!但是如果每次使用grep 都得要自行加上--color=auto 又显的很麻烦~

此时那个好用的alias 就得来处理一下啦!你可以在~/.bashrc 内加上这行:『alias

grep='grep --color=auto'』再以『source ~/.bashrc 』来立即生效即可喔!这样每次运

行grep 他都会自动帮你加上颜色显示啦

用dmesg 列出核心信息,再以grep 找出内含eth 那行,在关键字所在行的前两行与后三行

也一起捉出来显示

[root@www ~]# dmesg | grep -n -A3 -B2 --color=auto 'eth'

245-PCI: setting IRQ 10 as level-triggered

246-ACPI: PCI Interrupt 0000:00:0e.0[A] -> Link [LNKB] ...

247:eth0: RealTek RTL8139 at 0xee846000, 00:90:cc:a6:34:84, IRQ 10

248:eth0: Identified 8139 chip type 'RTL-8139C'

249-input: PC Speaker as /class/input/input2

250-ACPI: PCI Interrupt 0000:00:01.4[B] -> Link [LNKB] ...

251-hdb: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache, UDMA(66)

# 如上所示,你会发现关键字247所在的前两行及248后三行也都被显示出来!# 这样可以让你将关键字前后数据捉出来进行分析啦!

根据文件内容递归查找目录

# grep‘energywise’ * #在当前目录搜索带'energywise'行的文件

# grep -r ‘energywise’ * #在当前目录及其子目录下搜索'energywise'行的

文件

# grep -l -r ‘energywise’ * #在当前目录及其子目录下搜索'energywise'行的文件,但是不显示匹配的行,只显示匹配的文件

这几个命令很使用,是查找文件的利器。

grep与正规表达式

字符类

字符类的搜索:如果我想要搜寻test 或taste 这两个单字时,可以发现到,其实她们有共通

的't?st' 存在~这个时候,我可以这样来搜寻:

[root@www ~]# grep -n 't[ae]st' regular_express.txt

8:I can't finish the test.

9:Oh! The soup taste good.

其实[] 里面不论有几个字节,他都谨代表某『一个』字节,所以,上面的例子说明了,我需

要的字串是『tast』或『test』两个字串而已!

字符类的反向选择[^] :如果想要搜索到有oo 的行,但不想要oo 前面有g,如下

[root@www ~]# grep -n '[^g]oo' regular_express.txt

2:apple is my favorite food.

3:Football game is not use feet only.

18:google is the best tools for search keyword.

19:goooooogle yes!

第2,3 行没有疑问,因为foo 与Foo 均可被接受!

但是第18 行明明有google 的goo 啊~别忘记了,因为该行后面出现了tool 的too 啊!所以该行也被列出来~也就是说,18 行里面虽然出现了我们所不要的项目(goo) 但是由於有需要的项目(too) ,因此,是符合字串搜寻的喔!

至於第19 行,同样的,因为goooooogle 里面的oo 前面可能是o ,例如:go(ooo)oogle ,所以,这一行也是符合需求的!

字符类的连续:再来,假设我oo 前面不想要有小写字节,所以,我可以这样写[^abcd....z]oo ,但是这样似乎不怎么方便,由於小写字节的ASCII 上编码的顺序是连续的,因此,我们可以

将之简化为底下这样:

[root@www ~]# grep -n '[^a-z]oo' regular_express.txt

3:Football game is not use feet only.

也就是说,当我们在一组集合字节中,如果该字节组是连续的,例如大写英文/小写英文/数字等等,就可以使用[a-z],[A-Z],[0-9]等方式来书写,那么如果我们的要求字串是数字与英文呢?呵呵!就将他全部写在一起,变成:[a-zA-Z0-9]。

我们要取得有数字的那一行,就这样:

[root@www ~]# grep -n '[0-9]' regular_express.txt

5:However, this dress is about $ 3183 dollars.

15:You are the best is mean you are the no. 1.

行首与行尾字节^ $

行首字符:如果我想要让the 只在行首列出呢?这个时候就得要使用定位字节了!我们可以这样做:

[root@www ~]# grep -n '^the' regular_express.txt

12:the symbol '*' is represented as start.

此时,就只剩下第12 行,因为只有第12 行的行首是the 开头啊~此外,如果我想要开头是小写字节的那一行就列出呢?可以这样:

[root@www ~]# grep -n '^[a-z]' regular_express.txt

2:apple is my favorite food.

4:this dress doesn't fit me.

10:motorcycle is cheap than car.

12:the symbol '*' is represented as start.

18:google is the best tools for search keyword.

19:goooooogle yes!

20:go! go! Let's go.

如果我不想要开头是英文字母,则可以是这样:

[root@www ~]# grep -n '^[^a-zA-Z]' regular_express.txt

1:"Open Source" is a good mechanism to develop programs.

21:# I am VBird

^ 符号,在字符类符号(括号[])之内与之外是不同的!在[] 内代表『反向选择』,在[] 之外则代表定位在行首的意义!

那如果我想要找出来,行尾结束为小数点(.) 的那一行:

[root@www ~]# grep -n '\.$' regular_express.txt

1:"Open Source" is a good mechanism to develop programs.

2:apple is my favorite food.

3:Football game is not use feet only.

4:this dress doesn't fit me.

10:motorcycle is cheap than car.

11:This window is clear.

12:the symbol '*' is represented as start.

15:You are the best is mean you are the no. 1.

16:The world is the same with "glad".

17:I like dog.

18:google is the best tools for search keyword.

20:go! go! Let's go.

特别注意到,因为小数点具有其他意义(底下会介绍),所以必须要使用转义字符(\)来加以解除其特殊意义!

找出空白行:

[root@www ~]# grep -n '^$' regular_express.txt

22:

因为只有行首跟行尾(^$),所以,这样就可以找出空白行啦!

任意一个字节 . 与重复字节*

这两个符号在正则表达式的意义如下:

. (小数点):代表『一定有一个任意字节』的意思;

* (星号):代表『重复前一个字符,0到无穷多次』的意思,为组合形态

假设我需要找出g??d 的字串,亦即共有四个字节,起头是g 而结束是d ,我可以这样做:[root@www ~]# grep -n 'g..d' regular_express.txt

1:"Open Source" is a good mechanism to develop programs.

9:Oh! The soup taste good.

16:The world is the same with "glad".

因为强调g 与 d 之间一定要存在两个字节,因此,第13 行的god 与第14 行的gd 就不会被列出来啦!

如果我想要列出有oo, ooo, oooo 等等的数据,也就是说,至少要有两个(含) o 以上,该如何是好?

因为* 代表的是『重复0 个或多个前面的RE 字符』的意义,因此,『o*』代表的是:『拥有空字节或一个o 以上的字节』,因此,『grep -n 'o*' regular_express.txt 』将会把所有的数据都列印出来终端上!

当我们需要『至少两个o 以上的字串』时,就需要ooo* ,亦即是:

[root@www ~]# grep -n 'ooo*' regular_express.txt

1:"Open Source" is a good mechanism to develop programs.

2:apple is my favorite food.

3:Football game is not use feet only.

9:Oh! The soup taste good.

18:google is the best tools for search keyword.

19:goooooogle yes!

如果我想要字串开头与结尾都是g,但是两个g 之间仅能存在至少一个o ,亦即是gog, goog, gooog.... 等等,那该如何?

[root@www ~]# grep -n 'goo*g' regular_express.txt

18:google is the best tools for search keyword.

19:goooooogle yes!

如果我想要找出g 开头与g 结尾的行,当中的字符可有可无

[root@www ~]# grep -n 'g.*g' regular_express.txt

1:"Open Source" is a good mechanism to develop programs.

14:The gd software is a library for drafting programs.

18:google is the best tools for search keyword.

19:goooooogle yes!

20:go! go! Let's go.

因为是代表g 开头与g 结尾,中间任意字节均可接受,所以,第1, 14, 20 行是可接受的喔!这个 .* 的RE 表示任意字符是很常见的.

如果我想要找出『任意数字』的行?因为仅有数字,所以就成为:

[root@www ~]# grep -n '[0-9][0-9]*' regular_express.txt

5:However, this dress is about $ 3183 dollars.

15:You are the best is mean you are the no. 1.

限定连续RE 字符范围{}

我们可以利用 . 与RE 字符及* 来配置0 个到无限多个重复字节,那如果我想要限制一个范围区间内的重复字节数呢?

举例来说,我想要找出两个到五个o 的连续字串,该如何作?这时候就得要使用到限定范围的字符{} 了。但因为{ 与} 的符号在shell 是有特殊意义的,因此,我们必须要使用字

符\ 来让他失去特殊意义才行。至於{} 的语法是这样的,假设我要找到两个o 的字串,可以是:

[root@www ~]# grep -n 'o\{2\}' regular_express.txt

1:"Open Source" is a good mechanism to develop programs.

2:apple is my favorite food.

3:Football game is not use feet only.

9:Oh! The soup taste good.

18:google is the best tools for search ke

19:goooooogle yes!

假设我们要找出g 后面接 2 到 5 个o ,然后再接一个g 的字串,他会是这样:

[root@www ~]# grep -n 'go\{2,5\}g' regular_express.txt

18:google is the best tools for search keyword.

如果我想要的是 2 个o 以上的goooo....g 呢?除了可以是gooo*g ,也可以是:

[root@www ~]# grep -n 'go\{2,\}g' regular_express.txt

18:google is the best tools for search keyword.

19:goooooogle yes!

扩展grep(grep -E 或者egrep):

使用扩展grep的主要好处是增加了额外的正则表达式元字符集。

打印所有包含NW或EA的行。如果不是使用egrep,而是grep,将不会有结果查出。

# egrep'NW|EA' testfile

northwest NW Charles Main 3.0.983

34

eastern EA TB Savage 4.4.845

20

对于标准grep,如果在扩展元字符前面加\,grep会自动启用扩展选项-E。

#grep'NW\|EA' testfile

northwest NW Charles Main 3.0.98334 eastern EA TB Savage 4.4.84520搜索所有包含一个或多个3的行。

# egrep'3+' testfile

# grep -E '3+' testfile

# grep'3\+' testfile

#这3条命令将会

northwest NW Charles Main 3.0.983

34

western WE Sharon Gray 5.3.975

23

northeast NE AM Main Jr. 5.1.943

13

central CT Ann Stephens 5.7.94513

搜索所有包含0个或1个小数点字符的行。

# egrep'2\.?[0-9]' testfile

# grep -E '2\.?[0-9]' testfile

# grep'2\.\?[0-9]' testfile

#首先含有2字符,其后紧跟着0个或1个点,后面再是0和9之间的数字。western WE Sharon Gray 5.3.975

23

southwest SW Lewis Dalsass 2.7.82

18

eastern EA TB Savage 4.4.845

20

搜索一个或者多个连续的no的行。

# egrep'(no)+' testfile

# grep -E '(no)+' testfile

# grep'\(no\)\+' testfile #3个命令返回相同结果,

northwest NW Charles Main 3.0.98334

northeast NE AM Main Jr. 5.1.94313 north NO Margot Weber 4.5.8959

不使用正则表达式

fgrep 查询速度比grep命令快,但是不够灵活:它只能找固定的文本,而不是规则表达式。

如果你想在一个文件或者输出中找到包含星号字符的行

fgrep '*' /etc/profile

for i in /etc/profile.d/*.sh ; do

grep -F '*' /etc/profile

for i in /etc/profile.d/*.sh ; do

当我被上帝造出来时,上帝问我想在人间当一个怎样的人,我不假思索的说,我要做一个伟大的世人皆知的人。于是,我降临在了人间。

我出生在一个官僚知识分子之家,父亲在朝中做官,精读诗书,母亲知书答礼,温柔体贴,父母给我去了一个好听的名字:李清照。

小时侯,受父母影响的我饱读诗书,聪明伶俐,在朝中享有“神童”的称号。小时候的我天真活泼,才思敏捷,小河畔,花丛边撒满了我的诗我的笑,无可置疑,小时侯的我快乐无虑。

“兴尽晚回舟,误入藕花深处。争渡,争渡,惊起一滩鸥鹭。”青春的我如同一只小鸟,自由自在,没有约束,少女纯净的心灵常在朝阳小,流水也被自然洗礼,纤细的手指拈一束花,轻抛入水,随波荡漾,发髻上沾着晶莹的露水,双脚任水流轻抚。身影轻飘而过,留下一阵清风。

可是晚年的我却生活在一片黑暗之中,家庭的衰败,社会的改变,消磨着我那柔弱的心。我几乎对生活绝望,每天在痛苦中消磨时光,一切都好象是灰暗的。“寻寻觅觅冷冷清清凄凄惨惨戚戚”这千古叠词句就是我当时心情的写照。

最后,香消玉殒,我在痛苦和哀怨中凄凉的死去。

在天堂里,我又见到了上帝。上帝问我过的怎么样,我摇摇头又点点头,我的一生有欢乐也有坎坷,有笑声也有泪水,有鼎盛也有衰落。我始终无法客观的评价我的一生。我原以为做一个着名的人,一生应该是被欢乐荣誉所包围,可我发现我错了。于是在下一轮回中,我选择做一个平凡的人。

我来到人间,我是一个平凡的人,我既不着名也不出众,但我拥有一切的幸福:我有温馨的家,我有可亲可爱的同学和老师,我每天平凡而快乐的活着,这就够了。

天儿蓝蓝风儿轻轻,暖和的春风带着春的气息吹进明亮的教室,我坐在教室的窗前,望着我拥有的一切,我甜甜的笑了。我拿起手中的笔,不禁想起曾经作诗的李清照,我虽然没有横溢的才华,但我还是拿起手中的笔,用最朴实的语言,写下了一时的感受:

人生并不总是完美的,每个人都会有不如意的地方。这就需要我们静下心来阅读自己的人生,体会其中无尽的快乐和与众不同。

“富不读书富不久,穷不读书终究穷。”为什么从古到今都那么看重有学识之人?那是因为有学识之人可以为社会做出更大的贡献。那时因为读书能给人带来快乐。

自从看了《丑小鸭》这篇童话之后,我变了,变得开朗起来,变得乐意同别人交往,变得自信了……因为我知道:即使现在我是只“丑小鸭”,但只要有自信,总有一天我会变成“白天鹅”的,而且会是一只世界上最美丽的“白天鹅”……

我读完了这篇美丽的童话故事,深深被丑小鸭的自信和乐观所折服,并把故事讲给了外婆听,外婆也对童话带给我们的深刻道理而惊讶不已。还吵着闹着多看几本名着。于是我给外婆又买了几本名着故事,她起先自己读,读到不认识的字我就告诉她,如果这一面生字较多,我就读给她听整个一面。渐渐的,自己的语文阅读能力也提高了不少,与此同时我也发现一个人读书的乐趣远不及两个人读的乐趣大,而两个人读书的乐趣远不及全家一起读的乐趣大。于是,我便发展“业务”带动全家一起读书……现在,每每遇到好书大家也不分男女老少都一拥而上,争先恐后“抢书”,当我说起我最小应该让我的时候,却没有人搭理我。最后还把书给撕坏了,我生气地哭了,妈妈一边安慰我一边对外婆说:“孩子小,应该让着点。”外婆却不服气的说:“我这一把年纪的了,怎么没人让我呀?”大家人你一言我一语,谁也不肯相让……读书让我明白了善恶美丑、悲欢离合,读一本好书,犹如同智者谈心、谈理想,教你辨别善恶,教你弘扬正义。读一本好书,如品一杯香茶,余香缭绕。读一本好书,能使人心灵得到净化。书是我的老师,把知识传递给了我;书是我的伙伴,跟我诉说心里话;书是一把钥匙,给我敞开了知识的大门;书更是一艘不会沉的船,引领我航行在人生的长河中。其实读书

的真真乐趣也就在于此处,不是一个人闷头苦读书;也不是读到好处不与他人分享,独自品位;更不是一个人如痴如醉地沉浸在书的海洋中不能自拔。而是懂得与朋友,家人一起分享其中的乐趣。这才是读书真正之乐趣呢!这所有的一切,不正是我从书中受到的教益吗?

我阅读,故我美丽;我思考,故我存在。我从内心深处真切地感到:我从读书中受到了教益。当看见有些同学宁可买玩具亦不肯买书时,我便想到培根所说的话:“世界上最庸俗的人是不读书的人,最吝啬的人是不买书的人,最可怜的人是与书无缘的人。”许许多多的作家、伟人都十分喜欢看书,例如毛泽东主席,他半边床上都是书,一读起书来便进入忘我的境界。

书是我生活中的好朋友,是我人生道路上的航标,读书,读好书,是我无怨无悔的追求。

Linux常用命令

查询相关 find 按规则查找某个文件或文件夹,包括子目录 ?find . -name '*.sh' -- 以.sh结尾的文件 ?find . -name '*channel*' -- 包含channel字符的文件 ?find . -name 'build*' -- 以build开头的文件 ?find . -name 'abc??' -- abc后面有两个字符的文件 grep 查找内容包含指定的范本样式的文件,Global Regular Expression Print ?grep -n pattern files -- 规则-n表示显示行号 ?grep -n 'PostsActivity' AndroidManifest.xml ?grep -n '\d' AndroidManifest.xml ?grep 'aapt' build-channel.xml -- 文件中包含字符串的所有地方 ?grep -n 'aapt' build-channel.xml -- 文件中包含字符串的所有地方,并显示行号 ?ps -e | grep java -- 所有java进程 ?ps -e | grep -i qq --所有qq进程,不区分大小写 ?find . -name '*channel.xml' | xargs grep -n 'aapt' -- 在以channel.xml 结尾的文件中查找包含‘aapt’关键字的地方 ?ls | grep 'channel' -- 包含channel关键字的文件 which 在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果?which zip ?which grep 查看命令 tail tail [-f] [-c Number | -n Number | -m Number | -b Number | -k Number] [File] 从指定点开始将文件写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。 ?tail -f test.log,循环查看文件内容,Ctrl+c来终止 ?tail -n 5 test.log,显示文件最后5行内容

linux方面练习题

企业网络搭建linux方面练习题 一.填空题(共20分,每空1分) 1.系统网络管理员的职责是管理系统资源、设备、系统性能、安全等。管理的对象是服务器、-----------、--------------以及系统的各种资源。(用户;服务器的进程) 2.网络管理通常由监测、传输和管理三部分组成,其中管理部分是整个网络管理的中心。通常由------------------或--------------------------来操纵或提供各种管理信息。(一个管理应用程序;控制台) 3.当想删除本系统用不上的---------------时必须编译内核,当内核不支持系统上的----------------时,必须对内核----------------。(设备驱动程序;设备驱动程序;升级)4.ping命令可以测试网络中本机系统是否能到达---------------,所以常常用于测试网络的-----------------。(一台远程主机;连通性) 5.vi编辑器具有两种工作模式,------------和--------------。(命令模式;输入模式) 6.我们可以用ls –al命令来观察文件的权限,每个文件的权限都用10位表示,并分为四段,其中第一段占-----位,表示--------------,第二段占3位,表示-------------对该文件的权限。(1;文件类型;文件所有者) 7.进程与程序的区别在于起动态性,动态的产生和终止,从产生到终止进程可以具有的基本状态为:------------、-------------和-------------------。(运行态;就绪态;等待态或阻塞态)8.dns(域名系统)实际上是分布在internet上的主机信息的数据库,其作用是实现----------------和------------------之间的转换。(ip地址;主机名) 9.Apache是实现www服务器功能的应用程序,我们通常所说的“浏览web服务器”在----------------为用户提供浏览---------------的就是apache应用程序。(服务器端;web服务)10.在LINUX系统上做备份可以有两种类型:-------------和--------------。其中前者是指对---------------------------的备份,后者是指对----------------------的备份。(系统备份;用户备份;操作系统、应用程序;用户文件) 二.判断题(共10分,每题1分) 1.进行linux安装,必须由光盘启动并且直接由光盘安装。(错) 2.在进行网络配置时,netstat命令用于测试网络中主机之间是否连通。(错) 3.在linux文件系统中每个文件都是由i节点来表示的。(对) 4.在shell脚本文件中可以进行命令替换,被替换的命令需要用单引号括起来。(错)5.dns是专为基于tcp/ip的网络提供主机名到ip地址翻译的专用域名解析系统。(对)6.web服务器(www服务器)采用c/s结构,即client/server(客户端/服务器)结构。(错)7.邮件系统由三部分组成:用户代理(ua)、传输代理(ta)和投递代理(da)。其中传输代理功能是将邮件放入用户的邮箱。(错) 8.saMBA服务器是internet应用服务器之一,他可以使用户在异构网络操作系统之间进行文件共享。操作过程为:在linux端启动进程smbd和nmbd;在客户端修改windows95/98的注册表。(对) 9.在linux系统上做备份时,有两种备份形式:系统备份和用户备份。其中用户备份的目的是尽量在系统崩溃后能快速、简单、完全地恢复系统的运行。(错) 10.当需要中断一个进程时,可以使用键。(错) 三.选择题(共20分,每题1分) 1.网络管理是对网络设备及应用加以规划、监控和管理,并进行跟踪、记录、分析网络的异常情况,使网络管理人员能及时处理问题。网络管理具备以下几大功能:配置管理、------、性能管理、安全管理和计费管理等。 a)故障管理b)日常备份管理c)升级管理d)发送邮件

Shell和Linux常用命令

Shell和Linux常用命令 一、字符界面简介 1、进入字符工作方式的方法 1)、在图形环境下开启终端窗口进入字符工作方式; 2)、在系统启动后直接进入字符工作方式; 3)、使用远程登录方式(Telnet或SSH)进入字符工作方式。 2、虚拟控制台 3、关机与重启 1)、关机 #init 0 或 halt 或 shutdown –h now 2)、重启 #init 6 或 reboot 或 shutdown -r now 3)、命令init用于立即关机或重启,但是在多用户系统中,若想给用户发送警告信息以便各个用户完成自己的工作并注销登录,则必须使用shutdown命令。例如, #shutdown –h +5\ “System will be down in 5 minites,Please save your work.” 该命令警告所有用户将在5分钟后关闭系统。警告信息将显示在所有已登录的终端上。用-r参数替换-h参数用于重启。 4、Shell 1)、Shell介绍:Shell就是用户与操作系统内核之间的接口,起着协调用户与系统的一致性和在用户与系统之间进行交互的作用。Shell在Linux 系统中具有极其重要的地位。Shell最重要的功能是命令解释,从这种意义上说,Shell是一个命令解释器。Linux系统中所有可执行文件都可以

作为Shell命令来执行。Red Hat Linux默认的Shell是bash。 2)、Linux系统中可执行文件的分类 5、命令格式、通配符和文件 1)、命令格式 cmd [-option] [arguments] 2)、在Linux环境下,只要是可执行的文件并具有可执行属性它就能执行,不管其文件名后缀是什么。 3)、常用设备文件说明 4)、常用通配符 * 匹配任何字符和任何数目的字符例如,ls *.c ? 匹配任何单字符例如,ls test?.c […] 匹配任何包含在括号里的单字符例如,ls [abc]t.c 6、获取帮助 man command_name info command_name 二、文件目录操作命令 1、常用的文件目录操作命令

常用命令

文件和目录 cd /home 进入'/ home' 目录' cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd 进入个人的主目录 cd ~user1 进入个人的主目录 cd - 返回上次所在的目录 pwd 显示工作路径 ls 查看目录中的文件 ls -F 查看目录中的文件 ls -l 显示文件和目录的详细资料 ls -a 显示隐藏文件 ls *[0-9]* 显示包含数字的文件名和目录名 tree 显示文件和目录由根目录开始的树形结构(1) lstree 显示文件和目录由根目录开始的树形结构(2) mkdir dir1 创建一个叫做'dir1' 的目录' mkdir dir1 dir2 同时创建两个目录 mkdir -p /tmp/dir1/dir2 创建一个目录树 rm -f file1 删除一个叫做'file1' 的文件' rmdir dir1 删除一个叫做'dir1' 的目录' rm -rf dir1 删除一个叫做'dir1' 的目录并同时删除其内容rm -rf dir1 dir2 同时删除两个目录及它们的内容

mv dir1 new_dir 重命名/移动一个目录 cp file1 file2 复制一个文件 cp dir/* . 复制一个目录下的所有文件到当前工作目录 cp -a /tmp/dir1 . 复制一个目录到当前工作目录 cp -a dir1 dir2 复制一个目录 ln -s file1 lnk1 创建一个指向文件或目录的软链接 ln file1 lnk1 创建一个指向文件或目录的物理链接 touch -t 0712250000 file1 修改一个文件或目录的时间戳- (YYMMDDhhmm) file file1 outputs the mime type of the file as text iconv -l 列出已知的编码 iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding. find . -maxdepth 1 -name *.jpg -print -exec convert "{}" -resize 80x60 "thumbs/{}" \; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick) 文件搜索

linux命令详解:pgrep命令

linux命令详解:pgrep 前言 经常要查看进程的信息,包括进程的是否已经消亡,通过pgrep来获得正在被调度的进程的相关信息。pgrep通过匹配其程序名,找到匹配的进程 重要选项 -l 同时显示进程名和PID -o 当匹配多个进程时,显示进程号最小的那个 -n 当匹配多个进程时,显示进程号最大的那个 注:进程号越大,并不一定意味着进程的启动时间越晚 使用说明 查看指定名称的进程信息 默认只显示PID 1: [root@master ~]# pgrep ssh 2: 3686 3: 7907 4: 8815 5: 12874 同时显示PID和ProcessName : –l 1: [root@master ~]# pgrep -l sshd 2: 3686 sshd 3: 7907 sshd 4: 8815 sshd 5: 12874 sshd -o 当匹配多个进程时,显示进程号最小的那个 1: [root@master ~]# pgrep -l sshd 2: 3686 sshd 3: 7907 sshd 4: 8815 sshd 5: 12874 sshd 6: [root@master ~]# pgrep -l -o sshd 7: 3686 sshd -n 当匹配多个进程时,显示进程号最大的那个 1: [root@master ~]# pgrep -l -n sshd 2: 12874 sshd 特别说明 1)pgrep相当于ps –eo pid,cmd | awk ‘{print $1,$2}’ | grep KeyWord 1: [root@master ~]# ps -eo pid,cmd | awk '{print $1,$2}' | grep init 2: 1 init 3: [root@master ~]# pgrep init 4: 1

Linux常用命令训练习题1

Linux常用命令训练 一、文件操作命令 1.查看当前目录下的包含隐藏文件在内的所有文件,但不包括备份文件。 ls -a 2.按修改时间查看当前目录下的后缀为“.c”的文件,采用长格式显示。 ls -t -l *.c 3.用file命令查看当前目录下所有文件 file * 4.用file命令查看当前目录下所有以“.c”为后缀的文件信息 file *.c 二、文件拷贝命令 1.将/usr/games目录下的所有内容拷贝到/vivi/bbb目录下 cp -r /usr/games /vivi/bbb 2.将用户目录下的文件“a.c”拷贝到该目录的子目录“program”下。

cp a.c program 三、文件移动命令 1.将用户目录下的文件“1.c”移动到该目录的子目录“aaa”下,并覆盖该目录下的 2.c文件。 mv -i 1.c aaa/2.c 四、文件链接命令 1.在目录“~/program”下建立“~/a.c”的符号链接文件“b.c” ln - s ~/a.c ~/program/b.c 五、文件删除命令 1.强制删除目录“~/program”下的所有后缀为”.c”的文件 rm -f ~/program /*.c 六、修改文件属性 1.修改文件“~/program/a.sh”权限为文件所有者可读、可写、可执行,其他所有者 可读、可执行,但不可写 chmod 705 ~/program/a.sh

2.修改文件用户目录下,aaa/目录里的2.c文件修改时间为2011年1月1日20点 30分。 touch -m “20:30:00 2011-1-1” aaa/2.c 七、文件搜索名 1.编辑一段文字,显示文件中包含“linux”的行,并打印输出 grep -n linux aa 2.在用户目录下新建三个文件,分别为ab1.c 、ab2.c、 ab 3.c,分别设置修改时间 为5天前的某天,然后查看用户目录中包含ab字符串的5天前修改过的文件,并将他们删除,删除钱需要得到用户的确认,但是删除过程中不需要任何提示。 touch ab1.c ab2.c ab3.c touch -r “11:11:11 2013-2-3” ab1.c touch -r “11:11:11 2013-2-3” ab2.c touch -r “11:11:11 2013-2-3” ab2.c 八、创建目录 1.创建一个权限为所有者有读、写、执行权限,其他用户均为可读权限的目录,名为 ddd mkdir -m 705 ddd

grep命令详解

grep用法详解:grep与正则表达式 首先要记住的是: 正则表达式与通配符不一样,它们表示的含义并不相同! 正则表达式只是一种表示法,只要工具支持这种表示法,那么该工具就可以处理正则表达式的字符串。vim、grep、awk 、sed 都支持正则表达式,也正是因为由于它们支持正则,才显得它们强大;在以前上班的公司里,由于公司是基于web的服务型网站(nginx),对正则的需求比较大,所以也花了点时间研究正则,特与大家分享下: 1基础正则表达式 grep 工具,以前介绍过。 grep -[acinv] '搜索内容串' filename -a 以文本文件方式搜索 -c 计算找到的符合行的次数 -i 忽略大小写 -n 顺便输出行号 -v 反向选择,即找没有搜索字符串的行 其中搜索串可以是正则表达式! 1 搜索有the的行,并输出行号 $grep -n 'the' regular_express.txt 搜索没有the的行,并输出行号 $grep -nv 'the' regular_express.txt 2 利用[]搜索集合字符

[] 表示其中的某一个字符,例如[ade] 表示a或d或e woody@xiaoc:~/tmp$ grep -n 't[ae]st' regular_express.txt 8:I can't finish the test. 9:Oh! the soup tast e good! 可以用^符号做[]内的前缀,表示除[]内的字符之外的字符。 比如搜索oo前没有g的字符串所在的行. 使用'[^g]oo' 作搜索字符串woody@xiaoc:~/tmp$ grep -n '[^g]oo' regular_express.txt 2:apple is my favorite foo d. 3:Foo tball game is not use feet only. 18:google is the best too ls for search keyword. 19:go ooo oogle yes! [] 内可以用范围表示,比如[a-z] 表示小写字母,[0-9] 表示0~9的数字, [A-Z] 则是大写字母们。[a-zA-Z0-9]表示所有数字与英文字符。当然也可以配合^来排除字符。 搜索包含数字的行 woody@xiaoc:~/tmp$ grep -n '[0-9]' regular_express.txt 5:However ,this dress is about $ 3183 dollars. 15:You are the best is menu you are the no.1. 行首与行尾字符^ $. ^ 表示行的开头,$表示行的结尾( 不是字符,是位置)那么‘^$’ 就表示空行,因为只有 行首和行尾。 这里^与[]里面使用的^意义不同。它表示^后面的串是在行的开头。 比如搜索the在开头的行 woody@xiaoc:~/tmp$ grep -n '^the' regular_express.txt 12:the symbol '*' is represented as star. 搜索以小写字母开头的行 woody@xiaoc:~/tmp$ grep -n '^[a-z]' regular_express.txt

Shell命令

Shell Shell 就是用户与操作系统内核之间的接口,起着协调用户与系统的一致性和在用户与系统之间进行交互的作用。 4.1.1 Shell 的基本概念 1. 什么是S hell Shell 就是用户与操作系统内核之间的接口,起着协调用户与系统的一致性和在用户与系统之间进行交互的作用。Shell 在L inux 系统中具有极其重要的地位,如图4-1 所示

第 4 章 Shell 与 V i 编辑器 - 71 - diff grep vi multitasking sh gcc device hardware interface kernn e l TCP/IP stack bash utilii t es 图 4-1 Linux 系统结构组成 2. Shell 的功能 Shell 最重要的功能是命令解释,从这种意义上来说,Shell 是一个命令解释器。Linux 系统中的所有可执行文件都可以作为 Shell 命令来执行。将可执行文件作一个分类,如表 4-1 所示。 表 4-1 可执行文件的分类 部的解释器将其解释为系统功能调用并转交给内核执行;若是外部命令或实用程序就试图 在硬盘中查找该命令并将其调入内存,再将其解释为系统功能调用并转交给内核执行。在 查找该命令时分为两种情况: 用户给出了命令路径,Shell 就沿着用户给出的路径查找,若找到则调入内存,若没有 则输出提示信息; 用户没有给出命令的路径,Shell 就在环境变量 PATH 所制定的路径中依次进行查找, 若找到则调入内存,若没找到则输出提示信息。 图 4-2 描述了 S hell 是如何完成命令解释的。

cat和grep指令

cat命令 功能1: 在标准输出上显示文件。 语法:cat [选项] 文件 说明:该命令功能之一是用来显示文件。它依次读取其后所指文件的内容并将其输出到标准输出。 该命令的各选项含义如下: -v 用一种特殊形式显示控制字符,LFD与TAB除外。 加了-v 选项后,-T 和-E 选项将起作用。其中: -T 将TAB显示为“ùI”。该选项需要与-v 选项一起使用。即如果没有使用-v 选项,则这个选项将被忽略。 -E 在每行的末尾显示一个$符。该选项需要与-v 选项一起使用。 -u 输出不经过缓冲区。 -A 等于-vET。 -t 等于-vT。 -e 等于-vE。 -n 在文件的每行前面显示行号。 指令实例: cat example.txt // 则在屏幕上显示出example.txt 文件的内容 cat -A exam2.txt // 在屏幕上显示出exam2.txt 文件的内容,而且如果文件中含有特殊字符的话,一并显示 功能2:连接两个或多个文件 说明:该命令功能之二是用来将两个或多个文件连接起来。 cat file1 file2 > file3 // 这样就把文件filel和文件file2的内容合并起来,放入文件file3中。 (此时在屏幕上并不能直接看到该命令执行后的结果。若想看到连接后的文件内容, 可以再使用“cat file3”。) 需要说明的是,当文件内容过多时,就带来一个问题,因为文本在屏幕上迅速地闪过,用户来不及看清其内容。因此,当文件内容较大时,一般可用more等命令分屏显示,以免因屏幕滚动太快而无法看清。 linux grep命令

1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 2.格式 grep [options] 3.主要参数 [options]主要参数: -c:只输出匹配行的计数。 -I:不区分大小写(只适用于单字符)。 -h:查询多文件时不显示文件名。 -l:查询多文件时只输出包含匹配字符的文件名。 -n:显示匹配行及行号。 -s:不显示不存在或无匹配文本的错误信息。 -v:显示不包含匹配文本的所有行。 pattern正则表达式主要参数: \:忽略正则表达式中特殊字符的原有含义。 ^:匹配正则表达式的开始行。 $: 匹配正则表达式的结束行。 \<:从匹配正则表达式的行开始。 \>:到匹配正则表达式的行结束。 [ ]:单个字符,如[A]即A符合要求。 [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求。 。:所有的单个字符。 * :有字符,长度可以为0。 4.grep命令使用简单实例 $ grep ‘test’ d* 显示所有以d开头的文件中包含test的行。 $ grep ‘test’ aa bb cc 显示在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′就可以了。 5.grep命令使用复杂实例 假设您正在’/usr/src/Linux/Doc’目录下搜索带字符串’magic’的文件: $ grep magic /usr/src/Linux/Doc/* 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’会以如下形式列出:

Linux进程管理命令详解16页word文档

Linux进程管理命令详解 Linux进程管理命令详解2010-10-08 14:124.3 Linux进程管理命令详解(1) Linux管理进程的最好方法就是使用命令行下的系统命令。Linux 下面的进程涉及的命令有 at,bg,fg,kill,crontab,jobs,ps,pstree,top,nice,renice,sleep,nohu p。 1.at命令:定时运行命令 作用:at命令在指定时刻执行指定的命令序列。 格式: at[-V][-q x][-f file][-m]time atq[-V][-q x] atrm[-V][-q x]job… batch[-V][-f file][-m] 主要选项如下。 -V:显示作业将被执行的时间。 -q:选用q参数则可选队列名称,队列名称可以是a~z和A~Z之间的任意字母。队列字母顺序越高则队列优先级别越低。 -f:从文件中读取命令或shell脚本,而非在提示后指定它们。 -m:执行完作业后发送电子邮件到用户。 time:设定作业执行的时间。time参数可以是下面格式中的任何一种。 HH:MM格式--如04:00,代表4:00AM。如果时间已过,就会在第二天的这一时间执行。 midnight代表12:00AM。noon代表12:00PM。teatime代表4:00PM。 英文月名日期年份格式--如January 15 2005,代表2005年1月15日。年份可无。 MMDDYY、MM/DD/YY或MM.DD.YY格式--如011505,代表2005年1月15日。

now+时间格式--时间以minutes、hours、days或weeks为单位。如now+5 days,代表命令应该在5天之后的此时此刻执行。偏移量的格式为时间+偏移量,单位是minutes、hours和days。 说明:at命令实际上是一组命令集合。at命令在指定时刻执行指定的命令序列。atq查询已经设定的命令序列。atrm删除已经设定的命令序列。batch当系统负载低于一个设定值(0.8),执行设定的命令序列。 应用实例如下。 (1)让系统在两天后的17:30执行文件data中指定的作业,使用命令: #at-f data 15:30+2 days (2)配置batch作业 要在系统平均载量降到0.8以下时执行某项一次性的任务,使用batch命令。键入batch命令后,"at"提示就会出现。键入要执行的命令,按"Enter"键,然后键入"Ctrl-D"。你可以指定多条命令,方法是键入每一条命令后按"Enter"键。键入所有命令后,按"Enter"键转入一个空行,然后再键入"Ctrl-D"。或者你也可以在提示后输入shell脚本,在脚本的每一行后按"Enter"键,然后在空行处键入"Ctrl-D"来退出。系统平均载量一降到0.8以下,这组命令或脚本就会被执行。如果这组命令或脚本试图在标准输出中显示信息,该输出会用电子邮件方式被邮寄给用户。 (3)进阶应用:控制对at和batch的使用 通过/etc/at.allow和/etc/at.deny文件可以用来限制对at和batch命令的使用。这两个使用控制文件的格式都是每行一个用户。两个文件都不允许使用空白字符。如果控制文件被修改了,at守护进程不必被重启。每次用户试图执行at或batch命令时,使用控制文件都会被读取。不论控制文件如何规定,超级权限用户总是可以执行at和batch 命令。如果at.allow文件存在,只有其中列出的用户才能使用at或batch命令,at.deny文件会被忽略。如果at.allow文件不存在,所有在at.deny文件中列出的用户都被禁止使用at和batch命令。 2.bg命令后台运行命令

linux常用命令课题综合练习答案

Linux常用命令综合实验测试题 班级:学号: 姓名:成绩: 一、请说明下列命令的含义及执行该命令后的结果(每题3分,共 60分) 1.$ls -l convert.txt:以长文件形式列出convert.txt的详细信息; 2.$more convert.txt:查看convert.txt文件的内容,若内容超过一 屏则分屏显示;(man ls > a.txt;cat a.txt;more a.txt) 3.$pwd:查看当前目录位置; 4.$cat file1 file2 file3:连续显示file1, file2, file3三个文件的内容; 5.$cp file1 /home/ks:将文件file1拷贝到/home/ks; 6.$rm temp:删除文件temp; 7.$mkdir -p /home/ks/h/e:一次性递归地创建两个目录/h/e,位于 目录/home/ks下;(在/home/xxxy下mkdir –p h/e的结果?) 8.$gzip a.txt b.txt:给a.txt和b.txt文档进行压缩,分别生成a.txt.gz 和b.txt.gz 9.$tar -cvf /home/ks/a/ab.tar a.c b.c:将文件a.c b.c打包成文件 ab.tar,放在目录/home/ks/a下 tar –cvf a.tar a.c 打包;tar –xvf a.tar解包; tar –czf e.tar.gz e.c 打压缩包;tar –xzf e.tar.gz 解压缩包 10.$chmod a+rw file1.c:给用户增加对文件file1.c的读和写权限

linux中目录.文件命令详解

linux中ls命令详解 linux中ls命令详解 ls 命令可以说是linux下最常用的命令之一。 -a 列出目录下的所有文件,包括以 . 开头的隐含文件。 -b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。-c 输出文件的 i 节点的修改时间,并以此排序。 -d 将目录象文件一样显示,而不是显示其下的文件。 -e 输出时间的全部信息,而不是输出简略信息。 -f -U 对输出的文件不排序。 -g 无用。 -i 输出文件的 i 节点的索引信息。 -k 以 k 字节的形式表示文件的大小。 -l 列出文件的详细信息。 -m 横向输出文件名,并以“,”作分格符。 -n 用数字的 UID,GID 代替名称。 -o 显示文件的除组信息外的详细信息。 -p -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通 文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套 接字(sockets)。 -q 用?代替不可输出的字符。 -r 对目录反向排序。 -s 在每个文件名后输出该文件的大小。 -t 以时间排序。 -u 以文件上次被访问的时间排序。 -x 按列输出,横向排序。 -A 显示除“.”和“..”外的所有文件。 -B 不输出以“~”结尾的备份文件。

-C 按列输出,纵向排序。 -G 输出文件的组的信息。 -L 列出链接文件名而不是链接到的文件。 -N 不限制文件长度。 -Q 把输出的文件名用双引号括起来。 -R 列出所有子目录下的文件。 -S 以文件大小排序。 -X 以文件的扩展名(最后一个 . 后的字符)排序。 -1 一行只输出一个文件。 --color=no 不显示彩色文件名 --help 在标准输出上显示帮助信息。 --version 在标准输出上输出版本信息并退出。 只列出子目录 1. ls -F | grep /$ 或者 alias sub = "ls -F | grep /$"(linux) 2. ls -l | grep "^d" 或者 ls -lL | grep "^d" (Solaris) 计算当前目录下的文件数和目录数 下面命令可以分别计算当前目录下的文件和目录个数: # ls -l * |grep "^-"|wc -l ---- to count files # ls -l * |grep "^d"|wc -l ----- to count dir 显示彩色目录列表 打开/etc/bashrc, 加入如下一行: alias ls="ls --color" 下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了, 其中颜色的含义如下: 1. 蓝色-->目录 2. 绿色-->可执行文件 3. 红色-->压缩文件

Linux grep命令的使用用法

Linux Grep用法 QUOTE: 原帖由"网中人" 发表: 比方以grep 来说, 在Linux 上你可找到grep, egrep, fgrep 这几个程序, 其差异大致如下: * grep: 传统的grep 程序, 在没有参数的情况下, 只输出符合RE 字符串之句子. 常见参数如下: -v: 逆反模示, 只输出"不含" RE 字符串之句子. -r: 递归模式, 可同时处理所有层级子目录里的文件. -q: 静默模式, 不输出任何结果(stderr 除外. 常用以获取return value, 符合为true, 否则为false .) -i: 忽略大小写. -w: 整词比对, 类似\ . -n: 同时输出行号. -c: 只输出符合比对的行数. -l: 只输出符合比对的文件名称. -o: 只输出符合RE 的字符串. (gnu 新版独有, 不见得所有版本都支持.) -E: 切换为egrep . * egrep: 为grep 的扩充版本, 改良了许多传统grep 不能或不便的操作. 比方说: - grep 之下不支持? 与+ 这两种modifier, 但egrep 则可. - grep 不支持a|b 或(abc|xyz) 这类"或一"比对, 但egrep 则可. - grep 在处理{n,m} 时, 需用\{ 与\} 处理, 但egrep 则不需. 诸如此类的... 我个人会建议能用egrep 就不用grep 啦... ^_^ * fgrep: 不作RE 处理, 表达式仅作一般字符串处理, 所有meta 均失去功能. g r e p一般格式为: ][ - ] CODE: grep [选项]基本正则表达式[文件] 这里基本正则表达式可为字符串。 单引号双引号 在g r e p命令中输入字符串参数时,最好将其用双引号括起来。 在调用模式匹配时,应使用单引号。 例如:“m y s t r i n g”。这样做有两个原因,一是以防被误解为s h e l l命令,二是可以用来查找多个单词组成的字符串。在调用变量时,也应该使用双引号,诸如:g r e p“$ M Y VA R”文件名,如果不这样,将没有返回结果。 常用的g r e p选项有: QUOTE: -c 只输出匹配行的计数。 -i 不区分大小写(只适用于单字符)。 -h 查询多文件时不显示文件名。

Grep命令详解

Grep命令详解 grep [ -E | -F ] [ -i ] [ -h ] [ -s ] [ -v ] [ -w ] [ -x ] [ -y ] [ [ [ -b ] [ -n ] ] | [ -c | -l | -q ] ] [ -p [ Separator ] ] { [ -e PatternList ... ] [ -f PatternFile ... ] | PatternList ... } [ 文件... ] 描述 grep 命令用于搜索由Pattern参数指定的模式,并将每个匹配的行写入标准输出中。这些模式是具有限定的正则表达式,它们使用ed或egrep命令样式。grep命令使用压缩的不确定算法。 如果在File参数中指定了多个名称,grep命令将显示包含匹配行的文件的名称。对shell 有特殊含义的字符($, *, [, |, ^, (, ), \ ) 出现在Pattern 参数中时必须带双引号。如果Pattern参数不是简单字符串,通常必须用单引号将整个模式括起来。在诸如[a-z], 之类的表达式中,-(减号)cml 可根据当前正在整理的序列来指定一个范围。整理序列可以定义等价的类以供在字符范围中使用。如果未指定任何文件,grep 会假定为标准输入。 注意: 1.行被限制为2048个字节。 2.段落(使用-p标志时)长度当前被限制为5000个字符。 3.请不要对特殊文件运行grep命令,这样做可能产生不可预计的结果。 4.输入行不应包含空字符。 5.输入文件应该以换行符作为结束。 6.正则表达式不会对换行符进行匹配。 7.虽然一些标志可以同时被指定,但其中的某些标志会覆盖其它标志。例如,-l选项将优先于所有其它标志。另外,如果您同时指定了-E 和-F标志,则后指定的那个会有优先权。 标志 -b 在每行之前添加找到该行时所在的块编号。使用这个标志有助于通过上下文来找到磁盘块号码。-b标志不能用于来自标准输入和管道的输入。 -c 仅显示匹配行的计数。

zip压缩命令详解

语法:unzip 〔选项〕压缩文件名.zip 各选项的含义分别为: -x 文件列表解压缩文件,但不包括指定的file文件。 -v 查看压缩文件目录,但不解压。 -t 测试文件有无损坏,但不解压。 -d 目录把压缩文件解到指定目录下。 -z 只显示压缩文件的注解。 -n 不覆盖已经存在的文件。 -o 覆盖已存在的文件且不要求用户确认。 -j 不重建文档的目录结构,把所有文件解压到同一目录下。 例1:将压缩文件text.zip在当前目录下解压缩。 $ unzip text.zip 例2:将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。 $ unzip -n text.zip -d /tmp 例3:查看压缩文件目录,但不解压。 $ unzip -v text.zip zgrep命令 这个命令的功能是在压缩文件中寻找匹配的正则表达式,用法和grep命令一样,只不过操作的对象是压缩文件。如果用户想看看在某个压缩文件中有没有某一句话,便可用zgrep命令。 linux zip命令zip -r myfile.zip ./*

\将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzip unzip -o -d /home/sunny myfile.zip 把myfile.zip文件解压到 /home/sunny/ -o:不提示的情况下覆盖文件; -d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下; 3.其他 zip -d myfile.zip smart.txt 删除压缩文件中smart.txt文件 zip -m myfile.zip ./rpm_info.txt 向压缩文件中myfile.zip中添加rpm_info.txt文件 ------------------------------------------------------------------------------- 要使用 zip 来压缩文件,在 shell 提示下键入下面的命令: zip -r filename.zip filesdir 在这个例子里,filename.zip 代表你创建的文件,filesdir 代表你想放置新 zip 文件的目录。 -r 选项指定你想递归地(recursively)包括所有包括在 filesdir 目录中的文件。 要抽取 zip 文件的内容,键入以下命令: unzip filename.zip 你可以使用 zip 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:zip -r filename.zip file1 file2 file3 /usr/work/school 上面的命令把 file1、file2、 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入 filename.zip 文件中。 tar 命令详解 -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。 下面的参数是根据需要在压缩或解压档案时可选的。 -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件

Linux基本命令大全

下面我们来介绍常用基本命令 一、注销,关机,重启 注销系统的logout命令 1,Logout 注销是登陆的相对操作,登陆系统后,若要离开系统,用户只要直接下达logout命令即可: [root@localhost root]#logout Red Hat Linuxrelease 9(Shike) Kernel 2.4.20.8 on an i686 Login: ←回到登陆的画面 2,关机或重新启动的shutdown命令 Shutdown命令可以关闭所有程序,依照用户的需要,重新启动或关机。 参数说明如下: λ立即关机:-h 参数让系统立即关机。范例如下: [root@localhost root]#shutdown –h now ←要求系统立即关机 λ指定关机时间:time参数可指定关机的时间;或设置多久时间后运行shutdown命令,范例如下: [root@localhost root]#shutdown now ←立刻关机 [root@localhost root]#shutdown +5 ←5分钟后关机 [root@localhost root]#shutdown 10:30 ←在10:30时关机 关机后自动重启:-rλ参数设置关机后重新启动。范例如下: [root@localhost root]#shutdown -r now ←立刻关闭系统并重启 [root@localhost root]#shutdown -r 23:59 ←指定在23:59时重启动 3,重新启动计算机的reboot命令 顾名思义,reboot命令是用来重新启动系统的。常用的参数如下: λ-f 参数:不依正常的程序运行关机,直接关闭系统并重新启动计算机。 -Iλ参数:在在重新启动之前关闭所有网络接口。 虽然reboot命令有个参数可以使用,但是一般只需要单独运行reboot命令就可以了 二、文件与目录的操作 列出文件列表的ls命令 1,ls(list)命令是非常有用的命令,用来显示当前目录中的文件和子目录列表。配合参数的使用,能以不同的方式显示目录内容。范例如下: ? 显示当前目录的内容: [tony@free tony]$ ls Desktop mail myinstall.log test.txt ←有两个目录及两个文件夹 ? 当运行ls命令时,并不会显示名称以―.‖开头的文件。因此可加上―-a‖参数指定要列出这些文件。范例如下: [tony@free tony]$ ls –a ? 以―-s‖参数显示每个文件所有的空间,并以―-S‖参数指定按所有占用空间的大小排序。范例如下: [tony@free tony]$ ls –s –S 总计36 4 Desktop 4 mail 24 myinstall.log 4 test.txt ? 在ls命令后直接加上欲显示的目录路径,就会列出该目录的内容。范例如下: [tony@free tony]$ ls –l/usr/games 2,切换目录的cd命令

相关文档
最新文档