1、firewall-cmd
1.1 打开443/TCP端口
firewall-cmd --add-port=443/tcp
=========================================================================
1.2 永久打开3690/TCP端口
firewall-cmd --permanent --add-port=3690/tcp
# 永久打开端口好像需要reload一下,临时打开好像不用,如果用了reload临时打开的端口就失效了
# 其它服务也可能是这样的,这个没有测试
firewall-cmd --reload
=========================================================================
1.3 查看防火墙,添加的端口也可以看到
firewall-cmd --list-all
=========================================================================
1.4 关闭防火墙
# systemctl stop firewalld
firewall-cmd --reload
=========================================================================
1.5 打开防火墙
# systemctl start firewalld
systemctl start firewalld.service 启动
systemctl enable firewalld.service 开机启动
systemctl stop firewalld.service 停止
systemctl disable firewalld.service 禁止开机启动
systemctl status firewalld.service 查看状态
firewall-cmd --state 查看状态
=========================================================================
2、zip/unzip
使用unzip命令解压.zip文件,可能没有安装unzip软件
命令: yum list | grep zip/unzip # 获取安装列表 获取不到说明没有安装
安装命令: yum install zip # 提示输入时,请输入y;
安装命令:yum install unzip # 提示输入时,请输入y;
-
tar
:打包或解包文件,如tar -czvf archive.tar.gz dirname
打包目录。 -
gzip
、bzip2
、unzip
等:用于不同格式的压缩与解压缩。
=========================================================================
3、ps -ef |grep
格式: ps -ef | grep 查找信息
ps: 将某个进程显示出来
grep:(Global Regular Expression Print)查找的意思,使用的权限是所有的用户,它是一种强大的文本搜索工具,能使用正则表达式搜索文本,并把匹配的行打印出来。
|: 管道命名,指的是 ps 命令和 grep 命令同时执行(可以把它看做是一个连接的作用)
-e: 显示所有进程
-f: 全格式
=========================================================================
4、vim中复制粘贴
单行复制:按esc键后,然后yy
粘贴:按esc键后,然后p
=========================================================================
5、查看端口、进程、文件常用指令
5.1 netstat(端口占用查看)
常见操作:
> * netstat -apn|grep 6379(端口号占用查看)
参数备注:
- -a:(all)显示所有选项,默认不显示LISTEN相关
- -t : (tcp)仅显示tcp相关选项
- -u : (udp)仅显示udp相关选项
- -n : 拒绝显示别名,能显示数字的全部转化成数字
- -l : 仅列出有在Listen(监听)的服务状态
- -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序
- -r :显示路由信息,路由表
- -e:显示扩展信息,例如uid等
- -s:按各个协议进行统计
- -c:每隔一个固定时间,执行该netstat命令
输出解释:
Proto:协议名(tcp协议还是udp协议)
recv-Q:网络接收队列,
表示收到的数据已经在本地接收缓冲,但是还有多少没有被进程取走,recv()如果接收队列Recv-Q一直处于阻塞状态,可能是遭受了拒绝服务 denial-of-service 攻击;
- send-Q:网路发送队列,
对方没有收到的数据或者说没有Ack的,还是本地缓冲区. 如果发送队列Send-Q不能很快的清零,可能是有应用向外发送数据包过快,或者是对方接收数据包不够快; 这两个值通常应该为0,如果不为0可能是有问题的。packets在两个队列里都不应该有堆积状态。可接受短暂的非0情况。
- Local Address:本地就是你本机的地址,
1)Local Address 部分的0.0.0.0:873表示监听服务器上所有ip地址的所有(0.0.0.0表示本地所有ip),比如你的服务器是有172.172.230.210和172.172.230.11两个ip地址,那么0.0.0.0:873此时表示监听172.172.230.210,172.172.230.211,127.0.0.1三个地址的873端口 2)127.0.0.1:25这个表示监听本机的loopback地址的25端口(如果某个服务只监听了回环地址,那么只能在本机进行访问,无法通过tcp/ip 协议进行远程访问) 3)192.168.1.81:2288这是因为我们在启动的时候指定了192.168.1.81:2288参数,如果不指定的话,会监听0.0.0.0:2288 4):::22是ipv6的监听端口,表示都监听,包括ipv4的访问也监听。
Foreign Address:与本机端口通信的外部socket。显示规则与Local Address相同
State:链路状态,共有11种state列共有12中可能的状态,前面11种是按照TCP连接建立的三次握手和TCP连接断开的四次挥手过程来描述的
LISTEN :首先服务端需要打开一个socket进行监听,状态为LISTEN./*The socket is listening for incoming connections. 侦听来自远方TCP端口的连接请求 */ SYN_SENT:客户端通过应用程序调用connect进行activeopen.于是客户端tcp发送一个SYN以请求建立一个连接.之后状态SYN_SENT。/*The socket is actively attempting to establish aconnection. 在发送连接请求后等待匹配的连接请求 */ SYN_RECV:服务端应发出ACK确认客户端的 SYN,同时自己向客户端发送一个SYN.之后状态置为SYN_RECV/* A connection request has been received from the network. 在收到和发送一个连接请求后等待对连接请求的确认 */ ESTABLISHED:代表一个打开的连接,双方可以进行或已经在数据交互了。/* The socket has an established connection. 代表一个打开的连接,数据可以传送给用户 */ FIN_WAIT1:主动关闭(activeclose)端应用程序调用close,于是其TCP发出FIN请求主动关闭连接,之后进入FIN_WAIT1状态./* The socket is closed, and the connection is shutting down. 等待远程TCP的连接中断请求,或先前的连接中断请求的确认 */ CLOSE_WAIT:被动关闭(passiveclose)端TCP接到FIN后,就发出ACK以回应FIN请求(它的接收也作为文件结束符传递给上层应用程序),并进入CLOSE_WAIT./* The remote end has shut down, waiting for the socketto close. 等待从本地用户发来的连接中断请求 */ FIN_WAIT2:主动关闭端接到ACK后,就进入了FIN-WAIT-2./* Connection is closed, and the socket is waiting for a shutdownfrom the remote end. 从远程TCP等待连接中断请求 */ LAST_ACK:被动关闭端一段时间后,接收到文件结束符的应用程 序将调用CLOSE关闭连接。这导致它的TCP也发送一个 FIN,等待对方的ACK.就进入了LAST-ACK./* The remote end has shut down, and the socket is closed. Waiting foracknowledgement. 等待原来发向远程TCP的连接中断请求的确认 */ TIME_WAIT:在主动关闭端接收到FIN后,TCP 就发送ACK包,并进入TIME-WAIT状态。/* Thesocket is waiting after close to handle packets still in the network.等待足够的时间以确保远程TCP接收到连接中断请求的确认*/ CLOSING:比较少见./* Bothsockets are shut down but we still don’t have all our datasent. 等待远程TCP对连接中断的确认 */ CLOSED:被动关闭端在接受到ACK包后,就进入了closed的状态。连接结束./*The socket is not being used. 没有任何连接状态 */ UNKNOWN:未知的Socket状态。/* Thestate of the socket is unknown. */
- PID/Program: PID即进程id,Program即使用该socket的应用程序
=========================================================================
- (1)查看网络端口:
[root@eifire ~]# netstat -an
[root@eifire ~]# netstat -anp 显示系统端口使用情况
[root@ecs-1 ~]# netstat -tulnp
=========================================================================
- (2)查看UDP类型端口
[root@eifire ~]# netstat -nupl 或者 netstat -lunp
=========================================================================
- (3)查看TCP类型端口
[root@eifire ~]# netstat -ntpl 或者 netstat -ltnp
=========================================================================
5.2 ps命令(进程查看)
ps是显示瞬间进程的状态,并不动态连续;如果想对进程进行实时监控应该用top命令。
常见操作:
- ps -ef|grep java (进程名)
- ps -ef|grep 8080 (端口号)
- ps -ef|grep 2556 (进程号)
- ps -aux | grep 22000 (aux比-ef输出的信息更多,比如%CPU和%MEM)
示例:
[root@ecs-1 ~]# ps -ef
输出解释:
UID :程序被该 UID 所拥有
PID :就是这个程序的 ID (一般看它)
PPID :则是其上级父程序的ID
C :CPU使用的资源百分比
STIME :系统启动时间
TTY :登入者的终端机位置
TIME :使用掉的CPU时间
CMD :所下达的是什么指令
| 是管道命令 ,
是指 ps命令与grep同时执行 grep是查找命令,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来
5.3 lsof -i :port(文件查看)
常见操作:
- 就能看见所指定端口运行的程序,同时还有当前连接;
- lsof -i:8080(只能查端口号)
示例:
[root@ecs ~]# netstat -lntpl
[root@eifire ~]# lsof -i :6379
[root@ecs ~]# ps -ef|grep 6379
=========================================================================
6、history类
查询所有历史指令
=========================================================================
7、nohup命令
nohup 命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。
语法格式:
nohup Command [ Arg … ] [ & ] 参数说明: Command:要执行的命令。 Arg:一些参数,可以指定输出文件。 &:让命令在后台执行,终端退出后命令仍旧执行。
实例
以下命令在后台执行 root 目录下的 runoob.sh 脚本:
nohup /root/runoob.sh &
在终端如果看到以下输出说明运行成功:
appending output to nohup.out
这时我们打开 root 目录 可以看到生成了 nohup.out 文件。
如果要停止运行,你需要使用以下命令查找到 nohup 运行脚本到 PID,然后使用 kill 命令来删除:
ps -aux | grep "runoob.sh" 参数说明: a : 显示所有程序 u : 以用户为主的格式来显示 x : 显示所有程序,不区分终端机 另外也可以使用 ps -def | grep "runoob.sh" 命令来查找。 找到 PID 后,就可以使用 kill PID 来删除。
kill -9 进程号PID
以下命令在后台执行 root 目录下的 runoob.sh 脚本,并重定向输入到 runoob.log 文件:
nohup /root/runoob.sh > runoob.log 2>&1 & 2>&1 解释: 将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 runoob.log 文件中。 0 – stdin (standard input,标准输入) 1 – stdout (standard output,标准输出) 2 – stderr (standard error,标准错误输出)
8、文件目录操作类
-
pwd
指令代码:pwd
- 输出结果:显示当前工作目录的绝对路径,例如:
/home/user
- 输出结果:显示当前工作目录的绝对路径,例如:
-
ls
指令代码:ls /etc
-
输出结果:列出
/etc
目录下的所有文件和子目录,例如:
total 48 drwxr-xr-x 2 root root 4096 Mar 10 2021 audio drwxr-xr-x 2 root root 4096 Mar 10 2021 bluetooth ...
-
-
cd
指令代码:cd /home/user
- 输出结果:无输出,但你的工作目录会切换到
/home/user
- 输出结果:无输出,但你的工作目录会切换到
-
mkdir
指令代码:mkdir my_project
- 输出结果:创建新目录
my_project
,例如:mkdir my_project
- 输出结果:创建新目录
-
rmdir
指令代码:rmdir old_project
- 输出结果:删除空目录
old_project
,例如:rmdir old_project
- 输出结果:删除空目录
9、文件操作类
touch
指令代码:touch README.md
- 输出结果:创建一个名为
README.md
的新文件,无输出
- 输出结果:创建一个名为
cp
指令代码:cp file1.txt /home/user
- 输出结果:
file1.txt
到/home/user
目录,例如:cp: created regular file
/home/user/file1.txt’`
- 输出结果:
rm
指令代码:rm file1.txt
- 输出结果:删除
file1.txt
,例如:rm: remove regular file
file1.txt’`
- 输出结果:删除
mv
指令代码:mv file1.txt /home/user
- 输出结果:移动
file1.txt
到/home/user
目录,无输出
- 输出结果:移动
10、文本查看类
-
cat
指令代码:cat README.md
-
输出结果:显示
README.md
文件的内容,例如:
# README.md This is a simple README file.
-
-
more
指令代码:more file.txt
-
输出结果:分页显示
file.txt
文件的内容,例如:
[Press 'q' to quit] This is a text file. More text follows...
-
-
less
指令代码:less file.txt
-
输出结果:分页显示
file.txt
文件的内容,并提供搜索功能,例如:
[Press 'q' to quit] This is a text file. More text follows...
-
-
head
指令代码:head file.txt
-
输出结果:显示
file.txt
文件的前10行内容,例如:
1 This is a text file. 2 More text follows... ...
-
-
tail
指令代码:tail file.txt
-
输出结果:显示
file.txt
文件的末尾10行内容,例如:
20 More text follows... 21 This is the last line.
-
11、系统管理类
-
shutdown
指令代码:shutdown -h now
- 输出结果:无输出,系统将立即关机
-
reboot
指令代码:reboot
- 输出结果:无输出,系统将重启
-
ps
指令代码:ps aux
-
输出结果:显示所有进程的详细信息,例如:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND user 100 0.0 0.0 0 0 ? S 12:00 0:00 [psaux] <defunct> user 101 0.0 0.0 0 0 ? Z 12:00 0:00 [ps aux] <defunct> root 102 0.0 0.0 0 0 ? S 12:00 0:00 /sbin/init ...
-
-
Top指令代码:top
-
输出结果:实时显示系统运行的进程和资源使用情况,例如:
top - 12:00:56 up 1 day, 17:42, 1 user, load average: 0.78, 0.65, 0.55 Tasks: 150 total, 1 running, 149 sleeping, 0 stopped, 0 zombie %Cpu(s): 99.8 us, 0.2 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %MEM: 49.763481 % PID USER PRI NICE SIZE RSS SHR %CPU %MEM START TIME COMMAND 102 root 20 0 413640 122680 49.8 1.3 12:00:01 /sbin/init 103 root 20 0 389424 117936 49.7 1.3 12:00:01 /sbin/mcheck ...
-
12、帮助信息类
-
man
指令代码:man ls
-
输出结果:显示
ls
命令的手册页,例如:
ls(1) User Commands ls(1) NAME ls - list directory contents SYNOPSIS ls [OPTION]... [FILE]... DESCRIPTION List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor -l is given. With no FILE, list the current directory contents. ...
-
-
help
指令代码:help ls
-
输出结果:显示
ls
命令的基本帮助信息,例如:
ls: usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuv] [file ...]
-
13、其他常见命令
grep
:在文件中搜索指定的字符串。find
:在目录树中查找文件。chmod
:改变文件或目录的权限。chown
:改变文件或目录的所有者和所属组。df
:显示磁盘分区上的可用和已使用的磁盘空间。du
:估算文件或目录的磁盘使用情况。