Mac OS Terminal Commands 02

mac 终端常用命令和vim普通命令使用

转载 2016年01月06日 13:11:58

mac 终端 常用命令

基本命令
1、列出文件
ls 参数 目录名        例: 看看驱动目录下有什么:ls /System/Library/Extensions
参数 -w 显示中文,-l 详细信息, -a 包括隐藏文件
2、转换目录     

cd    例:想到驱动目录下溜达一圈   cd /System/Library/Extensions

3、建立新目录
mkdir 目录名     例:在驱动目录下建一个备份目录 backup     mkdir /System/Library/Extensions/backup
在桌面上建一个备份目录 backup    mkdir /User/用户名/Desktop/backup

4、拷贝文件
cp 参数 源文件 目标文件    例:想把桌面的Natit.kext 拷贝到驱动目录中  cp -R /User/用户名/Desktop/Natit.kext /System/Library/Extensions
参数R表示对目录进行递归操作,kext在图形界面下看起来是个文件,实际上是个文件夹。
把驱动目录下的所有文件备份到桌面backup
cp -R /System/Library/Extensions/* /User/用户名/Desktop/backup

5、删除文件
rm 参数 文件   例:想删除驱动的缓存  rm -rf /System/Library/Extensions.kextcache     rm -rf /System/Library/Extensions.mkext
参数-rf 表示递归和强制,千万要小心使用,如果执行了 rm -rf / 你的系统就全没了

6、移动文件
mv 文件   例:想把AppleHDA.Kext 移到桌面    mv /System/Library/Extensions/AppleHDA.kext /User/用户名/Desktop
想把AppleHDA.Kext 移到备份目录中   mv /System/Library/Extensions/AppleHDA.kext /System/Library/Extensions/backup

7、文本编辑
nano 文件名   例:编辑natit Info.plist     nano /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 8 1996

time                         统计程序的执行时间                            time a.out

网络与通信操作

命令名                                功能描述                                       使用举例

telnet                                  远程登录                                 telnet hpc.sp.net.edu.cn

rlogin                                 远程登录                                 rlogin hostname -l username

rsh                       在远程主机执行指定命令                             rsh f01n03 date

ftp                   在本地主机与远程主机之间传输文件                ftpftp.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 /tmp                          显示文件系统的总空间和可用空间

w                                  显示当前系统活动的总信息

 

Mac OS X 终端命令开启功能

1.Lion下显示资源库
方法一:
显示
在“终端”中输入下面的命令:
chflags nohidden ~/Library/

隐藏
在“终端”中输入下面的命令:
chflags hidden ~/Library/

方法二:
打开Finder,菜单中选择前往按住option键就会显示资源库项(每次打开都需要重复操作一次)。

2.Finder显示隐藏文件
显示隐藏文件
在“终端”中输入下面的命令:
defaults write com.apple.finder AppleShowAllFiles -bool true
killall Finder

恢复隐藏文件
在“终端”中输入下面的命令:
defaults write com.apple.finder AppleShowAllFiles -bool false
killall Finder

3.Xcode卸载
在“终端”中输入下面的命令:
sudo /Library/uninstall-devtools –mode=all

为实际安装的目录,默认情况下Xcode安装在/Developer目录下,即可执行
sudo /Developer/Library/uninstall-devtools –mode=all

4.在Finder标题栏显示完整路径
在“终端”中输入下面的命令:
defaults write com.apple.finder _FXShowPosixPathInTitle -bool YES
killall Finder

5.去掉窗口截屏的阴影
对窗口进行截屏的时候(Command-Shift-4, 空格),得到的图片周围会自动被加上一圈阴影。
如果你不喜欢这个阴影的效果,可以把它关掉。
在“终端”中输入下面的命令:
defaults write com.apple.screencapture disable-shadow -bool true
killall SystemUIServer

6.强制Safari在新标签中打开网页
Safari是默认支持标签浏览的。但是,我们在页面上点击链接或者在其他应用程序中点击链接的时候,
Safari往往是打开了一个新的窗口,导致页面上的Safari窗口过多,不好管理。通过下面这个小窍门,
我们可以让Safari默认是在一个新标签中打开网页。
在“终端”中输入下面的命令:
defaults write com.apple.Safari TargetedClicksCreateTabs -bool true

7.改变截屏图片的保存位置
Mac OS提供了非常方便的截屏快捷键,可以让我们非常快速的对整个屏幕、部分屏幕或者应用程序窗口进行截屏。不过,这个截屏功能有一个不足之处,就是只能将截 屏图片保存到桌面。如果我们截取的图片特别多,就会让桌面显得特别凌乱。那有没有办法来修改截屏图片的默认保存位置呢?有。方法非常简单,只要在“终端” 中输入下面的命令就可以了。
defaults write com.apple.screencapture location 存放位置
killall SystemUIServer

在输入命令的时候,将“存放位置”替换成真正的文件夹就可以了。例如,你希望存放到自己用户目录的Screenshots文件夹下,就输入
defaults write com.apple.screencapture location ~/Screenshots

 

 

Mac锁屏设置快捷键

如果用户要离开电脑一段时间,可以选择直接把笔记本直接合上。但是这样原先在跑 的进程就会挂起或者结束,如果正在下载,那么下载就被暂停(有时还不能恢复),如果正在提供网络服务,那么因为网络断了,别人也连不上你的笔记本。锁屏可 以解决这个问题,在Windows下用Win+L快捷键就锁屏了,但Mac OS X下一直没有默认的快捷键。

对于像我一样的新手,不要说设置锁屏快捷键,即便要使用其他锁屏的方法我也要到网上才能找到。其中一种方法是,首先在Finder找到“钥匙串访 问”这个实用工具(具体位置是/Applications/Utilities/Keychain Access.app),然后在“偏好设置”里选择“在菜单栏中显示钥匙串状态”。这时我们发现系统菜单多了一个像锁一样的小图标,只要点击它,就能找到 锁屏。

上述的方法实现了锁屏,但还没能达到快捷键控制锁屏的目标。虽然如此,但它的效果给我们一个锁屏思路。首先,我们要求屏幕保护程序在恢复时必须输入密码,然后锁屏问题就变成启动屏幕保护程序的问题了。Lock the screen via a keyboard shortcut这篇文章叙述了具体的实施方法。

第一步,找到“系统偏好设置”下的“安全性与隐私”,在“通用”页里勾上“进入睡眠或开始屏幕保护程序后立即要求输入密码”。

第二步,要用快捷键启动屏幕保护程序,相对复杂一点。在“应用程序”里找到“Automator”。新建一个服务,在“操作”下的“实用工具”里找 到“启动屏幕保护程序”,并把此操作拖动到右边,并且选择“没有输入”和位于“任何应用程序”,如下图所示。然后把服务保存为自己定义的名字。

最后,在“系统偏好设置”里找到“键盘”,然后为刚才定义的服务配置快捷键,我设成了Command+Control+L。

 
 

Vim常用命令

 
高级一些的编辑器,都会包含宏功能,vim当然不能缺少了,在vim中使用宏是非常方便的:

:qx     开始记录宏,并将结果存入寄存器x
q     退出记录模式
@x     播放记录在x寄存器中的宏命令
稍微解释一下,当在normal模式下输入:qx后,你对文本的所有编辑动作将会被记录下来,再次输入q即退出了记录模
式,然后输入@x对刚才记录下来的命令进行重复,此命令后可跟数字,表示要重复多少次,比如@x20,可以重复20次。这个在文本的批处理中是非常有用的。
同时编辑多个文件
在vim众多的插件中,有一个叫minibuffer的插件,就是下面所说的标签页功能了,可以支持同时编辑多个文件。
标签命令

:tabe fn     在一个新的标签页中编辑文件fn
gt     切换到下一个标签页
gT     切换到上一个标签页
:tabr     切换到第一个标签页
:tabl     切换到最后一个标签页
:tabm [N]     把当前tab移动到第N个tab之后
对,正如你所想象的那样,跟eclipse, ue等的标签页是一个意思!
窗口命令
ctrl+w s     水平分割窗口
ctrl+w w     切换窗口
ctrl+w q     退出当前窗口(由于同时有多个文件,此命令不会影响其他窗口)
ctrl+w v     垂直分割窗口
其他
vim在保存之前不会对文件做实际的修改,只是加载到缓冲区中,对文件的编辑其实是对缓冲区的编辑,直到:w时才会存入物理文件。

:e file     把file加载到新的缓冲区中
:bn     跳转到下一个缓冲区
:bd     删除缓冲区(关闭文件)
:sp fn     分割窗口,并将fn加载到新的窗口中
退出编辑器

:w     将缓冲区写入文件,即保存修改
:wq     保存修改并退出
:x     保存修改并退出
:q     退出,如果对缓冲区进行过修改,则会提示
:q!     强制退出,放弃修改
查找替换
/pattern     向后搜索字符串pattern
?pattern     向前搜索字符串pattern
n     下一个匹配(如果是/搜索,则是向下的下一个,?搜索则是向上的下一个)
N     上一个匹配(同上)
:%s/old/new/g     搜索整个文件,将所有的old替换为new
:%s/old/new/gc     搜索整个文件,将所有的old替换为new,每次都要你确认是否替换
复制粘贴
dd     删除光标所在行
dw     删除一个字(word)
x     删除当前字符
X     删除前一个字符
D     删除到行末
yy     复制一行,此命令前可跟数字,标识复制多行,如6yy,表示从当前行开始复制6行
yw     复制一个字
y$     复制到行末
p     粘贴粘贴板的内容到当前行的下面
P     粘贴粘贴板的内容到当前行的上面
]p     有缩进的粘贴,vim会自动调节代码的缩进
"a     将内容放入/存入a寄存器,可以支持多粘贴板
附:比如常用的一个寄存器就是系统寄存器,名称为+,所以从系统粘贴板粘贴到vim中的命令为"+p,注意此处的+不表示操作符,二十一个寄存器。
移动光标
在vim中移动光标跟其他的编辑器中有很大的区别,不过一旦学会了,就会飞速的在文本中移动了。

h,j,k,l     左,下,上,右
ctrl-f     上翻一页
ctrl-b     下翻一页
%     跳到与当前括号匹配的括号处,如当前在{,则跳转到与之匹配的}处
w     跳到下一个字首,按标点或单词分割
W     跳到下一个字首,长跳,如end-of-line被认为是一个字
e     跳到下一个字尾
E     跳到下一个字尾,长跳
b     跳到上一个字
B     跳到上一个字,长跳
0     跳至行首,不管有无缩进,就是跳到第0个字符
^     跳至行首的第一个字符
$     跳至行尾
gg     跳至文件的第一行
gd     跳至当前光标所在的变量的声明处
[N]G     跳到第N行,如0G,就等价于gg,100G就是第100行
fx     在当前行中找x字符,找到了就跳转至
;     重复上一个f命令,而不用重复的输入fx
tx     与fx类似,但是只是跳转到x的前一个字符处
Fx     跟fx的方向相反
),(     跳转到上/下一个语句
*     查找光标所在处的单词,向下查找
#     查找光标所在处的单词,向上查找
`.     跳转至上次编辑位置
在屏幕上移动

H     移动光标到当前屏幕上最上边的一行
M     移动光标到当前屏幕上中间的一行
L     移动光标到当前屏幕上最下边的一行
书签
ma     把当前位置存成标签a
`a     跳转到标签a处
编辑
r     替换一个字符
J     将下一行和当前行连接为一行
cc     删除当前行并进入编辑模式
cw     删除当前字,并进入编辑模式
c$     擦除从当前位置至行末的内容,并进入编辑模式
s     删除当前字符并进入编辑模式
S     删除光标所在行并进入编辑模式
xp     交换当前字符和下一个字符
u     撤销
ctrl+r     重做
.     重复上一个编辑命令
~     切换大小写,当前字符
g~iw     切换当前字的大小写
gUiw     将当前字变成大写
guiw     将当前字变成小写
>>     将当前行右移一个单位
<<     将当前行左移一个单位(一个tab符)
==     自动缩进当前行

插入模式
i     从当前光标处进入插入模式
I     进入插入模式,并置光标于行首
a     追加模式,置光标于当前光标之后
A     追加模式,置光标于行末
o     在当前行之下新加一行,并进入插入模式
O     在当前行之上新加一行,并进入插入模式
Esc     退出插入模式
可视模式
标记文本
v     进入可视模式,单字符模式
V     进入可视模式,行模式
ctrl+v     进入可视模式,列模式,类似于UE的列模式
o     跳转光标到选中块的另一个端点
U     将选中块中的内容转成大写
O     跳转光标到块的另一个端点
aw     选中一个字
ab     选中括号中的所有内容,包括括号本身
aB     选中{}括号中的所有内容
ib     选中括号中的内容,不含括号
iB     选中{}中的内容,不含{}

对标记进行动作
>     块右移
<     块左移
y     复制块
d     删除块
~     切换块中内容的大小写
 
文章链接:http://www.cnblogs.com/iphone520/archive/2012/03/26/2418468.html
文章链接:http://blog.csdn.net/xdrt81y/article/details/24062117
posted @ 2017-10-20 13:51  愚自娱  阅读(224)  评论(0编辑  收藏  举报