linux除了cat读取文件内容,linux cut命令和cat命令以及查看文件内容命令总结

cut-d: -f 1 /etc/passwd

> /tmp/users

-d用来定义分隔符,默认为tab键,-f表示需要取得哪个字段

当然也可以通过cut取得文件中每行中特定的几个字符,例如:

cut -c3-5

/etc/passwd

就是输出/etc/passwd文件中每行的第三到第五个字符。

-c 和 -f 参数可以跟以下子参数:

N 第N个字符或字段

N- 从第一个字符或字段到文件结束

N-M 从第N个到第M个字符或字段

-M 从第一个到第N个字符或字段

cat

Linux Cat命令用来读取短文件非常方便,如果一个文件非常大的时候,用页命令是比较方便的。下面一起来看看Linux

Cat命令实际应用。

Linux Cat命令的用法:

1.用cat命令查看文件:$ cat test.php;

$ cat -n test.php:在查看的时候加上行号;

Linux Cat命令还可以使用通配符:$ cat -n *.php,把所有的php文件都显示出来(顺序显示)

也可以这样:$ cat -n test.php test1.php test2.php;结果用通配符输出结果是完全一样的

2.可以用Linux Cat命令和重定向操作符(>)来合并文件:

$ cat *.php > test3.php;

如果现在有test.php和test1.php这两个文件,如何合并呢?可以用重定向操作符(>>)

$ cat test.php >>

test1.php,这样就把test.php合并到test1.php后面去了,合并的时候注意顺序,是不能搞错的。

3.可以使用cat命令新建一个文件并通过键盘直接向文件中输入内容。

$ cat > myfile.php

输入完成以后使用ctrl+d来保存并退出文件

在有的时候可以组合使用,如

cat /etc/passwd | cut -d :

-f1 会显示出来该文件的第一栏的内容,就是那些用户名

cat filename |sed -n 15p 显示文件第15行

观看档案内容:cat, tac, more, less,

head, tail, nl,

刚刚我们提到的都只是在于显示档案的外观,或者是移动与复制一个档案或目录而已,那么如果我们要视察一个档案的内容时,该如何是好呢?!这里有相当多有趣的指令可以来分享一下:最常使用的显示档案内容的指令可以说是

cat 与 more 及 less

了!此外,如果我们要查看一个很大型的档案(好几百MB时),但是我们只需要后端的几行字而已,那么该如何是好?呵呵!用 tail

呀,此外, tac 这个指令也可以达到!好了,说说各个指令的用途吧!

cat 由第一行开始显示档案内容

tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!

more 一页一页的显示档案内容

less 与 more 类似,但是比 more 更好的是,他可以往前翻页!

head 只看头几行

tail 只看尾巴几行

nl 显示的时候,顺道输出 行号!

od 以二进制的方式读取档案内容!

底下我们来谈一谈每个指令的基本用法吧!

· cat

语法:

[root @test /root ]# cat [-nAE]

参数说明:

-n: 显示时,连行号印出屏幕上。

-A: 将 DOS 下的 与断行字符都列出来!

-E: 将 DOS 编辑的文件中,仅列出 断行字符出来!

范例:

[root @test /root]# cat ~/.bashrc <==显示 .bashrc

这个档案

# .bashrc

# User specific aliases and functions

PATH="/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH"

alias rm='rm -i'

alias cp='cp -i'

alias mv='mv -i'

alias ll='ls -l --color=never'

[root @test /root]# cat ~/.bashrc -n <==显示 .bashrc

并且加上行号!

1 # .bashrc

2

3 # User specific aliases and functions

4

PATH="/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH"

6 alias rm='rm -i'

7 alias cp='cp -i'

8 alias mv='mv -i'

9 alias ll='ls -l --color=never'

[root @test /root]# cat -A regexp.txt

This is a cat, however, I need a dog.^M$

I want to "Happy" and and

/Happy/ here.^M$

OK! ^Ieverythins is OK^M$

Now, I will eat my food^M$

are you ^Ifinished your work^M$

what do you 123 goto where^M$

显示出 DOS 档案的几个特殊符号,以上面档案为例,

可发现 ^M 为断行符号,而每行的 $ 为行尾符号,

至于 ^I 则是 按键啦!

说明:

嘿嘿! Linux 里面有『猫』?!喔!不是的, cat 是 Concatenate

(连续)的简写,主要的功能是将一个档案的内容连续的印出在屏幕上面!例如上面的例子中,我们将重要的参数档 .bashrc

印出来!如果加上 -n 的话,则每一行前面还会加上行号呦!cat 比较少用!毕竟当你的档案内容的行数超过 40

行以上,嘿嘿!根本来不及看!所以,配合 more 或者是 |more 来执行比较好!此外,如果是一般的 DOS

档案时,就需要特别留意一些奇奇怪怪的符号了,例如断行与等,要显示出来,就得加入

-A 之类的参数了!。

· tac

语法:

[root @test /root ]# tac [檔名]

参数说明:

范例:

[root @test /root]# tac ~/.bashrc

<==发现了没?反向印出呦!lt;tab

说明:

嘿嘿! Linux 里面有『猫』?!喔!不是的, cat 是 Concatenate

(连续)的简写,主要的功能是将一个档案的内容连续的印出在屏幕上面!例如上面的例子中,我们将重要的参数档 .bashrc

印出来!如果加上 -n 的话,则每一行前面还会加上行号呦!cat 比较少用!毕竟当你的档案内容的行数超过 40

行以上,嘿嘿!根本来不及看!所以,配合 more 或者是 |more 来执行比较好!此外,如果是一般的 DOS

档案时,就需要特别留意一些奇奇怪怪的符号了,例如断行与&

· tac

语法:

[root @test /root ]# tac [檔名]

参数说明:

范例:

[root @test /root]# tac ~/.bashrc &

fi

. /etc/bashrc

if [ -f /etc/bashrc ]; then

# Source global definitions

alias h='history'

alias lm='ls -al|more'

alias ll='ls -l'

# alias ll='ls -l --color=never'

alias mv='mv -i'

alias cp='cp -i'

alias rm='rm -i'

export PATH

PATH="/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH"

# User specific aliases and functions

# .bashrc

说明:

tac 这个好玩了!怎么说呢?详细的看一下, cat 与 tac ,有没有发现呀!对啦! tac 刚好是将 cat

反写过来,所以他的功能就跟 cat 相反啦, cat 是由『第一行到最后一行连续显示在屏幕上』,而 tac

则是『由最后一行到第一行反向在屏幕上显示出来』,很好玩吧! Linux more 命令用法详解

名称:more

使用权限:所有使用者

使用方式:more [-dlfpcsu] [-num] [+/pattern] [+linenum]

[fileNames..]

说明:类似 cat ,不过会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b

键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。

参数:-num 一次显示的行数

-d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.]

,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声

-l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能

-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)

-p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容

-c 跟 -p 相似,不同的是先显示内容再清除其他旧资料

-s 当遇到有连续两行以上的空白行,就代换为一行的空白行

-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)

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

+num 从第 num 行开始显示

fileNames 欲显示内容的档案,可为复数个数

范例:

more -s testfile 逐页显示 testfile 之档案内容,如有连续两行以上空白行则以一行空白行显示。

more +20 testfile 从第 20 行开始显示 testfile 之档案内容。 · less

语法:

[root @test /root ]# less [檔名]

参数说明:

范例:

[root @test /root]# less ~/.bashrc

说明:

less 的用法比起 more 又更加的有弹性,怎么说呢?在 more 的时候,我们并没有办法向前面翻,只能往后面看,但若使用了

less 时,呵呵!就可以使用 [pageup] [pagedown]

等按键的功能来往前往后翻看文件,您瞧,是不是更容易使用来观看一个档案的内容了呢!?

more 与 less 的用途与用法真的是很广啦!首先,你可以在 more 与 less

的画面中进行『搜寻』的工作!如何进行呢?我们以 less 来说明好了,如果你想要知道 /etc/man.config

这个档案里面有没有一个叫做 GER 的大写字眼,那么可以:

[root @test /root ]# less /etc/man.config

按键说明:

/word:在 /etc/man.config 这个档案中搜寻 word 这个字符串的所在

q :离开 less 的画面

然后在输入 / 之后,光标会移动到最左下角等待输入,这个时候您只要输入你的字符串之后,就会自动的帮你找出来该关键词啰!

· head

语法:

[root @test /root ]# head [-n number] [檔名]

参数说明:

-n :显示 number 行

范例:

[root @test /root]# head ~/.bashrc

<==预设情况下,显示头十行

[root @test /root]# head -n 20

~/.bashrc<==显示头二十行!

说明:

head 的英文意思就是『头』啦,那么这个东西的用法自然就是显示出一个档案的前几行啰!没错!就是这样!若没有加上 -n

这个参数时,预设只显示十行,若只要一行呢?那就加入『 head -n 1 filename 』即可!

· tail

语法:

[root @test /root ]# tail [-n number] [檔名]

参数说明:

-n :显示 number 行

范例:

[root @test /root]# tail ~/.bashrc

[root @test /root]# tail -n 5 ~/.bashrc

<==只显示最后面五行!

说明:

那么有 head 自然就有 tail ( 尾巴 ) 啰!没错!这个 tail 的用法跟 head

的用法差不多类似,只是显示的是后面几行就是了!预设也是显示十行,若要显示非十行,就加 -n number 的参数!

例题一:假如我想要显示 ~/.bashrc 的第 11 到第 20 行呢?

答:

这个应该不算难,想一想,在第 11 到第 20 行,那么我取前 20 行,再取后十行,所以结果就是:『 head –n 20

~/.bashrc | tail –n 10 』,这样就可以得到第 11 到第 20

行之间的内容了!但是里面涉及到管线命令,需要在第三篇的时候才讲的到!

· nl

语法:

[root @test /root ]# nl [檔名]

参数说明:

范例:

[root @test /root]# nl ~/.bashrc

说明:

那么 nl 又是什么?这也没什么,这个指令的用法跟 cat -n

的用法类似,也就是『可以印出行号』的指令来查看档案啦!也是挺好用的!

· od

语法:

[root @test /root ]# od [檔名]

参数说明:

范例:

[root @test /root]# od ~/.bashrc

0000000 020043 061056 071541 071150 005143 021412 052440

062563

0000020 020162 070163 061545 063151 061551 060440 064554

071541

0000040 071545 060440 062156 063040 067165 072143 067551

071556

0000060 050012 052101 036510 027442 064542 035156 071457

064542

0000100 035156 072457 071163 071457 064542 035156 072457

071163

0000120 061057 067151 027472 071565 027562 067554 060543

027554

0000140 061163 067151 027472 071565 027562 067554 060543

027554

0000160 064542 035156 050044 052101 021110 062412 070170

071157

0000200 020164 040520 044124 005012 066141 060551 020163

066562

0000220 023475 066562 026440 023551 060412 064554 071541

061440

0000240 036560 061447 020160 064455 005047 066141 060551

020163

0000260 073155 023475 073155 026440 023551 021412 060440

064554

0000300 071541 066040 036554 066047 020163 066055 026440

061455

0000320 066157 071157 067075 073145 071145 005047 066141

060551

0000340 020163 066154 023475 071554 026440 023554 060412

064554

0000360 071541 066040 036555 066047 020163 060455 076154

067555

0000400 062562 005047 066141 060551 020163 036550 064047

071551

0000420 067564 074562 005047 021412 051440 072557 061562

020145

0000440 066147 061157 066141 062040 063145 067151 072151

067551

0000460 071556 064412 020146 020133 063055 027440 072145

027543

0000500 060

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值