Skip to content

Mac 常用命令

软件提示已损坏,需要移到废纸篓的解决方法

sudo spctl --master-disable
sudo spctl --master-disable
xattr -r -d com.apple.quarantine <path>
xattr -r -d com.apple.quarantine <path>

<path>是你下载的应用程序的路径,一般在/Applications/应用程序名字

查看隐藏文件

Command+Shift+. 可以显示隐藏文件、文件夹,再按一次,恢复隐藏

  • command -v npm:查看命令来源
  • open /usr/local/bin:用 finder 打开目录
  • open -a typora /Users/seven/project/blog/docs:用 typora 打开

Homebrew

安装

bash
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

卸载

bash
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

换源

zsh 终端下:

shell
git -C "$(brew --repo)" remote set-url origin https://mirrors.ustc.edu.cn/brew.git
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git
brew update

echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles/bottles' >> ~/.zshrc
source ~/.zshrc
git -C "$(brew --repo)" remote set-url origin https://mirrors.ustc.edu.cn/brew.git
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git
brew update

echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles/bottles' >> ~/.zshrc
source ~/.zshrc

常用命令

  • 安装软件,如:brew install oclint
  • 卸载软件,如:brew uninstall oclint
  • 搜索软件,如:brew search oclint
  • 更新软件,如:brew upgrade oclint
  • 查看安装列表, 如:brew list
  • 更新 Homebrew,如:brew update

launchctl

launchctl 将根据 plist 文件的信息来启动任务

plist 目录

  • ~/Library/LaunchAgents 由用户自己定义的任务项

  • /Library/LaunchAgents 由管理员为用户定义的任务项,用户登陆系统后才会被执行

  • /Library/LaunchDaemons 由管理员定义的守护进程任务项,只要系统启动了,哪怕用户不登陆系统也会被执行

  • /System/Library/LaunchAgents 由 Mac OS X 为用户定义的任务项

  • /System/Library/LaunchDaemons 由 Mac OS X 定义的守护进程任务项

plist 文件

xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <!-- Label唯一的标识 -->
        <key>Label</key>
        <string>com.demo.plist</string>
        <!-- 指定要运行的脚本 -->
        <key>ProgramArguments</key>
        <array>
            <string>/Users/demo/run.sh</string>
        </array>
        <!-- 指定要运行的时间 -->
        <key>StartCalendarInterval</key>
        <dict>
            <key>Minute</key>
            <integer>00</integer>
            <key>Hour</key>
            <integer>22</integer>
        </dict>
        <!-- 标准输出文件 -->
        <key>StandardOutPath</key>
        <string>/Users/demo/run.log</string>
        <!-- 标准错误输出文件,错误日志 -->
        <key>StandardErrorPath</key>
        <string>/Users/demo/run.err</string>
    </dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <!-- Label唯一的标识 -->
        <key>Label</key>
        <string>com.demo.plist</string>
        <!-- 指定要运行的脚本 -->
        <key>ProgramArguments</key>
        <array>
            <string>/Users/demo/run.sh</string>
        </array>
        <!-- 指定要运行的时间 -->
        <key>StartCalendarInterval</key>
        <dict>
            <key>Minute</key>
            <integer>00</integer>
            <key>Hour</key>
            <integer>22</integer>
        </dict>
        <!-- 标准输出文件 -->
        <key>StandardOutPath</key>
        <string>/Users/demo/run.log</string>
        <!-- 标准错误输出文件,错误日志 -->
        <key>StandardErrorPath</key>
        <string>/Users/demo/run.err</string>
    </dict>
</plist>
  • Label:对应的需要保证全局唯一性;

  • Program:要运行的程序;

  • ProgramArguments:命令语句

  • StartCalendarInterval:运行的时间,单个时间点使用 dict,多个时间点使用 array <dict>

  • StartInterval:时间间隔,与 StartCalendarInterval 使用其一,单位为秒

  • StandardInPath、StandardOutPath、StandardErrorPath:标准的输入输出错误文件,这里建议不要使用 .log 作为后缀,会打不开里面的信息。

  • 定时启动任务时,如果涉及到网络,但是电脑处于睡眠状态,是执行不了的,这个时候,可以定时的启动屏幕就好了。

常用命令

shell
1.显示当前的启动脚本
launchctl list
# 查看任务列表, 使用 grep '任务部分名字' 过滤
launchctl list | grep 'com.demo'

2.开机时自动启动Apache服务器
launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist

3.设置开机启动并立即启动改服务
launchctl load -w   **.pist

4. 设置开机启动但不立即启动服务
launchctl load **.pist

5. 停止正在运行的启动脚本
launchctl unload [path/to/script]

6. 再加上-w选项即可去除开机启动
launchctl unload -w [path/to/script]

7. 开始任务
launchctl start com.demo.plist

8. 结束任务
launchctl stop com.demo.plist
1.显示当前的启动脚本
launchctl list
# 查看任务列表, 使用 grep '任务部分名字' 过滤
launchctl list | grep 'com.demo'

2.开机时自动启动Apache服务器
launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist

3.设置开机启动并立即启动改服务
launchctl load -w   **.pist

4. 设置开机启动但不立即启动服务
launchctl load **.pist

5. 停止正在运行的启动脚本
launchctl unload [path/to/script]

6. 再加上-w选项即可去除开机启动
launchctl unload -w [path/to/script]

7. 开始任务
launchctl start com.demo.plist

8. 结束任务
launchctl stop com.demo.plist

mysql

shell
brew services start mysql
brew services stop mysql
brew services restart mysql
brew services start mysql
brew services stop mysql
brew services restart mysql

references

https://ss64.com/osx/launchctl.html