mac-终端命令

时间:2022-06-01 16:33:13

  发现一个比较好点的关于mac终端下命令的解释文档,全文粘贴到这,免得丢了(原文在此):

Mac终端 命令行

【一】bash 终端设置
      1.环境变量设置
首先要知道你使用的Mac OS X是什么样的Shell,使用命令
echo $SHELL
如果输出的是:csh或者是tcsh,那么你用的就是C Shell。
如果输出的是:bash,sh,zsh,那么你的用的可能就是Bourne Shell的一个变种。
Mac OS X 10.2之前默认的是C Shell。
Mac OS X 10.3之后默认的是Bourne Shell。
我用的是Mac OS X 10.6.7--bash
打开shell后, 默认在$HOME目录下
PATH变量的设置
键入: vi .bash_profile 回车, 编辑.bash_profile文件
按i进入插入文字编辑模式
找到设定PATH环境变量的一行,将你要添加的完整路径(如:/usr/local/mysql/bin)加入其中。如果没有找到设定PATH变量的行,你可以自己添加一行:
export PATH=${PATH}:/usr/local/mysql/bin
而Linux或Unix则是
export PATH=$PATH:/usr/local/mysql/bin
或:
export PATH=/usr/local/mysql/bin:$PATH
按esc退出插入文字编辑模式
键入wq回车, 保存并且退出vi编辑器
如果不重新启动, 键入source .bash_profile立刻让文件生效
否则logout, 即可生效.
二,颜色设置
  ~/.bash_profile是bash shell中当前登录用户的配置文件。bash是“终端”中默认的shell。
  CLICOLOR是用来设置是否进行颜色的显示。CLI是Command Line Interface的缩写。
  LSCOLORS是用来设置当CLICOLOR被启用后,各种文件类型的颜色。LSCOLORS的值中每两个字母为一组,分别设置某个文件类型的文字颜色和背景颜色。LSCOLORS中一共11组颜色设置,按照先后顺序,分别对以下的文件类型进行设置:
  ①directory
  ②symbolic link
  ③socket
  ④pipe
  ⑤executable
  ⑥block special
  ⑦character special
  ⑧executable with setuid bit set
  ⑨executable with setgid bit set
  10.directory writable to others, with sticky bit
  11.directory writable to others, without sticky bit
  LSCOLORS中,字母代表的颜色如下:
  a 黑色
  b 红色
  c 绿色
  d 棕色
  e 蓝色
  f 洋红色
  g 青色
  h 浅灰色
  A 黑色粗体
  B 红色粗体
  C 绿色粗体
  D 棕色粗体
  E 蓝色粗体
  F 洋红色粗体
  G 青色粗体
  H 浅灰色粗体
  x 系统默认颜色
  所以,如果我们想把目录显示成红色,就可以把LSCOLORS设置为bxfxaxdxcxegedabagacad就可以了所以对照这张表就可以得知:
LSCOLORS=bxfxaxdxcxegedabagacad

背景可以在首选项中设定和透明度

〈注意〉
      操作带名字中带有空格的文件和目录
空格在命令中写成 \\空格, 比如要进入 My Documents,命令为 cd My\\ Documents

【二】Mac OSX下的命令行

以下的命令行有的是UNIX,Linux,OS X通用的命令行,有的是OSX独有

1.后台服务管理
LaunchDaemons是用户未登陆前就启动的服务(守护进程)
LaunchAgents是用户登陆后启动的服务(守护进程)

服务的plist文件目录
  ~/Library/LaunchAgents         Per-user agents provided by the user.
  /Library/LaunchAgents          Per-user agents provided by the administrator.
  /Library/LaunchDaemons         System-wide daemons provided by the administrator.
  /System/Library/LaunchAgents   Per-user agents provided by Mac OS X.
  /System/Library/LaunchDaemons  System-wide daemons provided by Mac OS X.

禁用服务
需要用到Mac OS提供的一个工具指令launchctl
launchctl指令会针对服务设置一个禁用标志,launchd启动时会先检查这个服务是否被禁用,从而确定是否需要启用这个服务。
先找到禁用标志文件/var/db/launchd.db/com.apple.launchd/overrides.plist,
查看你要禁用的服务是否已被禁用了。有些服务已被禁用,但未列在overrides.plist里。此时,你还需要检查这个服务的plist文件Label字段是否已经标记为Disable。

禁用服务的方法 1
确认这个服务未禁用后,我们就可以通过调用如下命令,来禁用服务:
$sudo launchctl unload plist文件路径
$sudo launchctl unload -w plist文件路径
比如,禁用spotlight,则输入
$sudo launchctl unload /System/Library/LaunchAgents/com.apple.Spotlight.plist
$sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.Spotlight.plist
禁用完服务以后,重启Mac OS即可生效。
禁用服务的方法 2
一种更有效且暴力的方法(推荐)
先卸载服务
$sudo launchctl unload /System/Library/LaunchAgents/com.apple.Spotlight.plist
然后将plist文件mv到其他目录备份。重启。搞定。

还原服务:
方法1:
$sudo launchctl load -wF plist文件路径
方法2:
将备份的plist文件mv回原来的文件夹。
$sudo launchctl load plist文件路径

查看服务的状态
#launchctl list
(也可以使用图形工具 lingon,修改服务)

2.运行日常维护脚本
$sudo periodic 脚本名 回车
脚本名应该是daily、weekly或monthly。如果要同时运行三个维护脚本,则可输入:
sudo periodic daily weekly monthly

3.显示当前系统使用到的 kext
$kextstat

4.查看io使用情况
$iostat 1

5.查看系统使用情况

cpu 使用率
$top -l 2 | awk '/CPU usage/ && NR > 5 {print $1, ":", $3, $4, $5, $6, $7, $8}'

cpu 程序运行进程
$ps -arcwwwxo "pid %cpu command" | egrep "PID|$1" | grep -v grep | head -12 | tail -11

已经使用的内存

$top -l 1 | awk '/PhysMem/ {print "Memory Used: " $8}'

非活跃的内存
$top -l 1 | awk '/PhysMem/ {print "Memory Inactive: " $6+$10"M"}'

硬盘信息
$df -g | awk '/\/dev\/disk0/ {print $2-$3"G of "$2"G remaining ""("$5")" }';

查看某个程序使用到的文件
$sudo fs_usage -w -f filesys  软件名

6.禁用 spotlight 索引
关闭spotlight索引
$sudo mdutil -i off
清除spotlight索引 
$sudo mdutil -E 
在需要spotlight功能时,可再将其还原:
$sudo mdutil -i on

在某个磁盘禁用 spotlight 索引
$ sudo mdutil -i off /Volumes/your_hard_drive_name_1
从磁盘移除 spotlight 索引
$ sudo mdutil -E /Volumes/your_hard_drive_name_1
删除已索引的 spotlight 文件
$ cd /
$ sudo rm -fr .Spotlight-V100

7.lipo 是一个在 Mac OS X 中处理通用程序(Universal Binaries)的工具。
例 :保留x86的代码 (可以使用clearmymac软件也可以删除用不到的通用二进制文件)

$cd /Applications
$ lipo Stickies.app/Contents/MacOS/Stickies -thin i386 -output Stickies.app/Contents/MacOS/Stickies.i386
$ cd Stickies.app/Contents/MacOS/
$ rm Stickies
$ mv Stickies.i386 Stickies

8.设置休眠模式
$pmset -g
显示设置信息
$sudo pmset -a hibernatemode modenumber 
modenumber就是0,1,3了
0:在此模式下,如果让系统进入休眠,电池或电源会继续为内存进行供电,但不会往硬盘中写入任何状态。如果电源不中断或电池没有到不足的状态时把系统从休眠中恢复,由于内存的不中断供电,系统可以瞬间恢复至未休眠状态。
1:在此模式下,让系统进入休眠时,内存的数据会全数写回到硬盘休眠专用的内存镜像文件中,并且会与其他硬件一样断开内存的供电。当从休眠中恢复时,由于内存的数据已经消失,这时必须从内存镜像文件中把所有休眠前的数据写入内存中,由于硬盘的IO瓶颈,这个过程会明显比较长,所以用户会看到屏幕上会有进度条,等写入内存操作完成后电脑才会恢复到休眠前的状态
3:这个模式又叫safe sleep模式,听它名字就知道他很安全了它也叫混合休眠模式,因为他是混合了mode 0和mode 1的特点而成。在进入休眠时,内存的数据不但会像mode 1一样回写到内存镜像文件中,而且在整个休眠过程中系统都对内存模块保持供电。这样的结果是内存内的数据同时存在于两个地方:内存中和镜像文件中。如果休眠恢复时电源或电池是正常供电的,那么系统会像mode 0一样瞬间恢复,用的是内存中的数据。如果休眠恢复的时候电源是中断的或电池是用尽的话,只要再插上电源,同样可以安全的把系统从休眠中恢复,这时候用的是硬盘中内存镜像文件中的状态进行恢复,恢复过程和mode 1一样有点慢。

指定内存镜像文件存在的路径
sudo pmset -a hibernatefile <filepath>

在0模式下可以删除内存镜像文件节省硬盘空间

9.使用nvram更改启动模式
查看当前的nvram设置情况:
nvram -p
显示XML格式:
nvram -xp
以安全模式启动??sudo nvram boot-args="-x"??(如果您希望同时以详细模式启动,可以使用 sudo nvram boot-args="-x -v")? 
若要返回正常启动模式,请在终端或命令行中执行以下命令:??sudo nvram boot-args=""

控制开机音的音量:
静音-使用下面命令:
    sudo nvram SystemAudioVolume="%80"
设置特殊音量, 比如:
    sudo nvram SystemAudioVolume=2
    声音很大的。
设置音量为0:
    sudo nvram SystemAudioVolume=""

10.其它技巧

强制推出光盘
$drutil tray eject

关闭紧急运动传感器
$sudo pmset -a sms 0
重新启用突发移动传感器
sudo pmset -a ams 1

手动清除dns缓存
dscacheutil -flushcache?
串口调试设备
screen /dev/tty.usbserial 9600

【三】使用defaults来调校系统

1.Finder显示隐藏文件
$defaults write com.apple.finder AppleShowAllFiles -bool YES
Finder需要重启才能应用修改,在终端中接着输入
$killall Finder
并回车
恢复隐藏不可见,在终端中输入以下代码并回车
$defaults write com.apple.finder AppleShowAllFiles -bool NO
同样Finder需要重启
$killall Finder

强制 Finder 显示隐藏文件和文件夹
$defaults write com.apple.Finder AppleShowAllFiles true

2.启用或禁用 Installer.app 的附加日志
$defaults write com.apple.installer DebugChoiceAttrEngine -bool YES
$defaults delete com.apple.installer DebugChoiceAttrEngine

3.Dock栏增加一个“Recent Application”文件夹,显示最近启动的10个软件的方法
$defaults write com.apple.dock persistent-others -array-add '{ "tile-data" = { "list-type" = 1; }; "tile-type" = "recents-tile"; }'
    回车,再输入
$Killall Dock

4.想要关闭dashboard功能
打开终端,输入
$defaults write com.apple.dashboard mcx-disabled -bool YES
$killall Dock
想要重新打开,在终端输入
$defaults write com.apple.dashboard mcx-disabled -bool NO
$killall Dock

5.禁止产生.DS_Store文件
$defaults write com.apple.desktopservices DSDontWriteNetworkStores true

6.更改截屏文件默认存储位置
打开终端,输入
$defaults write com.apple.screencapture location /path/
/path/ 即你想要设置的保存路径,比如将截图文件存储在用户目录的图片文件夹,命令则为:
$defaults write com.apple.screencapture location ~/Pictures/
然后输入
$killall SystemUIServer
存储类型
$defaults write com.apple.screencapture type jpg

7.更改mac的帮助显示方式
$defaults write com.apple.helpviewer DevMode -bool true
想要还原
$defaults delete com.apple.helpviewer DevMode

8.关闭、打开spaces切换时得动态效果
$defaults write com.apple.dock workspaces-swoosh-animation-off -bool YES && killall Dock
要想打开
$defaults write com.apple.dock workspaces-swoosh-animation-off -bool NO && killall Dock

9.改变系统字体大小(菜单等)
$defaults write NSGlobalDomain AppleDisplayScaleFactor 1.25

这里边的数字,默认值为1,数值越大字体越大想要恢复,在终端中输入
$defaults write NSGlobalDomain AppleDisplayScaleFactor 1

10.改变登陆背景
在终端中输入
$defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture "/Library/Desktop%20Pictures/Nature/Aurora.jpg"
引号里边是图片路径

【三】fink的使用

Fink 的所有文件几乎都安装在 /sw (或你选择安装的地方)。因此,如果你想删除 Fink,输入下面的命令:
sudo rm -rf /sw
升级fink自身
fink selfupdate?fink selfupdate-rsync?fink index -f?fink selfupdate
安装
fink install xxx
卸载
fink remove xxx
如果想把依赖包也一起卸载,加-r。如果想配置文件一并卸载,用
fink purge
类似与ubuntu里面的remove –purge
更新所有已安装包
fink update-all
查看可安装包
fink list xxx 或者 fink apropos xxx
也支持正泽表达式
fink list “xxx*”
查看相关包的描述
fink info
如果不小心删除了某个包的文件,想重新安装整个包
fink reinstall
显示某个包的依赖关系
fink show-deps xxx