day10

1.1 tr

[root@oldgirl ~]# cat test.txt

Welcome to oldboy training.

we are excellent.

[root@oldgirl ~]# tr "w""9" < test.txt

Welcome to oldboy training.

9e are excellent.

[root@oldgirl ~]# tr w 9 < test.txt

Welcome to oldboy training.

9e are excellent.

所有字符都尽量加双引号。

问题:

[root@oldgirl ~]# cat test.txt

Welcome to oldboy training.

we are excellent.

让每个字符一行。

1.2 grep

root@oldgirl ~]# cat test.txt

Welcome to oldboy training.

we are excellent.

[root@oldgirl ~]# grep "oldboy"test.txt

Welcome to oldboy training.

[root@oldgirl ~]# grep -v"oldboy" test.txt

we are excellent.

[root@oldgirl ~]# cat test.txt

Welcome to oldboy training.

we are excellent.

[root@oldgirl ~]# grep -i "w"test.txt

Welcome to oldboy training.

we are excellent.

[root@oldgirl ~]# grep  "w" test.txt

we are excellent.

[root@oldgirl ~]# grep -iv "w"test.txt

[root@oldgirl ~]# grep "oldboy"test.txt

Welcome to oldboy training.

oldboy1

[root@oldgirl ~]# grep -o"oldboy" test.txt

oldboy

oldboy

[root@oldgirl ~]# grep -E"to|are" test.txt

Welcome to oldboy training.

we are excellent.

[root@oldgirl ~]# egrep "to|are"test.txt

Welcome to oldboy training.

we are excellent.

考题:在/data目录下创建oldboy.txt,并增加"I am studying linux."一行内容。

该题有多种解题方法,下面来一一分析讲解。

方法1:

[root@oldgirl ~]# ls -ld /data

ls: cannot access /data: No such file ordirectory

[root@oldgirl ~]# mkdir /data -p

[root@oldgirl ~]# ls -ld /data

drwxr-xr-x. 2 root root 6 Mar 13 10:20/data

[root@oldgirl ~]# vim /data/oldboy.txt

I am studying linux.

[root@oldgirl ~]# cat /data/oldboy.txt

I am studying linux.

方法2:

[root@oldgirl ~]# mkdir -p /data

[root@oldgirl ~]# echo "I am studyinglinux." >/data/oldboy.txt

[root@oldgirl ~]# cat /data/oldboy.txt

I am studying linux.

方法3:

cat>/data/oldboy.txt <

I am studying linux.

I am studying linux.

I am studying linux.

EOF

#<==EOF成对出现,后面这个顶格。

1.3重定向符号的核心知识

>或1>标准输出重定向,箭头方向就是数据流向,

把左边的数据流向到右边,会清空右边之前的数据。

清空前备份:

[root@oldgirl ~]# cp test.txt{,.ori}

[root@oldgirl ~]# cp test.txt test.txt.ori

清空文件:

[root@oldgirl ~]# >test.txt

[root@oldgirl ~]# cat test.txt

echo "I am studying linux.">/data/oldboy.txt

>>或1>>追加输出重定向,内容追加到文件尾部。

[root@oldgirl ~]# echo "I am studyinglinux." >>/data/oldboy.txt

[root@oldgirl ~]# cat /data/oldboy.txt

I am studying linux.

I am studying linux.

I am studying linux.

<或0<标准输入重定向,箭头方向就是数据流向,

standard input, writing to standard output.

标准      输入     写   到  标准     输出

[root@oldboyedu ~]# tr "am""01"

I 01 studying linux.

I 01 studying linux.

I 01 studying linux.

I 01 studying linux..

<<或0<<追加输入重定向,箭头方向就是数据流向,

2> 标准错误输出重定向,箭头方向就是数据流向,把左边的【报错】输出到右边(覆盖)。

2>> 标准错误追加输出重定向,箭头方向就是数据流向,把左边的【报错】输出到右边(追加)。

固定定义:

数字1 标准输出(standard output)

数字0 标准输入(standard input)

数字2 错误输出(error output)

1.3.1补重定向

[root@fxh ~]# cat test.txt  #查看test.txt里的文件内容

dede

aa

bb

[root@fxh ~]# echo cc>test.txt  #替换test.txt里的文件内容

[root@fxh ~]# cat test.txt

cc

[root@fxh ~]# echo ee>>test.txt  #给test.txt文件里追加东西

[root@fxh ~]# cat test.txt

cc

ee

[root@fxh ~]# cat>>test.txt<

> kk

> gg

> edd

[root@fxh ~]# cat test.txt   

cc

ee

kk

gg

[root@fxh ~]# cat >test.txt<

> vv

> edd

[root@fxh ~]# cat test.txt

vv

[root@fxh ~]#

1.4文件属性

[root@oldboyedu ~]# ls -lhi

total 24K

33631870 -rw-r--r--. 1 root root   4 Mar 13 11:29 a.txt

33631871 -rw-r--r--. 1 root root  30 Mar 13 11:28 b.txt

16777289 drwxr-xr-x. 2 root root  64 Mar 7 11:57 data1

33631866 -rw-r--r--. 1 root root 712 Mar 1115:58 grep.txt

33631863 -rw-r--r--. 1 root root  12 Mar 13 11:23 oldboy.txt

16964029 drwxr-xr-x. 2 root root   6 Mar 7 10:56 test

33631865 -rw-r--r--. 1 root root  24 Mar 13 11:46 test.txt

33631864 -rw-r--r--. 1 root root  54 Mar 13 10:26 test.txt.ori

 1         2        3   4   5    6  7  8   9    10

共10列

第一列:inode索引节点编号(相当于人的身份证、家庭住址,全国唯一);

系统读取文件时首先通过文件名找到inode号码,然后才能读取到文件内容。

第二列:文件类型及权限。这一列共11个字符,

其中第一个字符为文件类型,

随后的9个字符为文件的对应权限,

最后一个字符点号“.”是和selinux有关的一个标识;

第三列:硬连接数

第四列:属主:文件的拥有者,用户

第五列:属组:文件属于的组,用户组

第六列:大小

第七列:月份

第八列:  日

第九列:时间

第十列:文件名

你可能感兴趣的:(day10)