Linux 进阶命令

ps

ps 命令用于查看系统中正在运行的进程,它会显示进程 ID,进程名,运行时间等信息。

例子:

ps
PID TTY TIME CMD
1234 pts/0 0:00 bash
2222 pts/1 0:02 ssh

du

du 命令用于查看文件的大小,它会显示文件的总大小,包括子目录。

例子:

du new_folder
4.0K new_folder/file1.txt
8.0K new_folder/file2.txt
12K new_folder## gzip

`gzip` 命令用于压缩文件,它会将文件压缩为更小的大小,减少存储空间占用。

例子:
```bash
gzip file1.txt

cp

cp 命令用于复制文件,你可以使用它复制一个文件到另一个地方。

例子:

cp file1.txt dest_folder/

finger

finger 命令用于列出当前系统中用户的信息,它会显示用户名,登录时间,最近登录的 IP 等信息。

例子:

finger
Login Name TTY Idle Login Time IP Address
user1 John Smith pts/0 5m Nov 14 12:17 192.168.1.1
user2 Jane Doe pts/1 19m Nov 14 11:59 192.168.1.2

chmod

chmod 命令用于设置文件的权限,你可以使用它设置文件的读写执行权限。

例子:

chmod +x file1.txt

find

find 命令用于查找文件,你可以使用它查找指定的文件或文件夹。

例子:

find ./ -name "file1.txt"
./new_folder/file1.txt

grep 命令

grep 命令可以用于搜索文本,它会在文件中寻找指定的关键词或者字符串,并将匹配的行输出到屏幕上。

例子:

grep "hello" file1.txt

kill 命令

kill 命令可以终止一个进程,如果一个程序卡住了,可以使用 kill 命令将它终止掉。

例子:

kill 1234

screen 命令

screen 命令可以在后台运行一些程序,如果断开 SSH 连接,它仍然会在后台继续运行。

例子:

screen

网络相关

查看当前系统每IP连接数

netstat -n | awk '/^tcp/ {print $5}'| awk -F: '{print $1}' | sort | uniq -c | sort -rn

同步时间

ntpdate us.pool.ntp.org

查看http的并发请求数及其TCP连接状态

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

查看当前系统每IP连接数

netstat -n | awk '/^tcp/ {print $5}'| awk -F: '{print $1}' | sort | uniq -c | sort -rn

统计出apache的access.log中访问量最多的5个IP

cat access_log | awk '{print $1}' | sort | uniq -c | sort -n -r | head -5

linux下通过进程名查看其占用端口

1、先查看进程pid

ps -ef | grep 进程名

2、通过pid查看占用端口

netstat -nap | grep 进程pid
例:通过nginx进程查看对应的端口号

#查看nginx进程pid:
命令:
ps -ef | grep nginx
结果:
root      9836     1  0 Jul11 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody    9841  9836  0 Jul11 ?        00:00:09 nginx: worker process      

#通过nginx进程pid查看占用端口(进程pid为9836)
命令:
netstat -nap | grep 9836
结果:
tcp        0      0 0.0.0.0:8081                0.0.0.0:*                   LISTEN      9836/nginx          
tcp        0      0 0.0.0.0:81                  0.0.0.0:*                   LISTEN      9836/nginx          
tcp        0      0 0.0.0.0:8082                0.0.0.0:*                   LISTEN      9836/nginx          
tcp        0      0 0.0.0.0:8083                0.0.0.0:*                   LISTEN      9836/nginx

linux通过端口查看进程:

netstat -nap | grep 端口号

-p 显示端口进程

例:查看8081号端口对应的进程名

命令:
netstat -nap | grep 8081
结果:
tcp        0      0 0.0.0.0:8081                0.0.0.0:*                   LISTEN      9836/nginx