Mac 终端基本命令

article/2025/9/7 17:58:08

基本命令
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

nano 和 vim 都是文本编译 

目录操作

命令名                       功能描述                                             使用举例

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


8. open

open 命令用于打开文件、目录或执行程序。就等同于在命令行模式下,重复图形界面“双击”的动作。例如这个命令与在Finder中双击Safari是一样的: 

$ open /Applications/Safari.app/

如果  open 一个文件,则会使用关联的程序打开之。例如  open screenshot.png会在Preview中查看图片。 

可以使用  -a 选项要求自行选择打开的程序,或使用  -e 强制在TextEdit中编辑此文件。 

open 一个目录会在Finder窗口中打开此目录。一个很有用的技巧是  open . 打开当前目录。 

Finder和终端的交互是双向的——把文件从Finder中拖入终端,就等同于把文件的完整路径粘贴到命令行中。

9. pbcopy 和 pbpaste

这两个工具可以打通命令行和剪贴板。当然用鼠标操作复制粘贴也可以——但这两个工具的真正威力,发挥在将其用作Unix工具的时候。意思就是说:可以将这两个工具用作管道、IO重定向以及和其他命令的整合。例如:

$ ls ~ | pbcopy

可以将主目录的文件列表复制到剪贴板。

也可以把任意文件的内容读入剪贴板:

$ pbcopy < blogpost.txt

做点更疯狂的尝试:获取最新Google纪念徽标(doodle)的URL并复制到剪贴板:

$ curl http://www.google.com/doodles#oodles/archive | grep -A5 'latest-doodle on' | grep 'img src' | sed s/.*'<img src="\/\/'/''/ | sed s/'" alt=".*'/''/ | pbcopy

使用管道语法配合  pbcopy 工具可以简单的抓取命令的输出,而不必向上滚动翻阅终端窗口。可以用于和他人分享命令行的标准和错误输出。  pbcopy 和  pbpaste 也可以用于自动化或加速执行一些事情。例如把一些邮件的主题存为任务列表,就可以先从Mail.app中复制主题,再运行: 

$ pbpaste >> tasklist.txt

10. mdfind

许多Linux用户都发现Linux下查找文件的方法在OS X上不好用。当然经典的Unix  find 命令总是可以,但既然OS X有杀手级搜索工具Spotlight,为什么不在命令行上也使用一下呢? 

这就是  mdfind 命令了。Spotlight能做的查找,  mdfind 也能做。包括搜索文件的内容和元数据(metadata)。 

mdfind 还提供更多的搜索选项。例如  -onlyin 选项可以约束搜索范围为一个目录: 

$ mdfind -onlyin ~/Documents essay

mdfind 的索引数据库在后台自动更新,不过你也可以使用  mdutil 工具诊断数据库的问题,诊断  mdfind 的问题也等同于诊断Spotlight。如果Spotlight的工作不正确,  mdutil -E 命令可以强制重建索引数据库。也可以用  mdutil -i 彻底关闭文件索引。 

11. screencapture

screencapture 命令可以截图。和  Grab.app 与  cmd + shift + 3 或  cmd + shift + 4 热键相似,但更加的灵活。 

抓取包含鼠标光标的全屏幕,并以  image.png 插入到新邮件的附件中: 

$ screencapture -C -M image.png 

用鼠标选择抓取窗口(及阴影)并复制到剪贴板:

$ screencapture -c -W

延时10秒后抓屏,并在Preview中打开之:

$ screencapture -T 10 -P image.png

用鼠标截取一个矩形区域,抓取后存为pdf文件:

$ screencapture -s -t pdf image.pdf

更多用法请参阅  screencapture --help 。 

12. launchctl

launchctl 管理OS X的启动脚本,控制启动计算机时需要开启的服务。也可以设置定时执行特定任务的脚本,就像Linux cron一样。 

例如,开机时自动启动Apache服务器:

$ sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist

运行  launchctl list 显示当前的启动脚本。  sudo launchctl unload [path/to/script] 停止正在运行的启动脚本,再加上  -w 选项即可去除开机启动。用这个方法可以一次去除Adobe或Microsoft Office所附带的所有“自动更新”后台程序。 

Launchd脚本存储在以下位置:

~/Library/LaunchAgents    
/Library/LaunchAgents          
/Library/LaunchDaemons
/System/Library/LaunchAgents
/System/Library/LaunchDaemons

启动脚本的格式可以参考  这篇blog ,或苹果开发者中心的  文章 。你也可以使用  Lingon 应用来完全取代命令行。 

13. say

say 是一个文本转语音(TTS)的有趣的工具,引擎和OS X使用的一样也是VoiceOver。如果不加其他选项,则会简单的语音朗读你给定的字符串: 

$ say "Never trust a computer you can't lift."

用  -f 选项朗读特定文本文件,  -o 选项将朗读结果存为音频文件而不是播放: 

$ say -f mynovel.txt -o myaudiobook.aiff

say 命令可以用于在脚本中播放警告或提示。例如你可以设置Automator或Hazel脚本处理文件,并在任务完成时用  say 命令语音提示。 

最好玩(不过也负罪感十足)的用法是:通过SSH连接到朋友或同事的计算机,然后用  say 命令给他们一个大大大惊喜…… 

可以在系统设置(System Preferences)的字典和语音(Dictation & Speech)选项中调整系统的语音选项甚至是语音的语言。

14. diskutil

diskutil 是OS X磁盘工具应用的命令行版。既可以完成图形界面应用的所有任务,也可以做一些全盘填0、全盘填随机数等额外的任务。先使用  diskutil list 查看所有磁盘的列表和所在路径,然后对特定的磁盘执行命令。 

警告:不正确使用  diskutil 可能意外的破坏磁盘数据。请小心。 

15. brew

Homebrew程序提供的  brew ,严格来讲不是一个OS X的原生命令,但任何一个OS X的专业用户都不会错过它。“OS X缺少的包管理器”这个评价是恰如其分的。如果你曾经在Linux上使用过  apt-get (或其他包管理器——译者注),你就会发现Homebrew基本上是一样的。 

使用  brew 可以简单的获取数千种开源工具和函数库。例如  brew install imagemagick 就可以安装ImageMagick(几乎可以处理任何图像问题,转换任何格式的图像工具),  brew install node 可以安装Node.js(当前大热的服务器端JavaScript编程工具)。 

也可以通过Homebrew做有趣的事情:  brew install archey 会安装Archey(在启动命令行时显示苹果LOGO和计算机硬件参数的小工具)。 

请输入图片描述

Homebrew能安装的工具数量庞大,并且一直保持更新。Homebrew最棒的一点是:所有的文件都被约束在  /usr/local/ 一个位置之下。也就是说可以通过Homebrew安装新版软件的同时,保持系统内置的依赖库或其他软件不变。同时如果想彻底删除Homebrew,也变得非常简单。 

(注:删除Homebrew最好还是不要直接删除  /usr/local/ 。应当用这个  卸载脚本 。)

命令大全:http://ss64.com/osx/getopt.html



http://chatgpt.dhexx.cn/article/qVap5jwW.shtml

相关文章

10需要知道Mac终端命令

如果你想进入web开发领域&#xff0c;知道什么是终端&#xff0c;如何使用终端是非常有益的。在今天的文章中&#xff0c;我们将介绍Mac终端命令的10个必要知识&#xff01; &#x1f642; 什么是终端&#xff08;Terminal&#xff09; 终端最基本的用途是可以浏览计算机的文…

Mac终端命令

Mac电脑安装程序&#xff0c;打开允许任何来源的方法&#xff0c;在终端执行命令行即可。 打开命令&#xff1a;sudo spctl --master-disable 关闭命令&#xff1a;sudo spctl --master-enable Mac终端打开文件 1.打开文件夹的命令很简单&#xff0c;使用 open 文件夹…

Mac终端命令失效( command not found)/

ls vi vim 输入完来一句command not found xx 心哇凉哇凉的&#xff0c;心态都崩了。 guolianggldeMacBook-Pro ~ % cat zsh: command not found: cat guolianggldeMacBook-Pro ~ % ls zsh: command not found: ls guolianggldeMacBook-Pro ~ % mdfind zsh: command not fo…

MacOS系统终端常用命令大全

MacOS系统终端是使用mac电脑的小伙伴需要或多或少了解的一个应用。熟悉并掌握一些基本的常用命令可以帮助我们快速的解决一些日常问题&#xff0c;提高工作效率&#xff0c;下面让小编带大家了解一下吧&#xff01; 基本概念 命令的构成&#xff1a;Command Name、Options、Ar…

Mac终端 常用命令

OSX 的文件系统 OSX 采用的Unix文件系统&#xff0c;所有文件都挂在跟目录 / 下面&#xff0c;所以不在要有Windows 下的盘符概念。 你在桌面上看到的硬盘都挂在 /Volumes 下。 比如接上个叫做 USBHD的移动硬盘&#xff0c;桌面上会显示出一个硬盘图标&#xff0c;它实际在哪…

mac 终端 常用命令

文件目录 首先要清楚几个文件目录&#xff1a; " / " &#xff1a;根目录 " ~ " &#xff1a;用户主目录的缩写。例如当前用户为hello&#xff0c;那么" ~ "展开来就是&#xff1a;/Users/hello " . " &#xff1a;当前目录 "…

RANSAC原理及直线拟合(python动态图解)

一、简介 随机采样一致性&#xff08;Random Sample Consensus&#xff0c;RANSAC&#xff09;由斯坦福国际研究院的Fischler和Bolles于1981年首次提出[1]。RANSAC算法是一种随机参数估计迭代算法&#xff1b;从一组包含异常数据的样本数据集中&#xff0c;通过迭代的方式&…

RANSAC初识

RANSAC算法&#xff1a;随机抽样一致算法&#xff08;random sample consensus,RANSAC&#xff09; 一个简单的例子是从一组观测数据中找出合适的二维直线。假设观测数据中包含局内点和局外点&#xff0c;其中局内点近似的被直线所通过&#xff0c;而局外点远离于直线。简单的…

RANSAC算法详解

RANSAC算法详解 给定两个点p1与p2的坐标&#xff0c;确定这两点所构成的直线&#xff0c;要求对于输入的任意点p3&#xff0c;都可以判断它是否在该直线上。初中解析几何知识告诉我们&#xff0c;判断一个点在直线上&#xff0c;只需其与直线上任意两点点斜率都相同即可。实际…

Ransac拟合椭圆

一、Ransac算法介绍 RANSAC(RAndom SAmple Consensus,随机采样一致)最早是由Fischler和Bolles在SRI上提出用来解决LDP(Location Determination Proble)问题的&#xff0c;该算法是从一组含有“外点”(outliers)的数据中正确估计数学模型参数的迭代算法。“外点”一般指的的数据…

RANSAC算法

算法基本思想和流程 RANSAC是通过反复选择数据集去估计出模型&#xff0c;一直迭代到估计出认为比较好的模型。 具体的实现步骤可以分为以下几步&#xff1a; 选择出可以估计出模型的最小数据集&#xff1b;(对于直线拟合来说就是两个点&#xff0c;对于计算Homography矩阵就…

RANSAC迭代估计

RANSAC迭代估计 1. 定义2. 功能3. 流程4. 迭代次数推导5. 实现直线拟合 1. 定义 根据一组包含异常数据的样本数据集&#xff0c;计算出数据的数学模型参数&#xff0c;得到有效样本数据的算法 从一组含有“外点”(outliers)的数据中正确估计数学模型参数的迭代算法 “外点”一…

RANSAC

转自&#xff1a;http://www.cnblogs.com/xrwang/archive/2011/03/09/ransac-1.html 作者&#xff1a;王先荣 本文翻译自维基百科&#xff0c;英文原文地址是&#xff1a;http://en.wikipedia.org/wiki/ransac&#xff0c;如果您英语不错&#xff0c;建议您直接查看原文。 …

机器视觉:ransac算法详解

目录 一、说明&#xff1a; 二、算法步骤 三、算法代码 四、其它补充 一、说明&#xff1a; RANSAC是一种常用的参数估计方法&#xff0c;全称为Random Sample Consensus&#xff08;随机抽样一致性&#xff09;。它通过随机选择数据中的一部分&#xff0c;然后根据这些数据…

RANSAC算法介绍与总结

RANSAC算法 简介RANSAC地面分割 简介 粒子分割主要使用RANSAC算法. RANSAC全称Random Sample Consensus, 即随机样本一致性, 是一种检测数据中异常值的方法. RANSAC通过多次迭代, 返回最佳的模型. 每次迭代随机选取数据的一个子集, 并生成一个模型拟合这个子样本, 例如一条直线…

RANSAC算法原理

RANSAC是“RANdom SAmple Consensus&#xff08;随机抽样一致&#xff09;”的缩写。它可以从一组包含“局外点”的观测数据集中&#xff0c;通过迭代方式估计数学模型的参数。它是一种不确定的算法&#xff0c;有一定的概率得出一个合理的结果。为了提高得出合理结果的概率必须…

RANSAC算法理解

RANSAC是“RANdom SAmple Consensus&#xff08;随机抽样一致&#xff09;”的缩写。它可以从一组包含“局外点”的观测数据集中&#xff0c;通过迭代方式估计数学模型的参数。它是一种不确定的算法——它有一定的概率得出一个合理的结果&#xff1b;为了提高概率必须提高迭代次…

RANSAC算法(附RANSAC直线拟合C++与Python版本)

文章目录 RANSAC算法简介RANSAC算法基本思想和流程迭代次数推导RANSAC与最小二乘区别RANSAC直线拟合代码&#xff08;C及Python版本&#xff09;C版本代码Python版本代码如下&#xff1a; RANSAC优缺点参考 RANSAC算法简介 RANSAC(RANdom SAmple Consensus,随机采样一致)算法是…

php 枚举类代替hard code代码

新建OrderEnum枚举类 在控制器调用

ERP text object hard code

Created by Wang, Jerry, last modified on Sep 28, 2016 要获取更多Jerry的原创文章&#xff0c;请关注公众号"汪子熙":