LINUX : 权限与进程
权限
Linux系统中一切都是文件,文件和目录的所属与权限——来分别规定所有者、所有组、其余人的读,写,执行权限。读(read),写(write),执行e(xecute)简写即为(r,w,x),亦可用数字(4,2,1)表示。即八进制方式。
![]()
如果某文件权限为7则代表可读,可写,可执行(4+2+1)。若权限为6(4+2)则代表可读,可写.
ls -l //以长格式显示信息
- su su- 和 sudo
su username //切换到指定用户下
su - username //同时切换环境变量
sudo ~~ //以另一个用户的身份来执行命令
- chmod命令用于修改文件或目录的权限,格式为:”chmod [参数] 权限 文件或目录名称”
八进制 | 二进制 | 文件模式 |
---|---|---|
0 | 000 | |
1 | 001 | –x |
2 | 010 | -w- |
3 | 011 | -wx |
4 | 100 | r– |
5 | 101 | r-x |
6 | 110 | rw- |
7 | 111 | rwx |
故若修改权限的时候 即八进制的方式修改
chmod 755 a.txt //a.txt修改成当前主用户 读写执行 权限,组内和其他用户是读写权限
chmod -R 755 dir //递归的修改dir目录下所有文件的模式为 755
- chown命令用于修改文件或目录的所属主与所属群组,格式为:“chown [参数] 所属主:所属组 文件或目录名称”
chmod与chown的命令参数很简单记——对于文件不加参数,遇到目录加大写-R(递归,修改目录内所有文件的属性)。
chown -R hadoop:hadoop /soft/hadoop //将/soft/hadoop 目录及其子目录的所属用户和组都改成hadoop用户
- chgrp —— 修改文件的所属群组,和 chown使用方法一样
进程
Linux系统中时刻运行着许许多多的进程,如果能够合理的管理它们,绝对有益于系统的性能优化,系统进程总共有5种不同的状态:
R(运行):正在运行或在运行队列中等待。
S(中断):休眠中, 在等待某个条件的形成或接受到信号。
D(不可中断):收到信号不唤醒和不可运行, 进程必须等待直到有中断发生。
Z:(僵死):进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放。
T:(停止):进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行。
- ps命令用于查看系统中的进程状态,格式为:“ps [参数]”。能列出系统中运行的进程,包括进程号、命令、CPU使用量、内存使用量等,只是看一个快照
查看进程与状态:“ps -aux (列出所有运行中/激活进程)” 或者 “ps -ef (列出需要的进程)”
查找某个特定的进程信息: ps -ef | grep 进程名”
USER | PID | %CPU | %MEM | VSZ | RSS | TTY | STAT | START | TIME | COMMAND |
---|---|---|---|---|---|---|---|---|---|---|
进程的所有者 | 进程ID号 | 运算器占用率 | 内容占用率 | 虚拟内存使用量(单位是KB) | 占用的固定内存量(单位是KB) | 所在终端 | 进程状态 | 被启动的时间 | 实际使用CPU的时间 | 命令名称与参数 |
- top命令是一个更加有用的命令,用于监视进程的活动与系统负载,格式为:“top”,看动态视图,可理解“强化版的Windows任务管理器”
第1行:系统时间,运行时间,登陆用户数,系统负载(分别为1分钟、5分钟、15分钟的平均值)。
第2行:进程总数,运行中的,睡眠中的,停止的,僵尸的。
第3行:用户占用资源,系统内核占用资源,改变过优先级的进程,空闲的资源,等待输入输出的时间。
此行数据均为CPU数据并以百分比格式显示,例如”99.2 id”意味着有99.2%的CPU资源正在空闲中。
第4行:物理内存总量,使用量,空闲量,作为内核缓存的内存量。
第5行:虚拟内存总量,使用量,空闲量,已被提前加载的内存数据。
PID:进程ID号
USER:进程的所有者
PR:优先级
NI:优先级(负值表示优先级更高)
VIRT:虚拟内存使用量
RES:物理内存使用量
SHR:共享内存大小
S:进程状态(上文中有提到)
%CPU:运算器的使用百分比
%MEM:内存的使用百分比
TIME+:使用CPU的时间(单位是1/100秒)
COMMAND:命令名称
**控制进程** - **中断 : CTRL + C** - **在后台执行:在命令后面加上 “&” ** - **在前台执行:fg %作业编号,作业编号用jobs查**   - **停止/暂停进程:bg %作业编号,作业编号用jobs查;或者当进程在前台工作时,用*ctrl+z*快捷键**
- kill命令用于终止某个特定PID号码的进程,格式为:“kill [参数] [进程PID号]”
kill命令。该命令可以终止后台进程。至于终止后台进程的原因很多,或许是该进程占用的CPU时间过多;或许是该进程已经挂死。总之这种情况是经常发生的。Linux进程中的kill命令是通过向进程发送指定的信号来结束进程的。如果没有指定发送信号,那么默认值为TERM信号。TERM信号将终止所有不能捕获该信号的进程。
kill 4674 //终止PID为4674的进程
kill -9 4674 //强制终止PID为4674的进程
其中的”-9″代表强制终止(SIGKILL),也是最常用的一种信号参数,可强制杀死挂死或闲置的进程”
- pstree:linux中,每一个进程都是由其父进程创建的。此命令以可视化方式显示进程,通过显示进程的树状图来展示进程间关系。
参数 | 作用 |
---|---|
-a | 显示命令行参数 |
-h | 高亮显示当前进程及其祖先 |
-n | 输出按进程号排序 |
-p | 显示进程号;隐含 -c |
-u | 显示用户名变换 |
-Z | 显示 SELinux 安全环境 |
进程号 | 从 “进程号” 开始,缺省是1 |
用户 | 仅显示从该 “用户” 的进程开始的进程树 |
- htop:htop与top很类似,但是htop是交互式的文本模式的进程查看器。它通过文字图形化地显示每一个进程的CPU和内存使用量、swap使用量。使用上下光标键选择进程,F7和F8改变优先级,F9杀死进程。Htop不是系统默认安装的,所以需要额外安装。
htop 下载 : https://sourceforge.net/projects/htop 在这个网站 ,比如
wget http://jaist.dl.sourceforge.net/project/htop/htop/1.0.2/htop-1.0.2.tar.gz
下载好了之后,解压下载文件并且安装,主要是在root用户下,或者sudo
tar -zxvf *
./configure
make
make install
- w:w 提供当前登录的用户及其正在执行的进程的信息。显示信息头包含信息,如当前时间、系统运行时长、登录用户总数、过去的1,5,15分钟内的负载均衡数。