当前位置: 首页 > news >正文

zsh

zsh命令

符号 作用 示例 执行逻辑
; 顺序执行,无论前一条命令是否成功 cmd1; cmd2 执行 cmd1,然后执行 cmd2
&& 仅当前一条命令成功(退出状态码为 0)时,才执行下一条命令 cmd1 && cmd2 若 cmd1 成功,则执行 cmd2
` ` 仅当前一条命令失败(退出状态码非 0)时,才执行下一条命令
& 前一条命令在后台运行,不阻塞下一条命令 cmd1 & cmd2 cmd1 后台运行,同时执行 cmd2
仅当前一条命令失败(退出状态码大于0)时,才执行下一条命令

Echo命令,控制台输出, \n参数用于去除末尾自动换行。

Source命令,接脚本文件,执行脚本,并且脚本中若定义了函数或者变量,都直接在当前shell中生效。 而如果执行输入脚本文件,相当于在新的shell子进程中运行脚本,不会影响当前shell环境。
. 是 source 的等效写法(例如 . ~/.zshrc)。

Export命令,用于使普通变量对当前shell的子进程也有效。
比如: v1=“hello”, 然后export v1
也可以 export v1=“hello”

执行任何外部命令都会在子进程中执行。

基本语法:
单引号: ‘’ 包裹的内容原样办理出,不解析特殊符号
比如: echo ‘$HOME’ 输出 $HOME
Echo “$HOME” 输出 /Users/roland

: 追加内容到文件末尾
~: 代表用户的家目录
~/.zshrc: 追加内容到文件末尾。 .zshrc是Zsh Shell的配置文件,每次启动终端(严格说是启动Zsh Shell)都会自动执行这个配置文件中的脚本。

cd: 进入某一层目录
当目标为符号链接时,跟随符号链接,进入到逻辑相同的目录。
cd -P 符号链接, 进入到实际的物理目录。
比如/opt/homebrew/opt目录下的python@3.13是一个符号链接,指向../Cellar/python@3.13/3.13.3
cd /opt/homebrew/opt/python@3.13 进入逻辑目录
此时pwd显示 /opt/homebrew/opt/python@3.13
Pwd -P 显示/opt/homebrew/Cellar/python@3.13/3.13.3

若使用cd -P opt/homebrew/opt/python@3.13, 则进入物理目录
此时pwd和pwd -P 都显示 /opt/homebrew/Cellar/python@3.13/3.13.3

pwd: 返回当前目录

ls: 查看目录内容
ls [选项] [目录或文件]
-a: 显示隐藏文件
-l: 显示详细信息(列表样式)
-d: 只显示目录,不递归。
-p: 显示时会对目录名称后面加个“/”,便于区分是目录还是文件。

ls -d 等价于 ls -d . 因为目录或文件参数默认值是.
ls默认显示目录中所有内容(不包括隐藏文件) , 而所显示的目录如果不指定,就是当前目录,即“.”, 即 ls 等价于 ls .
而-d选项是只显示目录,所有 ls -d 等价于 ls -d . 就只显示当前目录本身,所有就只显示一个 “.”。 当然这样是没有意义的。

目录或文件通配符:
*: 代表目录或文件
*/ : 代表目录
ls * 会显示当前目录的所有文件及子目录和子目录的所有文件
ls -d * 由于有-d选项,只保留了子目录部分,不会显示子目录里的文件

grep: 文本搜索工具
grep [选项] "搜索模式" [文件或目录]

  • 搜索模式 :可以是普通字符串或正则表达式。
  • 文件或目录 :如果省略,则从标准输入(如管道 |)读取数据。

Which 与 where 的区别:
特性 which where
搜索范围 第一个匹配项 所有匹配项
显示别名/函数 是(优先显示) 是(并列出所有路径)
递归搜索 $PATH 否 是
which python3
/opt/homebrew/bin/python3

Where python3
/opt/homebrew/bin/python3
/usr/bin/python3

读取符号链接的真实路径
readlink -f mylink
realpath mylink

file [选项] 文件名或路径
检测文件类型。

复杂命令拆解:
dirname "$(readlink -f "$(which python3)”)”
$(command): 命令替换, 等价于将括号中的命令的输出会存到一个变量中,之后再引用这个变量。
双引号作用: 防止返回的内容(尤其是路径)中有空格,影响其做为一个整体做为下一个命令的参数。

dirname: 返回上级目录
basename: 返回最末级目录或文件

在当前shell环境中删除环境变量,但不会永久修改环境变量。因为环境变量可能是在配置文件中,下载启动shell还会再加载。
unset HOMEBREW_BOTTLE_DOMAIN
unset HOMEBREW_API_DOMAIN

http://www.hskmm.com/?act=detail&tid=23204

相关文章:

  • 从零搭建雷池WAF:环境配置、安装部署与Web防护实战
  • 论文速读记录 | 2025.10
  • 【Rust GUI开发入门】编写一个本地音乐播放器(15. 记录运行日志) - Jordan
  • 6 种常见 AI 编程协作便捷的方法总结
  • DeploySharp开源发布:让C#部署深度学习模型更加简单
  • 别样的国庆作业大战
  • ROS2之服务
  • macOS上优雅运行Docker容器
  • 题解:CF1770H Koxia, Mahiru and Winter Festival
  • HarmonyOS之LocalStorage - 详解
  • Spring Boot Logback:实现定时任务日志与业务日志隔离 - Higurashi
  • 网络流 最小割 Dinic算法
  • 15.VLANIF(2025年9月30日) - 教程
  • 树莓派搭建NAS之一:安装系统
  • 新手Markdown学习
  • 马云归来,“新零售”不死 - 指南
  • RNN
  • 10.2笔记
  • Shell / Bash 学习
  • 【Linux 架构探幽:从入门到内核・系统编程开篇】基础指令与权限精讲,筑牢框架制作根基
  • 使用 Dart 进行验证码识别
  • 用 Rust 进行验证码识别
  • teset3
  • Java并发编程(5)
  • 定时任务详解
  • 华为wlan无线配置 - 教程
  • PINN训练新思路:把初始条件和边界约束嵌入网络架构,解决多目标优化难题
  • 可持久化数据结构
  • 2025.10.2——1黄
  • 图的匹配