1.Linux如何查询进程?杀死一个进程?
ps命令提供进程的一次性查看(瞬时信息),结果不是动态的;top对命令实时监控
ps只是查看进程,而top还可以监视系统性能,如平均负载,cpu和内存的消耗;另外top还可以操作进程,如改变优先级(命令r)和关闭进程(命令k)
top命令:
a.对应说明:
(1)第1行分别显示:系统当前时间、系统运行时间、当前用户登录数和系统负载。
系统负载有3个数值,分别是系统最近1min、5min、15min的平均负载。一般对于单个处理器来说,负载在0~1.00是正常的,超过1.00就要引起注意了。在多核处理器中,
系统均值不应该高于处理器核心的总数。
(2)第2行分别显示:total(进程总数)、running(正在运行的进程数)、sleeping(睡眠的进程数)、stopped(停止的进程数)和zombie(僵尸进程数)
(3)第3行分别显示:%us(用户空间占用CPU百分比)、%sy(内核空间占用CPU百分比)、%ni(用户进程空间内改变过优先级的进程占用CPU百分比)、
%id(空闲CPU百分比)、%wa(等待输入输出(I/O)的CPU时间百分比)、%hi(CPU处理硬件中断的时间)、%si(CPU处理软中断的时间)、%st(用于有虚拟CPU的情况)。
通常id%值可以反映一个系统CPU的闲忙程度。
(4)第4行显示内存MEM的数据:total(物理内存总量)、used(使用的物理内存总量)、free(空闲内存总量)、buffers(用作内核缓存的内存量)。
(5)第5行则显示交换器SWAP的数据:total(交换区总量)、used(使用的交换区总量)、free(空闲交换区总量)、cached(缓冲的交换区总量)。
PID:进程的ID USER:进程所有者 PR:进程的优先级别,越小越优先被执行 NInice:值
VIRT:进程占用的虚拟内存 RES:进程占用的物理内存 SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率 %MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值 COMMAND:进程启动命令名称
b.打开之后可以输入一些键改变显示(注意大小写):
s - 改变画面更新频率 l - 关闭或开启第一部分第一行 top 信息的表示 t - 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示
m - 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示 N - 以 PID 的大小的顺序排列表示进程列表 n - 设置在进程列表所显示进程的数量
P - 以 CPU 占用率大小的顺序排列进程列表 M - 以内存占用率大小的顺序排列进程列表 h - 显示帮助 q - 退出 top
具体使用:
top命令后,查看%MEM的内容。如果想查看用户的进程内存使用情况:top -u +用户名;如果想查看某一个进程内存使用情况:top -p +pid(进程的id)
ps命令:
ps -u username:查看用户的进程
ps -ef:显示所有进程
ps -ef | grep yushan:查看特定进程
ps aux:查看所有在内存中的进程
杀死一个进程: kill+pid,kill+进程名字,kill 9 + pid:强制终止
2.文件权限,改变权限命令
文件权限:
Linux用 户分为:拥有者、组群(Group)、其他(other)
chmod 777 + 文件名
不具任何权限,数字代号为“0”
查看文件权限命令:ls -l + 文件名
3.Linux中查看服务的命令
先查看服务在每个级别的运行状态
chkconfig --list
然后
格式:service <service> 打印指定服务<service>的命令行使用帮助。
最后根据帮助运行命令
[root@node34 root]# service mysql mysql: unrecognized service [root@node34 root]# service mysqld 用法:/etc/init.d/mysqld {start|stop|status|condrestart|restart} [root@node34 root]# service mysqld status mysqld (pid 1638) 正在运行... [root@node34 root]# service mysqld restart 停止 MySQL: [ 确定 ] 启动 MySQL: [ 确定 ] [root@node34 root]#
4.linux查看内存
你如果查看进程的内存肯定用top和ps
如果看整个电脑用free(-m:以mb为单位,-k:以kb为单位):
free -m total used free shared buffers cached Mem: 2016 1973 42 0 163 1497 -/+ buffers/cache: 312 1703 Swap: 4094 0 4094
第一行:total:内存总数; used:已经使用的内存数; free:空闲的内存数; shared:当前已经废弃不用; buffers Buffer:缓存内存数; cached Page:缓存内存数。
5.查看磁盘空间的命令,查看文件大小
df查看磁盘空间,以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息
du查看文件和目录磁盘使用的空间的查看
两个加h都是以kb,mb,gb显示
7.创建文件的方法,创建文件夹
touch + 文件名:创建文件
mkdir + 文件夹名:创建文件夹 -p递归创建,如果第一个文件夹没有,顺带第一个文件夹也创建
9.ls ll
ls -l是ll命令的完整命令,也可以说ll是ls -l的一个别名
列出更详细的信息,比如时间、文件大小、文件权限等
ll会列出该文件下的所有文件信息,包括隐藏的文件,而ls -l只列出显式文件,说明这两个命令还是不等同的
13.cat head tail more less
vi (vim)文件名-----#编辑方式查看,可修改
cat 文件名--------#显示全部文件内容
more 文件名-------#分页显示文件内容
head 文件名-------#仅查看头部,还可以指定行数
tail 文件名-------- #仅查看尾部,还可以指定行数
sed -n ‘num1,num2p’ 文件名-#这个可以指定起始行num1和结束行num2
a.如果你只想看文件的前5行,可以使用head命令,如:
head -5 /etc/passwd
b.如果你想查看文件的后10行,可以使用tail命令,如:
tail -10 /etc/passwd 或 tail -n 10 /etc/passwd
c.查看文件中间一段,你可以使用sed命令,如:
sed -n ‘5,10p’ /etc/passwd
这样你就可以只查看文件的第5行到第10行。
14.linux怎么查看IO占用
iotop:读写,io>是占比
16.linux统计文件的行数、字数、字节数?
wc -c filename 查看文件字节数
wc -l filename 查看文件里有多少行
wc -w filename 查看文件里有多少个字。
wc -L filename 文件里最长的那一行是多少个字。
17.Linux软链接和硬链接
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接,不必重复的占用磁盘空间
ln加s就是软链接,不加s就是硬链接,ln [-s] [源文件或目录] [目标文件或目录]
软链接:1、路径形式存在,类似快捷方式,
2、可以跨文件系统,
3、文件、目录都可以链接,
硬链接:1、以文件副本形式存在,但是不占用实际空间
2、不予许给目录创建硬链接,防止出现目录环
3、不能跨文件系统
18.Linux的命令:pwd、which
pwd:当前所在的工作目录的绝对路径
which:在环境变量$PATH的指定路径中搜索命令所在位置
20.grep find 删除某个目录下及其子目录下的所有txt文件
find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等
grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找
find /home -name "*.txt"(记得加-name) 在/home
目录下查找以.txt结尾的文件名 -iname忽略大小写
find . -type 类型参数 根据文件类型搜索
find / -size +10000c #查找出大于10000000字节的文件
grep -nr apple:在当前目录所有文件和所有子目录的文件里找apple字符串
grep -n apple就是在当前目录所有文件找apple字符串
-r递归搜索子目录
删除某个目录下及其子目录下的所有txt文件: find . -name "*.txt" -ex rm -rf {} \;
22.管道命令
管道符,你可以认为它是一根水管,连接 输入端和输出端,a | b。其中,| 就是管道符,将输入端a命令产生的数据传给输出端的 b命令来处理。管道符后的命令会在新建shell中执行,而新建shell必然就涉及资源的占用。因此,能在一个命令中完成的,不要用管道符分两个命令处理,且对错误信息信息没有直接处理能力。
重定向是直接把输出转到文件去,重定向符号后面接文件,管道后面应该接的是命令,不是文件。
23.netstat
Linux netstat命令用于显示网络状态,可让你得知整个Linux系统的网络情况,显示所有的端口
etstat -a #列出所有端口
24.Scp 和cp区别
cp在本机不同目录复制
scp在不同linux系统下复制,比如本地复制到服务器,服务器复制到本机
26.添加用户的命令是什么
useradd -g test -d /home/test1 -s /etc/bash -m test1
注解:-g 所属组 -d 家目录 -s 所用的SHELL
删除用户命令
userdel -r test1
创建密码命令
passwd
28.linux查看端口号的进程,看一个端口被什么进程占用
lsof -i 用以显示符合条件的进程情况
lsof -i:端口号,用于查看某一端口的占用情况,比如查看22号端口使用情况,lsof -i:22
33.如何查看一个进程打开了哪些文件
lsof -p + 进程号
lsof:列出所有打开的文件