Mac Command-Line

command_line

引言:图形化界面很方便,命令行界面很极客。

时间:2017年11月06日

作者:JustDo23

关键字:命令行 Command-Line terminal shell

01. 简介

命令行界面Command-Line Interface 通过指令执行操作,节省资源运行高效

Linux 系统有 BashWindows 系统有 Windows PowerShell

02. 指令

指令均在 Mac 电脑执行,在 Windows 可能有不同指令。

  1. 查看当前用户

    $ whoami
    
  2. 显示当前的目录

    $ pwd
    
  3. 切换目录

    # 切换到当前目录
    $ cd .
    # 切换到当前目录的上级目录
    $ cd ..
    # 切换到当前目录内某个目录
    $ cd Desktop
    # 切换到系统根目录
    $ cd /
    # 切换当前用户根目录
    $ cd ~
    
    • 使用 Tab 按钮快速提示
  4. 查看文件列表

    # 列出当前目录下文件列表
    $ ls
    # 列出所有文件包含隐藏文件
    $ ls -a
    # 以列表详细信息形式列出文件列表
    $ ls -l
    # 两种组合
    $ ls -al
    
  5. 清除屏幕

    $ clear
    $ cls
    
    • 快捷键 Command + K
  6. 创建文件夹

    $ mkdir dirName
    
  7. 创建文件

    # 若没有便创建空文件
    $ touch fileName
    
  8. 文本编辑

    # 使用 nano 编辑
    $ nano fileName
    
    • 提示 Ctr + O 存盘
    • 提示 Ctr + X 退出
    • 更多是使用 Vim 编辑器
  9. 查看文件内容

    # 打印文件内容
    $ cat fileName
    # 同时打印两个文件内容
    $ cat fileNameA fileNameB
    # 添加行号
    $ cat -n fileName
    
  10. 复制与移动

# 复制文件
$ cp oldFileName newDirNewName
# 移动文件[重命名]
$ mv oldFileName newDirNewName
# 复制文件夹及内部子文件
$ cp -r sourceDirName targetDirName
  • 移动 命令可用于文件及文件夹的 重命名
  1. 文本内容操作
# 把一个文本内容复制到另一个
$ cat fileNameA > fileNameB
# 清空一个文本
$ cat /dev/null > fileName
  • 目标文件不存在自动创建
  • 参数 > 操作源文件内容会覆盖目标文件内容
  • 参数 >> 操作源文件内容追加到目标文件内容之后
  1. 删除
# 删除一个文件且不可用于删除文件夹
$ rm fileName
# 删除一个空的文件夹且不可删除不为空文件夹
$ rmdir emptyDirName
# 删除文件夹及内部所有文件
$ rm -r dirName
$ rm -rf dirName
# 删除之前提示并确认
$ rm -i fileName
  • 参数 -r 表示递归操作
  • 参数 -f 表示强制操作
  1. 查找
# 查找当前目录下所有后缀为 .txt 的文件
$ find *.txt
# 更多
$ find . -name "*.txt" -print
  • 命令中使用了通配符 *
  1. 可视化程序打开
  • open 命令用于打开文件目录执行程序;功能类似双击
# 使用 Finder 打开当前目录
$ open .
# 使用 Finder 打开指定目录
$ open dirName
# 使用默认程序打开制定文件
$ open fileName
# 打开系统中的计算器
$ open /Applications/Calculator.app
  1. 查看命令手册
# man 指令名
$ man command
  • 键盘按下 q 进行退出
  1. 显示文件类型
# 文件或者目录
$ file name
# 显示 inode 内容
$ stat name
  • 例如图片格式尺寸等信息
  1. 查看本机 IP 地址
$ ifconfig
  1. 退出
$ exit

03. 折腾

  1. 文件对比

    # 指定两个文本文件进行
    $ diff fileNameA fileNameB
    # 并排格式输出更直观
    $ diff fileNameA fileNameB -y -W 50
    
    • 会逐行进行文本对比
    • 指定文本目录则会比较子目录相同文件名的文件
    • 参数 -y 表示并列方式显示两文件异同
    • 参数 -W 50 表示并列情况下的栏宽
    diff
    • 符号 | 表示该行内容不同
    • 符号 < 表示后面文件比前面文件一行
    • 符号 > 表示后面文件比前面文件一行
  2. 分页查看文本

    # 一页一页形式查看
    $ more fileName
    # 多行空格合并一行
    $ more -s fileName
    # 升级版命令
    $ less fileName
    
    • 按下空格进行翻页
    • 按下 b 进行翻页
  3. 文本输出

    # 控制台输出指定文本
    $ echo string
    # 等价于
    $ echo "string"
    # 转义字符,输入双引号
    $ echo "\"string\""
    # 字符输入指定文本,覆盖
    $ echo string > fileName
    # 字符输入指定文本,追加
    $ echo string >> fileName
    # 原样输出字符,不进行转义
    $ echo '$name\"'
    # 显示指令执行结果
    $ echo `date`
    
    • 单引号包裹的字符进行转义
    • 反引号可以包裹指令
    # 换行问题在脚本中常见
    # 换行
    $ echo "Hello \n World."
    # 或者
    #!/bin/sh
    echo -e "OK! \n" # -e 开启转义
    echo "It it a test"
    # 不换行
    echo -e "OK! \c" # -e 开启转义 \c 不换行
    echo "It is a test"
    

04. 功能

  1. 时间

    # 显示系统当前具体时间
    $ date
    # 日历显示当前月份
    $ cal
    # 显示 Julian 日历
    $ cal -j
    # 日历显示指定年份
    $ cal year
    # 日历显示指定年份指定月份
    $ cal month year
    # 统计给定所花费的总时间
    $ time command
    
  2. 关机

    # 立即关机
    $ sudo shutdown -h now
    # 10分钟后关机
    $ sudo shutdown -h +10
    # 晚上八点关机
    $ sudo shutdown -h 20:00
    
  3. 显示隐藏文件

    # 显示隐藏文件
    $ defaults write com.apple.finder AppleShowAllFiles -bool true
    $ defaults write com.apple.finder AppleShowAllFiles YES
    # 隐藏隐藏文件
    $ defaults write com.apple.finder AppleShowAllFiles -bool false
    $ defaults write com.apple.finder AppleShowAllFiles NO
    
  4. 释放内存及硬盘

    # 类似重启
    $ purge
    
  5. 打开应用

    # 打开程序
    $ open -n /Applications/Safari.app
    

05. 系统设置

  1. 修改用户密码

    # 修改当前用户密码
    $ passwd
    
    • 键入旧密码及新密码
  2. 环境变量

    # 查看全部环境变量
    $ env
    # 查看当前终端内核
    $ echo $SHELL
    # 查看当前用户环境变量
    $ echo $PATH
    
  3. 文件权限

    # 设置所有人可读取
    $ chmod ugo+r fileName
    $ chmod a+r fileName
    # 仅文件拥有者可以执行
    $ chmod u+x fileName
    # 设置当前目录下所有文件及子目录权限
    chmod -r a+r *
    
    • 文件调用权分三级:
      • 字母 u 代表文件拥有者
      • 字母 g 代表群组
      • 字母 o 代表其他
      • 字母 a 代表三者皆是
    • 权限操作有三种:
      • 符号 + 代表增加权限
      • 符号 - 代表取消权限
      • 符号 = 代表唯一设定权限
    • 权限类型有四种:
      • 字母 r 代表可读取
      • 字母 w 代表可写入
      • 字母 x 代表可执行
      • 字母 X 代表只有当该文件是个子目录或者该文件已经被设定过为可执行
    # 使用数字设置权限
    $ chmod 777 fileName
    
    • r=4 w=2 x=1
      • 若要rwx属性则4+2+1=7
      • 若要rw-属性则4+2=6
      • 若要r-x属性则4+1=5

06. 拓展

  1. Command line reference – Database and OS scripting.
  2. Mac 终端命令大全
  3. Linux 命令大全

你可能感兴趣的:(Mac Command-Line)