有个简单又有用的命令行工具叫chattr(Change Attribute 的缩写),在类 Unix 等发行版中,能够用来防止文件和目录被意外的删除或修改。...通过给文件或目录添加或删除某些属性,来保证用户不能删除或修改这些文件和目录,不管是有意的还是无意的,甚至 root 用户也不行。听起来很有用,是不是?...Linux中防止文件和目录被意外删除和修改 默认,chattr 命令在大多数现代 Linux 操作系统中是可用的。...P – project 层次结构 s – 安全删除文件或目录 S – 即时更新文件或目录 t – 不进行尾部合并 T – 顶层目录层次结构 u – 不可删除 在本教程中,我们将讨论两个属性的使用,即...防止文件和目录被意外删除,但允许追加操作 我们现已知道如何防止文件和目录被意外删除和修改了。接下来,我们将防止文件被删除但仅仅允许文件被追加内容。
Mac 解决 command not found: adb 问题 在 macOS 上进行 Android 开发或设备调试时,adb(Android Debug Bridge)是一个不可或缺的工具。...本文将带你从根源理解问题,并提供一套通用、可靠、一劳永逸的解决方案,适用于所有现代 Mac 系统(包括搭载 Apple Silicon 芯片的 M1/M2 设备),无论你使用的是 Bash 还是 Zsh...这些路径由环境变量 PATH 定义。 如果你没有将 platform-tools 目录添加到 PATH 中,系统自然无法识别 adb 命令,从而抛出 command not found 错误。...第二步:选择合适的 Shell 配置文件 macOS 从 Catalina (10.15) 开始,默认终端 Shell 从 bash 切换为 zsh。...使配置生效 5 新终端中运行 adb version 验证 核心要点: macOS 默认使用 zsh,应优先配置 .zshrc 或 .zprofile。
我们可以参考此篇文章 - 如何在 Windows 10 上安装和使用 Zsh[4] 一旦设置完成,我们就可以配置终端应用程序使用 Bash 或 Zsh。...这个符号可以被自定义为其他符号或字符串,但默认情况下是 。例如:user@hostname:~ 变量替换: 在命令行中使用 符号来引用变量的值。通过在变量名前加上 符号,可以访问该变量的值。...:上一个命令的退出状态码。 $$:当前 shell 的进程 ID。 $_:上一个命令的最后一个参数或最后一个命令的结果。 $ 符号还用于一些特殊变量,这些变量有特定的含义。...然后运行 'pwd' 以确认新位置 这相当于在GUI文件资源管理器中双击PersonWorkSpace目录。 细心的朋友可以看到,提示符从波浪号(~)变为PersonWorkSpace。...它将删除 test 目录中的所有内容,以及test目录中子目录中的任何内容,test目录中子目录中的子目录中的任何内容,依此类推。 我们可能还会遇到一些文件权限问题。
macOS 从 Catalina(10.15)开始,默认 Shell 已经切换为 Zsh,但系统自带的版本往往较旧,且功能相对有限。我们通常需要自己安装最新版并进行配置,以获得更好的使用体验。...本教程以 macOS 13/14 系列为例,适用于最新的 M 系列芯片(M1、M2、M3、或更高)。...安装完成后,需要将 Homebrew 路径添加到 PATH 环境变量中。M 系列 Mac 默认安装路径为 /opt/homebrew。...本文将介绍如何在 M 系列 Mac 上安装并配置 Powerlevel10k。 先决条件: 需要安装一个支持 Nerd Font(或 “Powerline 字体”)的字体,以显示图标。...希望能帮助刚接触 macOS 终端与 Zsh 的小白朋友,快速上手并打造专属的高效开发环境!如果你有更多问题或定制需求,欢迎在评论区留言讨论。祝你终端之旅顺利愉快~
现代的MacOS版本自带的Zsh,而不是Bash。但Zsh与Bash十分类似:它们属于同一家族,几乎共享所有相同的命令。从目的角度出发,它们是可以互换使用的。...这里有一个教程,介绍了所需的步骤:在Windows中,如何安装并使用Zsh[2]。 我自己运行了这些步骤,虽然这有点乏味,但它确实起作用了! 一旦设置好之后,你就可以配置终端来使用Bash或者Zsh。...一个流行的方法是Git Bash[4],它允许你在Windows内使用模拟技术运行Bash。 归根结底,你如何做到并不重要。重要的是,你能够在Windows中使用Bash或Zsh。...我们可以这么做: cd path/to/project rm -rf node_modules npm install 我们进入到正确的目录后,使用rm命令删除所有的第三方代码,然后使用npm install...它应该能在MacOS、Windows和Linux中工作。 这个命令/快捷键是在Bash/Zsh中实现的。它是shell环境的一部分。这意味着它只在shell空闲时起作用。
我们不仅会教你如何卸载,还会告诉你为什么这样做、如何验证、以及遇到问题该怎么办。读完本文,你的系统将焕然一新,不留一丝痕迹。...环境变量污染导致劫持:被修改的PATH等系统变量可能被恶意程序利用,通过命令劫持方式诱导系统加载非预期代码。...PATH环境变量创建必要的符号链接和启动脚本因此,卸载需要逆向操作这些步骤。...#清理npm缓存中的OpenClaw数据npmcacheclean--force#检查并清理可能的环境变量残留(可选)$env:PATH=$env:PATH-replace'[;]?...$PATH|tr':'''|grep-iopenclaw#如果有输出,从当前会话中移除exportPATH=$(echo$PATH|tr':'''|grep-vopenclaw|tr''':'|sed's
iTerm2 介绍 iTerm2 是一款功能强大的终端工具,也可以说是 Terminal 的替代品,也可以说是 iTerm 的后继产品。它适用于 macOS 10.12 或更高版本的 macOS。...配置 oh-my-zsh oh-my-zsh 是对主题的进一步扩展,Github 地址:https://github.com/ohmyzsh/ohmyzsh 你可以通过 curl 或 wget 命令进行安装...,需要 Meslo 字体支持,要不然会出现乱码的情况,字体下载地址:Meslo LG M Regular for Powerline.ttf 下载好之后,直接在 macOS 中双击安装即可。..." source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh 保存后,执行变量生效命令: source /...: ctrl + d 删除前一字符: ctrl + h 删除光标之前的字符: ctrl + w 删除光标之前的整行: ctrl + n 删除光标之后整行: ctrl + k 参考资料 iTerm2终端工具在
Installation 引导工具 安装步骤 添加驱动 相关驱动 Troubleshooting 如何判断自己磁盘是 MBR 还是 GPT 如果不小心转化为的动态磁盘 引导的时候关闭代码显示 无法进入安装界面...双系统时间相差 8 小时 啰嗦模式 如何升级 HP BIOS MacOS 配置 核心工具: BetterAndBetter HotKeys Keyboard Modifiers Screenshot...1T HDD 的末尾分出一个盘 分一个磁盘, 大概 50G 应该要的吧 分磁盘的时候首先要小心,如果是从现有的磁盘分出多余的空间,那么千万不要改成动态磁盘 分磁盘的时候千万不要改成动态磁盘, 会多出很多不必要的额外操作...CLI 使用 Finder 打开文件夹 使用 open 这个关键词就可以使用 Finder 打开 open /Path/To/Directory/ homebrew /bin/zsh -c "$.../usr/local/share/zsh/site-functions 这两个目录没有权限, 给这个两个目录赋权就可以了. chmod 755 /usr/local/share/zsh chmod 755
2019 年,Apple 发布了新一代 macOS——macOS Catalina,为专业用户带来了一项重大变化,zsh 取代了 bash,成为默认的 Shell。...如果命令不是 Shell 的预知范围之内的话,它会去咨询环境变量 $PATH。 ? 可以使用 which 命令来确定某个程序名代表的是哪个具体的程序。...Shell 中的路径是一组被分割的目录,在 Linux 和 macOS 上使用的 / 分割,在 Windows 上是 \,正因为这样,我们在编程的时候一定要先获取系统的分隔符(Java 是 File.separator...你可以趁机学习一下 mv(用于重命名或移动文件)、 cp(拷贝文件)以及 mkdir(新建文件夹)这些常用命令。注意,rm (删除文件)这个命令一定要慎用啊,搞不好就是删库跑路的节奏!...nohup java -jar XXX.jar > out.log & 对于绝大多数的类 Unix 系统,有一类用户非常特殊,就是 root 用户,可以创建、读取、更新和删除系统中的任何文件。
前言 家里电脑有一段时间没有使用了,突然心血来潮搬出来开发个idea小程序,结果环境乱的一塌糊涂,不知道当初弄了啥,好像是删除了什么,导致zsh一直找不到文件,解析出错。...在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。...配置Go环境变量 Mac的shell环境有两种,zsh和bash,这两种不是一个配置文件,在配置之前我们需要知道默认是哪种配置。 查看默认的shell dscl ....的安装路径为/opt/homebrew/Cellar/go/1.21.4/libexec 配置go环境 接下来我们需要设置GOROOT, GOPATH, PATH三个环境变量。...将GOPATH/bin加入 PATH 变量,这样在终端的任何路径都能使用go包的bin目录下面的工具,不需要进入到bin目录或者指定目录,比较方便。
Shell 有各种实现,比如最常用的 Bash,它是 Linux 和旧版本的 macOS 的默认版本。 目前 macOS 默认的 Shell 换成了 zsh。...zsh 配置比较复杂,我推荐安装 Oh My Zsh,会让你的 zsh 更好用。 脚本保存位置 Shell 怎么知道可以执行的命令行工具,也就是脚本的放在哪里呢?...答案是它会找全局变量 PATH 指定的目录,找到匹配的文件去执行。...# 创建 bin 目录 mkdir ~/bin 然后给 PATH 变量新增一个路径,我们需要在 ~/.zshrc 文件加上: export PATH=~/bin:$PATH 这样,每次打开终端时,PATH...路径都会执行 .zshrc 文件,然后给 PATH 变量加上 ~/bin 路径。
前天更新了一下Xcode命令行工具,竟然给我偷偷下了个3.7,顺带把某一软连接变量写入系统盘,安装的包放到数据盘 MacOS Catalina文件系统属实拉胯,绝对没有Windows好使。...---- Mac两个bin目录 相同点 /usr/bin和/usr/local/bin都是用来存储终端命令二进制文件或者命令的软链接 这两个bin目录都是已经包含在环境变量里的目录,程序放在里面或者链接到里面命令就可以在终端里直接执行...version: 用来展示命令的真实地址存储位置 ---- 实例 下面以pip3为例,在zsh中的针对pip3具体操作,同理要将终端中2.7版本的pip改为自己下载的pip版本,直接将下述所有的pip3...zsh终端下执行: ZSH echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zshrc 注意此步可以先不操作,如果出现了permission denied.../Python.framework/Versions/3.x/lib/python3.x/site-packages/pip (python 3.x) ③删除已经存在的冗余数据 ZSH rm -rf
Go 多版本管理工具 在平时开发中,本地新旧项目并行开发的过程中,你大概率会遇到一个令人头疼的问题,如何同时使用两个不同版本的 Golang Runtime 进行开发呢?...添加到你的 shell 配置文件(例如 ~/.bashrc 或 ~/.zshrc)中: echo 'export GOENV_ROOT="$HOME/.goenv"' >> ~/.bashrc echo...以下是使用g的基本步骤: Linux/macOS(适用于 bash、zsh) # 建议安装前清空`GOROOT`、`GOBIN`等环境变量 curl -sSL https://raw.githubusercontent.com...# 记得重启 shell ,或者重新 source 配置 第二种,则是调整 ~/.oh-my-zsh/plugins/git/git.plugin.zsh 中关于 g 的注册,将其注释或删除掉: # alias...g='git' 我的 .zshrc 中的完整配置: # 我的 g 的bin目录调整到了 .gvm ,所以你可能需要一些额外的调整 export PATH="${HOME}/.gvm/bin:$PATH
这里将使用类 Unix shell,如 bash 或 zsh,适用于 Linux 或 MacOS 系统(Windows 上需要使用 WSL 或虚拟机)。...World 但是,shell 是如何知道去哪里寻找 date 或 echo 指令的呢?...如果 shell 被要求执行某个指令,而该指令并不是 shell 所包含的编程关键字,那么它会去咨询被称为 $PATH 的「环境变量」(environment variable),该变量会列出当 shell...3 在 shell 中导航 shell 中的路径是一组被分割的目录,在 Linux 和 macOS 上使用 / 分割,在 Windows 上则是 \(本文采用 / 进行说明)。...根用户几乎不受任何限制,可以创建、读取、更新和删除系统中的任何文件。通常我们并不会以根用户的身份直接登录系统,而是会在需要的时候使用 sudo 命令。
tab=macos#macos flutter sdk下载完成后,就是找一个安装目录解压压缩包,建议在mac的终端下完成操作。...还有就是:上面第一行中的目录/Users/cjl/Documents/flutter_mac/flutter/是我安装flutter sdk的目录,这里需要替换成你自己的flutter sdk存放路径。...其实并不是这样的,经过查找资料,发觉是从 macOS Catalina 版开始,您的 Mac 将使用 zsh 作为默认登录 Shell 和交互式 Shell。...您还可以在较低版本的 macOS 中将 zsh 设置为默认 Shell。....zshrc 中配置环境变量 ---- 至此,我们在终端输入flutter --version,如果显示flutter的版本信息,则表明flutter安装成功 flutter --version 输入
我最近最大的改变是从 Bash 转移到 zsh,并迁移了我的 Bash 魔改。但这只是其中一个重大的转变。我学到了许多新式的经验,现在我把这些经验赠送给你,亲爱的读者。...Coreutils 对选项的顺序更宽容 从 Ubuntu 转移到 macOS 并没有太大的转变,直到我开始觉得我失去了 Unix 范。...下面是我们熟悉的 GNU 风格的删除目录的命令: $ rm path/to/folder -rf 这与同一命令的 BSD 风格版本形成鲜明对比: $ rm path/to/folder -rf rm:...这将 GNU 实用程序引入到了 macOS,并使我不必为那些已经深深扎根于我的肌肉记忆中的命令记住选项顺序,从而对选项顺序更加宽容。...Oh My Zsh 有如此多的插件,你一定能找到改善你生活的东西。 至于我的本地机?我就直接用 PS1 格式,因为我喜欢这样的基本信息,而且 macOS 并没有真正让你给机器起个名字。
安装pyenv以后,他会在你的$PATH中增加环境变量,如下: ❯ echo $PATH /Users/allenjol/.pyenv/plugins/pyenv-virtualenv/shims:/Users.../allenjol/.pyenv/shims:/usr/local/bin:/usr/local/sbin 所以,pyenv其实是控制了你的PATH环境变量来做到Python的版本切换的。...pyenv侧重点在Python解释器版本的管理上,你可以随意的切换你的Python版本,并且不需要指定具体的虚拟环境目录。..."' >> ~/.bashrc source ~/.bashrc # zsh下设置环境变量(我是iterm2+zsh) echo 'export PYENV_ROOT="$HOME/.pyenv"'...https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv # MacOS的zsh echo
比较特别的是,npm run 新建的这个 Shell,会将当前目录的 node_modules/.bin子目录加入PATH 变量,执行结束后,再将PATH变量恢复原样。...(ksh) Z Shell(zsh) Friendly Interactive Shell(fish) # 查看当前运行的 Shell $ echo $SHELL MacOS: /bin/zsh Linux...如果将脚本放在环境变量$PATH指定的目录中,就不需要指定路径了。因为 Bash 会自动到这些目录中,寻找是否存在同名的可执行文件。...# ~/.bashrc 或 ~/.bash_profile # 在 ~/.bin 目录下不需要再加 path $ export PATH=$PATH:~/bin $ source ~/.bash_profile...:脚本需要在执行过程中,由用户提供一部分数据,这时可以使用read命令;它将用户的输入存入一个变量,方便后面的代码使用。
二、nvm的安装与基本使用 2.1 macOS安装nvm 在macOS上,您可以通过以下两种主要方式来安装nvm:使用curl或Homebrew。...Homebrew安装nvm后,您需要将nvm的环境变量添加到您的shell启动脚本中(例如~/.bash_profile、~/.bashrc或~/.zshrc)。...安装过程中,您可以选择nvm的安装路径和node的存储路径。 配置环境变量 安装完成后,nvm-windows会自动配置环境变量。您可以在命令提示符或PowerShell中使用nvm命令。...这个问题可能是由于nvm没有正确安装或环境变量没有正确设置。请按以下步骤检查并修复: 检查安装 确保nvm已安装在预期的位置。默认情况下,它应安装在用户主目录的.nvm文件夹中。...检查环境变量 确保nvm的环境变量在启动脚本中设置正确。请参阅上面“检查nvm配置”部分,确保相应的配置已添加到您的~/.bash_profile、~/.bashrc或~/.zshrc中。
本文以mac为例 系统要求 支持的操作系统 操作系统 架构 最低版本 推荐版本 macOS aarch64 (M1/M2) macOS 12.0 macOS 14.0+ Linux x86_64 Ubuntu...cangjie-sdk-mac-aarch64-1.0.1.tar.gz 解压完成后,您会看到一个名为 cangjie 的目录,其中包含了仓颉工具链的所有文件。...永久环境配置 为了让仓颉工具链在每次启动终端时自动可用,可以将配置命令添加到 shell 初始化文件中: 对于 zsh(macOS 默认): # 编辑 ~/.zshrc 文件 echo 'source...卸载与更新 卸载仓颉工具链 删除工具链目录: rm -rf /path/to/cangjie 移除环境变量配置: # 编辑 ~/.zshrc 或 ~/.bashrc,删除相关的 source 命令行...vim ~/.zshrc 重新加载配置: source ~/.zshrc 更新仓颉工具链 更新仓颉工具链需要先卸载当前版本,然后重新安装最新版本: 按照上述步骤卸载当前版本 从官网下载最新版本的安装包