FD简介 |
输出重定向 |
输入重定向 |
5.1 重定向
5.1.1 FD简介
file descriptors,FD,文件描述符,文件句柄,0-255。
进程使用文件描述符来管理打开的文件。
0:stdin,标准输入
1:stdout,标准正确输出指向终端pts
2:stderr,标准错误输出指向终端pts
/dev/pts
3-255:文件
例:
通过一个终端,打开一个文本
vim 1.txt
通过另一个终端,查询文本程序的进程号
ps aux | grep vim
在/proc目录中查看文本程序的FD
ls /proc/ # 生成相应进程文件 ls -l /proc/pid号/fd
echo输出重定向
echo 123 > /dev/pts/0相同 # 证明0与/dev/pts/o相同
5.1.2 输出重定向
正确输出
1> 等价于 >
1>> 等价于 >> # 追加
例:
data > time.txt
data 1> time.txt
data >> time.txt # 追加
mkdir 888777 > time.txt
mkdir -v 888777 > time.txt # 输出过程描述
将ls的标准输出重定向到pts/1终端。
# 两个终端窗口 ls -l > /dev/pts/1 # 重定向窗口号
错误输出
2> 2>> # 追加
例:
ls /home/ 2> list.txt # 无错误信息报错 ls /aaaaaaaaaaa 2> list.txt
同时重定向标准输入和输出
ls /home/ /aaaaaaaaaa &> list.txt 或 ls /home/ /aaaaaaaaaa > list.txt 2>&1
分别重定向标准输入和输出
ls /home/ /aaaaaaaaaa 1> yes.txt 2> no.txt
不显示不保存标准输入和输出
ls /home/ /aaaaaaaaaa &> /dev/null
5.1.3 输入重定向
标准输入
< 等价于 0<
例:
wc指令可以计算文件的Byte数、字数、或是行/列数,若不指定文件名称或是所给予的文件名为“-",则wc指令会从标准输入设备读取数据。
wc -l
wc -l file.txt
将输入重定向到 users 文件,上面命令作用就是将users 文件内容作为输入重定向计算行数了
wc -l < file.txt
Here Document:用来将输入重定向到一个交互式Shell脚本或程序
cat
cat << EOF
# 拥有大量输入的时候可以用下面的形式,将标准输入的内容重定向到(输入到)file.txt文件中。
cat << EOF > file.txt
Guff_hys_python数据结构,大数据开发学习,python实训项目-CSDN博客
Linux是一种自由和开放源代码的类Unix操作系统,它是基于POSIX和UNIX标准的。Linux是由芬兰计算机科学家Linus Torvalds在1991年首次发布的。它是一个多用户、多任务、支持多种处理器架构的操作系统。Linux操作系统在服务器、嵌入式系统和个人电脑中广泛使用。
Linux操作系统的核心是Linux内核,它是操作系统的核心部分,管理系统的资源和硬件。Linux内核是由一群程序员共同开发和维护的,他们来自全球各地,这使得Linux内核能够不断得到改进和升级。
Linux操作系统的特点包括稳定性、安全性、灵活性和免费。Linux操作系统的稳定性得到了广泛的认可,它可以长时间运行而不需要重新启动。Linux操作系统也因其安全性而受到赞誉,它有强大的权限管理和访问控制机制,可以有效地保护系统免受恶意攻击。此外,Linux操作系统还具有很高的灵活性,用户可以根据自己的需求定制和配置系统。最重要的是,Linux操作系统是免费的,任何人都可以免费获取和使用它。
Linux操作系统有许多不同的发行版,每个发行版都有自己的特点和优势。一些知名的Linux发行版包括Ubuntu、Debian、Fedora、CentOS、Red Hat等。这些发行版通常包含了Linux内核、系统工具、图形用户界面和一些应用程序,用户可以根据自己的需求选择合适的发行版。
Linux操作系统支持多种处理器架构,包括x86、x86-64、ARM、PowerPC等。这使得Linux可以运行在各种不同的硬件平台上,包括个人电脑、服务器、嵌入式系统、手机等。Linux操作系统也支持多用户和多任务,可以同时为多个用户提供服务,并且可以同时运行多个程序。
Linux操作系统有丰富的应用程序和工具,包括办公软件、开发工具、图形设计软件、多媒体软件等。用户可以根据自己的需求选择合适的应用程序和工具。此外,Linux操作系统还有一个强大的软件包管理系统,用户可以方便地安装、升级和删除软件包。
总的来说,Linux操作系统是一个稳定、安全、灵活和免费的操作系统,它在服务器、嵌入式系统和个人电脑中得到广泛的应用。由于其开放源代码的特性,Linux操作系统得到了全球程序员和用户的支持和参与,它不断得到改进和升级,成为一个强大而且受欢迎的操作系统。