Linux里严格区分大小写。
[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.
让每个字符一行。
[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 ~]# ifconfig|grep "10.0.0.201"
inet 10.0.0.201 netmask 255.255.255.0 broadcast 10.0.0.255
[root@oldgirl ~]#
[root@oldgirl ~]#
[root@oldgirl ~]# ifconfig|grep -o "10.0.0.201"
10.0.0.201
[root@oldgirl ~]# ifconfig|grep -o "10.0.0.201"
10.0.0.201
[root@oldgirl ~]#
[root@oldgirl ~]#
[root@oldgirl ~]#
[root@oldgirl ~]# grep -oi "oldboy" test.txt
oldboy
oldboy
[root@oldgirl ~]#
[root@oldgirl ~]# grep -oiw "oldboy" test.txt
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 or directory
[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 studying linux." >/data/oldboy.txt
[root@oldgirl ~]# cat /data/oldboy.txt
I am studying linux.
方法3:
cat>/data/oldboy.txt <<EOF
I am studying linux.
I am studying linux.
I am studying linux.
EOF
#<==EOF成对出现,后面这个顶格。
老男孩思想:操作后检查的习惯,才能提升正确率。
重定向符号的核心知识*****
超重点。
>或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 studying linux." >>/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" </data/oldboy.txt
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)
[root@oldboyedu ~]# echo "I am studying linux." 1>/data/oldboy.txt
[root@oldboyedu ~]# cat /data/oldboy.txt
I am studying linux.
[root@oldboyedu ~]# echo "I am studying linux.." 1>>/data/oldboy.txt
[root@oldboyedu ~]# cat /data/oldboy.txt
I am studying linux.
I am studying linux..
[root@oldboyedu ~]# tr "am" "01" 0</data/oldboy.txt
I 01 studying linux.
I 01 studying linux..
<<
用法;
cat<<EOF
I am oldboy
EOF
cat>oldboy.txt<<EOF
I am oldboy
EOF
[root@oldboyedu ~]# cat>oldboy.txt<<EOF
> I am oldboy
> EOF
[root@oldboyedu ~]# cat oldboy.txt
I am oldboy
方法3:
cat>/data/oldboy.txt <<EOF
test
liyao
oldboy
EOF
#<==EOF成对出现,后面这个顶格。
此外还有一个特殊重定向用法:将标准错误重定向到标准输出,即标准错误和标准输出一样从定向到文件中,这个功能有3种实现命令方法。
方法1:echo "I am oldboy" >oldboy.txt 2>oldboy.txt
方法2:echo "I am oldboy" &>oldboy.txt
方法3:echo "I am oldboy" 1>oldboy.txt 2>&1
cat>test.txt <<EOF
test
liyao
oldboy
EOF
考题:已知文件test.txt内容为:
test
liyao
oldboy
请给出再屏幕输出test.txt内容时,不包含oldboy字符串的命令。
[root@oldboyedu ~]# grep -v "oldboy" test.txt
test
liyao
[root@oldboyedu ~]# head -2 test.txt
test
liyao
[root@oldboyedu ~]# grep -E "test|liyao" test.txt
test
liyao
考题:请用一条命令完成创建目录/oldboy/test,即创建/oldboy目录及/oldboy/test目录。
mkdir -p /oldboy/test
考题:已知/tmp目录下已经存在了test.txt文件,如何执行命令才能把/mnt/test.txt拷贝到/tmp下,并覆盖掉/tmp/test.txt,且让Linux系统不提示是否覆盖(root权限下)。
\cp /mnt/test.txt /tmp/test.txt
/bin/cp /mnt/test.txt /tmp/test.txt
[root@oldboyedu ~]# alias
alias cp='cp -i'
在如下链接中有分享别名的困惑及解决技巧:http://oldboy.blog.51cto.com/2561410/699046
7.11 本章讲解知识总结
1)重点命令:vi/vim/echo/cat/more/less/head/tail/grep/tr
2)普通命令:alias/unalias
3)重要知识:拷贝直接覆盖知识、多行文本追加知识、重定向符号知识*****
文件属性:文件的大小 时间 类型 权限 属主
索引节点:文件的唯一标识
身份证: 人的唯一标识
进程号: 进程的唯一标识
[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 11 15: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有关的一个标识;
第三列: 硬连接数
第四列: 属主:文件的拥有者,用户
第五列: 属组:文件属于的组,用户组
第六列: 大小
第七列: 月份
第八列: 日
第九列: 时间
第十列: 文件名
老男孩思想:学习的时候重视过程,工作的时候重视结果。
第二列第一个字符:文件类型
一切皆文件。Windows用扩展名区分文件,Linux里有自己的文件类型,Linux的里扩展名
兼容windows方便区分文件。
1.- 普通文件(regular file)
图片 视频 文档 都是文件
创建:touch vim echo cat
拷贝、移动:cp、mv
删除:rm
三种类型:
a.纯文本文件:字符数字等内容
b.数据文件:存放命令收集的信息。
c.二进制文件:可执行的命令。
[root@oldboyedu ~]# file d.txt
d.txt: ASCII text
[root@oldboyedu ~]# file /var/log/lastlog
/var/log/lastlog: data
[root@oldboyedu ~]# file /bin/cat
/bin/cat: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=8ac8b57ae50762a4a0480486839107e87b3c284d, stripped
2.d 目录(directory)
生成: mkdir -p
复制:cp -a/-r
删除: rm -fr
区分:
a.开头为d
b.颜色为蓝色
c.ls -p,目录结尾加斜线,斜线结尾
linux基础day07
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 用lseek( )查找 lseek( )系统调用能够对给定文件描述符引用的文件位置设定指定值。除了更新文件位置,没...