Linux高级文件操作练习:重定向、管道、压缩(附答案解析)
2021/12/26 7:12:16
本文主要是介绍Linux高级文件操作练习:重定向、管道、压缩(附答案解析),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
>>" rel="external nofollow" target="_blank">重定向
管道操作
压缩
>>">
重定向
(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文件)
重定向的区别:
- 0表示标准输入
- 1表示标准输出
- 2表示标准错误输出
- ‘>’ 默认为标准输出重定向,与 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 要操作的文件名
这篇关于Linux高级文件操作练习:重定向、管道、压缩(附答案解析)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-14Linux创造者谈AI将如何改变编程的未来
- 2024-12-18git仓库有更新,jenkins 自动触发拉代码怎么配置的?-icode9专业技术文章分享
- 2024-12-18Jenkins webhook 方式怎么配置指定的分支?-icode9专业技术文章分享
- 2024-12-13Linux C++项目实战入门教程
- 2024-12-13Linux C++编程项目实战入门教程
- 2024-12-11Linux部署Scrapy教程:新手入门指南
- 2024-12-11怎么将在本地创建的 Maven 仓库迁移到 Linux 服务器上?-icode9专业技术文章分享
- 2024-12-10Linux常用命令
- 2024-12-06谁看谁服! Linux 创始人对于进程和线程的理解是…
- 2024-12-04操作系统教程:新手入门及初级技巧详解