包管理器是方便软件安装卸载,解决软件依赖关系的重要工具,centos 使用的yum 包管理器,软件包格式为rpm ,ubuntu使用是apt包管理器,软件安装包格式为deb。
我们使用yum包管理器一般要将yum源设置为国内阿里云的yum源,这样下载以及更新包的速率会大大增加。
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
查看镜像的版本: rpm -q centos-release
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
vim /etc/yum.repos.d/CentOS-Base.repo
还有以下几条常用命令:
卸载: yum remove xxxx
查看安装软件包: yum list
更新 yum 包: yum update
如果我们想更新kernel内核版本: 可以查看内核版本: https://www.kernel.org/
查看内核版本: uname -r
安装更新内核版本:
ps -A: 显示所有进程信息
ps -u root: 显示指定用户信息
ps -ef: 显示所有进程信息,连同命令行
ps -ef|grep ssh: ps 与grep 常用组合用法,查找特定进程
ps -l: 将目前属于您自己这次登入的 PID 与相关信息列示出来
ps aux: 列出目前所有的正在内存当中的程序
ps -axjf: 列出类似程序树的程序显示
ps -aux |more: 与管道符连用,分页
ps -aux > ps001.txt: 把所有进程显示出来,并输出到ps001.txt文件
ps -o pid,ppid,pgrp,session,tpgid,comm: 输出指定的字段
使用pstree以树形方式显示正在运行的所有进程。
pstree -p 查看进程树, 可以用使用 grep 命令,可以使用 pstree -p | grep httpd 管道符进行查找httpd(apache进程)。
当前时间、系统已运行时间、当前登录用户的数量、最近5、10、15分钟内的平均负载。
任务的总数、运行中(running)的任务、休眠(sleeping)中的任务、停止(stopped)的任务、僵尸状态(zombie)的任务。
全部可用内存、已使用内存、空闲内存、缓冲内存
全部、已使用、空闲和缓冲交换空间
交互指令:
信号本质上是一种软件中断,软件触发的中断、和硬件的处理机制一样,当收到信号时, 停下来手头的事情,去处理信号处理函数,处理完后,再继续做原来的事情。
其实我们已经看到过:
执行下面这个指令, 可以查看本系统支持的所有的信号:
kill [options] [...] […] : 把信号发送给列出的所有进程。
options :
- : 指定发送给进程的信号,指定信号的名称或号码都可以。
-l : 列出所有信号的名称和号码。
SIGINT 通知前台进程组终止进程 ctrl+c。
SIGKILL 立即结束程序,不能被阻塞和处理 kill -9 pid。
使用信号 15 是安全的,而信号 9 则是处理异常进程的最后手段,请勿滥用。下面我们介绍几种常使用的信号解释。
1.bohup
nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,我们查看一个message文件,将窗口关闭,那么这个进程就会被杀死,如果我们想让它一直存在,我们可以使用nohub命令。
nohup command > myout.file 2>&1 &
在上面的例子中,0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error) ; 2>&1是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到myout.file文件中。
& :指在后台运行 nohup :nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响他的运行,注意了nohup没有后台运行的意思;&才是后台运行。
&是指在后台运行,但当用户推出(挂起)的时候,命令自动也跟着退出。
Screen是一个可以在多个进程之间多路复用一个物理终端的全屏窗口管理器。Screen中有会话的概念,用户可以在一个会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。通俗的讲,screen命令用于新建一个或多个“命令行窗口”,在新建的这“窗口”中,可以执行命令;每个“窗口”都是独立并行的。
yum install screen
其他命令:
Ctrl + a,d #暂离当前会话
Ctrl + a,c #在当前screen会话中创建一个子会话
Ctrl + a,w #子会话列表
Ctrl + a,p #上一个子会话
Ctrl + a,n #下一个子会话
Ctrl + a,0-9 #在第0窗口至第9子会话间切换
内存使用率查看命令: free -m 显示的是M显示
swap 占用的是在磁盘上,我们一般比较关注的是 buff和available,这就会显示出来可以释放的内存空间。
磁盘查看的命令: fdisk -l: 列出全部的分区, df -h:用于显示 Linux 系统中各文件系统的硬盘使用情况,包括文件系统所在硬盘分区的总容量、已使用的容量、剩余容量等。
iptables -nvL –line-number
-L查看当前表的所有规则,默认查看的是filter表,如果要查看NAT表,可以加上-t NAT参数。
-n不对ip地址进行反查,加上这个参数显示速度会快很多。
-v输出详细信息,包含通过该规则的数据包数量,总字节数及相应的网络接口。
–line-number显示规则的序列号,这个参数在删除或修改规则时会用到。
[root@test ~]# iptables -nL --line-number
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 DROP all -- 192.168.1.1 0.0.0.0/0
2 DROP all -- 192.168.1.2 0.0.0.0/0
3 DROP all -- 192.168.1.4 0.0.0.0/0
添加规则有两个参数:-A和-I。其中-A是添加到规则的末尾;-I可以插入到指定位置,没有指定位置的话默认插入到规则的首部。
添加一条规则到尾部:iptables -A INPUT -s 192.168.1.5 -j DROP
再插入一条规则到第三行,将行数直接写到规则链的后面:iptables -I INPUT 3 -s 192.168.1.3 -j DROP。
查看: iptables -nL --line-number
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 DROP all -- 192.168.1.1 0.0.0.0/0
2 DROP all -- 192.168.1.2 0.0.0.0/0
3 DROP all -- 192.168.1.3 0.0.0.0/0
4 DROP all -- 192.168.1.4 0.0.0.0/0
5 DROP all -- 192.168.1.5 0.0.0.0/0
可以看到192.168.1.3插入到第三行,而原来的第三行192.168.1.4变成了第四行。
根据序号删除: iptables -D INPUT 2
将第三条规则改为ACCEPT:iptables -R INPUT 3 -j ACCEPT
查看:
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 DROP all -- 192.168.1.1 0.0.0.0/0
2 DROP all -- 192.168.1.2 0.0.0.0/0
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
推荐阅读
(点击标题可跳转阅读)
RxJS入门
一文掌握Linux实战技能-系统操作篇
一文掌握Webpack编译流程
一文深度剖析Axios源码
Javascript条件逻辑设计重构
Promise知识点自测你不知道的React Diff你不知道的GIT神操作程序中代码坏味道(上)
程序中代码坏味道(下)
学习Less,看这篇就够了
从表单抽象到表单中台
实战LeetCode 系列(一) (题目+解析)
一文掌握Javascript函数式编程重点
实战LeetCode - 前端面试必备二叉树算法
阿里、网易、滴滴、今日头条、有赞.....等20家面试真题
30分钟学会 snabbdom 源码,实现精简的 Virtual DOM 库
觉得本文对你有帮助?请分享给更多人
关注「React中文社区」加星标,每天进步