Linux(1)常用指令总结大全

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 打包目录。

  • gzipbzip2unzip 等:用于不同格式的压缩与解压缩。

=========================================================================

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:估算文件或目录的磁盘使用情况。

相关推荐

  1. Linux指令总结

    2024-03-26 09:50:08       31 阅读
  2. Linux命令大全

    2024-03-26 09:50:08       8 阅读
  3. Linux 指令

    2024-03-26 09:50:08       23 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-26 09:50:08       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-26 09:50:08       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-26 09:50:08       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-26 09:50:08       20 阅读

热门阅读

  1. ADC123123

    2024-03-26 09:50:08       21 阅读
  2. Docker与K8S实战系列教程--靠谱、易学

    2024-03-26 09:50:08       20 阅读
  3. Hadoop3的安装

    2024-03-26 09:50:08       18 阅读
  4. 浅谈Vue 3的响应式对象: ref和reactive

    2024-03-26 09:50:08       19 阅读
  5. Redis五种基本数据类型

    2024-03-26 09:50:08       21 阅读
  6. 动态规划 Leetcode 188 买卖股票的最佳时机IV

    2024-03-26 09:50:08       22 阅读
  7. QT(3/22)

    QT(3/22)

    2024-03-26 09:50:08      17 阅读
  8. 【C++】每日一题 137 只出现一次的数字

    2024-03-26 09:50:08       19 阅读
  9. Day8.

    2024-03-26 09:50:08       19 阅读
  10. 华为OD技术面算法题整理

    2024-03-26 09:50:08       21 阅读
  11. 大模型日报2024-03-25

    2024-03-26 09:50:08       20 阅读
  12. 每个字符最多出现两次的最长子字符串(c++实现)

    2024-03-26 09:50:08       18 阅读