淘先锋技术网

首页 1 2 3 4 5 6 7

最近这些天一直在和服务器打交道,复习了很多linux命令,以下是我最近在项目中用的比较频繁的命令,希望能帮助大家。

1.netstat -ntlp  获取运行的进程名、进程号及用户ID

[root@FrankZhang interview]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      617/rpcbind         
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      25272/nginx: master 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1261/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1253/master         
tcp        0      0 127.0.0.1:6011          0.0.0.0:*               LISTEN      28906/sshd: root@pt 
tcp6       0      0 :::33060                :::*                    LISTEN      1400/mysqld         
tcp6       0      0 :::3306                 :::*                    LISTEN      1400/mysqld         
tcp6       0      0 :::111                  :::*                    LISTEN      617/rpcbind         
tcp6       0      0 :::8080                 :::*                    LISTEN      3916/interviewpush  
tcp6       0      0 ::1:25                  :::*                    LISTEN      1253/master 

2.ps aux|grep  如果你知道进程的名称,想看进程的PID

[root@FrankZhang interview]# ps aux|grep nginx
USER     PID                      RSS TTY     STAT  START TIME   COMMAND
root     21129  0.0  0.0 112812   980 pts/1    S+   21:59   0:00 grep --color=auto nginx
root     25272  0.0  0.0  45952  1124 ?        Ss   11:32   0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
root     25273  0.0  0.1  46404  2132 ?        S    11:32   0:00 nginx: worker process

 3.kill系列命令

(1)kill -9 PID         根据进程号强制杀死进程,获得进程号可以通过上面的ps命令来操作

(2)pkill 进程名      根据进程名杀死所有进程。  

4.lsof -i:端口号xx  显示xx端口被哪些ip使用

lsof -i:8080
COMMAND    PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
interview 3916 root   10u  IPv6 66699833      0t0  TCP *:webcache (LISTEN)

5.chmod +x 文件名   当打包web项目上传到服务器后,没有可执行的权限,需要赋予它权限

chmod +x /home/interview/interviewpush

6.nohup系列命令 在你部署项目的时候肯定不希望关闭终端后项目就停止运行了。那么就需要一个后台挂起的操作

nohup /home/interview/interviewpush -c /home/interview/config.yaml > start.log  2>&1 &

其中:

  • /home/interview/config.yaml是我们应用程序的启动命令
  • nohup ... &表示在后台不挂断的执行上述应用程序的启动命令
  • > start.log表示将命令的标准输出重定向到 start.log 文件
  • 2>&1表示将标准错误输出也重定向到标准输出中,结合上一条就是把执行命令的输出都定向到 start.log 文件

7.ls ll 命令 可以看当前文件夹里的文件

[root@FrankZhang interview]# ll
total 18476
-rw-r--r-- 1 root root      306 May 10 11:01 config.yaml
-rw-r--r-- 1 root root      221 May 10 11:33 houduan.log
-rwxr-xr-x 1 root root 18900977 May 10 21:29 interviewpush
-rw------- 1 root root        0 May 10 22:24 nohup.out
-rw-r--r-- 1 root root     3789 May 10 21:32 start.log
-rw-r--r-- 1 root root      162 May 10 21:31 start.sh

8.tail -f 文件名    查阅正在改变的日志文件   挂起的web项目,想看日志文件。就可以采取这种方式。

9.systemctl status firewalld 查看防火墙状态

[root@FrankZhang interview]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

May 08 11:03:43 FrankZhang systemd[1]: Starting firewalld - dynamic firewall daemon...
May 08 11:03:43 FrankZhang systemd[1]: Started firewalld - dynamic firewall daemon.
May 08 11:03:44 FrankZhang firewalld[13385]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure configuration option. It will be removed in a future release. P...ling it now.
May 08 16:56:53 FrankZhang systemd[1]: Stopping firewalld - dynamic firewall daemon...
May 08 16:56:54 FrankZhang systemd[1]: Stopped firewalld - dynamic firewall daemon.
Hint: Some lines were ellipsized, use -l to show in full.

10.firewall-cmd --list-all  查看所有对外开放的端口。 有些服务器比较安全,很多端口都访问不了。可以通过该命令查看现在外部可以访问的端口。

[root@localhost ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources: 
  services: dhcpv6-client ssh
  ports: 3306/tcp 80/tcp
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

以上是我目前能想出来的最近项目部署过程中用到的基本上所有命令了