MacOS 常用命令汇总

文章目录

  • 设置环境变量
  • 列出所有可以更新的软件包
  • 直接更新所有可以更新的软件包
  • 打包压缩文件
    • 忽略 Mac OS 文件系统中的扩展属性
    • 忽略 Mac OS 专有的隐藏文件
  • 创建 DMG 格式的文件
  • 修改 DMG 文件的大小
  • 修改 DMG 格式中的加密口令
  • 挂载 DMG 格式的文件
  • 推出 DMG 文件
  • 将 ISO 格式的文件转为 DMG 格式的文件
  • 将 DMG 格式的文件转为 ISO 格式的文件
  • 文件系统的挂载
  • 查看当前系统的所有磁盘分区
  • 卸载磁盘分区
  • 文件或目录的隐藏属性
    • 让 Finder 程序隐藏和显示“隐藏文件”
    • 开启或关闭某些文件或目录的隐藏属性
    • 通过命令 SetFile 来设置文件和目录的隐藏属性
  • 重置被遗忘的管理员密码
  • 重建 Spotlight 数据库
  • 清理缓存
  • 主机名、计算机名的重置
  • 显示非文本文件的内容
  • 比较并显示两个文件的差异
  • 比较两个目录的内容
  • 分页格式化显示文件内容
  • 给文件加上行号
  • 查看历史命令
  • 显示操作系统的有关信息
  • 列出当前登录的所有用户
  • 显示当前正进行操作的用户名
  • 显示终端或伪终端的名称
  • 查看文件和目录所占用的磁盘空间大小
  • 查看磁盘空间的使用情况
  • 显示当前系统活动的总信息
  • 显示系统的当前日期和时间
  • 显示日历
  • 加载文件资源数据库

设置环境变量

打开配置文件 .bash_profile

lwxdeMacBook-Air:~ lwx$ vim ~/.bash_profile # 使用 vim 来编辑文件
lwxdeMacBook-Air:~ lwx$ open ~/.bash_profile # 会使用默认 GUI 程序打开此文件,一般是一个记事本程序

在配置文件中输入:

PATH=/usr/local/bin:$PATH

配置好之后重新执行配置文件:

lwxdeMacBook-Air:~ lwx$ source .bash_profile

列出所有可以更新的软件包

先列出所有可以更新的软件包:

lwxdeMacBook-Air:~ lwx$ sudo softwareupdate --list

然后选择需要的更新进行安装:

lwxdeMacBook-Air:~ lwx$ sudo softwareupdate --install SomeApp

直接更新所有可以更新的软件包

lwxdeMacBook-Air:~ lwx$ sudo softwareupdate -i -a

打包压缩文件

忽略 Mac OS 文件系统中的扩展属性

由于 Mac OS 文件系统中的扩展属性,若将 Mac OS 系统中的文件直接用打包释放到 Linux 系统中造成莫名奇妙的错误。这里就需要处理一下文件在复制、打包过程中的扩展属性。首先,Mac OS 的 cp 命令有一个选项 -X,用它可在复制过程中忽略这些文件的扩展属性。因此,在打包前,先可复制出一份没有扩展属性的文件包,例如:

lwxdeMacBook-Air:~ lwx$ cp -Xr /path/to/src - | tar czvf src.tar.gz -

注:两个命令语句后面都有个 -,代表的含义是什么,应该是一个占位符,对吧?

忽略 Mac OS 专有的隐藏文件

在 Mac OS 中打包文件时会包含 Mac OS 系统专有的隐藏文件,例如:_MACOSX._Filename.DS_Store 等。在打 zip 包时,可使用 -X 选项排除这些文件。

例如,将目录 source_directory_name 及其所包含的所有内容压缩打包成 archive_name.zip

lwxdeMacBook-Air:~ lwx$ zip -r -X archive_name.zip source_directory_name

不过,对于 Unix/Linux 系统中专有的打包命令 tar,可就没有 -X 选项这么好的东西了。好在 Mac OS 还是提供了专门的方法。

例如,在打 gzip 包时,可使用如下命令:

lwxdeMacBook-Air:~ lwx$ COPYFILE_DISABLE=1 tar -zcvf archive_name.tar.gz source_directory_name

bzip2 包也一样:

lwxdeMacBook-Air:~ lwx$ COPYFILE_DISABLE=1 tar -jcvf archive_name.tar.bz2 source_directory_name

创建 DMG 格式的文件

DMG 格式是 Mac OS 中常用的打包格式,创建 DMG 格式的文件,可直接利用系统自带的磁盘工具(Disk Utils)完成。不过也可以使用命令 hdiutil 创建 DMG 格式的文件,命令语句如下:

lwxdeMacBook-Air:~ lwx$ hdiutil create -size 100M -stdinpass -format UDZO -srcfolder source_folder_name archive_name.dmg

注:其中可以选用的 DMG 格式有 UDZO(压缩格式,默认)、UDRO(只读格式)、UDBZ(Better compressed image)、UDRW(可读写格式)UDTO(DVD 格式)。

修改 DMG 文件的大小

lwxdeMacBook-Air:~ lwx$ hdiutil resize 150M /path/to/the/diskimage

修改 DMG 格式中的加密口令

lwxdeMacBook-Air:~ lwx$ hdiutil chpass /path/to/the/diskimage

挂载 DMG 格式的文件

lwxdeMacBook-Air:~ lwx$ hdiutil attach archive_name.dmg
lwxdeMacBook-Air:~ lwx$ ls -lah /Volumes/archive_name/ # 挂载后,查看文件包的内容

注:挂载点在 /Volumes 目录下

推出 DMG 文件

lwxdeMacBook-Air:~ lwx$ hdiutil eject /Volumes/archive_name/

将 ISO 格式的文件转为 DMG 格式的文件

lwxdeMacBook-Air:~ lwx$ hdiutil convert /path/imagefile.iso -format UDRW -o /path/convertedimage.dmg

将 DMG 格式的文件转为 ISO 格式的文件

lwxdeMacBook-Air:~ lwx$ hdiutil convert /path/imagefile.dmg -format UDTO -o /path/convertedimage.cdr
lwxdeMacBook-Air:~ lwx$ hdiutil makehybrid /path/convertedimage.cdr -iso -joliet -o /path/convertedimage.iso

文件系统的挂载

大多数情况下,文件管理器 Finder 会自动发现诸如 USB 等外部设备,因此无须用户自行挂载分区;但是,有的时候,例如 Mac OS X 硬盘重新分区后,划出了 msdos 分区或者 ext4 等非 HFS 文件系统的分区,如果要读写这些分区,就需要手动挂载这些文件系统了。

挂载文件系统的第一步是建立挂载点:

lwxdeMacBook-Air:~ lwx$ sudo mkdir /Volumes/Foo
lwxdeMacBook-Air:~ lwx$ sudo mkdir /Volumes/bar

查看有哪些设备需要手动挂载:

lwxdeMacBook-Air:~ lwx$ ls /dev/disk*
/dev/disk0	/dev/disk0s2	/dev/disk1s1	/dev/disk1s3	/dev/disk1s5	/dev/disk1s6	/dev/disk2s1
/dev/disk0s1	/dev/disk1	/dev/disk1s2	/dev/disk1s4	/dev/disk1s5s1	/dev/disk2

挂载磁盘分区到指定的挂载点(即目录):

lwxdeMacBook-Air:~ lwx$ sudo mount -t msdos /dev/disk1s1 /Volumes/Foo
lwxdeMacBook-Air:~ lwx$ sudo mount -t hfs /dev/disk1s2 /Volumes/bar

查看当前系统的所有磁盘分区

lwxdeMacBook-Air:~ lwx$ df -hl
Filesystem       Size   Used  Avail Capacity iused      ifree %iused  Mounted on
/dev/disk1s5s1  234Gi   14Gi  107Gi    12%  559993 2448565367    0%   /
/dev/disk1s4    234Gi  3.0Gi  107Gi     3%       6 2449125354    0%   /System/Volumes/VM
/dev/disk1s2    234Gi  349Mi  107Gi     1%    1483 2449123877    0%   /System/Volumes/Preboot
/dev/disk1s6    234Gi  2.7Mi  107Gi     1%      21 2449125339    0%   /System/Volumes/Update
/dev/disk1s1    234Gi  108Gi  107Gi    51%  934700 2448190660    0%   /System/Volumes/Data
/dev/disk2s1    1.8Ti  442Gi  1.4Ti    24%  904700    2910658   24%   /Volumes/Western_01

注:-h 以可读性的形式来显示信息;-l 表示仅显示有关本地挂载的文件系统的信息。/dev/disk2s1 这些代表文件系统,不是目录,在这里代表的是一个挂载的磁盘分区,你要进入移动硬盘的根目录,可以执行命令 cd /Volumes/Western_01。了解命令 df 的详细使用说明,可以参见《Linux 命令之 df – 显示磁盘空间使用情况》

卸载磁盘分区

如上想要推出磁盘设备/dev/disk2s1,可以执行以下的命令:

lwxdeMacBook-Air:~ lwx$ diskutil unmount /dev/disk2s1
lwxdeMacBook-Air:~ lwx$ diskutil unmount /Volumes/Western_01

注:unmount 是卸载的意思。

或者执行下面的命令:

lwxdeMacBook-Air:~ lwx$ diskutil eject /dev/disk1s1
lwxdeMacBook-Air:~ lwx$ diskutil eject /Volumes/Western_01

注:eject 是弹出的意思。

文件或目录的隐藏属性

通常,为了保护 Mac OS 系统中的文件不会被用户随意修改,文件管理器 Finder 是不会显示带隐藏属性的文件与系统文件。但是,有些时候,需要操作这些文件(夹), 此时就需要让 Finder 找到这些文件,方法也很简单。在 Finder 的菜单栏中点击 Go --> Go to folder,与之对应的,可使用快捷键 Shift + Command + G 。 当然,如果对于 Mac OS 自带的文件管理器不满意,可安装第三方文件管理器,例如 totalfinder。其实,单就隐藏文件来说,Mac OS 还提供了其他方法,下面逐一介绍它们。

让 Finder 程序隐藏和显示“隐藏文件”

修改 Finder 配置文件,让 Finder 程序显示隐藏文件:

lwxdeMacBook-Air:~ lwx$ defaults write com.apple.finder AppleShowAllExtensions TRUE

让 Finder 程序不显示隐藏文件:

lwxdeMacBook-Air:~ lwx$ defaults write com.apple.finder AppleShowAllExtensions FALSE

注:Finder 的配置文件影响到整个文件系统,属于比较暴力的方法。

开启或关闭某些文件或目录的隐藏属性

用下面命令可以解除目录的隐藏属性:

lwxdeMacBook-Air:~ lwx$ chflags nohidden ~/Library

恢复目录的隐藏属性:

lwxdeMacBook-Air:~ lwx$ chflags hidden ~/Library

通过命令 SetFile 来设置文件和目录的隐藏属性

事实上,HFS+ 文件系统中文件和目录的隐藏属性也可通过 SetFile 命令来修改。

例如,可开启文件夹 ~/Sites 的隐藏属性,可以执行下面的命令语句:

lwxdeMacBook-Air:~ lwx$ mkdir -p ~/Sites
lwxdeMacBook-Air:~ lwx$ SetFile -a V ~/Sites

关闭它的隐藏属性可以执行下面的命令语句:

lwxdeMacBook-Air:~ lwx$ SetFile -a v ~/Sites

重置被遗忘的管理员密码

首先,在系统开机还未进入登录界面时按下 Command + S 进入单用户模式。

然后在命令终端输入下面的命令语句:

lwxdeMacBook-Air:~ lwx$ mount -rw /

上面的命令表示以读写方式挂载文件系统,接着重置管理员 james 的密码,输入下面的命令语句:

lwxdeMacBook-Air:~ lwx$ passwd james

完成后,输入下面的命令重启开机:

lwxdeMacBook-Air:~ lwx$ reboot

重建 Spotlight 数据库

比较简单的办法是用鼠标顺次点击『系统偏好』–>『Spotlight』–>『重建数据库』;对于命令行发烧友来说,可以试试下面的命令:

lwxdeMacBook-Air:~ lwx$ sudo mdutil -E /

清理缓存

lwxdeMacBook-Air:~ lwx$ sudo purge

主机名、计算机名的重置

默认的主机名让人非常无语,特别是出现了一些与 locale 有关的特殊字符。通常情况下,这些并不可见,但是,频繁使用终端时,就会被这些莫名其妙的主机名恶心到了。因此,修改主机名成了当务之急,不过修改的方法很简单。顺次点击左上角的苹果图标->系统偏好设置->共享,接着修改主机电脑名与局域网主机名即可。话说回来,Unix 的命令行是强大的,因此,主机名与计算机名的修改也可以通过命令行修改。

lwxdeMacBook-Air:~ lwx$ sudo scutil --set ComputerName newnameformacosx
lwxdeMacBook-Air:~ lwx$ sudo scutil --set HostName newhostnameformacosx

好了,查看一下修改是否成功:

lwxdeMacBook-Air:~ lwx$ scutil --get ComputerName
lwxdeMacBook-Air:~ lwx$ scutil --get HostName

将主机名放入 /etc/hosts 文件

lwxdeMacBook-Air:~ lwx$ echo 127.0.0.1 newhostnameformacosx >> /etc/hosts

重启网络服务让上述修改立马生效:

lwxdeMacBook-Air:~ lwx$ sudo dscacheutil -flushcache
lwxdeMacBook-Air:~ lwx$ sudo killall -HUP mDNSResponder

显示非文本文件的内容

od -c filename

比较并显示两个文件的差异

diff file1 file2

比较两个目录的内容

dircmp dir1 dir2

分页格式化显示文件内容

pg filename

给文件加上行号

nl file1 >file2

查看历史命令

history

显示操作系统的有关信息

lwxdeMacBook-Air:~ lwx$ uname -a
Darwin lwxdeMacBook-Air.local 20.4.0 Darwin Kernel Version 20.4.0: Thu Apr 22 21:46:47 PDT 2021; root:xnu-7195.101.2~1/RELEASE_X86_64 x86_64

列出当前登录的所有用户

who

显示当前正进行操作的用户名

whoami

显示终端或伪终端的名称

tty

查看文件和目录所占用的磁盘空间大小

请详见《Linux 命令之 du – 显示每个文件和目录的大小》

查看磁盘空间的使用情况

lwxdeMacBook-Air:~ lwx$ df -h /tmp
Filesystem     Size   Used  Avail Capacity iused      ifree %iused  Mounted on
/dev/disk1s1  234Gi  107Gi  109Gi    50%  927279 2448198081    0%   /System/Volumes/Data

请详见《Linux 命令之 df – 显示磁盘空间使用情况》

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

lwxdeMacBook-Air:~ lwx$ w

显示系统的当前日期和时间

lwxdeMacBook-Air:~ lwx$ date

显示日历

lwxdeMacBook-Air:~ lwx$ cal 8 1996八月 1996         
日 一 二 三 四 五 六  1  2  3  4  5  6  7  8  9 10  
11 12 13 14 15 16 17  
18 19 20 21 22 23 24  
25 26 27 28 29 30 31  

加载文件资源数据库

命令 locate 会在此数据库查找资源。

lwxdeMacBook-Air:~ lwx$ sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/333578.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java多功能钟_Java 11将包含更多功能

java多功能钟Java 11即将发布的功能是什么?它与Java 9和10有何不同? Java 10可能是新手,但现在该谈论Java 11了。Oracle迈向更快的发布周期意味着更多的特性和功能以比以往更快的速度出现。 尽管距离Java 11发行还有六个月的时间&#xff0…

MacOS 好用的插件和图形界面程序

文章目录文件预览插件OS X 图形界面程序文件预览插件 有些插件可以让 Mac 上的文件预览更有效,比如语法高亮、markdown 渲染、json 预览等。 $ brew cask install qlcolorcode $ brew cask install qlstephen $ brew cask install qlmarkdown $ brew cask install…

java 线程安全性_我如何测试Java类的线程安全性

java 线程安全性我在最近的一次网络研讨会中谈到了这个问题,现在是时候以书面形式进行解释了。 线程安全是Java等语言/平台中类的重要品质,在Java中我们经常在线程之间共享对象。 缺乏线程安全性导致的问题很难调试,因为它们是零星的&#xf…

java asin_Java asin()方法

Java asin()方法asin() 方法用于返回指定double类型参数的反正弦值。语法doubleasin(doubled)参数 d -- 任何原生数据类型。返回值返回指定double类型参数的反正弦值。实例public class Test{public static void main(String args[]){double degrees 45.0;double radians Mat…

MacOS 的软件包管理工具 HomeBrew 详解

文章目录一、软件介绍二、安装 Homebrew使用 Ruby 或者 Shell 脚本安装手动 clone 安装三、卸载 Homebrew四、Homebrew 安装目录五、安装包所在位置六、程序安装目录七、软件版本切换八、清除旧版本文件九、brew 命令汇总安装、升级和删除软件包查看和检验软件包参考示例服务相…

java中的深度克隆浅克隆_了解Java中的可克隆接口

java中的深度克隆浅克隆什么是对象克隆? 对象克隆是生成具有不同名称的对象的精确字段到字段副本的过程。 克隆的对象在内存中有自己的空间,可在其中复制原始对象的内容。 这就是为什么在克隆后更改原始对象的内容时,所做的更改不会反映在克隆…

python env_#!/usr/bin/env python 有什么用?

我们经常会在别人的脚本或者项目的入口文件里看到第一行是下面这样#!/usr/bin/python或者这样#!/usr/bin/env python那么他们有什么用呢?要理解它,得把这一行语句拆成两部分。第一部分是 #!第二部分是 /usr/bin/python 或者 /usr/bin/env python关于 #! …

MacBook(macOS) 如何安装 Homebrew Cask(作废)

文章目录重要通知(不要再去安装 Homebrew Cask 了)Homebrew Cask 简介相关文件和目录Homebrew Cask 安装使用命令下载安装直接从官网下载安装包利用国内源手动 clone下载(推荐)Homebrew Cask 换源重要通知(不要再去安装…

java.io.file()_JAVA基础知识之IO-File类

File类介绍File是java.io包下面的一个类,代表与平台无关的文件或者目录。JAVA中,无论文件还是目录,都可以看作File类的一个对象。File类能对文件或目录新建,删除,获取属性等操作,但是不能直接操作文件内容(…

netflix 模式创新_创新设计模式:单例模式

netflix 模式创新单例设计模式是一种软件设计模式,用于将类的实例化限制为一个对象。 与其他创建设计模式(例如抽象工厂 , 工厂和构建器模式)相比,单例将创建一个对象,但也将负责,因此该对象只…

美式英语 [t] 的发音

爆破音 true [t],发真实的 t。 单词的开始处重读音节的开始处,且前面没有跟着清辅音 [s] held 住不发声 叫法很多,声门塞音、吞音、喉塞(s)音、stop [t],held [t],不爆破的 [t]。 发音的口…

设计模式 原型模式_创新设计模式:原型模式

设计模式 原型模式原型模式用于创建对象的副本。 这种模式非常有用,特别是当从头开始创建对象的成本很高时。 与builder , factory和abstract factory模式相比,它不会从头开始创建对象,而是会克隆/重新创建它。 与单例模式相比&a…

java file 对象_Java里File对象的问题。

Java里File对象的问题。关注:282 答案:2 mip版解决时间 2021-02-02 07:14提问者鉨瞞着所囿亾,爱着誰2021-02-01 08:59import java.io.*;在此基础上怎么修改呢? 谢谢啦最佳答案二级知识专家山河已春2021-02-01 10:06import java.io.*;class JavaFileLis…

美式英语中 [d] 的特别发音

闪音 flap [d],fast [d],闪音 [d] 发音口腔部位说明:舌尖快速拍打上齿龈后,快速释放,轻快拍打 [d] 在两个元音之间发成 fast [d],非重读音节在元音和 [l] 之间发成 fast [d],非重读音节在[r]…

netflix 模式创新_创新设计模式:工厂模式

netflix 模式创新以前,我们对创建模式进行了介绍,并使用抽象工厂模式来创建对象族。 下一个模式是Factory模式 。 当涉及到Java时,工厂模式是最常用的模式之一。 那么工厂模式到底是什么呢? 工厂模式处理创建对象而不指定确切的…

g++ 编译mysql动态库_Linux下g++编译以及使用静态库和动态库的方法详解

下面小编就为大家带来一篇Linux下g编译与使用静态库和动态库的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧在windows环境下,我们通常在IDE如VS的工程中开发C项目,对于生成和使用静态库(*.…

家用电器如何计算功率和消耗的度数

计算公式:((U*I)/1000)*t 说明: 这里计算的都是电器的额定功率、额定电压、额定电流。U 是电压;I 是电流;t 是时间,单位是小时;U*I 得到的是电功率,例如电压12v,电流5A,…

构建器设计模式_创新设计模式:构建器模式

构建器设计模式以前我们看过工厂和抽象工厂模式。 这些模式可以达到目的,并且确实有用,但是在某些用例中,我们必须创建一个非常复杂的对象,并且创建它需要不同的步骤,每个步骤都需要不同的操作。 在这种情况下&#xf…

在线maven托管_使用Amazon s3托管您的Maven工件

在线maven托管如果您使用Amazon Web Services并将Java用于项目,则Amazon S3是托管团队工件的理想场所。 它很容易设置,而且很便宜。 如果您对它们的功能不特别感兴趣,那么它比设置现有存储库选项(jfrog,nexus&#xf…

英语单词如何看字母划分音节

音节划分是读准单词的基本前提之一,划分音节虽麻烦但熟能生巧,在英语交流或阅读时,经常会碰到不认识的单词或专有名称,如果你懂得了音节的划分,那再难的单词你也会读。 1、音节划分。 英语中以元音来划分音节&#xf…