`
wbj0110
  • 浏览: 1551105 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

mac上的终端bash命令

阅读更多

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

bash是GNU组织开发和推广的一个项目,是对Bourne shell的扩展

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

bash是许多Linux平台的内定Shell,传统UNIX上还有许多Shell,包括tcsh、csh、ash、bsh、ksh

Shell Script大致都类同,一个Shell Script通常可以在很多种Shell上使用

狭义的Shell指的就是命令行终端

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.$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-script-to-view-git-branches-on-mac-terminal:Bash脚本,用于使用用户名和工作目录查看mac终端上的git分支

    bash脚本查看mac终端上的git分支和git命令完成 Bash脚本以用户名,工作目录和当前分支的状态查看Mac终端上的git分支(表示是否进行了任何更改) 脚步 转到主目录(cd) 打开.bash_profile文件(vi .bash_profile)...

    mako:用于Bash终端的Wireshark

    真子 用于Bash终端的Wireshark 设置 菜单:(每个选项都可以返回菜单) 开始嗅探 选择界面并启动(列出可能的界面) 编号时间源目的地长度... 要获取网络接口,请在Mac上使用`ifconfig -a',在Linux上使用'ip link

    dotfiles:使 Mac 终端美观的文件

    复制并保存文件后,在终端中输入命令source ~/.bash_profile以重新加载所做的设置。 来源 在示例中,Terminal 中使用的字体是 Incosolata,大小为 14。下载。 术语 2 Mac 原生终端的绝佳替代品。。 学分 基于。 ...

    iTerm 2-shell命令输入终端工具

    iTerm2是一款比较小众的软件,以设置主题,支持画面分隔、各种快捷键。Mac默认使用的shell是bash,我们可以换成zsh,搭配iTerm2使用,用起来十分顺手

    方便的Bash One-Liners和终端技巧的集合,用于数据处理和Linux系统维护。-Linux开发

    几年前,我从事生物信息学研究,并为那些单字bash命令所惊叹,这些命令比我的枯燥脚本快得多,通过学习命令行sho Bash-Oneliner节省了时间,我很高兴您在这里! 几年前,我从事生物信息学研究,对那些单字bash命令...

    程序员考试刷题-Bash-Oneliner-by-onceupon:Bash-Oneliner-by-onceupon

    CentOS,如果这些命令在您的系统上不起作用,请见谅。 本博客将重点介绍我从工作和 LPIC 考试中获得的用于解析数据和 Linux 系统维护的简单 bash 命令。 我很抱歉没有对所有命令进行详细引用,但它们可能来自亲爱的 ...

    cmd操作命令和linux命令大全收集

    arp 查看和处理ARP缓存,ARP是名字解析的意思,负责把一个IP解析成一个物理性的MAC地址。arp -a将显示出全部信息 start 程序名或命令 /max 或/min 新开一个新窗口并最大化(最小化)运行某程序或命令 mem 查看cpu...

    vaccine_bash:查询https

    在Mac上,命令为: brew install终端通知程序 笔记 该脚本当前设置在纽约市的中央公园和6英里处。 您可以更改参考纬度和经度到您的位置,并根据需要加宽距离。 您必须更改curl命令以使用正确的状态。 此最新版本...

    Homebrew安装与配置(macOS)

    它是macOS和Linux上的一个绝佳的终端软件包管理程序。与Linux上的apt-get、yum等相同,它拥有丰富的功能,能实现“即输即装”。只需一行命令“brew install xxx”,它就会自动给你安装上了!神不神奇?甚至不用加...

    Mono6.4.0(MAC)

    此指南针对MacOS,没有更改安装路径操作方法(文件太大故此放到百度网盘中,如被...打开终端,输入命令sudo pkgutil --forget com.xamarin.mono-MDK.pkg。 打开Finder,前往文件夹:/etc/paths.d/,删除mono-commands。

    nodejs安装及环境配置.docx

    - 打开命令行终端(在Windows上是命令提示符或PowerShell,而在Mac/Linux上是终端)。 - 输入以下命令来验证Node.js是否成功安装并查看其版本: ```bash node -v ``` - 输入以下命令来验证npm(Node.js包管理器)...

    Gogh:Gnome终端和Pantheon终端的配色方案

    也可在iTerm for macOS上使用。 您可以在查看主题。 :gear_selector: 预安装 在您的终端中输入: sudo apt-get install dconf-cli uuid-runtime 您现在可以以交互方式(简单)或非交互方式(脚本的理想选择)...

    tree-1.5.2.2-bin.zip

    在mac终端如何使用tree? 命令如下: ``` find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g' ``` 然后手动alias一下,在你的.bash_profile或者.zshrc中添加: ``` alias tree="find . -print | sed -e 's;[^/]*...

    kafka-docker-on-mac:Mac上的Kafka

    make bash-kafka[123]在Zookeeper内部打开终端$ make bash-zookeeper[123]显示卡夫卡的日志$ make log-kafka[123]显示动物园管理员的日志$ make log-zookeeper[123]卡夫卡的命令创建一个话题$ make create-topic ...

    如何修改mac终端默认运行的python版本为3.8

    Mac版本的Python默认是2.7,安装高版本后需要修改为新安装的版本。 1. 首先打开终端 输入下面的命令打开配置文件 open ~/.bash_profile  2. 在配置写入python的外部环境变量(本人的版本是3.8)  export PATH=${...

    爬取Lofter图片依赖Python的BeautifulSoup4第三方库

    # LofterSpider ## Lofter爬虫 本项目可以爬取Lofter图片,依赖Python的BeautifulSoup4第三方库,使用本项目...1. Mac OS X 系统可以在终端执行以下命令: ```bash curl https://bootstrap.pypa.io/ez_setup.py -o

    词汇:每天使用python在您的终端中显示一个新的词汇词。 请阅读自述文件

    关于使用带有Selenium的Python每天在您的终端中显示一个新的词汇词。... 我在运行Bash终端的Mac上制作的新的macOS Catalina使用Zsh而不是Bash,但是我使用Hyper切换回了Bash(在配置文件中,它位于第10

    最新git项目开发中一键发起merge request工具,自动识别本地环境,支持windows、Linux、Mac,包含使用教程和资料.sh

    # For Mac or Linux:打开命令行终端,执行 vim ~/.bash_profile ,键入:alias merge="sh /merge文件的路径/merge.sh",保存并退出,再执行:source ~/.bash_profile # 进入到Git管理的项目根目录,执行如下命令...

    mac安装maven

    如果是第一次配置环境变量,可以使用“touch .bash_profile” 创建一个.bash_profile的隐藏配置文件(如果是编辑已存在的配置文件,则使用”open -e .bash_profile”命令):  输入“open -e .bash_profile”命令,...

    mac-jdk-7u79-macosx-x64

    1、打开终端执行cd命令。 2、 vi .bash_profile。 export JAVA_7_HOME=`/usr/libexec/java_home -v 1.7` export JAVA_8_HOME=`/usr/libexec/java_home -v 1.8` export JAVA_9_HOME=`/usr/libexec/java_home -v 1.9` ...

Global site tag (gtag.js) - Google Analytics