命令

系统

  • 查看磁盘容量
1
df -h /
  • 重启
1
sudo reboot
  • 查看 APP 等待时间
1
gsettings get org.gnome.mutter check-alive-timeout
  • 设置 APP 等待时间
1
gsettings set org.gnome.mutter check-alive-timeout 时长 # 单位为毫秒
  • 强制关闭应用
1
2
pgrep -a -f <AppName> # 查看进程
kill -9 <AppName 的进程 ID> # -9 表示强制终止信号

killkill -15 发送 SIGTERM 信号,它要求进程进行清理工作(保存数据)后再退出

kill -9 发送 SIGKILL 信号,强制立刻终止进程,无法被阻止或忽略,通常用于强制关闭无法正常终止的进程

网络

  • 查看 IP 地址
1
ip a
  • 查看端口号

列出所有监听状态的端口

1
sudo ss -tuln
  • 查看特定端口
1
sudo ss -tuln | grep 端口号
  • 查看路由
1
ip route show
  • 全盘查找文件
1
sudo find / -name "文件名" 2>/dev/null

安装

  • 查看包安装所需依赖项的状态
1
dpkg -s 依赖项名 | grep -E 'Status|Version'
  • 查看包安装需要的依赖
1
apt-cache depends 包名
  • 搜索可用的包
1
apt-cache search 包名
  • 列出包的所有文件
1
dpkg -L 包名 | grep '\筛选条件'
  • 删除包
1
sudo apt remove --purge 包名
  • 清除依赖
1
sudo apt autoremove
  • 刷新动态链接器缓存
1
sudo ldconfig
  • 把常用工具标记为手动安装
1
sudo apt-mark manual # 避免执行 autoremove 时被删掉

nano

  • 开启
1
sudo nano /绝对路径
  • 删除本行
1
Ctrl + K
  • 插入
1
Shift + Insert
  • 保存
1
2
3
Ctrl + O

Enter
  • 退出
1
Ctrl + X
  • 确定更新
1
sudo cat /绝对路径

awk

  • 用途: awk 是一个强大的文本处理工具,通常用于文件的列操作、模式匹配和数据提取。
  • 示例:
    • awk '{print $1}' file.txt
      打印文件中每行的第一个字段。
    • awk '$3 > 50 {print $1, $3}' file.txt
      打印第三列值大于50的第一列和第三列。

sed

  • 用途: sed 是流编辑器,用于对文件内容进行查找、替换、插入、删除等操作。
  • 示例:
    • sed 's/old/new/g' file.txt
      将文件中所有的 “old” 替换为 “new”。
    • sed '2d' file.txt
      删除文件的第二行。

grep

  • 用途: grep 是用来搜索文件中的文本模式。可以用来匹配正则表达式的模式并输出匹配的行。
  • 示例:
    • grep 'pattern' file.txt
      查找文件中包含 “pattern” 的行。
    • grep -r 'pattern' /directory
      在目录中递归查找包含 “pattern” 的文件。

coredump

  • 用途: coredump 是程序崩溃时产生的文件,包含了程序崩溃时的内存快照。它通常用于程序调试。
  • 查看: 可以使用 gdb 来分析 coredump 文件,命令为
    gdb /path/to/program corefile
  • 生成: 通过设置 ulimit -c unlimited 可以开启 core dump 文件的生成。

netstat

  • 用途: netstat 用于显示网络连接、路由表、接口统计等信息。它有很多有用的选项来诊断网络问题。
  • 示例:
    • netstat -tuln
      显示所有监听中的 TCP 和 UDP 端口。
    • netstat -i
      查看网络接口的统计信息。

tcpdump

  • 用途: tcpdump 是一个网络抓包工具,用于监控网络数据包,常用于网络故障排查和安全分析。
  • 示例:
    • tcpdump -i eth0
      捕获并显示 eth0 接口的网络包。
    • tcpdump -n -i eth0 port 80
      捕获 HTTP 流量。

ipcs

  • 用途: ipcs 命令用于显示当前系统中共享内存、消息队列和信号量的状态信息。
  • 示例:
    • ipcs
      显示所有系统级的 IPC(进程间通信)资源。
    • ipcs -m
      只显示共享内存的状态信息。

ipcrm

  • 用途: ipcrm 用于删除共享内存、消息队列和信号量。
  • 示例:
    • ipcrm -m shmid
      删除指定 ID 的共享内存。
    • ipcrm -q msgqid
      删除指定 ID 的消息队列。

开发中踩过的坑

安装

sudo apt 安装之前要先清理依赖关系树,有脏东西的话就会导致安装不成功,之前以为是网络问题,排查了好久才发现是依赖的问题