`
wbj0110
  • 浏览: 1611316 次
  • 性别: 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之间

 

 

分享到:
评论

相关推荐

    mac 终端命令

    在提供的文件信息中,包含了一系列的Mac终端命令,我们可以根据这些命令来展开介绍相关的知识点。 1. Wget (1): 非交互式网络下载工具。Wget允许用户从网络上下载文件,无需人工干预,非常适用于下载大量数据或在...

    Mac OS 中通过Shell命令执行App应用的快捷方式

    Mac OS 中通过 Shell 命令执行 App 应用的快捷方式 在 Mac OS 中,通过 Shell 命令执行 App 应用的快捷方式可以通过创建一个文件夹,存放打开各个 App 的 sh 命令文件,然后在该文件夹中创建 sh 命令文件,例如 qq....

    local-git-bash.zip

    Git Bash是Git在Windows上的一个重要组成部分,因为它提供了一个模拟Linux shell的环境,使得那些在Linux或Mac OS中常用的命令行工具能够在Windows上正常运行。 Git Bash的特点包括: 1. **Unix-like命令行环境**:...

    mac下终端iTerm2

    你可以通过Homebrew Cask来安装,这是一个方便的命令行工具,可以帮你管理Mac上的应用。首先确保已经安装了Homebrew,如果没有,可以通过在终端输入以下命令进行安装: ``` /bin/bash -c "$(curl -fsSL ...

    mac 终端软件安装

    在Mac操作系统中,终端是一个强大的工具,它允许用户通过命令行界面执行各种系统级操作,包括软件安装。本文将详细讲解如何在Mac的Terminal(终端)下安装软件,特别是利用Homebrew这一流行的包管理器进行软件安装。...

    mac下终端工具iterm

    综上所述,iTerm2以其强大的功能和高度的自定义性,成为Mac用户提升终端使用体验的理想选择。通过下载并安装压缩包中的iTerm.app,用户即可开始享受这款优秀的终端工具带来的便利。无论是日常使用还是进行复杂的开发...

    Bash的特性介绍BashInfo

    下面是一些常用的Bash命令及其用途: 1. **cd**:用于切换当前工作目录。 2. **ls**:列出指定目录下的文件和子目录。 3. **mkdir**:创建新的目录。 4. **rm**:删除文件或目录。 5. **cp**:复制文件或目录。 6. ...

    Macbook 终端经典魔鬼主题

    在Macbook上,终端是开发者和系统管理员的重要工具,它提供了命令行界面,允许用户执行各种操作系统级别的任务。为了提高工作效率并个性化工作环境,许多人选择为终端应用不同的主题。"Macbook 终端经典魔鬼主题...

    MAC OS X系统终端的常用命令

    ### MAC OS X系统终端的常用命令 #### 一、引言 MAC OS X(或称为macOS)作为苹果公司的操作系统,其内部基于Unix系统构建,这意味着用户可以通过命令行工具访问和管理文件系统。本文将详细介绍MAC OS X系统终端中...

    telnet不能用 提示:-bash: telnet: command not found

    telnet是一个远程登录协议,允许用户通过网络在另一台计算机上进行命令行操作。下面将详细介绍如何解决这个问题以及相关的知识点。 首先,你需要确认系统是否安装了telnet客户端。在终端中输入`which telnet`或`...

    Mac电脑安装sqlmap及环境配置.docx

    在 Mac 电脑上,打开“终端”应用程序,然后通过 vi 编辑器配置 sqlmap 的路径。_vi 是一个命令行文本编辑器,默认安装在 Mac 电脑上。使用 vi 编辑器可以编辑文件并保存配置文件。 使用 vi 编辑器 1. 首先,使用 ...

    配置Mac终端显示(Git)

    配置Mac终端显示(Git)主要是为了提升使用体验,使其更加直观和高效。虽然这不是Git的基本要求,但优化终端环境可以显著提高工作效率。 首先,让我们了解如何配置Mac终端的基本步骤: 1. **安装Git**: 如果尚未...

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

    安装这个文件,用户可以在Mac上开始使用iTerm 2,享受其带来的高效终端体验。 总结来说,iTerm 2是一款强大且高度可定制的终端工具,它的特色在于丰富的主题选择、窗口分屏和对zsh的良好支持。结合bash和zsh的使用...

    [Mac]解决mac机器上没有ssh-copy-id的问题

    然而,有时在Mac上可能会遇到没有`ssh-copy-id`命令的问题。本文将深入探讨这个问题及其解决方案。 首先,`ssh-copy-id`通常与OpenSSH套件一起提供。在较新的MacOS版本中,如Big Sur或Catalina,OpenSSH可能已经...

    The basic of Bash shell

    当你在终端输入命令时,Bash Shell会执行一系列重要的服务,因此理解Bash Shell的工作原理对于高效地使用计算机至关重要。 #### 二、命令路径(Command Path) 当用户在Bash Shell中输入一个命令时,Shell会搜索多个...

    在MAC上通过命令窗口操作SQLITE

    下面将详细介绍如何在Mac上通过命令窗口操作SQLite,以及如何批量导入数据。 首先,确保你的系统已经安装了SQLite。如果没有,可以通过Homebrew这个包管理器来安装。打开终端(Terminal),输入以下命令: ``` /...

    Mac rar命令行工具

    这篇文章将深入探讨如何在Mac上使用RAR命令行工具,以及它能为用户带来的便利。 首先,安装RAR命令行工具是必要的。用户通常可以选择像“UnRAR”这样的开源软件,或者通过Homebrew包管理器安装“rar”命令行工具。...

    在mac上如何使用终端打开XAMPP自带的MySQL

    总结,这篇文章详细介绍了在Mac上通过终端访问XAMPP自带MySQL的过程,包括解决可能遇到的权限问题和SIP设置。遵循这些步骤,即使对于不熟悉命令行的新手,也能顺利地在终端中使用MySQL。希望这个教程对你在Mac上的...

    iTerm2_v2 mac终端

    iTerm2是一款专为Mac操作系统...综上所述,iTerm2凭借其强大的功能和高度可定制性,极大地提升了Mac用户在终端操作的体验和效率。通过下载并安装压缩包中的iTerm.app,即可开始享受这款优秀的终端模拟器带来的便利。

    Mac下Flask框架workon命令找不到--最终解决方案.docx

    在Mac操作系统中,使用Flask框架进行开发时,有时会遇到`workon`命令找不到的问题。这是因为`workon`是`virtualenvwrapper...通过这些步骤,确保`workon`命令能在Mac上正常工作,从而更便捷地管理和使用Flask开发环境。

Global site tag (gtag.js) - Google Analytics