[Linux深度学习笔记4.28]

发布于:2024-05-07 ⋅ 阅读:(20) ⋅ 点赞:(0)

隐藏权限 : 防止root用户误操作删除,

    查看隐藏权限 : lsattr

    设置隐藏权限 : chattr
    
    chattr +a : 可以追加内容,不能编辑不能删除

    chattr +i : 不能编辑不能删除文件

    chattr +A :文件访问时间固定下来

    stat : 查看文件的详细信息

进程管理 :

    进程 : 一个正在运行的程序,主进程,子进程

    线程 : 一个进程有一个或者多个线程组成

    区别 : 一个进程奔溃不会影响其他的进程

​			一个线程崩溃会使整个进程崩溃

​			进程之间资源独立

​			线程之间资源共享

​			进程启动慢,结束慢

​			线程启动快,结束块

    协程(异步) : 节省资源 

    cpu中断 : 一个cpu核处理完第一个任务,去处理第二个任务中间的时间

    并行 : 同一时间内能处理多少的事情

    并发 : 单位时间内处理的任务数量

静态查看系统进程 :

ps aux 或者 ps -ef
查看进程(1):
    ps aux
	
	ps :process nsapashot
	
	a: 只能查看系统里面运行的所有终端进程
	
	u: 显示进程拥有者
	
	x: 显示系统内所有进程
	
	f:显示进程之间的父子关系
	[root@linux-server ~]# ps aux 
	USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
============================================================================
	USER: 	#运行进程的用户
    PID :   #进程ID
    %CPU:   #CPU占用率
    %MEM:   #内存占用率
    VSZ	 :   进程占用的虚拟内存大小。
    RSS  :   占用的物理内存大小
    STAT:  #进程状态  ---了解
    ? :   表示没有占用终端
    R :	运行
    S :	可中断睡眠 Sleep
    D :	不可中断睡眠
    T :	停止的进程 
    Z :	僵尸进程
    X :  死掉的进程
    START:	#进程的启动时间
    TIME :	#进程占用CPU的总时间
    COMMAND : #进程文件,进程名

进程状态:

    进程状态--了解
    Sl:	以线程的方式运行
    Ss:  s进程的领导者,父进程
    R+:	+表示是前台的进程组
    S<: <优先级较高的进程 	
    SN:  N优先级较低的进程
--------------------------------------------
      查看tty的方法:
    [root@linux-server ~]# tty
    ? 表示这个进程开启的时候没有占用终端
查看进程(2):
	 ps -ef
	-e: 显示所有进程
	-l: 长格式显示
	-f: 完整格式

       UID :    用户ID
        PID  :   进程ID
        PPID :   父进程ID
        C  :     CPU占用率
        STIME :  开始时间
        TTY  :   开始此进程的TTY----终端设备
        TIME :   此进程运行的总时间
        CMD :    命令名
端口:
查看端口:
    yum -y install lsof
	lsof -i:80(查具体某个端口(查看某个文件被什么进程所占用))
	COMMAND   PID   USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
	httpd   64249   root    4u  IPv6 1373628      0t0  TCP *:http (LISTEN)
	
	FD:文件描述符,应用程序通过文件描述符识别该文件。
	DEVICE:指定磁盘的名称
	SIZE:文件的大小

查看被监听的端口 :

    (1)ss -tlnp :
	
	n(以数字形式返回端口)

    t(TCP连接)

    u(UDP连接)(快速但不安全)

    l(只要服务器启动的端口都会返回不管启动没)

    p(可以显示服务名)
(2)netstat -lntp	(netstat -tlnp:需要安装一个net-tools包)
    yum -y install net-tools
    -a : 显示全部的进程
    -u : 显示udp
    -n : 以数字的形式显示协议名称
    -t :  tcp
    -p : 显示进程的名称和pid
    -l : 只显示正在被监听的端口
------------------------------------------------------------------
 参数解释:
recv-Q:网络接收队列。表示收到的数据已经在本地接收缓冲,但是还有多少没有被进程取走,
recv()如果接收队列Recv-Q一直处于阻塞状态,可能是遭受了拒绝服务 
denial-of-service 攻击。
send-Q:网路发送队列。对方没有收到的数据或者说没有Ack的,还是本地缓冲区.
如果发送队列Send-Q不能很快的清零,可能是有应用向外发送数据包过快,或者是对方接收数据包不够快。
Foreign Address:与本机端口通信的外部请求
    (3)w
	USER :   –登录用户名.
    TTY :    –登录用户使用的终端名.
    FROM  :  –登录用户来源的主机名或IP地址.
    LOGIN@ : –用户登录时间.
    WHAT  :  –用户当前的进程及选项/参数
常见端口号 :
    http :80		https :	443		mysql :	3306		redis:	6379

	tomcat : 8080		nginx | httpd	: 80 | 443		sshd : 22
	 
	php-fpm	: 9000		mongo : 27017		mail  : 25(不加密) | 465(加密)

动态进程:

    top : 动态查看系统进程
	h|?: 帮助
	>: 往下翻页
	<: 往上翻页
	M: 按内存排序
    P: 按cpu排序
    q: 退出   
    z: 彩色显示
    W: 保存
    =====================================
    PR   优先级
    VIRT 进程使用的虚拟内存总量,单位kb。
    RES  进程使用的、未被换出的物理内存大小,单位kb。
    SHR  共享内存大小,单位kb
    
    shift + P : 按照cpu使用率排序

	shift +M :按照内存排序

    us: 用户态进程占用cpu
    ni: nice值
    id: cpu空闲率
    wa: cpu等待,等待输入/输出的进程占用的 CPU 百分比。如果使用率过高,表示硬盘该换了
    hi:硬中断,请求插队
    si:软中断
    st:停止(被其他的虚拟机偷走的cpu)

进程优先级 nice:

    nice 值越高:表示优先级越低,例如+19,该进程容易将CPU 使用量让给其他进程。
	nice 值越低:表示优先级越高,例如-20,该进程更不倾向于让出CPU。
	修改进程优先级:
	renic -n -10 pid

进程控制:

    按pid杀死进程:
	kill pkill(杀死所有进程)
	语法: kill 信号 PID
	
	kill -l   #查看所有信号
    -1   HUP  重新加载进程或者重新加载配置文件,PID不变   
    -9   KILL 强制杀死
    -15  TERM 正常杀死(这个信号可以默认不写)
    -18  CONT 激活进程
    -19  STOP 挂起进程
    进程状态解释--了解:
    +:表示运行在前台的进程
    S+:休眠状态
    T+:暂停,挂起状态
    s:父进程ini

拓展常用命令:

1.查看当前CPU负载 : uptime 

2.查看内存使用  : free -m

3.linux启动过程

    ①加电,②加载bios设置,③加载grub,④加载内核系统到内存当中,
    ⑤加载配置文件,⑥加载内核模块,⑦完成相应的初始化工作和启动相应的服务,
    ⑧启动系统进程,⑨出现登录界面,⑩机启动完成

4.查看系统的版本和内核

	 cat /etc/redhat-release  #查看版本
	 uname -a #看查正在运行的内核版本
	 uname -r  #查看内核版本ini

5.跳板机(堡垒机)的作用

    1 身份验证
	2 屏幕录制,防止员工对服务器做有害的操作
	3 批量操作 一次性操作2-200台机器

6.安装过操作系统吗?怎么安装?

    1.小批量设备,使用U盘安装
	(调整bios参数从U盘启动)
	2.大批量设备搭建PXE装机系统,从网络批量安装
	(调整网络启动项,从网络启动)