重定向
管道操作
压缩
重定向
(1)用cat 以及输出重定向操作符在当前目录下创建文件abc,并输入文本
[tom@iZbp12r8eimkkdor4011j3Z ~]$ cat>abc
This is the value of abc
(2)查看rm命令的帮助手册,并将查看结果保存到f1文件中,然后查看文件f1的内容
[tom@iZbp12r8eimkkdor4011j3Z ~]$ man rm>f1
[tom@iZbp12r8eimkkdor4011j3Z ~]$ ls
abc f1
[tom@iZbp12r8eimkkdor4011j3Z ~]$ cat f1
(3) 查看主目录的内容,并将查看结果追加到ksd>f1文件中,然后查看f1文件的内容
cd #切换到主目录
ls>>f1
cat f1
(4) 将ls命令的手册保存到large文件中,利用cat命令和输入重定向操作符将large文件内容显示在当前终端窗口
[tom@iZbp12r8eimkkdor4011j3Z ~]$ man ls>large
[tom@iZbp12r8eimkkdor4011j3Z ~]$ ls
abc f1 large
[tom@iZbp12r8eimkkdor4011j3Z ~]$ cat<large
(6) 用cat命令往lslarge文件添加一行内容:This is my file,please don’t delete it!
[tom@iZbp12r8eimkkdor4011j3Z ~]$ cat>>myfile
This is my file,please dont delete it!
Ctrl + D
(7)列出当前目录下某个已存在文件和某个不存在的文件内容,将标准输出和标准错误同时定向到当前目录的file文件中
cat large large123 &>file (假定当前目录不存在large123文件)
重定向的区别:
- ‘>’ 默认为标准输出重定向,与 1> 相同
- 2>&1 意思是把 标准错误输出 重定向到 标准输出.
- &>file 意思是把 标准输出 和 标准错误输出 都重定向到文件file中
(8)将文件/etc/passwd的第一行和最后一行保存到当前目录下的user文件中
[tom@iZbp12r8eimkkdor4011j3Z ~]$ (head -1 /etc/passwd; tail -1 /etc/passwd)>user
[tom@iZbp12r8eimkkdor4011j3Z ~]$ cat user
root:x:0:0:root:/root:/bin/bash
rngd:x:990:986:Random Number Generator Daemon:/var/lib/rngd:/sbin/nologin
管道操作
(1)统计当前工作目录下有几个文件
[tom@iZbp12r8eimkkdor4011j3Z ~]$ ls |wc -w
6
#ls 查看了文件 根据管道符号移交给wc -w处理,最终显示个数
wc命令解释:
Linux wc命令用于统计指定文件中的字节数、字数、行数,并将统计结果显示输出。wc是word count的缩写,即统计单词数。 命令语法
wc [OPTION]...[FILE]...
-c 统计字节数
-l 统计行数
-m 统计字符数。该参数不能与-c一起使用
-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串
-L 打印最长行的长度
(2)显示lslarge的第6-10行
[tom@iZbp12r8eimkkdor4011j3Z ~]$ head myfile | tail -5
fngn
hm
gjmgj
ghjm
#head命令不加选项默认输出前10行,通过管道符号移交给tail -5,最终输出的是前10行中的后5行,因此是6-10行
(3)统计/etc/httpd/conf/httpd.conf文件中注释的行数
grep ^# /etc/httpd/conf/httpd.conf | wc –l
#注释行前面是有'#'的,因此将所有最前面是'#'的行数打印就是注释行的行数
(4)统计/etc/httpd/conf/httpd.conf文件中非注释的行数
grep –v ^# /etc/httpd/conf/httpd.conf | wc –l
#非注释行用 -v选项,将不是注释行的打印
(5)统计/etc/httpd/conf/httpd.conf文件非空的行数
grep –v ^$ /etc/httpd/conf/httpd.conf | wc –l
# ^$连用就代表开头和末尾连在一起:本行是空的,没有内容
(6)统计/etc/httpd/conf/httpd.conf文件空行的行数
grep ^$ /etc/httpd/conf/httpd.conf | wc –l
(7)统计/etc/httpd/conf/httpd.conf文件非空行中非注释行的行数
grep –v ^$ /etc/httpd/conf/httpd.conf |grep –v ^# | wc –l
注意,下面这种写法对吗?
grep –v ^$ /etc/httpd/conf/httpd.conf |grep –v ^# /etc/httpd/conf/httpd.conf | wc –l (错)
一定要明白'|'就是将前面的结果传给下面的命令去执行,所以不能多次的打开文件/etc/.....
压缩
(1)在当前目录下创建若干子目录和文件,然后将当前目录下的所有文件打包成主目录下的存档文件tarfile
tar -cvf ~/tarfile .
(2)查看tarfile文件中的内容
tar -tvf ~/tarfile
(3)将主目录下的文件打包并压缩为home.gz文件
tar -czvf home.gz ~
(4)将home.gz文件解压缩到/tmp目录
tar -xzvf home.gz -C /tmp
tar命令选项
-
-c 创建新的文档。 -
-v 显示详细的tar处理的文件信息 -
-f 要操作的文件名
|