mac上的终端bash命令基础

本文介绍了Mac终端中Bash命令的基本使用方法,包括常用命令如cd、ls、echo等的功能与实例,以及如何利用bash的历史记录、自动补全、命令别名等功能提高工作效率。

转自: http://www.cnblogs.com/xiaodao/archive/2012/02/21/2361519.html  月光的尽头




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命令打印出来

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



macOS 终端中,Bash 是默认的 shell 环境之一(macOS Catalina 及以后版本默认使用 Zsh,但 Bash 仍广泛支持),掌握常用的 Bash 命令对于系统操作和文件管理至关重要。以下是一些基础且高频使用的命令及其用法说明: ### 查看目录内容 - `ls`:列出当前目录下的文件和子目录。 - `ls -l`:以详细格式显示文件信息,包括权限、链接数、所有者、组、大小和最后修改时间[^1]。 - `ls -a`:显示隐藏文件(以点开头的文件)。 ### 切换目录 - `cd <目录名>`:进入指定目录。 - `cd ..`:返回上一级目录。 - `cd /`:切换到根目录。 - `cd ~` 或 `cd`:返回当前用户的主目录[^1]。 ### 创建与删除 - `mkdir <目录名>`:创建新目录。 - `touch <文件名>`:创建一个空文件或更新已有文件的时间戳。 - `rm <文件名>`:删除文件。 - `rm -r <目录名>`:递归删除目录及其内容。 - `rm -rf <目录名>`:强制删除目录及内容,不提示确认(需谨慎使用)[^1]。 ### 文件复制与移动 - `cp <源文件> <目标文件>`:复制文件。 - `cp -r <源目录> <目标目录>`:复制整个目录。 - `mv <源文件> <目标文件>`:移动或重命名文件/目录。 ### 查看与编辑文件 - `cat <文件名>`:查看文件内容。 - `less <文件名>`:分页查看文件内容,按 `q` 键退出。 - `nano <文件名>`:使用 nano 编辑器打开并编辑文件。 - `vim <文件名>`:使用 Vim 编辑器编辑文件(需熟悉基本操作)。 ### 权限管理 - `chmod <权限模式> <文件名>`:更改文件或目录的访问权限。 - `chown <用户>:<组> <文件名>`:更改文件或目录的所有者和所属组。 ### 进程控制 - `ps`:查看当前运行的进程。 - `top` 或 `htop`(需安装):实时查看系统资源和进程状态。 - `kill <PID>`:终止指定 PID 的进程。 - `kill -9 <PID>`:强制终止进程。 ### 系统相关 - `uname -a`:显示系统信息。 - `df -h`:查看磁盘空间使用情况。 - `du -sh <目录名>`:查看指定目录的大小。 - `uptime`:显示系统已运行的时间。 - `history`:查看执行过的命令历史记录。 ### 其他实用命令 - `man <命令>`:查看命令的帮助文档。 - `which <命令>`:查找命令的可执行文件路径。 - `echo $SHELL`:查看当前使用的 shell 类型。 - `clear`:清空终端屏幕。 - `exit`:退出当前终端会话。 例如,可以使用如下命令组合快速查看当前目录下所有 `.txt` 文件的内容: ```bash for file in *.txt; do echo "=== $file ==="; cat "$file"; done ``` 或者将多个命令通过管道符 `|` 连接,实现复杂的数据处理流程: ```bash ps aux | grep "python" | sort ``` 此命令表示先列出所有正在运行的进程,然后筛选出包含 "python" 的行,并对其进行排序输出。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值