Linux命令¶
- 查看打开的文件描述符
lsof
- 查看进程打开的文件描述符
ll /proc/pid/fd/
- 获取脚本路径
script_path="$(cd "$(dirname "$0")"; pwd)"
- 获取相对路径对应的绝对路径
absolute_path=$(realpath "$relative_path")
- 获取字符串的最后一个字符
last_char="${dir_str: -1}"
- journalctl
# 删除超过两周的日志, 可以根据需要调整时间参数,例如 1month 或 7days。 journalctl --vacuum-time=2weeks # 将日志文件的大小限制为 100MB journalctl --vacuum-size=100M
- find
# 删除5天之前的文件夹 find . -mindepth 1 -type d -mtime +5 -exec rm -r {} + # 删除5分钟之前的文件夹 find . -mindepth 1 -type d -mmin +5 -exec rm -r {} +
- sed插入一行
sed -i "2i find log/ -mindepth 1 -type d -mtime +5 -exec rm -r {} +" log.sh
- 屏蔽/启用服务
systemctl unmask my.service systemctl mask my.service # systemctl unmask 命令在 Linux 中用于去除服务单元的“屏蔽”。当你使用 systemctl mask 命令屏蔽一个服务时,它会创建一个从服务的单元文件到 /dev/null 的符号链接,从而阻止该服务被手动或自动启动。 # 使用 systemctl unmask 可以移除这个符号链接,使得服务可以再次启动。这在你需要重新启用之前被屏蔽的服务时非常有用。