mac常用命令记录

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,761评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,953评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,998评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,248评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,130评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,145评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,550评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,236评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,510评论 1 291
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,601评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,376评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,247评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,613评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,911评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,191评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,532评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,739评论 2 335

推荐阅读更多精彩内容