(待修改)
一、基础命令
1、ps
ps -A #所有的进程均显示出来
ps -e #此参数的效果和指定"A"参数相同
ps -a #查看正在运行的终端上的正在运行的所有进程,包括后台运行的进程。
ping 192.168.42.1 & #让进程在后台运行
jobs #查看后台运行的进程
kill %n n:n是作业号
ps -u apache (需先安装)#以用户为主的格式来显示程序状况。
ps -ax #
ps -l #
UID : 用户id
PID : 进程id
PPID : 父进程id
PRI : 优先级
NI : nice值,可通过其值改变优先级
ADDR : 进程在内存中占用的位置
SZ : 进程所占内存空间大小
WCHAN :进程是否在运行,-:运行
TIME :进程占用cpu时间
CMD n
ps -aux#显示所有包含其他使用者的行程
USER :执行进程的用户
PID :进程Id
%CPU :占用的 CPU 使用率
%MEM :占用的记忆体使用率
VSZ :虚拟内存
RSS :固定内存
STAT :进程状态
START:该行程的状态
TIME:执行的时间
COMMAND:所执行的指令
状态补充:
D: 不可中断的静止
R: 正在执行中
S: 静止状态
T: 暂停执行
Z: 不存在但暂时无法消除
W: 没有足够的记忆体分页可分配
< : 高优先序的行程
N: 低优先序的行程
L: 有记忆体分页分配并锁在记忆体内
2、top(用于实时监测系统资源使用状况,包含,进程、cpu,内存等)
1)、
系统时间 状态 运行时间 登录用户 CPU负载
进程总数状态的进程
us: 用户态程序占CPU%
sy: 内核态程序占CPU%
ni: 调整过进程优先级的进程占用CPI的百分比。该值异常,意味着进程运行的优先级不合理;
id: CPU空转时间占用总时间的百分比。
wa: IO阻塞影响CPU效率的百分比。
hi: 硬中断,例如与总线控制或硬件相关的调运CPU上下文切换产生的时间站CPU总时间的百分比。
si: 软终端,例如IO阻塞导致到CPU上下文切换产生的时间占用CPU总时间的百分比。
st: 被hypervisor(虚拟化层,虚拟机监控器)偷去的时间,实现虚拟化的程序占用CPU的时间百分比。
3)、
top -d 1 #屏幕刷新间隔时间
top -n 10 #显示循环次数
top -o #改变显示项目的顺序
top -w 55 显示宽度
top -u apache# 指定用户名
top -p 11211(进程号):指定进程
top -PID #倒叙
4)、在该命令中常用快捷键
h显示快捷键帮助
k终止一个进程
i开/关忽略闲置和僵死进程
q退出程序
r 重新安排一个进程的优先级别
S 切换到累计模式
s更改刷新间隔时间,单位秒
f,F 从当前显示中添加或者删除项目
o,O 改变显示项目的顺序
l 切换显示平均负载和启动时间信息
m 切换显示内存信息
t 切换显示进程和CPU状态信息
c切换显示命令名称和完整命令行
M 根据内存使用大小排序
P根据CPU使用率进行排序 (默认排序)
T根据时间/累计时间进行排序
w将当前设置写入~/.toprc文件中
1展开多核cpu显示
L 按字段查找
3、ulimit(限制系统用户对shell资源的访问。)
1)、 ulimit -Sx 1024 #限制进程锁
ulimit -Hx 1024
ulimit -Su 1024 #限制进程用户
ulimit -Hu 1024
ulimit -Hn 1024 #限制文件描述符
ulimit -Sn 1024
补充: -H(设置硬资源限制,一旦设置不能增加。)
-S(设置软资源限制,设置后可以增加,但是不能超过硬资源设置。)
2)、
-a 显示当前所有的资源限制;
-c size: 设置core文件的最大值,单位:blocks;
-d size: 设置数据段的最大值,单位:kbytes;
-f size: 设置创建文件的最大值,单位:blocks;
-H: 设置硬件资源限制;
-l size: 设置在内存中锁定进程的最大值,单位:kbytes;
-m size: 设置可以使用的常驻内存的最大值,单位:kbytes;
-n size: 设置内核可以同时打开的文件描述符的最大值;
-p size: 设置管道缓冲区的最大值,单位:kbytes;
-s size: 设置堆栈的最大值,单位:kbytes;
-S: 设置软件资源限制;
-t size: 设置CPU使用时间的最大上限,单位:seconds;
-v size: 设置虚拟内存的最大值.单位:kbytes
补充:size的值不一定要求是数字,可以是unlimited,表示没有限制。
4、mkdir(创建一个目录或一个级联目录)
格式:mkdir [选项] 目录名
mkdir honey01
mkdir -m 022 honey01#为目录指定访问权限
mkdir -p dir003/123/456/789/ #如果目录已经存在,则不会有错误提示。若父目录不存在,将会创建父目录。该选项常用于创建级联目录。
mkdir -pv dir004/123/456/789/
mkdir dir004 dir005
mkdir fir{001..100} #创建多个目录
5、more (和cat一样都是查看文件里的内容,但不同的是more可按页来查看文件的内容,还支持直接跳转行等功能。
1)、
more +/vmw honey #匹配文本内容
more +50(行数) honey #匹配文本行数
+n # 从笫n行开始显示
-n # 定义屏幕大小为n行
+/pattern(字符串)#在每个档案显示前搜寻该字串,然后从该字串前两行之后开始显示
-c #从顶部清屏,然后显示
-d #提示“Pressspacetocontinue,’q’toquit(按空格键继续,按q键退出)”,禁用响铃功能
-l #忽略Ctrl+l(换页)字符
-p #通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
-s #把连续的多个空行显示为一行
-u #把文件内容中的下画线去掉
2)、常用操作命令:
Enter向下n行,需要定义。默认为1行
Ctrl+F向下滚动一屏
空格键向下滚动一屏
Ctrl+B返回上一屏
=输出当前行的行号
:f输出文件名和当前行的行号
V调用vi编辑器
!命令调用Shell,并执行命令
6、cat
1)、功能:一次显示整个文件
从键盘创建一个文件(只能创建新文件,不能编辑已有文件)
将几个文件合并为一个文件
2)、
cat -n 文件名 #显示行号,包括所有空白行
cat -b 文件名 #显示行号,不包括空行
cat -s 文件名 #多个空行显示为一个
cat -v 文件名 #识别特殊符号
cat -E文件名 #在每行结尾加$
cat -T 文件名 #识别TAB
cat -A文件名 #特殊符号,$,TAB
cat -e 文件名 #特殊符号$
cat -t 文件名 #特殊符号,识别TAB
cat /etc/passwad >>honey #将内容追加到honey的后面,不会覆盖掉原有的内容
7、diff(分析文件信息)
diff file1 file3 -y -W 150
vimdiff file1 file3
8、grep
1)、是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。表示全局正则表达式版本,它的使用权限是所有用户。
2)、
grep -n 'i' honey #打印匹配到的内容的行号
grep -w 'ROOT' passwd #默认以字符匹配,w以单词匹配
grep -i 'ROOT' passwd #不区分大小写
grep -o 'ROOT' passwd #只显示匹配到的内容
grep -v 'ROOT' passwd #取反
grep -nB 2 'ROOT' passwd #之前n行
grep -nA 2 'ROOT' passwd #之后n行
grep -nC 2 'ROOT' passwd #上下n行
9、touch(用于创建、更改和修改文件的时间戳)
touch :默认文件存在,修改文件访问属性,文件不存在,创建文件
touch -a file2 #修改文件access时间
touch -c file4 #不创建文件
touch -d 19710101 file3 #指定时间创建文件
touch -r file8 file9 #按指定文件的时间创建文件
touch -t 197107010101 file9 #将时间修改为指定时间
补充:access 表示最后一次访问(仅仅是访问,没有改动)文件的时间
modify 表示最后一次修改文件的时间
change 表示最后一次对文件属性改变的时间,包括权限,大小,属性等等
10、cp
1)、将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。
2)、
cp -r honey happu #递归复制目录
cp -d file1 file3 #复制链接
cp -p file file.bak3 #不修改源文件的文件属性(时间戳,文件属主属组(root))
cp -P /opt/file1 file6 #复制完整链接
11、find(在目录结构中搜索文件,并执行指定的操作)
find 搜索路径 [选项] 搜索内容
[root@localhost ~]# find / -name honey03(根后面有空格)#在目录下査找文件名是honey03的文件
find.-iname abc#使用-iname,同时包含大小写。
find . -perm 777#查找权限为777的所有SGID文件
find . -user test01#查找基于用户的单个文件
find . -group test01#查找基于组的所有文件
find / -size +50k -a -size -60k -exec ls -l {} ;#查找当前目录下大于50k小于60k的文件
12、rm
1)、可以删除一个目录中的一个或多个文件或目录,将某个目录及其下属的所有文件及其子目录均删除掉,对于链接文件,只是删除整个链接文件,而原有文件保持不变
2)、删除原理: 本质删除的是文件名
3)、
-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
--preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程;
\rm -ir fir075
13、split(可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段)
-b:值为每一输出档案的大小,单位为 byte。
-c:每一输出档中,单行的最大 byte 数
-d:使用数字作为后缀。
-l:值为每一输出档的列数大小。
split -b 10k momoda -d -a 5#-d为用数字做后缀、-a为指定后缀长度
split -b 10k momoda #将momoda文件分割成大小为10k的小文件
14、mv(移动文件或者将文件改名)
1)、
-b :若需覆盖文件,则覆盖前先行备份。
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会更新(update)
-t : 指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
2)、
[root@admin ~]# mv -t opt ./*#-t 指向移动的目录
mv sweet maohaohao2 #把文件移动到目录中(若目录存在将文件移到到目录,若目录不存在,则将源文件改名)