RHEL7重定向和文件查找
来源:互联网 发布:dmx控制器淘宝 编辑:程序博客网 时间:2024/05/21 12:48
本节所讲内容:
•重定向的作用
•文件描述符 0、1、2
•实现输入输出重定向 >、 >>
•tee 命令介绍
•管道|
•which 查看可执行文件的位置
whereis 查看可执行文件的位置 及相关文件
locate 配合数据库查看文件位置
find 实际搜寻硬盘查询文件名称
•grep 过滤
文件描述符:内核(kernel)利用文件描述符(file descriptor)来访问文件。文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文件。
linux下一切皆文件。
STDIN 标准输入 如:键盘文件文件描述符为:0
STDOUT 标准输出 屏幕终端文件描述符为:1
STDERR 错误输出 屏幕终端文件描述符为:2
[root@xuegod61 ~]# echo 123456 | passwd --stdin rm &> /dev/null
/dev/null 代表空设备文件,就是Linux中的黑洞。放多少东西都填不满。
输出重定向
> #输出重定向到哪里
1> #输出重定向到哪里,所以">/dev/null"等同于"1>/dev/null"
[root@xuegod61 ~]# ls /home/ 1> a.txt
[root@xuegod61 ~]# cat a.txt
rm
2> #表示标准错误输出
[root@xuegod61 ~]# ls /homee 2> a.txt
[root@xuegod61 ~]# cat a.txt
ls: cannot access /homee: No such file or directory
&& 表示等同于的意思
[root@xuegod61 ~]# ls /home/ /homee 1> a.txt 2>&1
&>混合输出
[root@xuegod61 ~]# ls /home/ /homee &> a.txt
输出重定向 ,追加和覆盖
> 和>> 的区别
> 每次都产生新文件。
>> 是追加,不产生新的文件。
[root@xuegod61 ~]# echo xuegod > a.txt
[root@xuegod61 ~]# cat a.txt
xuegod
[root@xuegod61 ~]# echo xuegod >> a.txt
[root@xuegod61 ~]# cat a.txt
xuegod
xuegod
输入重定向
<
实例1:wc查看文件的字节数、字数、行数
[root@xuegod61 ~]# wc /etc/passwd
43 87 2261/etc/passwd
行 字数(以空格为分隔符) 大小(字节为单位)
[root@xuegod61 ~]# wc < /etc/passwd
43 87 2261
[root@xuegod61 ~]# cat > a.txt <<EOF
> *********************************
> *** Welcome to Heros Aliance ****
> *********************************
> EOF
[root@xuegod61 ~]# cat a.txt
*********************************
*** Welcome to Heros Aliance ****
*********************************
管道|
前一个程序的标准输出,交给后一个程序做标准输入。
[root@xuegod61 ~]# ps -aux | grep vim
tee命令:
功能说明:读取标准输出的数据,并将其内容输入成文件。
[root@xuegod61 ~]# ps -aux | grep vim | tee b.txt
root 3256 0.0 0.0 112644 956 pts/1 S+ 08:15 0:00 grep --color=auto vim
[root@xuegod61 ~]# cat b.txt
root 3256 0.0 0.0 112644 956 pts/1 S+ 08:15 0:00 grep --color=auto vim
文件查找方法
which 查看可执行文件的位置
whereis 查看可执行文件的位置 及相关文件
locate 配合数据库缓存,快速查看文件位置
grep 过滤
find 实际搜寻硬盘查询文件名称
[root@xuegod61 ~]# rpm -qf `which useradd`
shadow-utils-4.1.5.1-18.el7.x86_64
[root@xuegod61 ~]# whereis useradd
useradd: /usr/sbin/useradd /usr/share/man/man8/useradd.8.gz
locate 配合数据库缓存,快速查看文件位置
[root@xuegod61 ~]# touch abc.txt
[root@xuegod61 ~]# locate abc.txt #查找不到文件
[root@xuegod61 ~]# updatedb #更新数据库
[root@xuegod61 ~]# locate abc.txt
/root/abc.txt
grep 过滤
[root@xuegod61 ~]# grep bash /etc/passwd
root:x:0:0:root:/root:/bin/bash
rm:x:1000:1000:rm:/home/rm:/bin/bash
-v 反转
-i 忽略大小写
^# 以#开头
#$ 以#结尾
^$ 空行
例:-v取反,查找出文件中不带nologin的行
[root@xuegod61 ~]# grep -v "nologin" /etc/passwd
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
rm:x:1000:1000:rm:/home/rm:/bin/bash
例:-I忽略大小写进行查找
[root@xuegod61 ~]# grep -i RM /etc/passwd
rm:x:1000:1000:rm:/home/rm:/bin/bash
RM:x:1001:1001::/home/RM:/bin/bash
例:^ 过滤文件中的所有以#号开头的行
[root@xuegod61 ~]# grep -v "^#" /etc/selinux/config
例:$ 过滤文件中的所有以shutdown结尾的行
[root@xuegod61 ~]# grep "shutdown$" /etc/passwd
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
例:^$ 过滤文件中的空行
[root@xuegod61 ~]# grep -v "^$" /etc/selinux/config
例:过滤文件中的空行和以#号开头的行,显示文件的真实有效信息
[root@xuegod61 ~]# grep -v "^$" /etc/selinux/config | grep -v "^#"
SELINUX=disabled
SELINUXTYPE=targeted
-n对过滤的内容加上行号
- RHEL7重定向和文件查找
- 2011-06-28 编译信息保存和文件重定向
- 标准输入、输出和错误和文件重定向
- 标准输入、输出和错误和文件重定向
- 标准输入、输出和错误和文件重定向
- X64系统 注册表和文件重定向 Python
- 标准输入、输出和错误和文件重定向
- RHEL7管道与重定向
- Linux中基本I/O 重定向的符号及其用法和文件标识符
- PowerShell_零基础自学课程_7_Powershell中重定向机制、目录和文件管理
- freopen()函数文件流重定向和文件流的清除
- Linux中基本I/O 重定向的符号及其用法和文件标识符
- 把控制台输入输出重定向到磁盘文件的C++方法(C++ 输入输出流和文件流)
- 文件查找和文件内容匹配
- Linux查找文件内容和文件位置
- 实验楼环境变量和文件查找使用
- Python 文件夹遍历和文件查找
- 查找文件和重定向
- Domain Transform for Edge-Aware Image and Video Processing - 论文阅读
- eclipse安装配置github插件egit
- 《页面制作》课程学习摘要
- telnet命令的安装
- Java 序列化机制(二) -- 控制序列化的兼容性
- RHEL7重定向和文件查找
- multimap用法
- 2016 UESTC Training for Dynamic Programming F - 柱爷与三叉戟不得不说的故事 压位dp
- RxJava源码初步分析
- 145. Binary Tree Postorder Traversal
- Task运行过程分析3——Map Task内部实现
- android studio 获得SHA1 码的步骤
- NYOJ squares(计算几何+区间覆盖)
- 数组引用与数组的一些小小小小研究