View Listening Ports #
ss -tulnp | grep <port_number>
Format Json #
Unformatted json data
[[{"id": "1fd40f50-73ac-43f6-a7d5-2c2e0f8e4887","status": {"state": "active"},"updatedAt": "2024-01-04T03:07:00.809Z","matchers": [],"startsAt": "2024-01-04T03:07:00.809Z"}]]
Performs formatting JSON content and reads a specific field
cat t.json | json_pp | jq '.[][].status'
# output
{
"state": "active"
}
Multi-computer synchronous operation #
root@vmTest:~# for i in 2 3 4
> do
> scp test.json root@192.168.8.$i:/root
> done
僵尸进程查询 #
kill -9无法杀死一般因为是僵尸进程
ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]'
-A 参数列出所有进程 -o 自定义输出字段 我们设定显示字段为 stat(状态),ppid(进程父id), pid(进程id),cmd(命令),这四个参数因为状态为 z或者Z的进程为僵尸进程,所以使用grep抓取stat状态为zZ进程
aux | grep | wak | xargs #
ps aux | grep .vscode-server | awk '{print $2}' | xargs kill
ps aux: 这个命令列出系统上所有正在运行的进程。选项 a 显示所有用户的进程,u 以用户友好的格式显示进程信息,x 显示没有控制终端的进程。
grep .vscode-server: 这个命令从 ps aux 的输出中筛选出包含 .vscode-server 字符串的行。.vscode-server 通常是 VS Code 远程服务器相关的进程。
awk ‘{print $2}’: 这个命令处理 grep 的输出。awk 是一个文本处理工具,’{print $2}’ 表示打印每行的第二列内容。在 ps aux 的输出中,第二列通常是进程 ID (PID)。
xargs kill: 这个命令将 awk 输出的进程 ID 列表作为参数传递给 kill 命令。kill 用于终止指定的进程。
Find file #
列出所有文件的绝对路径
find $PWD | xargs ls -ld | grep ^- | awk -F' ' '{print $9}' | grep .md
find $PWD:搜索当前目录及其子目录中的所有文件和目录。
|:管道符,将 find 命令的输出结果传递给下一个命令。
xargs ls -ld:将 find 命令找到的所有文件和目录名作为参数传递给 ls -ld 命令。ls -ld 命令会列出这些文件的详细信息。
|:管道符,将 ls -ld 命令的输出结果传递给下一个命令。
grep ^-:过滤出所有类型为普通文件的行。在 ls -ld 命令的输出中,类型为普通文件的行以 - 开头。
|:管道符,将 grep 命令的输出结果传递给下一个命令。
awk -F' ' '{print $9}':使用空格作为分隔符,提取每个文件名并将其输出。
|:管道符,将 awk 命令的输出结果传递给下一个命令。
grep .md:过滤出所有扩展名为 .md 的行。
Query process for using multiple swap memory #
for i in $( cd /proc;ls |grep "^[0-9]"|awk ' $0 >100') ;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps 2>/dev/null ; done | sort -k2nr | head -10
# 81667 371.781M
# 81818 371.703M
# 1849767 281.137M
# ps aux | grep ${pid}
cd /proc:将当前目录更改为 /proc 目录。
ls:列出当前目录中的所有文件和目录。
grep "^[0-9]":过滤掉所有不以数字开头的文件和目录。
awk ' $0 >100':过滤掉数字小于 100 的文件和目录。
for i in $(...) ;do ... ; done:循环处理每个符合前面条件的文件或目录。
awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps 2>/dev/null:对于每个文件或目录,使用 awk 在 /proc/$i/smaps 文件中搜索包含 "Swap:" 的行。然后将匹配行的第二列值相加,并输出进程 ID ($i) 和该进程使用的总交换内存大小(以兆字节为单位)。
2>/dev/null:将任何错误消息重定向到 /dev/null(一个特殊的文件,可以丢弃所有输出)。
sort -k2nr:按第二列的值以逆数值顺序排序输出。
head -10:仅显示输出的前 10 行(即使用交换内存最多的前 10 个进程)。
ps aux:列出当前正在运行的所有进程的详细信息。
|:管道符,将 ps aux 命令的输出结果传递给 grep 命令。
grep ${pid}:过滤出包含指定 ${pid} 的行。
Vim paste content #
:set paste
Linux | 生成指定大小的文件 #
参数 | 作用 |
---|---|
if | 输入的文件名称 |
of | 输出的文件名称 |
bs | 设置每个块的大小 |
count | 设置要复制块的个数 |
/dev/zero
为数据源,来复制一个文件。
# 生成一个内容随机的文件
dd if=/dev/zero of=test_1G.txt count=1 bs=1G
查看本地DNS服务器地址 #
# systemd-resolve --status | grep 'DNS Servers'
Windows ping IP Address #
PS C:\WINDOWS\system32> Test-NetConnection xx.yy.com
查询指定域名 #
# nslookup www.baidu.com
逃逸分析 #
go build -gcflags="-m -l" main.go
有关内存消耗最大进程的更多信息 #
ps aux --sort -rss | head
ps -eo pid,ppid,%mem,%cpu,cmd --sort=-%mem | head
ps -eo pid,ppid,%mem,%cpu,comm --sort=-%mem | head
top -c -b -o +%MEM | head -n 20 | tail -15
top -b -o +%MEM | head -n 20 | tail -15