linux问题解答

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>的命令行使用帮助。

 最后根据帮助运行命令

示例二 重启MySQL https://www.cnblogs.com/wuheng1991/p/7064067.html
[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的命令:pwdwhich 

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:列出所有打开的文件

posted @ 2018-10-06 20:57  有梦就要去实现他  阅读(234)  评论(0编辑  收藏  举报