你的位置:首页 > 操作系统

[操作系统]Mac命令学习与积累


最近开始使用mac air,以前从来没有接触过IOS系统,各种操作捉急。Mac快捷键相当多,遇到各种操作不会就只好百度,然后整理了一堆有用或者没用的命令,一股脑儿列在下面。后续遇到的话还会再补充一些。

=================================================

查询运行文件所在路径 

which ant

如果你安装好了ant,就会显示文件所在的路径

/usr/local/Cellar/ant/1.9.3/bin/ant

=================================================

查看文件安装路径

whereis android

如果你安装好了Android,就会显示文件安装的地址

android: /usr/mac/android   /usr/software/sdk/android 

=================================================

截图

1. Command+shift+3:全屏截图,保存截图到桌面

2. Command+shift+4:鼠标选定区域截图,保存截图到桌面

以上两个操作,如果你同时按住Ctrl,最后保存截图在剪切板里,你可以COM+V来直接粘贴到编辑界面

3. 使用Command+shift+4后,按下空格键,鼠标会变成一个小相机,这时候你使用鼠标对一个窗口点击一下鼠标左键,你已经对一个窗口进行了截图。

4. 使用Command+shift+4 后 ,画一个抓取的区域,不要松开鼠标,接着

(1)按住空格可以移动这个区域

(2)按住 Shift后,将锁定X 或者 Y轴进行拖动

(3)按住 Option后 将按照区域圆心进行放大.

最后所有截图将直接显示在桌面上。

=================================================

窗口最小化

  1. 1. 使用快捷键 Command+M,可以实现快速最小化当前窗口的目的。
  2. 2. 使用快捷键 Command+Option+M,可以实现快速最小化当前应用程序所有窗口的目的。比如你想一下子最小化多个 Finder 窗口,就可以用该快捷键。
  3. 3. 使用快捷键 Command+H,可以实现快速隐藏当前应用程序所有窗口的目的。
  4. 4. 使用快捷键 Command+Option+H,可以实现快速隐藏除当前应用程序之外所有程序窗口的目的。
  5. 5. 使用快捷键 Command+Option+M+H,可以实现快速隐藏所有应用程序窗口的目的。
  6. 6. 你还可以在「系统偏好设置——通用」中勾选”连按窗口的标题栏以将窗口最小化”,然后双击窗口标题栏就可以最小化当前窗口。

P.S.严格的说隐藏和最小化不是一回事儿,虽然呈现的结果差不多。

7. 按住 command 键,然后按 tab 键切换程序,然后放开 tab(不要放开 command),按 option 键恢复最小化的窗口。

=================================================

显示/隐藏文件

显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true

隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool false

或者

显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles  YES

隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles  NO

输完单击Enter键,退出终端,重新启动Finder就可以了重启Finder:鼠标单击窗口左上角的苹果标志-->强制退出-->Finder-->重新启动

=================================================

添加用户级环境变量

~/.bash_profile (注:Linux 里面是 .bashrc 而 Mac 是 .bash_profile)

设置环境变量:export PATH=/opt/local/bin:/opt/local/sbin:$PATH

=================================================

MAC 修改host文件 and

sudo vi /etc/hosts

=================================================

添加PATH环境变量

[root@localhost u-boot-sh4]#export PATH=/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH

查看PATH环境变量

[root@localhost u-boot-sh4]#echo $PATH

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

编辑PATH环境变量

# vim /etc/profile

在文档最后,添加

export PATH="/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH"

保存,退出。

想立即生效请运行

#source /etc/profile

不报错则成功。

如果想立刻生效,则可执行下面的语句

$ source .bash_profile(这是文件名)

=================================================

端口映射

在mac os中1000以下的端口是不允许用户使用的,因此在利用eclipse运行项目程序时会报java.net.SocketException: Permission denied的错误

解决该问题的方法有如下两种:

(1) 修改eclipse运行配置,将80端口改成1000以上的端口,比如将80端口改成8080端口,这样,就能正确运行程序。但会有一个问题,

更改后用localhost:8080可以访问对应的页面,但再点击其他页面有可能找不到其他页面报404错误

(2) 在mac os 中做端口映射,这是一种一劳永逸的方法,即在程序运行时,将默认请求80端口的程序映射到请求8080端口

首先,更改eclipse的配置,将默认的端口改成8080

其次,在/etc/pf.anchors下面通过新建文件com.pow,使用命令:sudo touch com.pow,成功后用vi com.pow打开文件并在该文件中添加:

rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080

接着,更改/etc/pf.conf文件内容

在语句:rdr-anchor "com.apple/*"后另起一行,增加如下内容:

rdr-anchor "pow"

在语句:load anchor "com.apple" from "/etc/pf.anchors/com.apple"后另起一行,增加如下内容:

load anchor "pow" from "/etc/pf.anchors/com.pow"并回车

         上述文件修改后如果出现无法保存的问题,则使用chmod命令修改其权限

最后,运行命令sudo pfctl -f /etc/pf.conf重新载入配置文件,以及运行命令sudo pfctl -e,启用新的配置

若要解除端口映射,可运行命令:sudo pfctl -d

=================================================

修改文件权限

sudo chmod -R 777 文件名

=================================================

Finder中直接访问某文件夹

Command+Shift+G

=================================================

强制关闭某应用程序

Command+Option+Shift+Esc

=================================================

添加桌面快捷方式

拖动要添加到桌面的图标,然后按住Command+Option,将图标拖到桌面上,然后放掉

=================================================

Excel单元格内换行

Command、Option、Control三个中的任意两个,然后按Enter

=================================================

vi命令大全(与linux相同,这里稍微列一下)

【进入vi的命令】 

vi filename   打开或新建文件,并将光标置于第一行首 

vi +n filename  打开文件,并将光标置于第n行首 

vi + filename  打开文件,并将光标置于最后一行首 

vi +/pattern filename  打开文件,并将光标置于第一个与pattern匹配的串处 

vi -r filename  在上次正用vi编辑时发生系统崩溃,恢复filename 

vi filename1 filename2 filename3 …  打开多个文件,依次进行编辑 

【移动光标类命令】

h  光标左移一个字符 

l  光标右移一个字符 

space  光标右移一个字符 

Backspace  光标左移一个字符 

k或Ctrl+p  光标上移一行 

j或Ctrl+n  光标下移一行 

Enter  光标下移一行 

w或W  光标右移一个字至字首 

b或B  光标左移一个字至字首 

e或E  光标右移一个字至字尾 

)   光标移至句尾 

(   光标移至句首 

}  光标移至段落开头 

{  光标移至段落结尾 

nG  光标移至第n行首 

n+  光标下移n行 

n-  光标上移n行 

n$  光标移至第n行尾 

H   光标移至屏幕顶行 

M :光标移至屏幕中间行 

L :光标移至屏幕最后行 

0:(注意是数字零)光标移至当前行首 

$:光标移至当前行尾 

【屏幕翻滚类命令】

Ctrl+u:向文件首翻半屏 

Ctrl+d:向文件尾翻半屏 

Ctrl+f:向文件尾翻一屏 

Ctrl+b;向文件首翻一屏 

nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。 

【插入文本类命令】

i :在光标前 

I :在当前行首 

a:光标后 

A:在当前行尾 

o:在当前行之下新开一行 

O:在当前行之上新开一行 

r:替换当前字符 

R:替换当前字符及其后的字符,直至按ESC键 

s:从当前光标位置处开始,以输入的文本替代指定数目的字符 

S:删除指定数目的行,并以所输入文本代替之 

ncw或nCW:修改指定数目的字 

nCC:修改指定数目的行 

【删除命令 】

ndw或ndW:删除光标处开始及其后的n-1个字 

do:删至行首 

d$:删至行尾 

ndd:删除当前行及其后n-1行 

x或X:删除一个字符,x删除光标后的,而X删除光标前的 

Ctrl+u:删除输入方式下所输入的文本  

【搜索及替换命令】 

/pattern:从光标开始处向文件尾搜索pattern 

?pattern:从光标开始处向文件首搜索pattern 

n:在同一方向重复上一次搜索命令 

N:在反方向上重复上一次搜索命令 

:s/p1/p2/g:将当前行中所有p1均用p2替代 

:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代 

:g/p1/s//p2/g:将文件中所有p1均用p2替换 

【选项设置】 

all:列出所有选项设置情况 

term:设置终端类型 

ignorance:在搜索中忽略大小写 

list:显示制表位(Ctrl+I)和行尾标志($) 

number:显示行号 

report:显示由面向行的命令修改过的数目 

terse:显示简短的警告信息 

warn:在转到别的文件时若没保存当前文件则显示NO write信息 

nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符 

nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始 

mesg:允许vi显示其他用户用write写到自己终端上的信息 

【行方式命令】

:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下 

:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下 

:n1,n2 d :将n1行到n2行之间的内容删除 

:w :保存当前文件 

:e filename:打开文件filename进行编辑 

:x:保存当前文件并退出 

:q:退出vi 

:q!:不保存文件并退出vi 

:!command:执行shell命令command 

:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入 

:r!command:将命令command的输出结果放到当前行 

【寄存器操作】 

"?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字 

"?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字 

"?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字 

"?p:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字 

ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。