Linux管道及重定向

来源:互联网 发布:喜马拉雅mac版下载 编辑:程序博客网 时间:2024/05/29 07:39
内置命令看帮助是help umask
进程  新建文件、目录的默认权限会受到umask的影响,umask表示要减掉的权限.
四大资源:IO,内存,cpu,网络
程序文件只在硬盘占了部分容量,不占IO,不占内存,不分配CPU,不分配网络
进程标识:PID,PPID(父进程)
进程:IO需要分配,内存需要分配,CPU需要分配(分配的是时间片),网络需要分配
进程的生命周期:
lscpu查看CPU信息
父进程复制自己的地址空间(fork)创建一个新的子进程结构,每个新进程分配一个唯一的进程ID,满足跟踪安全性之需。
PID和父进程ID(ppid)是子进程环境的元素,任何进程都可以创建子进程,所有进程都是第一个系统进程的后代。
子进程继承父进程的安全性身份,过去和当前的文件描述符、端口和资源特权,环境变量,以及程序代码。随后,子进程可能exec自己的程序代码。
通常,父进程在子进程运行期间处于睡眠状态,当子进程完成时发出(exit)信号请求,在退出时子进程已经关闭或丢弃了其资源环境,剩余的部分称之为僵停。父进程在子进程退出时受到信号而被唤醒,清理剩余的结构,然后执行其自己的程序代码。
%CPU:占CPU的百分比,%MEM:占内存的百分比,VSZ:占用虚拟内存,TTY:表示在哪个终端运行?表示不依赖于某个终端,RSS:实际占用内存。
state:进程状态R:运行,S:可中断睡眠,D:不可中断睡眠,T:停止的进程,Z僵尸进程,X死掉的进程。
TIME:进程占用CPU的总时间,COMMAND;进程文件,进程名
ps aux --sort %cpu|less
ps aux --sort -%cpu |less
ps auxf |grep httpd
ps -ef
ps axo pid,ppid,user,%cpu,command |less
查看指定进程的PID
1.cat /run/sshd
2.ps aux |grep sshd
3.pgrep -l sshd
4.pgrep sshd
5.pidof sshd
pstree:查看进程树
top:动态获取进程信息,默认3秒钟更新一次,回车键瞬时更新,top -d 1更改为1秒更新一次
信号控制进程
1)SIGHUP重新加载配置PID不变
2)SIGINT键盘中断
3)SIGQUIT键盘退出
9)SIGKILL强制终止
15)SIGTERM终止
18)SIGCONT继续
19)SIGSTOP终止
20)SIGTSTP暂停
重定向
echo $$查看当前进程号
ll /proc/$$/fd查看当前进程的fd文件描述符,0代表标准输入,1代表标准输出,2代表标准错误,大多数时候这三个描述符都是通用的
>重定向,>>追加
:正确和错误输出重定向到同一个文件:
1. ls /home /jdajdladjal &>list.txt
2.ls /home /jdlajldjal >list.txt 2>&1,把2重定向到文件描述符1中
输入重定向:mail -s "test01" alice < /etc/hosts来自于文件,带有主题
grep 'root' //没有改变输入的放向,默认键盘,此时等待输入
grep 'root' < /etc/passwd    //此时直接返回带有:root的内容
dd if=/dev/zero of=/file1.txt bs=1M count=20等价于dd </dev/zero >file2.txt bs=1M count=20
/dev/sda*设备文件,有主设备号从设备号
主设备号相同:表示为同一种设备类型,也可以认为kernel使用的是相同的驱动
从设备号:同一类型设备中的一个序号
常规文件有个文件大小,块设备文件有缓存,字符设备文件没有缓存
按UID排序:sort -t":" -k3 -n /etc/passwd
-t:指定字段分隔符,-k:指定列,-n:按字符串的数值排序,-r:反转
统计当前/etc/passwd中用户使用的shell类型
awk -F:'{print $7}' /etc/passwd |sort |uniq -c
-F:指定字段分隔符,$7:第七个字段
打印当前所有IP
ip add查看当前有关IP信息
ip a |grep 'inet ' |awk '{print $2}'此时得到127.0.0.1/8,192.168.2.109/24
ip a |grep 'inet ' |awk '{print $2}' |awk -F"/" '{print $1}'此时得到IP地址
打印跟分区已用空间的百分比(仅打印数字)
df -P |grep '/$' |awk'{print $5}' |awk -F"%" '{print $1}'
比较date >date.txt 与date |tee date.txt
top -d 1 -b -n 1 |tee top.txt一秒钟更新一次更改一次通过TEE管道写入top.txt文件中,并且还会在屏幕中显示
创建一个命名管道mkfifo a可以通过ll查看,管道文件读取之后就没了
重定向是重定向到一个文件中,管道是重定向到一个进程。
原创粉丝点击