文档章节

mac bash

如比如比
 如比如比
发布于 2015/11/22 12:00
字数 2428
阅读 180
收藏 3

mac上的终端使用的是Bourne-Again Shell命令,简称bash,是对Bourne shell的扩展

Bourne shell是 UNIX 最初使用的 Shell,作者Steven Bourne

 

shell的作用:用户输入指令,通过Shell和内核沟通,控制硬件正常工作

 

打开终端,在里面输入命令,一般终端已经帮你输入了“$”符号,只要输入具体命令就可以了

1.$echo

命令echo 表示:输出文本

$ echo "hello world"

输入结果:hello world

2.$cd

命令cd表示:进入某文件夹目录,或返回某目录

1)进入根目录

$ cd /

2)进入某目录(如下:进入bin目录)

$ cd bin   

3)返回到上层目录

$ cd ..

3)返回上上层目录(中间没用空格)

$ cd ../ ../

4)进入用户目录(~)

$ cd ~

3.$ls

命令ls表示:显示本层目录的所有文件和文件夹

$ ls

当ls后面加上具体的目录时直接输入该文件夹的详细目录信息(比如bin目录如下)

$ ls bin

4.$whereis

命令whereis表示:查找某程序的路径(比如gcc如下)

$ whereis gcc

输入结果:/usr/bin/gcc

5.命令记忆功能:

按上下键,可以查看使用过的所有命令

这些命令存储在用户目录.bash_history文件中:~/.bash_history

6.自动补全功能:

1)按tab键,当再一串指令的第一个词后面,自动补全命令

2)按tab键,当再一串指令的第二个词后面,自动补全文件名或文件目录

3)连按两次tab键,(上面两种情况中,若再按一次tab键),则显示所有某些字母开头的命令,或本目录下的所有文件名

7.命令别名功能:$alias

当一条命令太长,可以用alias命令为其他命令设置别名

例如,要查看本目录下的所有文件,包括隐藏文件,用命令:

$ ls -al

为了方便记忆,可以为上面的命令取一个别名lsall,操作如下:

$ alias lsall='ls -al'

之后就可以用$lsall命令,来查看本目录下的所有文件

8.$man

命令man用于查看某命令的详细说明文件,(比如查看ls命令说明如下)

$ man ls     

退出时用输入q

9.$type

命令type用于判断某命令是不是bash内置命令,或是来自外部(例如cd命令和ls命令如下:)

$ type cd

输出"cd is a shell builtin",表示cd是bash内建命令

$ type ls

输出"ls is hashed (/bin/ls)",表示ls是外部命令,后面是程序路径

如果定义了一个命令的别名为lsall,此时用$type命令查看lsall

$ type lsall

输出"lsall is aliased to `ls -al'",表示lsall是ls命令的别名

10.跨行命令,转义命令执行键(转义回车键)

当输入一行太长的命令时,为了更清楚,可以先输入"\",然后输入回车键,跳到下一行

下一行前面会出现">"符号,然后可以继续写没写完的命令

用两行输入完整的命令,例如:

$ cd /Users/xiaoa \回车

回车替换为回车符,会在下一样出现">",继续输入"/test"

> /test

两行命令等于如下一行:

$ cd /Users/xiaoa/test

11.在bash中输入$bash命令,将启动一个子bash程序,用$exit命令退出子程序

12.命令组合,与优先执行

用反单引号(就是键盘上方数字键1左边的键,不是单引号)包裹命令:`命令`

或$(命令),来优先执行某个命令,然后把返回的内容作为其他命令的输入,例子如下:

$ echo `ls -a`

$ echo $(ls -a)

上面的命令语句都有同样的作用:先用$ls命令获得本路径的所有文件名包括.的文件,然后把返回的结果用$echo命令打印出来

一般用 $(命令) 先执行一段指令的比较多,因为反单引号太容易引起歧义

 

变量

1.什么是变量

x=200

等号左边的就是变量,等号右边的就是变量的内容

变量具有可变性

2.变量的作用

用简单的字符,来替代复杂的易于变动的内容

3.变量定义

$ testdata="is test"

这样就定义了一个变量testdata

使用变量时必须加上"$"符

$ echo $testdata

输出"is test"

输出时,需要附加其他的字符串,可以用${变量}

$ echo this is ${testdata}

输出"this is test"

4.取消变量设置

用$unset命令取消变量设置

$ unset testdata

命令unset后边直接跟变量名,注意没有"$"符号

5.变量定义规则

1)等号的左右两边都不能有空格

2)变量初始化的时候必须赋值,未赋值过的变量为空,但echo未赋值过的变量不会报错,没有任何输出

3)变量名只能由英文字母、数字和短下划线"_"组成,且开头字符不能是数字

4)当变量内容里有空白字符时,可用用双引号",或单引号',把内容包含起来

    但双引号内的特殊字符如$等保留原有特性,比如

$ testdata="home is $HOME"

$ echo $testdata

输出"home is /Users/a"

而单引号内的特殊字符则变为纯文本,比如

$ testdata='home is $HOME'

$ echo $testdata

输出"home is $HOME"

5)可以用"\"符来转义特色字符(比如回车符enter,$,\,空白字符,等)为一般字符

$ testdata=home\ is\ home

$ echo $testdata

上面转义了空白字符,所以不会报错,输出"home is home"

6.环境变量

1)用$env命令,查看所有已经定义过的环境变量,env是environment(环境)的缩写

$ env

用$export也可以查看

2)用$set命令,查看所有环境变量和自定义变量

$ set

3)区别于自定义变量,环境变量通常用大写字母表示,比如:PATH, HOME, MAIL, SHELL等 

查看环境变量PATH

$ echo $PATH

PATH:是可执行文件路径,目录与目录之前用":"隔开,当执行某个命令或程序时,依据PATH定义的目录来搜索程序,排前的先搜索

RANDOM:代表随机数,介于0~32767之间

 

配置

    那么应该怎样来配置成我喜欢的颜色呢?下面我们就来详细说一些这些配置。

    ~/.bash_profile是bash shell中当前登录用户的配置文件。bash是“终端”中默认的shell。

    alias ls=”ls -G”是给”ls -G”起了一个别名,当执行ls时,就相当于执行了ls -G。

    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

       directory writable to others, with sticky bit 

       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就可以了。

 

自定义提示符

默认的提示符又长又别扭,还是喜欢改成Ubuntu的那种风格。在~/.bash_profile(不是.bashrc了)中添加:

export PS1="\u@\h:\w $"

需要另外设置颜色的话可以参考这个和那个。

ls和grep的高亮

向~/.bash_profile中加入

export CLICOLOR=1

export GREP_OPTIONS="--color=auto"

设置终端的主题

到这里就已经有了一个彩色的终端了,然而光有颜色还是不够的。只有精美的字体和搭配良好的颜色才能使命令行显得不是那么的枯燥乏味,因此还需要一个好的主题。这里推荐使用Solarized。

对于Lion的用户,只需下载两个terminal文件,双击安装就可以了。然后只要在终端的Preferences中选择相应的主题为默认。

Vim

作为终端用户,Vim肯定是另一件不可缺少的神器。我们同样可以使用Solarized主题让它变得更华丽些。

下载安装Pathogen。

$ mkdir -p ~/.vim/autoload ~/.vim/bundle; \

>    curl -so ~/.vim/autoload/pathogen.vim \

>    http://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim

并向~/.vimrc中添加:

call pathogen#infect()

下载安装主题

$ cd ~/.vim/bundle

$ git clone git://github.com/altercation/vim-colors-solarized.git

修改~/.vimrc

syntax enable

set background=dark

colorscheme solarized

更多关于终端的设置,见这里。

Tmux

在命令行下tmux的好处就不多说了,谁用谁知道。

sudo port install tmux

Git

Mac OS X中默认是没有Git的,所以需要自行安装。至少有以下三种方式可供选择:

选择GUI的git.app。有图形化界面,安装和操作非常简单。

使用MacPort下载安装。MacPort是一个开源的在Mac OS中用于编译、安装、升级开源软件的包管理工具,类似apt和yum。

sudo port selfupdate

port search git

sudo port install git-core

从源码安装,详细见这里。

MacPort

MacPort只需从其主页上下载相应的pkg进行安装即可。

Xcode

利用MacPort编译git-core需要xcode。

将Apple ID注册为开发者。

下载安装Xcode 4.3.3 for Lion。

下载安装Command Line Tools for Xcode。

切换当前的xcode

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/

 

    

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

© 著作权归作者所有

如比如比
粉丝 126
博文 178
码字总数 286951
作品 0
日本
程序员
私信 提问
git在各操作系统平台下的安装和配置

git在各操作系统平台下的安装和配置 标签 : git [TOC] 本文是git系列博客的第一篇,主要介绍git在windows,linux,Mac OX等不同操作系统下的安装和配置,主要以后两者为主。 工具下载 ubuntu: ...

brianway
2016/08/07
280
0
MAC 设置环境变量path的几种方法[转]

MAC 设置环境变量path的几种方法[转] 和煦的点滴2016-08-04122 阅读 命令MacLinux mac 一般使用bash作为默认shell Mac系统的环境变量,加载顺序为: /etc/profile /etc/paths ~/.bashprofile...

和煦的点滴
2016/08/04
0
0
MAC中设置android adb环境变量

验证可行: 1.找到android sdk的本地路径, adb命令在platform-tool下面,记为XXXX 我的路径是(/Applications/eclipse/android-sdk-mac_x86/platform-tools) 2.打开终端输入 touch.bash_profi...

postdep
2015/07/23
15.1K
1
Mac安装多个python版本

Mac安装多个python版本 步骤如下: $sudo brew install pyenv 然后在 .bash_profile 文件中添加命令:vi .bash_profile eval "$(pyenv init -)" 最后,更新一下环境变量 命令:source .bash_......

phpervip
2018/01/01
0
0
Mac下android_sdk配置环境变量

下面我将一下mac环境下的配置步骤: 1.启动Terminal终端工具 2.输入cd ~/ 进入当前用户的home目录 3. 创建: touch .bash_profile 4.打开并编辑: open .bash_profile 5、在文件中写入以下内...

今日竹石
2014/04/01
615
0

没有更多内容

加载失败,请刷新页面

加载更多

JDBC+C3P0+DBCP 基本使用

1.概述 这篇文章主要说了JDBC的基本使用,包括Statement,PreparedStatement,JDBC的连接,Mysql创建用户创建数据表,C3P0的连接与配置,DBCP的连接与配置. 2.mysql的处理 这里的JDBC使用Mysql作为...

Blueeeeeee
今天
7
0
MVC Linux下开发及部署

linux使用的是 Ubuntu 64 位 18.04.2 LTS 首先复制C:\Program Files (x86)\Embarcadero\Studio\20.0\PAServer 下 LinuxPAServer20.0.tar.gz 到 linux 目录下 运行链接编译程序 delphi环境配置......

苏兴迎
今天
11
0
3.控件及其属性

1.文本 2.按钮

横着走的螃蟹
今天
9
0
安装Genymotion模拟器慢的解决方案

第一步点击下载, C:\Users\Administrator\AppData\Local\Genymobile\genymotion.log 中搜索 ova 会发现这个文件 使用迅雷下载即可. 在 虚拟机中导入这个.ova 文件 即可安装...

chenhongjiang
今天
6
0
4. 彤哥说netty系列之Java NIO实现群聊(自己跟自己聊上瘾了)

你好,我是彤哥,本篇是netty系列的第四篇。 欢迎来我的公从号彤哥读源码系统地学习源码&架构的知识。 简介 上一章我们一起学习了Java中的BIO/NIO/AIO的故事,本章将带着大家一起使用纯纯的N...

彤哥读源码
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部