Skip to content

shell

○ 执行脚本

sh
# 脚本中的所有命令以 root 权限运行,启动新 shell 执行脚本
sudo sh script.sh
sudo bash script.sh

# 脚本中的所有命令以 root 权限运行,脚本需添加可执行权限
chmod +x script.sh
sudo ./script.sh

# 脚本中的所有命令以 root 权限运行,使用当前用户的环境变量
sudo -E ./script.sh

○ 历史命令执行

  • ctrl+r: 搜索命令执行
  • history | grep ${keyword} 搜索命令,!${number} 执行序号对应的命令

○ 结束程序

sh
lsof -i:7890
ss -tuln | grep :7890
netstat -tuln | grep :7890

ps -ef | grep ${command_keyword}

kill -9 <PID>

○ 修改文件所属用户和组

mihomo 程序需要修改所属用户组为 wheelroot 后才能正常启用

sh
# 仅改用户 user1
# 仅改组 :group1
sudo chown user1:group1 example.txt
# 修改当前文件夹中所有文件的归属权为当前用户
sudo chown -R $USER:$USER ./

○ 查看 ip 地址

sh
ip addr

○ ssh 连接

sh
ssh root@${ip} -p ${port}

○ 查找并删除文件

sh
# -mindepth 1 -maxdepth 1,只查找一级子内容,不找自身和更深层级的子目录
find ~/work/github-project -mindepth 1 -maxdepth 1 -not -name '.git' -exec rm -rf {} \;

○ 查找文本中匹配的行

sh
# 打印 README.md 文件中,带有 pnpm 的行
awk '/pnpm/ {print}' README.md
awk '/error/ {print}' 2025.log

○ 替换文件中的文本内容

https://felo.ai/search/oVzmbYWjhM4SP26SnWGyBT

sh
# 写入文本
echo "add content" > target.txt
cat source.txt > target.txt
# 追加文本
echo "add content" >> target.txt
cat source.txt >> target.txt

○ 查看当前目录中的所有文件,含隐藏文件

sh
# 所有文件
ls -la
# 仅 . 开头的隐藏目录
ls -ld .*

○ curl 下载文件

sh
# 下载文件到当前目录,保留原名
curl -O https://github.com/itmisx/deepx-code/releases/download/v0.2.48/deepx_0.2.48_linux_amd64.tar.gz
# 下载文件到自定义目录、自定义名称,带进度条
curl -v -o /tmp/deepx.tar.gz -O https://github.com/itmisx/deepx-code/releases/download/v0.2.48/deepx_0.2.48_linux_amd64.tar.gz
# 下载中支持断点续传,ctrl+c 中断,再次运行命令继续下载
curl -C - -O https://github.com/itmisx/deepx-code/releases/download/v0.2.48/deepx_0.2.48_linux_amd64.tar.gz
# 下载中限速,500k/2m 等
curl --limit-rate 500k -O https://github.com/itmisx/deepx-code/releases/download/v0.2.48/deepx_0.2.48_linux_amd64.tar.gz
# 批量下载,先准备 urls.txt(每行一个 url)
xargs -n 1 curl -O < urls.txt
# 下载时自动跟随重定向
curl -L -O https://github.com/itmisx/deepx-code/releases/download/v0.2.48/deepx_0.2.48_linux_amd64.tar.gz
# 下载时忽略证书问题,通常不建议(应安装证书包 ca-certificates 之类的)
curl -k -O https://github.com/itmisx/deepx-code/releases/download/v0.2.48/deepx_0.2.48_linux_amd64.tar.gz
# 下载时智能提取文件名(响应头 Content-Disposition 中读取)
curl -J -O 'https://example.com/download?id=456'

○ 解压安装程序

sh
# 查看文件内容
tar -tzf deepx_0.2.48_linux_amd64.tar.gz
# 解压,若包内没有顶层目录,手动先创建一个顶层目录(直接永远都创建即可)
sudo mkdir -p /opt/deepx
sudo tar -xzf deepx_0.2.48_linux_amd64.tar.gz -C /opt/deepx
# 创建可执行文件的软链接,/usr/local/bin 已在系统环境变量中
sudo ln -s /opt/deepx/deepx /usr/local/bin/deepx
# 若没有程序执行权限,添加权限
ls -l /opt/deepx/deepx
chmod +x /opt/deepx/deepx
访问量 PV:Blocked用户数 UV:Blocked