管道和 "-"
tar cvf /home | tar xvf -
用-来代替 stdout stdin
这个和管道的区别: 管道是输出字符流, 这个是将前面的视为文件.
tee 双重导向
-a | 累加写入 file |
# 两个重定向 ls | tee a.txt Desktop Downloads Dropbox goagent Work cat a.txt ...... ls | tee a.txt > b.txt
jobs
ctrl+z: 任务是暂停的 ctrl+y: 只有当进程试图从终端读取输入时才被挂起 &: 任务是在后台进行的 fg: 让进程在前台运行
-l | 列出 PID 和 进程名 |
-p | 只 PID 号码 |
-r | 运行的 run |
-s | 暂停的 stop |
%N | 作业编号 |
%STRING | 命令以 STRING 开头的 |
%?STRING | 命令包含 STRING |
%+ | 最近被调用的 |
%% | 最近被调用的 |
%- | 迪尔格最近被调用的 |
jobs [1]+ Stopped cat > a [2]- Stopped cat > b # fg 此时执行 fg 就取出 cat a, 默认是取出 +号的 # 要想取出 2, 就用 fg 2, 或者用 fg - # 也可以用 fg ?b, 但是 fg ?a 就不行了, 和 cat 有冲突
kill
-i | interactive, 若要删除有提示 |
-e | exact, 加上名字不超过 15 个字符 |
-I | 忽略大小写 |
SIGNAL 信号
-l | 列出 SIGNAL |
-1 | 重新读取一次参数的配置文件 |
-2 | ctrl+c |
-9 | 强制删除一个工作 |
-15 | 以正常的程序方式终止一项工作 |
-17 | ctrl+z |
一般 PID 默认情况下是可以省略 %号, 但也有例外, 工作控制等.
kill -SIGNAL PID
ps
列出在后台执行的顺序
-A, -e | 将所有的 process 全部显示出来 |
-a | 和 terminal 没关的 process |
-x | 和 -a 一起使用, 列出比较完整的信息 |
输出格式规则
l | long format |
j | job format |
-f | 完整的输出 |
l 的格式
F: flags
4 代表 root
1 代表子程序
S: STAT
R:running
S:Sleep
D: 不可被唤醒的睡眠状态
T: Stop
Z: Zombie(僵尸状态)程序已经终止但却不能移除至内存
UID/PID/PPID…
C: 代表 CPU 使用率.
ADDR: kernel function., 指出程序在内存的哪个部分, running -
SZ: 代表程序用掉多少内存
WCHAN: 表示目前程序是否运行, -, 表示在运行.
TTY: 登入者的终端位置, 远程登录则使用动态终端接口(pts/n);
TIME: 使用掉的 CPU 时间, 花费 CPU 的时间.
CMD: COMMAND 名字.
trap
trap "echo ‘you hit control-c‘" INT trap "echo ‘you try to kill me‘" TERM while true; do sleep 60 done
wait
等待上面的任务完成才做下面的, 防止并发.
do something…
wait
do another thing
at
-f <FILEnAME> | 所要执行的文件 |
-l | 列出当前搜有等待运行的工作. atq |
-r | 清除 atm |
-m | 完成工作后发送邮件给用户 |
TIME | H HH.MM HH:MM H:M, 支持 a.m 和 p.m |
DATE | today, tomorrow |
at now + 2minute at 11.10pm atq 列出 atrm +N 先用 atq 看下是哪个程序,然后删除
batch 当系统空闲时候才执行工作
crontab:
MINUTE HOUR DAY MONTH WEEK COMMAND # 如果没有限定需要用 *.
注: 周日用 0 表示, 表示要在周日和周一运行 COMMAND, 1,0, 周时间和日月时间不应该同时存在
0 22 * * * dropbox start # 表示每天的 22:00 运行 dropbox 來备份 */5 * * * * COMMAND # 表示每隔 5 分钟执行一次 crontab FILENAME
export EDITOR="emacs"
-u <user> | define user |
-e | edit user‘s crontab |
-l | list user‘s crontab |
-r | delete user‘s crontab |
-i | prompt before deleting |
-n <host> | set host in cluster to run users‘ crontabs |
-c | get host in cluster to run users‘ crontabs |
-x <mask> | enable debugging |
backup file /var/spool/cron/USER # root
daemon
常驻在内存当中. 一直在后台工作的进程.
top
-d | 后面接秒数, 默认是 5 秒,画面更新的秒数 |
-b | 以批次的方式执行 top |
-n | 和-b 搭配,表示需要进行几次 top 的输出结果 |
-p | 指定某些 PID 进行观察检测 |
按键:
? | 显示可以输入的按键指令 |
P | 以 CPU 使用资源排序显示 |
M | 以 Memory 的使用资源排序显示 |
N | 以 PID 排序 |
T | 由 CPU 时间排序 |
k | 给某个 PID 一个讯号(signal) |
r | 给某个 PID 重新制定一个 nice 值 |
q | 离开 top 的案件 |
free
列出内存信息
时间: 2024-10-13 10:57:28