Linux 系统管理命令

 

查看命令的使用方式

  • help  列出常用的shell命名
  • mkdir  --help  列出指定命令(mkdir)的使用方式(参数)

 

 

命令的历史记录

方向键向上    上一条命令

方向键向下    下一条命令

 

 

清屏

clear   只是往下翻开新的一页,往上滑仍可以看到之前的内容,常用

reset   清空之前输入的内容,速度略慢

 

 

 

关机、重启

shutdown  关机

reboot  重启

 

 

 

查看正在执行的程序的信息

top   

 

 


 

 

 

进程(面试常考)

ps  -ef   查看所有进程信息

ps  -ef  |  grep  tomcat   查找指定进程。

 

 

kill  2610   结束|杀掉pid为2610的进程

不加-*,默认为kill  -15,系统会发送一个SIGTERM信号给对应的程序,程序收到该信号后,可能发生以下事情:

  • 程序立刻停止
  • 程序释放相应资源后再停止
  • 程序仍然继续运行

大部分程序接收到SIGTERM信号后,会先释放自己的资源,然后再停止。

但是也有程序可能接收信号后,做一些其他的事情(如果程序正在等待IO,可能不会立马做出响应),

就是说SIGTERM多半会被阻塞(进程不会立刻被杀掉)。

 

 

kill  -9  2610   强制杀死进程(立刻杀死)

系统给对应程序发送的信号是SIGKILL,即exit,exit信号不会被系统阻塞,会立刻执行。

kill -9能顺利杀掉进程,但可能会留下一些不完整的文件、状态,从而影响服务的再次启动。

在使用 kill -9 前,应该先使用 kill -15,给目标进程一个清理善后的机会。

 

 

pid即Process Identification,是系统分配给每一个进程的唯一标识符,不是端口号。

 

 

 

 


 

 

 

管道

以一个命令的输出作为另一个命令的输入,输出 | 输入。示例:

ps  -ef  |  less   分页显示正在运行的进程  

ps  -ef  |  grep  8080   在列出的进程信息中查找含有8080字符串的行

cat  --help  |  more

相当于在一个命令的输出、另一个命令的输出之间架起了管道,使之相通,故名管道

 

 

 

&&  命令执行控制

mkdir  test  &&  cd  test    只有&&左边的命令返回真(执行成功),右边的命令才会执行

 

 

 


 

 

 

网络通信

ifconfig   查看网络设备(网卡)的信息,包括ip、子网掩码等信息

 

ping  192.168.1.1  会一直ping

ping  -c  4  192.168.1.1  只ping4次(发送4个数据包)

 

netstat -nltup  查看端口信息(重点)

-n  显示具体的ip、端口号

-l   显示正在监听的端口,l即listening

-t  (只)列出tcp协议的ip、端口号,t即tcp

-u  (只)列出udp协议的ip、端口号,u即udp

-p  列出使用此端口的服务|程序,p即programs

常见用法 netstat -nltp | grep 8080

 

 


 

 

 

日期时间

date   显示系统当前的日期时间

date  -s  "2020-02-21  10:05:30"   设置|修改系统的日期时间

 

 

查看磁盘信息

df   默认不带单位,挂载点、总容量、已用、可用

df  -h   友好显示(带单位),很多命令的友好显示都是-h

 

 

查看内存信息

free   默认以KB为单位,总容量、已用、可用、缓存大小

free  -m   默认以MB为单位

free  -h   上面2种都不带单位、只显示数值,这种是友好显示的,会带单位G、M等

 

 

查看系统当前用户

who

 

 

查看CentOS版本号

cat /etc/centos-release

 

 

查看内核版本

uname -r

 

 

查看主机名

hostname

修改主机名:在/etc/sysconfig/network文件中直接写主机名

 

 

sudo   以管理员身份执行

有时候执行命令时会提示权限不够,可以将命令前面添加sudo,表示使用系统管理员(root)的身份执行该命令。

示例: sudo  chmod  u:rw,g:rw,o:r  1.txt

 

 


 

 

防火墙设置

CentOS7之前使用iptables管理端口,以iptables命令操作;从CentOS7开始使用firewall(防火墙)代替iptables,使用firewall-cmd命令操作。

 

 

开启防火墙:

service firewalld start

开启防火墙后,会在外部、Linux之间架起一道墙,阻挡所有外部访问。开启端口后,外部才能访问该端口。

防火墙默认是开机自启的。

防火墙是(Linux自带的)一个服务,以service命令开启|关闭,服务名是firewalld,注意有个d。

 

 

关闭防火墙:

service firewalld stop

关闭防火墙后,墙没了,外部可以访问Linux的所有端口。

 

 

重启防火墙:

service firewalld restart

 

 

查看防火墙状态:

firewall-cmd --state

running表示正在运行(是开启的),not running表示防火墙是关闭的。

 

 

开启端口:

firewall-cmd --add-port=8080/tcp --zone=public --permanent

--zone  作用域,public表示此端口配置作用于所有用户,默认只作用于当前用户

--add-port  要放行的端口,以端口/协议的方式指定

--permanent  表示此配置永久有效,不设置此参数,重启Linux就失效。

firewall-cmd系列命令,参数以2根短横指定,连词线是一根断横。

 

 

关闭端口:

firewall-cmd --remove-port=8080/tcp --zone=public --permanent

 

 

重新加载防火墙的配置:

firewall-cmd --reload

修改防火墙设置后,重新加载配置即可生效,无需重启防火墙或Linux。

 

 

查询某个端口是否开启成功:

firewall-cmd --query-port=8080/tcp

yes表示开启成功

 

 

查看所有已开启的端口:

firewall-cmd --list-ports

参数名是list-ports,--表示参数。以端口/协议的方式列出。

 

 


 

 

 

查看环境变量

echo  $JAVA_HOME
echo $PATH | grep jdk

 

 


 

 

 

服务管理

service  服务名  该服务的命令

比如开启防火墙:service firewalld start ,服务名是firewalld,start是firewalld的一个命令。

服务一般都有start、stop、restart命令。

 

 


 

 

 

开机自启

有很多程序往往都需要设置开机自启,比如tomcat、mysql、nginx等。

 

(1)在/etc/rc.d/rc.local文件中加入开机要自动执行的程序

vim /etc/rc.d/rc.local

touch那句代码是自带的。在touch下面加入路径,一行一个。

很多教程说 后面还要传入命令start,完全是画蛇添足,直接执行这个sh就行了,当然你传个start、传个abc都可以,反正都用不上。

 

 

(2)修改rc.local的权限,要具有可执行权限(x)。

rc.local默认没有x权限,但权限可能被其他人修改过,先看一下有没有x权限:

ls -l /etc/rc.d/rc.local

没有x权限就加上:

chmod 777 /etc/rc.d/rc.local

这个文件的属主是root,其实只要root(系统)有x权限就行,开机时会自动执行rc.local,启动里面指定的程序,无需登录账号。

 

 

说明:

默认是一个线程同步启动程序,有点慢,需要等会儿,可以在浏览器的多个标签页中试一下,或者用另一个浏览器,防止缓存。

可以打个空格、加个&,表示该程序异步启动,速度快很多:

/etc/local/tomcat/tomcat1/bin/startup.sh &

 

posted @ 2020-02-21 13:12  chy_18883701161  阅读(424)  评论(0编辑  收藏  举报