job
直接将命令丢到后台中执行:
&
例:
rm -rf ~/test/ &
将工作丢在后台里暂停:
[ctrl] + z
查看后台工作状态:
jobs
同时查看进程号:jobs -l
将后台工作拿到前台处理:
fg %jobnumber
例:fg %1
将后台工作变成运行状态:
bg %jobnumber
例:bg %1
删除工作:
kill -9 %jobnumber
亦可:kill -9 PID
进程管理
查看所有进程:
ps -A
仅查看自己的bash相关进程:
ps -l
进程状态
|-R(Running) | S(Sleep) state | D(Uninterruptable) | T(Stop) |-Z(Zombie) "僵尸"状态
PRI/NI: Priority/Nice 进程优先级
TTY:登录者的终端位置,若为远程登录则使用动态终端接口(pts/n)动态查看进程变化:
top
指定n秒更新一次:
top -d n
指定某个进程:
top -p PID
查看所有进程的进程树:
pstree -A
更改进程优先级:
PRI(new)=PRI(old)+nice
把vi优先级提高5:
nice -n -5 vi
PID的nice改为-5:
renice -5 PID
进程管控
|-1 SIGHUP 重启进程 | 2 SIGINT 中断([ctrl]-c) signal | 9 SIGKILL 强制中断 | 15 SIGTERM 正常的结束 |-17 SIGSTOP 暂停([ctrl]-z)
kill:
kill -signal PID(%jobnumber)
killall:
killall [-iIe] [command name] -i -- interactive 交互式的 -e -- exact 后接的command name要一致 -I -- 命令忽略大小写
例:强制终止所有以httpd启动的服务
killall -9 httpd
例:依次询问每个bash进程是否需要被终止
killall -i -9 bash
输出:
kill bash(16905) ? (y/N) n <== 这个不杀 kill bash(17351) ? (y/N) y <== 这个杀掉
启动相关
目录
/boot ---grub 引导装载程序 ---vmlinuz 内核文件 --- --- /lib/modules 内核模块(可动态加载) /etc 主要是一些配置文件 /proc 伪文件系统(虚拟文件)
- grub
要想通过更新grub来添加windows启动项(双系统),首先要保证linux能识别windows ntfs文件系统。 - /proc
a. 各进程的PID都以目录类型存在/proc中;
b. 文件可以查看进程信息,甚至修改后能改变运行状态;
c. cat时可返回大量信息,但文件大小为0(存在于RAM中);
d. /proc下的文件 —— 系统参数; - 进程init
配置文件:/etc/inittab
系统&用户
输出系统的基本信息
uname -a
su
su 切换到root用户 su -l xxx 切换到xxx用户
用户资源
linux对每个用户都限制其各种资源占用数量:ulimit -a 查看限制情况 ulimit -d unlimited 设置数据段长度不限 ulimit -m unlimited 设置最大内存不限 ulimit -s unlimited 设置堆栈大小不限 ulimit -c unlimited 设置core文件大小不限
系统环境变量配置
【系统级文件】/etc/profile: 在登录时,操作系统定制用户环境时使用的第一个文件,一般会调用/etc/bash.bashrc文件。 /etc/bash.bashrc: 系统级的bashrc文件,bash shell被打开时,该文件被读取。 /etc/environment: 登录操作系统时使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。
【用户级文件】
~/.profile: 登录时用到的第三个文件,设置用户的环境变量并执行用户的.bashrc文件。 ~/.bashrc: 文件包含专用于你的bash shell的bash信息,每打开一个shell,会被执行一次。
权限
SUID: set user ID SGID: set group ID
passwd执行时会取得一个新的进程与PID,PID产生时通过SUID给予该PID特殊的权限设置。
- 文件
p 管道文件
d 目录文件
l 符号链接文件
- 普通文件
s socket文件
c 字符设备文件
b 块设备文件
other
- ll命令
用"ll"命令显示文件时,后面有带*的表示可执行文件。(文件名后面带*) 软链接
创建软链接ln -s ~/xujibin/abc.c sabc.c => sabc.c移到其他目录后,软链接仍然有效
ln -s ./xjb/abc.c sabc.c => sabc.c移到其他目录后,软链接无效
注意:
用真实文件去替换软链接文件时,实际会替换掉软链接所指向的文件,软链接文件不受影响。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。