Linux(二)
一、帮助命令:man
1、查看一个命令的帮助命令:man [系统已有的指令]
假设输入:man ls -ll,会出现如下内容:
2、进入到一个完全交互式的环境查看跳转的帮助指示:info [系统已有的指令]
假设输入:info ls -ll,会出现和上图一样的内容,只是我们在查看某一部分的时候,鼠标定位到该处,按enter键,即可实现动态跳转。
二、Linux基本权限操作
1、chmod修改文件/目录权限
我们可以使用英文字母来代表各个权限,各个权限与数字的对应关系如下:
其中:(r、w、x)包含3个权限,
通过将3个权限对应的数字累加, 最终得到的值可作为每种用户所具有的权限。使用数字修改文件权限的chmod命令基本格式为:chmod 权限值 文件名拿index.py文件为例:d-wx-w-r-x:所有者、所属组和其他⼈分别对应的权限值为:所有者=wx=2+1=3,所属组 = w=2,其他人= r-x=4+1=5,此时对应的权限值就是325,此时通过输入命令:chmod 735 index.py,让其变为drwx-wxr-x形式。
2、chmod设置权限,将一个文件放到另一个目录里,但前提是,没有执行权限时,是不能进行复制剪切等操作。
假设将“log.txt”文件放到"target"目录下,此时查看权限是完全可以的。
但是,如果将"target"目录的权限进行修改,再将“page.py”文件放到"target"目录下,此时是不可以的。
2、chmod使用字母修改权限
既然文件的基本权限就是3种用户身份(所有者、所属组和其他⼈)搭配3种权限(rwx),chmod 命令中用 u、 g、o 分别代表3种身份,还有a表示全部的身份(all 的缩写)。另外,chmod 命令仍使用 r、w、x 分别表示 读、写、执行权限。 使用字母修改文件权限的chmod命令,其基本格式如图 所示:
3、默认权限umask
三、资源占用命令
1、查看内存:free -(单位m,g,h)
查看内存一般输入如下命令:free -h可以较为清晰的能够看到大小 :
(1) free命令默认是以kb为单位显示的,可以用free -m ,它是以Mb单位来显示。
(2) Mem行:total = used + free [used:为真实已占内存,free:为真实可用内存] ,其中,buffers/cached虽然计算在used内,但其实为可用内存。
(3)Swap行:内存交换区的使用情况。
2、整体负载:top
2-1、平均负载,输入命令:uptime
(1)第一行:系统时间 + 系统运行时间 + 几个用户 + 1/5/15分钟系统平均负载
(2)第二行:进程总数(total) + 正在运行进程数(running) + 睡眠进程数(sleeping) + 停止的进程数(stopped)+ 僵尸进程数(zombie)
常见的进程状态: D=不可中断的睡眠状态; R=运行; S=睡眠 ;T=跟踪/停止; Z=僵尸进程
(3)第三行:用户空间CPU占比(us) + 内核空间CPU占比(sy)+ CPU空置率(id)
下图的白色条纹:
PID:进程ID 、USER:用户名、 PR优先级、 NI:负值表示高优先级,正值表示低优先级
VIRT:虚拟内存 、RES:真实内存、 SHR:共享内存、 S:进程状态
2-2、查看磁盘的使用情况:输入命令:df -h 目录
2-3、top -d 2 :每隔2秒显示所有进程的资源占用情况。
2-4、top -c :每隔5秒显示进程的资源占用情况,并显示进程的命令行。
2-5、top-p pid :某一进程的占用系统资源的情况
2-6、在top的命令里面,按m是对内存进行排序,按p是按cpu进行排序。
3、监控Linux的各个资源信息:nmon
在该界面分别输入如下命令:c m n d 等命令,出现如下界面:
而:htop\atop:可视化会更好,但是需要安装
安装命令如下:yum install htop
输入:htop
安装命令如下: yum install atop
输入:atop
系统升级:yum update
四、端口查看
1、lsof
lsof(list open files)是一个列出当前系统打开文件的工具。
1-1、lsof 查看端口占用的命令为:sudo lsof -i:端口
比如,查看mysql端口的占用情况,输入如下命令:sudo lsof -i:3306
1-2、lsof 查看端口占用的命令为:sudo lsof -i | grep 名称
比如,查看mysql端口的占用情况,输入如下命令:sudo lsof -i | grep mysql
2、netstat
netstat -tunlp或者netstat -antup用于显示tcp、udp的端口和进程等相关情况。
tunlp:-t (tcp) 仅显示tcp相关选项 ;-u (udp)仅显示udp相关选项; -n 拒绝显示别名,能显示数字的全部转化为数字;-l 仅列出在Listen(监听)的服务状态;-p 显示建立相关链接的程序名。
2-1、netstat查看端口占用的命令为:netstat -tunlp | grep 端口号/服务名 或者 netstat -antup | grep 端口号/服务名
2-2、grep是过滤,只查看被查找的信息。常用的命令为:'系统认可的命令' | grep 文件
比如,查看tomcat的占用情况,输入如下命令:sudo netstat-tunlp | grep 8080/tomcat
比如,想要过滤出系统目录下的index.py文件,输入如下命令:ls -ll | grep index.py
而在windows里面查询端口占用的进程情况使用的命令为:netstat -ano | findstr 端口号
比如,查看http的端口号的占用情况,输入如下命令:netstat -ano | findstr 80
使用进程PID查询是哪个程序占用:tasklist | findstr "pid号"
比如,查看pid=4480被哪个程序的占用情况,输入如下命令:netstat -ano | findstr 80