macos的很多用户都是做it相关的人,类unix系统带来了很多方面,尤其是经常和linux打交道的人。 但是作为经常使用linux 命令行的人发现macos中的命令行工具很多都是bsd工具,跟linux下得使用方式开始差距挺大的,那么怎么安装GNU命令行工具,然后更舒服的在macos和linux之间切换呢? 于是找到了下面的文章,顺带翻译下。

原文地址:Install and Use GNU Command Line Tools on Mac OS X | Hong Xu

如果你是从Linux迁移到 Mac OS X系统的用户,可能会发现 Mac OS 预装的命令行工具没有Linux上的那么强大和好用(注:当然是对于习惯了linux的用户来说啦)。 原因是 Max OS X使用的是 BSD版本的命令行工具,这些命令跟 Linux版本是有些不同的,然而它们都遵循 POSIX 标准。 但是我们可以通过 HomeBrew 方面的安装 GNU 程序 和 设置它们为默认工具。

安装 Homebrew

首先,访问 Homebrew 的官网,根据安装教程安装 Homebrew。

简单的说:安装最新的 Xcode 然后在命令行执行下面的命令来安装

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

然后把下面的配置添加到你的 .bashrc 或者 .zshrc

export PATH="$(brew --prefix coreutils)/libexec/gnubin:/usr/local/bin:$PATH"

注: 相信大多数用户都装过这个好用的工具啦。

为了可以容易的找到命令对应的man,请在 /etc/man.conf文件中添加一个配置

MANPATH_MAP /usr/local/opt/coreutils/libexec/gnubin /usr/local/opt/coreutils/libexec/gnuman

安装 GNU 命令行工具

首先安装是最重要的一个 – GNU Coreutils

brew install coreutils

GNU Coreutils 包含了很多unix的基本命令,像 ls cat

接着你可能想安装下面的软件了(对于某些包,你需要先执行 brew tap homebrew/dupes,但是只要执行一次就好了)

brew install binutils
brew install diffutils
brew install ed --default-names
brew install findutils --with-default-names
brew install gawk
brew install gnu-indent --with-default-names
brew install gnu-sed --with-default-names
brew install gnu-tar --with-default-names
brew install gnu-which --with-default-names
brew install gnutls
brew install grep --with-default-names
brew install gzip
brew install screen
brew install watch
brew install wdiff --with-gettext
brew install wget

-- default-names 选项会阻止 Homebrew 预加 gs 到新安装的命令,这样我们就可以默认使用这些命令,从而覆盖 OS X预装的命令。

有些命令已经存在 Mac OS X 上的,但你想要一个新版本

brew install bash
brew install emacs
brew install gdb  # gdb requires further actions to make it work. See `brew info gdb`.
brew install gpatch
brew install m4
brew install make
brew install nano

下面是一个补充的软件,他们不是来自GUN,但你也可以安装一个新版本来代替 maxos上原有的版本。

brew install file-formula
brew install git
brew install less
brew install openssh
brew install perl518   # must run "brew tap homebrew/versions" first!
brew install python
brew install rsync
brew install svn
brew install unzip
brew install vim --override-system-vi
brew install macvim --override-system-vim --custom-system-icons
brew install zsh

现在你的OS X应该有了一个非常简单好使的命令行, 愉快的使用吧。

声明:

本文出自 “orangleliu笔记本” 博客,转载请务必保留此出处http://blog.csdn.net/orangleliu/article/details/47357339 作者orangleliu 知识共享 署名-相同方式共享 3.0协议

【Mac】Mac OS X 安装GNU命令行工具的更多相关文章

  1. mac安装GNU命令行工具

    mac安装GNU命令行工具 2.添加的repo     tap home/dupes        brew install coreutils  binutils  diffutils  ed -- ...

  2. Django之win7下安装与命令行工具

    Django之win7下安装与命令行工具 下载安装 pip3 install django 注意:自动添加环境变量 测试是否安装成功 1.输入python 2.输入import django 3.输入 ...

  3. 你使用 Web 平台安装程序命令行工具

    你使用 Web 平台安装程序命令行工具 获取的软件由其所有者授权给你.Microsoft 未授予你第三方软件的任何权利.已成功加载主源: https://go.microsoft.com/?linki ...

  4. 安装rvm命令行工具

    rvm是一个命令行工具,可以提供一个便捷的多版本ruby环境的管理和切换. https://rvm.io/ 如果你打算学习ruby/rails, rvm是必不可少的工具之一. 这里所有的命令都是再用户 ...

  5. Windows2008安装组件命令行工具ServerManagerCmd用法介绍

    转自:http://blog.sina.com.cn/s/blog_537de4b5010128al.html Windows2008 安装组件服务等内容比原来复杂的多,用鼠标点来点去,既繁琐也缓慢, ...

  6. NodeJS 安装cnpm命令行工具

    在安装之前,请确保已安装Git和NodeJS. cmd机内命令窗口,输入以下命令: git config --system http.sslcainfo /bin/curl-ca-bundle.crt ...

  7. NodeJS 安装cnpm命令行工具错误问题解决

    考虑问题从两个方面: 1.网速(网络太慢也是安装失败的一个原因) 2.系统用户权限(需要系统最开始使用的用管理员,新增的管理员安装会有问题) 报错问题记录于此: 实际上问题是:Windows_NT 6 ...

  8. 微软开放技术发布针对 Mac 和 Linux 的更新版 Azure Node.JS SDK 和命令行工具

    发布于 2013-12-04 作者 Eduard Koller 这次为我们使用Linux 的朋友带来了更多关于部署云上虚拟机的消息.今天,微软开放技术有限公司 (MS Open Tech),想与大家分 ...

  9. pycharm不支持svn,是需要svn命令行工具没有安装(for windows)

    1. 安装svn命令行工具 Subversion for Windows下载https://sourceforge.net/projects/win32svn/?source=typ_redirect ...

随机推荐

  1. Http多线程版本

    上一篇文章讲了HTTP是如何通过TCP协议传输到服务器上,以及服务器接收到的报文信息请参考[HTTP与TCP的关系] 这篇文章主要讲述的多线程处理Http请求,关于多线程的好处我就不再叙述了.由于我们 ...

  2. Java第10次实验(数据库)

    参考资料 数据结构实验参考文件 MySql操作视频与数据库相关jar文件请参考QQ群文件. 第1次实验 1. MySQL数据库基本操作 完整演示一遍登录.打开数据库.建表.插入 常见错误:语句后未跟; ...

  3. Bootstrap3 表格-带边框的表格

    添加 .table-bordered 类为表格和其中的每个单元格增加边框. <table class="table table-bordered"> ... </ ...

  4. 这是最好的时光,这是最坏的时光 SNAPSHOT

    好久没动笔了,上次憋了好几天码出的文字扔出去,石沉大海,没惊起半点涟漪.这次真不知道能憋出个什么鬼,索性就让思绪飞扬,飞到哪是哪! --题记 此处应有BGM: 少年锦时 赵雷 1.以后真没有暑假喽 2 ...

  5. Android 多窗口

    随着手机屏幕越来越大,单手操作手机越来越难,所以一些大厂早就开始研究多窗口,如iphone.samsung的单手模式,作为一个发展趋势google肯定也不会不考虑用户的体验,所以在android N中 ...

  6. 在java程序中实现发送邮件的功能

    最近比较忙,在做一个人事管理系统的项目,在这项目需求中,需要一个发送邮件的功能.这个时候我们可以使用javamail的jar包来实现完美需要的功能,在这里简单的分享一个最基础的发邮件功能. 首先我们需 ...

  7. 2017京东校招面试回忆(已成功拿到offer)

    一面 24日 晚上5:30-6:40 1 先说自己熟悉的领域 2 list的实现有什么?   arraylist1.6 1.7区别  底层   linkedlist 底层是怎么实现的 单向还是双向   ...

  8. MT8127:如何让system分区可读写(MTK安卓6.0)

    Android 系统默认情况下,system 分区是只读 mount 的,因为无法进行往里写数据的,可 以用 adb 命令 adb remount 重新 mount 一下. 也可以通过在板子上,输入以 ...

  9. iOS 动态 Framework 对App启动时间影响实测

    最近看到的Slow App Startup Times里提到: The dynamic loader finds and reads the dependent dynamic libraries ( ...

  10. Android TV开发总结(四)通过RecycleView构建一个TV app列表页(仿腾讯视频TV版)

    转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/52854131 前言:昨晚看锤子手 ...