美文网首页
mac常用命令记录

mac常用命令记录

作者: 神刀 | 来源:发表于2017-12-31 16:29 被阅读37次

    mac常用命令记录

    新建文件
    touch

    删除文件夹 命令
    rm -rf

    新建目录
    mkdir

    删除文件、删除目录下所有文件、删除目录
    rm -rf(迭代子目录)

    移动文件

    子目录的批量操作:
    ls | xargs -I {} mv {}/style.css {}/style.less

    查看文件权限 更改权限:
    ls -l filename

    查看目录数,文件数:
    1、查看统计当前目录下文件的个数
      ls -l | grep "^-" | wc -l
    2、查看统计当前目录下文件的个数,包括子目录里的。
      ls -lR| grep "^-" | wc -l
    3、查看某目录下文件夹(目录)的个数,包括子目录里的。
      ls -lR| grep "^d" | wc -l
    命令解释:ls -l
    长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等),每一行对应一个文件或目录,如果要列出所有子目录下的文件就是ls -lR。
    grep "^-"
    这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是grep "^d"。
    wc -l
    统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数。

    option + shift + L 查找输入码

    更改文件夹权限 sudo chmod a+w filename

    重新载入文件
    source .zshrc

    grep 查找文件中匹配的内容

    ls -a 查看目录下所有 包含隐藏文件
    alias 设置命令别称

    option + 点击右上角通知中心图标 变灰 开启勿扰模式 不怕老板

    查找文件 mdfind filename
    ⌘ + Option + e 全屏展示所有的 tab

    linux通用
    Ctrl +a 光标移至最前
    Ctrl +e 光标移至最后
    Ctrl +f 光标移至前一个单词
    Ctrl +b 光标移至后一个单词
    Ctrl +p 上一条命令
    Ctrl +k 删除光标至行尾
    Ctrl +u 删掉整行 item中
    Ctrl +w 删除光标至字首
    Ctrl +h 删除光标前字符
    Ctrl +d 删除光标后字符
    Ctrl +y 粘贴至光标后
    Ctrl +r 搜索命令历史,这个较常用

    Alt + d 光标处删至字尾
    Alt + f :按单词前移(右向)
    Alt + b :按单词后移(左向)

    afred 详解
    alt + comm + / 文件选择快捷键
    alt + space afred快捷键 自定义

    quit 命令 快速退出应用

    top 命令 安装Top process
    none:无操作。以默认方式列表显示所有进程 ID 打开的文件。
    control:杀掉当前正在选择的进程。
    command:强制关闭。
    alt:降低当前所选进程的 CPU 优先级别。
    shift:在互联网上搜索与进程相关的信息
    top -m:显示内存占用率排行
    top -c:显示 CPU 占用率排行
    top -i:显示 I/O 占用率排行
    top :sleep:显示处于「不活跃」状态的进程
    top :stopped:显示处于「终止」状态的进程
    top :runnable:显示处于「运行」状态的进程
    top :idle(:zombie :uninterruptible 等)

    space 空格键 + 关键字 查询文件喝文件夹
    open 打开文件或者文件夹
    find 查询文件或者文件夹的位置。
    in 查找文本文件内含有查询文字的文件(这个功能很强大啊)

    软件
    png2ico png转ico
    png2icns png转icns

    asar打包
    asar pack demo app.asar
    asar list app.asar

    拷贝文件
    cp 参数 源文件 目标文件 参数R表示对目录进行操作
    把驱动目录下的所有文件备份到桌面backup
    cp -R /System/Library/Extensions/* /User/用户名/Desktop/backup

    删除文件
    rm 参数 文件
    -rf 表示递归和强制,执行了 rm -rf / 你的系统就全没了

    移动文件
    mv 文件
    例:想把AppleHDA.Kext 移到桌面
    mv /System/Library/Extensions/AppleHDA.kext /User/用户名/Desktop
    想把AppleHDA.Kext 移到备份目录中
    mv /System/Library/Extensions/AppleHDA.kext /System/Library/Extensions/backup
    更改文件权限
    chmod 参数 权限 文件
    例:把驱动目录下所有文件设定到root读写,其他用户只读
    chmod -R 755 /System/Library/Extensions
    参数R 表示递归,755表示各用户的权限
    更改文件属主
    chown 参数 用户:组 文件
    例:把驱动目录下的所有文件属主改成根用户
    chown -R root:wheel /System/Library/Extensions
    参数R 表示递归操作
    修复整个系统中文件的权限
    diskutil repairpermissions /
    严格的说这不是一个unix 命令,而是osx一个软件,记得修改或添加的驱动就执行一次。
    文本编辑
    nano 文件名
    例:编辑natit Info.plist
    nano /System/Library/Extensions/Natit.kext/Info.plist
    编辑完成后 用 Ctrl +O 存盘,Ctrl+X 退出
    另一个文本编辑软件是 vi,操作有些古怪,熟了是非常好用的,而且在所有类Unix系统中都它,走遍天下都不怕了。
    运行脚本命令
    sh 脚本文件名
    例 修改驱动后所有需要的操作存成一个脚本,以后修改了驱动后只要运行一次这个脚本就可以了,方便吧

    1. 终端中运行nano /clean
    2. 把下列代码粘贴到 nano 中
      rm -rf /System/Library/Extensions.kextcache
      rm -rf /System/Library/Extensions.mkext
      chown -R root:wheel /System/Library/Extensions
      chmod -R 755 /System/Library/Extensions
      diskutil repairpermissions /
      kextcache -k /System/Library/Extensions/
    3. Ctrl +O 存盘,Ctrl+X 退出

    unix的命令行参考
    mkdir 创建一个目录 mkdir dirname
    rmdir 删除一个目录 rmdir dirname
    mvdir 移动或重命名一个目录 mvdir dir1 dir2
    pwd 显示当前目录的路径名 pwd
    dircmp 比较两个目录的内容 dircmp dir1 dir2
    cat 显示或连接文件 cat filename
    pg 分页格式化显示文件内容 pg filename
    more 分屏显示文件内容 more filename
    od 显示非文本文件的内容 od -c filename
    cp 复制文件或目录 cp file1 file2
    rm 删除文件或目录 rm filename
    mv 改变文件名或所在目录 mv file1 file2
    ln 联接文件 ln -s file1 file2
    find 使用匹配表达式查找文件 find . -name "*.c" -print
    file 显示文件类型 file filename

    head 显示文件的最初几行 head -20 filename
    tail 显示文件的最后几行 tail -15 filename
    cut 显示文件每行中的某些域 cut -f1,7 -d: /etc/passwd
    colrm 从标准输入中删除若干列 colrm 8 20 file2
    paste 横向连接文件 paste file1 file2
    diff 比较并显示两个文件的差异 diff file1 file2
    sed 非交互方式流编辑器 sed "s/red/green/g" filename
    grep 在文件中按模式查找 grep "^[a-zA-Z]" filename
    awk 在文件中查找并处理模式 awk '{print $1 $1}' filename
    sort 排序或归并文件 sort -d -f -u file1
    uniq 去掉文件中的重复行 uniq file1 file2
    comm 显示两有序文件的公共和非公共行 comm file1 file2
    wc 统计文件的字符数、词数和行数 wc filename
    nl 给文件加上行号 nl file1 >file2
    passwd 修改用户密码 passwd
    chmod 改变文件或目录的权限 chmod ug+x filename
    umask 定义创建文件的权限掩码 umask 027
    chown 改变文件或目录的属主 chown newowner filename
    chgrp 改变文件或目录的所属组 chgrp staff filename
    xlock 给终端上锁 xlock -remote

    make
    维护可执行程序的最新版本
    make
    touch
    更新文件的访问和修改时间
    touch -m 05202400 filename
    dbx
    命令行界面调试工具
    dbx a.out
    xde
    图形用户界面调试工具
    xde a.out
    进程操作
    命令名
    功能描述
    使用举例
    ps
    显示进程当前状态
    ps u
    kill
    终止进程
    kill -9 30142
    nice
    改变待执行命令的优先级
    nice cc -c *.c
    renice
    改变已运行进程的优先级
    renice +20 32768
    时间操作
    命令名
    功能描述
    使用举例
    date
    显示系统的当前日期和时间
    date
    cal
    显示日历
    cal 8 1996
    time
    统计程序的执行时间
    time a.out
    网络与通信操作
    命令名
    功能描述
    使用举例
    telnet
    远程登录
    telnet hpc.sp.net.edu.cn
    rlogin
    远程登录
    rlogin hostname -l username
    rsh
    在远程主机执行指定命令
    rsh f01n03 date
    ftp
    在本地主机与远程主机之间传输文件
    ftp ftp.sp.net.edu.cn
    rcp
    在本地主机与远程主机 之间复制文件
    rcp file1 host1:file2
    ping
    给一个网络主机发送 回应请求
    ping hpc.sp.net.edu.cn
    mail
    阅读和发送电子邮件
    mail
    write
    给另一用户发送报文
    write username pts/1
    mesg
    允许或拒绝接收报文
    mesg n
    Korn Shell 命令
    命令名
    功能描述
    使用举例
    history
    列出最近执行过的 几条命令及编号
    history
    r
    重复执行最近执行过的 某条命令
    r -2
    alias
    给某个命令定义别名
    alias del=rm -i
    unalias
    取消对某个别名的定义
    unalias del
    其它命令
    命令名
    功能描述
    使用举例
    uname
    显示操作系统的有关信息
    uname -a
    clear
    清除屏幕或窗口内容
    clear
    env
    显示当前所有设置过的环境变量
    env
    who
    列出当前登录的所有用户
    who
    whoami
    显示当前正进行操作的用户名
    whoami
    tty
    显示终端或伪终端的名称
    tty
    stty
    显示或重置控制键定义
    stty -a
    du
    查询磁盘使用情况
    du -k subdir
    df
    显示文件系统的总空间和可用空间
    df /tmp
    w
    显示当前系统活动的总信息

    zsh git快捷配置

    Commitizen 工具

    撰写 Commit message npm install -g commitizen
    s
    在项目目录里运行 使其支持 Angular 的 Commit message 格式
    $ commitizen init cz-conventional-changelog --save --save-exact

    git cz 替代 git commit

    <type>(<scope>): <subject>
    // 空一行
    <body>
    // 空一行
    <footer>

    type 7个标识:
    feat:新功能(feature)
    fix:修补bug
    docs:文档(documentation)
    style: 格式(不影响代码运行的变动)
    refactor:重构(即不是新增功能,也不是修改bug的代码变动)
    test:增加测试
    chore:构建过程或辅助工具的变动

    快捷键

    g='git'

    ga='git add'
    gaa='git add --all'
    gapa='git add --patch'

    gb='git branch'
    gba='git branch -a'
    gbda='git branch --merged | command grep -vE "^(*|\smaster\s$)" | command xargs -n 1 git branch -d'
    gbl='git blame -b -w'
    gbnm='git branch --no-merged'
    gbr='git branch --remote'
    gbs='git bisect'
    gbsb='git bisect bad'
    gbsg='git bisect good'
    gbsr='git bisect reset'
    gbss='git bisect start'

    gc='git commit -v'
    gc!='git commit -v --amend'
    gca='git commit -v -a'
    gca!='git commit -v -a --amend'
    gcan!='git commit -v -a -s --no-edit --amend'
    gcam='git commit -a -m'
    gcb='git checkout -b'
    gcf='git config --list'
    gcl='git clone --recursive'
    gclean='git clean -fd'
    gpristine='git reset --hard && git clean -dfx'
    gcm='git checkout master'
    gcmsg='git commit -m'
    gco='git checkout'
    gcount='git shortlog -sn'
    compdef gcount=git
    gcp='git cherry-pick'
    gcs='git commit -S'

    gd='git diff'
    gdca='git diff --cached'
    gdct='git describe --tags git rev-list --tags --max-count=1'
    gdt='git diff-tree --no-commit-id --name-only -r'
    gdw='git diff --word-diff'

    gf='git fetch'
    gfa='git fetch --all --prune'
    gfo='git fetch origin'

    gg='git gui citool'
    gga='git gui citool --amend'
    ggpull='git pull origin $(git_current_branch)'
    ggpush='git push origin $(git_current_branch)'
    ggsup='git branch --set-upstream-to=origin/$(git_current_branch)'
    ggpur='ggu'
    gignore='git update-index --assume-unchanged'
    gignored='git ls-files -v | grep "^[[:lower:]]"'
    git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk'

    gk='\gitk --all --branches'
    gke='\gitk --all $(git log -g --pretty=format:%h)'

    gl='git pull'
    glg='git log --stat'
    glgp='git log --stat -p'
    glgg='git log --graph'
    glgga='git log --graph --decorate --all'
    glgm='git log --graph --max-count=10'
    glo='git log --oneline --decorate'
    glol="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
    glola="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --all"
    glog='git log --oneline --decorate --graph'
    glp="_git_log_prettily"

    gm='git merge'
    gmom='git merge origin/master'
    gmt='git mergetool --no-prompt'
    gmtvim='git mergetool --no-prompt --tool=vimdiff'
    gmum='git merge upstream/master'

    gp='git push'
    gpd='git push --dry-run'
    gpoat='git push origin --all && git push origin --tags'
    gpu='git push upstream'
    gpv='git push -v'

    gr='git remote'
    gra='git remote add'
    grb='git rebase'
    grba='git rebase --abort'
    grbc='git rebase --continue'
    grbi='git rebase -i'
    grbm='git rebase master'
    grbs='git rebase --skip'
    grh='git reset HEAD'
    grhh='git reset HEAD --hard'
    grmv='git remote rename'
    grrm='git remote remove'
    grset='git remote set-url'
    grt='cd $(git rev-parse --show-toplevel || echo ".")'
    gru='git reset --'
    grup='git remote update'
    grv='git remote -v'

    gsb='git status -sb'
    gsd='git svn dcommit'
    gsi='git submodule init'
    gsps='git show --pretty=short --show-signature'
    gsr='git svn rebase'
    gss='git status -s'
    gst='git status'
    gsta='git stash'
    gstaa='git stash apply'
    gstd='git stash drop'
    gstl='git stash list'
    gstp='git stash pop'
    gsts='git stash show --text'
    gsu='git submodule update'

    gts='git tag -s'
    gtv='git tag | sort -V'

    gunignore='git update-index --no-assume-unchanged'
    gunwip='git log -n 1 | grep -q -c "--wip--" && git reset HEAD~1'
    gup='git pull --rebase'
    gupv='git pull --rebase -v'
    glum='git pull upstream master'

    gwch='git whatchanged -p --abbrev-commit --pretty=medium'
    gwip='git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit -m "--wip--"'

    %将Library文件夹设置为显示
    chflags nohidden ~/Library

    %将截屏保存到桌面的Screenshots子文件夹
    mkdir ~/Desktop/Screenshots
    defaults write com.apple.screencapture location ~/Desktop/Screenshots

    相关文章

      网友评论

          本文标题:mac常用命令记录

          本文链接:https://www.haomeiwen.com/subject/pjlagxtx.html