[转]学好Mac常用命令,助力iOS开发
序言
在iOS开发的过程中,更多地注重iOS开发的效率,熟练使用Mac终端操作的常用命令,可以让你更好的游刃于iOS繁重的开发中。本文着重介绍常用的Mac终端基本指令和快捷键,更加适合一些IOS新手学习和了解。
Mac OS X的文件系统
- Mac OS X本身是Unix内核的,采用Unix的多用户系统,采用Unix文件系统,所有文件都放在根目录
/Users下面,不存在Windows下的盘符概念,用户登录系统后,自己的用户目录下一般有公共、图片、文稿、下载、音乐、影片、站点、桌面、资源库,OS X为中文用户做了国际化,打开终端,输入ls,你会看到真正的目录名称:Desktop、Documents、Downloads、Library、Movies、Music、Pictures、Public、Sites。继续在终端中输入cd /,切换到根目录,键入ls,这样基本就可以看到Unix目录的全貌。
如下图所示:
- 其中,一些常用文件位置集锦:
1.驱动所在位置 /Systme/Library/Extensions ;
2.桌面的位置 /User/用户名/Desktop ;
3.文件通配符为星号 *
4.在 Unix系统中是区别大小写字符的,A.txt 不等于 a.txt。
根目录标志 / 不是可有可无,cd /System 表示转到跟目录下的
System中,而cd System 表示转到当前目录下的 System中 。
Mac终端常用的基本命令
- 列出文件:
ls 参数 目录名例: 查看驱动目录:ls/System/Library/Extensions,(参数 -w 显示中文,-l 详细信息, -a 包括隐藏文件); - 转换目录:
cd例如:转换到驱动目录cd /System/Library/Extensions; - 建立新目录:
mkdir 目录名例如:在驱动目录下建一个备份目backup,mkdir /System/Library/Extensions/backup;
在桌面上建一个备份目录 backup,mkdir /User/用户名/Desktop/backup; - 拷贝文件:
cp 参数 源文件 目标文件例:想把桌面的Natit.kext 拷贝到驱动目录中cp -R /User/用户名/Desktop/Natit.kext /System/Library/Extensions;参数R表示对目录进行递归操作,kext在图形界面下看起来是个文件,实际上是个文件夹。
把驱动目录下的所有文件备份到桌面backupcp -R /System/Library/Extensions/* /User/用户名/Desktop/backup; - 删除文件:
rm 参数 文件例:想删除驱动的缓存rm -rf /System/Library/Extensions.kextcache 、rm -rf /System/Library/Extensions.mkext,参数-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; - 文本编辑:
nano 文件名例:编辑natit Info.plistnano /System/Library/Extensions/Natit.kext/Info.plist; - 目录操作:
| 命令名 | 功能描述 | 使用举例 |
|---|---|---|
| mkdir | 创建一个目录 | mkdir dirname |
| rmdir | 删除一个目录 | rmdir dirname |
| mvdir | 移动或重命名一个目录 | mvdir dir1 dir2 |
| cd | 改变当前目录 | cd dirname |
| pwd | 显示当前目录的路径名 | pwd |
| ls | 显示当前目录的内容 | ls -la |
- 文件操作:
| 命令名 | 功能描述 | 使用举例 |
|---|---|---|
| cat | 显示或连接文件 | cat filename |
| od | 显示非文本文件的内容 | od -c filename |
| cp | 复制文件或目录 | cp file1 file2 |
| rm | 删除文件或目录 | rm filename |
| mv | 改变文件名或所在目录 | mv 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 |
| diff | 比较并显示两个文件的差异 | diff file1 file2 |
| sort | 排序或归并文件 | sort -d -f -u file1 |
| uniq | 去掉文件中的重复行 | uniq file1 file2 |
| comm | 显示两有序文件的公共和非公共行 | comm file1 file2 |
| wc | 统计文件的字符数、词数和行数 | wc filename |
| nl | 给文件加上行号 | nl file1 >file2 |
- 进程操作:
| 命令名 | 功能描述 | 使用举例 |
|---|---|---|
| ps | 显示进程当前状态 | ps u |
| kill | 终止进程 | kill -9 30142 |
- 时间操作:
| 命令名 | 功能描述 | 使用举例 |
|---|---|---|
| date | 显示系统的当前日期和时间 | date |
| cal | 显示日历 | cal 4 2016 |
| time | 统计程序的执行时间 | time a.out |
- 网络与通信操作:
| 命令名 | 功能描述 | 使用举例 |
|---|---|---|
| telnet | 远程登录 | telnet hpc.sp.net.edu.cn |
| rlogin | 远程登录 | rlogin hostname -l username |
| rsh | 在远程主机执行指定命令 | rsh f01n03 date |
| ftp | 在本地主机与远程主机之间传输文件 | ftp.sp.net.edu.cn |
| rcp | 在本地主机与远程主机之间复制文件 | rcp file1 host1:file2 |
| 阅读和发送电子邮件 | ||
| write | 给另一用户发送报文 | write username pts/1 |
| mesg | 允许或拒绝接收报文 | mesg n |
| ping | 给一个网络主机发送回应请求 | ping hpc.sp.net.edu.cn |
- Korn Shell 命令 :
| 命令名 | 功能描述 | 使用举例 |
|---|---|---|
| history | 列出最近执行过的几条命令及编号 | history |
| r | 重复执行最近执行过的 某条命令 | r -2 |
| alias | 给某个命令定义别名 | alias del=rm -i |
| unalias | 取消对某个别名的定义 | unalias del |
| rcp | 在本地主机与远程主机之间复制文件 | rcp file1 host1:file2 |
| 阅读和发送电子邮件 | ||
| write | 给另一用户发送报文 | write username pts/1 |
| mesg | 允许或拒绝接收报文 | mesg n |
- 其他命令 :
| 命令名 | 功能描述 | 使用举例 |
|---|---|---|
| uname | 显示操作系统的有关信息 | uname -a |
| clear | 清除屏幕或窗口内容 | clear |
| alias | 给某个命令定义别名 | alias del=rm -i |
| unalias | 取消对某个别名的定义 | unalias del |
| who | 显示当前所有设置过的环境变量 | who |
| whoami | 显示当前正进行操作的用户名 | whoami |
| tty | 显示终端或伪终端的名称 | tty |
| du | 查询磁盘使用情况 | du -k subdir |
| stty | 显示或重置控制键定义 | stty -a |
| df/tmp | 显示文件系统的总空间和可用空间 | - |
| w | 显示当前系统活动的总信息 | - |
显示资源库:
方法一:
显示
在“终端”中输入下面的命令:chflags nohidden ~/Library/;隐藏
在“终端”中输入下面的命令:chflags hidden ~/Library/;方法二:
打开Finder,菜单中选择前往按住option键就会显示资源库项(每次打开都需要重复操作一次)。
Finder显示隐藏文件
显示隐藏文件
在“终端”中输入下面的命令:defaults write com.apple.finder AppleShowAllFiles -bool true;
killall Finder恢复隐藏文件
在“终端”中输入下面的命令:defaults write com.apple.finder AppleShowAllFiles -bool false.
killall FinderXcode卸载
在“终端”中输入下面的命令:sudo /Library/uninstall-devtools –mode=all
为实际安装的目录,默认情况下Xcode安装在/Developer目录下,即可执行sudo /Developer/Library/uninstall-devtools –mode=all;在Finder标题栏显示完整路径
在“终端”中输入下面的命令:defaults write com.apple.finder _FXShowPosixPathInTitle -bool YES
killall Finder去掉窗口截屏的阴影
对窗口进行截屏的时候(Command-Shift-4, 空格),得到的图片周围会自动被加上一圈阴影。如果你不喜欢这个阴影的效果,可以把它关掉。
在“终端”中输入下面的命令:defaults write com.apple.screencapture disable-shadow -bool true;
killall SystemUIServer强制Safari在新标签中打开网页
Safari是默认支持标签浏览的。但是,我们在页面上点击链接或者在其他应用程序中点击链接的时候,Safari往往是打开了一个新的窗口,导致页面上的Safari窗口过多,不好管理。通过下面这个小窍门,
我们可以让Safari默认是在一个新标签中打开网页。
在“终端”中输入下面的命令:defaults write com.apple.Safari TargetedClicksCreateTabs -bool true;改变截屏图片的保存位置
Mac OS提供了非常方便的截屏快捷键,可以让我们非常快速的对整个屏幕、部分屏幕或者应用程序窗口进行截屏。不过,这个截屏功能有一个不足之处,就是只能将截屏图片保存到桌面。如果我们截取的图片特别多,就会让桌面显得特别凌乱。那有没有办法来修改截屏图片的默认保存位置呢?有。方法非常简单,只要在“终端” 中输入下面的命令就可以了。defaults write com.apple.screencapture location 存放位置;
killall SystemUIServer
在输入命令的时候,将“存放位置”替换成真正的文件夹就可以了。例如,你希望存放到自己用户目录的Screenshots文件夹下,就输入defaults write com.apple.screencapture location ~/Screenshots;
Mac中常用的快捷键
- Command+Tab 任意情况下切换应用程序 - 向前循环
- Shift+Command+Tab 切换应用程序 - 向后循环
- Command+Delete 把选中的资源移到废纸篓
- Shift+Command+Delete 清倒相关程序的废纸篓
- Command+` 同一应用程序多窗口间切换
- Command+F 呼出大部分应用程序的查询功能
- Command+C/V/X 复制/粘贴/剪切
- Command+N 新建应用程序窗口
- Command+Q 退出当前应用程序,说明一下,所有应用程序界面左上角都有红黄绿三个小图标,点击绿色扩展到最适合的窗口大小,黄色最小化,红色关掉当前窗口,但并没有退出程序。
- 用Command+Q配合Command+Tab关闭应用程序最为迅速
- Command+L 当前程序是浏览器时,可以直接定位到地址栏
- Command+"+/-" 放大或缩小字体
- Control+推出键 显示关机对话框
- Control+Space 呼出Spotlight
- Command+Space 切换输入法
写在最后
[转]学好Mac常用命令,助力iOS开发的更多相关文章
- 学好Mac常用命令,助力iOS开发
原文出处: Jack_lin(@Jack_Lin_IOS ) 厚重·技术 序言 在iOS开发的过程中,更多地注重iOS开发的效率,熟练使用Mac终端操作的常用命令,可以让你更好的游刃于iOS繁重的开发 ...
- vim常用命令(iOS)
iOS下vim的使用: vim 的三种模式: .一般模式(默认) .插入模式(写文字) .命令行模式(保存) 各种模式的功能区分如下: .一般模式:控制屏幕光标的移动,字符和光标的删除,移动复制某区段 ...
- windows下的Nodejs及npm的安装、常用命令,Nodejs开发环境配置
http://www.cnblogs.com/webstorm/p/5744942.html ***************************************** 第一步:下载Nodej ...
- iOS开发——开发技巧&Mac常用命令
现实和隐藏文件拓展名 显示:defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder 隐藏:def ...
- xcode教程,MAC常用命令
Vmware中为Mac Os安装vmtools 开机后,在Finder中就可以找到Darwin.iso,进行安装. 附件:vmtools for macos下载地址 https://softwareu ...
- Mac环境配置 - iOS开发人员 -待续
Mac环境记录 Mac 相关 目录相关 显示: $ defaults write com.apple.finder AppleShowAllFiles -bool true 隐藏: $ default ...
- mac常用命令(随时更新)
mac 强制退出快捷键 1.使用键盘快捷键强制退出处于活跃状态的Mac程序 快捷键:Command+Option+Shift+Esc 这样按住一两秒钟,就可以强制退出当前程序了,算是最方便的一种方法. ...
- Mac常用命令行
Mac环境下启动tomcat 1.进入文件夹----------cd apache-tomcat-9.0.10/ cd bin 2.启动tomcat---------sudo sh startup.s ...
- Linux(Mac)常用命令
df -B[G,M,K]查看磁盘剩余空间 free -mh查看内存 netstat -ntlp查看当前监听的网络端口 mount -t auto /dev/cdrom /media/cdrom挂载cd ...
随机推荐
- DropDownList和GridView用法
DropDownList和GridView用法 DropDownList控件和GridView控件在Asp.net中相当常用,以下是控件的解释,有些是常用的,有些是偶尔的,查找.使用.记录,仅此而 ...
- AngularJS中数据双向绑定(two-way data-binding)
1.切换工作目录 git checkout step-4 #切换分支,切换到第4步 npm start #启动项目 2.代码 app/index.html Search: <input ng-m ...
- .NET源码
值得珍藏的.NET源码,不保存就没机会了 很早以前,我们通过http://referencesource.microsoft.com/netframework.aspx可以下载到.NET的各版本公开源 ...
- Event notifications
SQL Server 事件通知(Event notifications) 2013-12-13 17:21 by 听风吹雨, 333 阅读, 3 评论, 收藏, 编辑 一. 背景 SQL Server ...
- web 安全知识
目录 背景最简单的 Web 物理架构攻击方式总览Web 软件安全攻击防护浏览器安全攻击Cookie 假冒隐藏变量修改跨站脚本攻击服务器安全攻击缓冲区溢出认证逃避非法输入授权逃避SQL 注入异常敏感信息 ...
- [笔记] OS X and iOS 内核开发
一.KEXT包的安全性说明 KEXT 程序包及其包含的所有文件及文件夹必须属于 root 用户(用户 id 是 0) KEXT 程序包及其包含的所有文件及文件夹必须属于 wheel 组(组 id 是 ...
- 企业架构研究总结(35)——TOGAF架构内容框架之构建块(Building Blocks)
之前忙于搬家移居,无暇顾及博客,今天终于得闲继续我的“政治课”了,希望之后至少能够补完TOGAF方面的内容.从前面文章可以看出,笔者并无太多能力和机会对TOGAF进行理论和实际的联系,仅可对标准的文本 ...
- WPF MVVM使用prism4.1搭建
WPF MVVM使用prism4.1搭建 MVVM即Model-View-ViewModel,MVVM模式与MVP(Model-View-Presenter)模式相似,主要目的是分离视图(View)和 ...
- 玩下Javascript
玩下Javascript 前言 好久没有更新博客了,也蛮少捣弄javascript,今儿看到一个题目,关于给你一个面板,你可以随意的在上面画矩形,可以移动和删除任意一个你创建的矩形,心血来潮搞着玩哈, ...
- jQuery中的事件监听方式及异同点
jQuery中的事件监听方式及异同点 作为全球最知名的js框架之一,jQuery的火热程度堪称无与伦比,简单易学的API再加丰富的插件,几乎是每个前端程序员的必修课.从读<锋利的jQuery&g ...