系统中输入输出管理
1)理解系统的输入输出
[root@xxxxx xxx~]# date ##date字符存储在内存
[root@foundation8 ~]# date > /dev/pts/1
Sat Sep 28 12:32:30 CST 2019 ##“Sat Sep 28 12:32:30 CST 2019” 存储在字符显示设备文件
测试硬盘运行速度:
dd if=/dev/zero of=/mnt/file bs=1M count=1000
测试内存运行速度:
dd if=/dev/zero of=/dev/shm/file bs=1M count=1000
字符显示设备(/dev/pts/文件)
重定向输出显示文件:
[root@xxxxx xxx~]# date >/dev/pts/1 将显示的内容重定向显示到1字符显示设备
2)管理输入输出的符号
shell输出种类:
正确输出1
错误输出2
普通用户下:
输出重定向:
> 重定向正确输出
2> 重定向错误输出
&> 重定向所有输出
>> 追加
注:重定向会覆盖原来文件内容
例子:
find /etc/ -name passwd > file.out 将编号为1的输出放入file.out中
find /etc/ -name passwd 2> file.err 将编号为2的输出放入file.err中
find /etc/ -name passwd &> file.all 将所有输出放到文件file.all中
建立文件的方式:
touch file{1..100} 建立100个文件
vim file2
gedit file3
> file4
添加内容 echo
[root@foundation8 ~]# echo hahahah
hahahah
3)管道的应用
wc file 显示什么东西
| 将前命令一输出作为下命令一输入
需要保存输出内容,复制一份,则用tee
wc -l 行数
wc -w 单词数
wc -c 字节数
wc -m 字符数
find /etc/ -name passwd | wc -l 正确行数显示
find /etc/ -name passwd | tee file | wc -l 复制一份到file中
find /etc/ -name passwd 2>&1 | tee file | wc -l 将编号为2的转成编号为1的 输出一份到file中 并显示行数
4)输入重定向
单行输入重定向
tr 'a-z' 'A-Z' < file 将文件里的小写字母转成大写
多行重定向(脚本)
[root@xxxx xxx~]# cat westos.sh
date ##日期
cal ##月日历
passwd << EOF ##多行重定向
hahah
hahah
EOF
[root@xxxx xxx~]#
5)用户在系统中的存储方式
/etc/passwd
用户信息文件
用户名称:密码:uid:gid:说明:家目录:默认shell
/etc/shells文件
/etc/group
用户组信息文件
组的名字:组密码:组id:组成员
/etc/shadows
认证信息文件
/etc/skel/.*
默认开启shellde 配置,用户骨文件
/etc/username
用户的家目录
vim /etc/paswd
vim /etc/group
6)用户查看
1.查看当前用户
whoami ##查看当前用户##
2.系统中用户的
id [opt] [用户名]
-u 所在家
-g 所在组
-G 所在主组
-n 显示名字