一、系统中输入输出的管理
1.理解系统的输入输出
命令输出的结果就是输出,经过cpu处理显示到字符设备。
1为正确输出,2为错误输出。
2.管理输入输出的符号
##输出重定向
> ##重定向正确输出
2> ##重定向错误输出
&> ##重定向所有输出
注意:
重定向会覆盖原文件内容
示例:以下实验必须在student用户下完成
find /etc/ -name passwd > file ##定向正确输出到file
find /etc/ -name passwd 2> file.err ##定向错误输出到file.err
find /etc/ -name passwd &> file.all ##定向所有输出到file.all
> file ##清空file
##输出追加
>> ##追加正确输出到文件最后
2>> ##追加错误输出到文件最后
&>> ##追加所有输出到文件最后
注意:
追加不会覆盖原文件内容
示例:
find /etc/ -name passwd >> file ##追加正确输出到file
find /etc/ -name passwd 2>> file.err ##追加错误输出到file.err
find /etc/ -name passwd &>> file.all ##追加所有输出到file.all
## 输入重定向
输入重定向
tr 'a-z' 'A-Z' < westos
格式化输入内容到文件
cat > westos << EOF
hello
world
EOF
将正确输出定向到file:
将错误输出定向到file1:
将所有输出定向到file2:
清空file:
重定向会覆盖源文件:
输出追加:
输入重定向,使用指定的文件作为输入,例:用户修改密码时输入新密码,需要重复输入两次,为了方便,可以在一个文件中用重定向的方法,输入所要修改的密码。
给定向文件执行权力744,在执行文件(./file),即修改密码。
二、管道
符号:|
表示含义:将前一条命令的正确输出作为管道符后面的标准输入。
管道符可以多次使用。
要使错误输出也通过管道需要使用2>&1,把错误输出转换为正确输出。
如果想保存之前的输出可以用tee命令。
显示/etc/passwd文件15-18行:
/dev/null 系统垃圾箱,黑洞。
三、进程的理解
程序放置在存储媒体中,为实体文件的型态存在
进程:程序被触发后,执行者的权限与属性、程序的程序码与所需数据等都会被载入内存中,操作系统并给予这个内存中的单元一个识别码(PID),可以说,进程就是一个在运行中程序。
四、进程状态
R (Running):该程序正在运行中
S(Sleep):该程序目前在睡眠状态(idle),但可以被唤醒
D:不可以被唤醒的状态,通常可能在等待I/O的情况。
T: 停止状态(stop),可能是在工作控制(背景暂停)或除错(traced)状态。
Z(Zombie):僵尸状态,程序已经终止但却无法被移除至内存外。
进程查看命令
ps -A ##所有进程
-a ##在当前环境中运行的进程,不包含环境信息
-U ##显示进程用户信息
a ##在当前环境中运行的进程
x ##列出系统中所有运行包含tty输出设备
f ##显示进程的父子关系
e ##显示进程的详细信息(资源系统的调用)
## ps常用组合
ps aux ##显示系统中所有进程并显示进程用户
ps ef ##显示进程中的详细信息并显示进程的父子关系
ps ax ##显示当前系统中的所有进程
pstree ##显示当前系统的进程树
## 显示进程指定信息
ps -o xxx ##显示进程的指定信息
comn ##进程名称
user ##进程所有人
group ##进程所有组
%cpu ##进程cpu使用率
%mem ##进程内存使用率
pid ##进程id
nice ##进程优先级