Linux 或 UNIX 机器都带有 /dev 和 /proc 目录用于特殊目的。
在/dev 目录内包含以或不以硬件形式出现的物理设备条目. 包含被挂载的文件系统的硬设备分区在/dev目录下都有对应的条目, 就像df 命令所展示的。
root@ubuntu:~# df
df: ‘/mnt/hgfs’: Protocol error
Filesystem 1K-blocks Used Available Use% Mounted on
udev 992620 4 992616 1% /dev
tmpfs 200668 1476 199192 1% /run
/dev/sda1 18469756 3946300 13562176 23% /
none 4 0 4 0% /sys/fs/cgroup
none 5120 0 5120 0% /run/lock
none 1003332 144 1003188 1% /run/shm
none 102400 28 102372 1% /run/user
/dev还有少量的伪设备用于特殊的用途, 例如 /dev/null
, /dev/zero, /dev/urandom, /dev/sda1, /dev/udp, 和/dev/tcp。
exec 8<>/dev/tcp/www.baidu.com/80
echo -e "GET / HTTP/1.0\n" >&8
cat <&8
exec8>&-
打开/dev/tcp 以读写方式打开/dev/tcp,并指定服务器名为: www.baidu.com,端口号为:80, 指定描述符为8 要注意的是:/dev/tcp本身是不存在的。
向文件中写入数据 向文件中随便写一些数据: echo -e "GET">8&3. 读文件 读取返回的信息:cat<&8
cat</dev/tcp/127.0.0.1/22
pro
/proc目录实际上是一个伪文件系统 . 在 /proc
目录里的文件是当前运行系统和内核进程及它们的相关信息和统计.
oot@ubuntu:~# cat /proc/devices
Character devices:
1 mem
4 /dev/vc/0
4 tty
4 ttyS
5 /dev/tty
5 /dev/console
5 /dev/ptmx
5 ttyprintk
6 lp
root@ubuntu:~# cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
0: 27 0 0 0 IO-APIC 2-edge timer
1: 189 0 101 0 IO-APIC 1-edge i8042
8: 1 0 0 0 IO-APIC 8-edge rtc0
9: 0 0 0 0 IO-APIC 9-fasteoi acpi
12: 183 0 821 0 IO-APIC 12-edge i8042
14: 0 0 0 0 IO-APIC 14-edge ata_piix
15: 0 0 0 0 IO-APIC 15-edge ata_piix
.