基本的Bash Shell 命令

1. shell提示符

默认bash shell 提示符是美元符号($),这个符号表名shell在等待用户输入。
在Ubuntu Linux系统上,shell提示符是这样的:

christine@server01:~$

在CentOS系统上是这样的:

[christine@server01 ~]$

2. bash手册

大多数Linux发行版自带用以查找shell命令及其他GNU工具信息的在线手册。man命令用来访问存储在Linux系统上的手册页面。在想要查找的工具名称前面输入man命令,就可以找到那个工具相应的手册条目。
下图就展示了查找ls命令的手册页面在这里插入图片描述
手册页将与命令相关的信息分成了不同的节。每一节惯用的命名标准如表所示
在这里插入图片描述

3. Linux文件系统

举个例子,在Windows中经常看到这样的文件路径:

c:\Users\Rich\Documents\test.doc 

这种Windows文件路径表明了文件test.doc究竟位于哪个磁盘分区中。如果你将test.doc保存在闪存上,该闪存由J来标识,那么文件的路径就是J:\test.doc。该路径表明文件位于J盘的根目录下。

Linux则采用了一种不同的方式。Linux将文件存储在单个目录结构中,这个目录被称为虚拟目录(virtual directory)。虚拟目录将安装在PC上的所有存储设备的文件路径纳入单个目录结构中。

Linux虚拟目录结构只包含一个称为根(root)目录的基础目录。根目录下的目录和文件会按照访问它们的目录路径一一列出,这点跟Windows类似。
下图是Linux目录结构:
在这里插入图片描述

4. 文件和目录相关命令

4.1 基本列表功能

ls命令 显示目录下的文件和目录

4.2 处理文件

  • 创建空文件

touch 文件名

  • 复制文件

cp source destination

  • 重命名文件 / 移动文件

mv

  • 删除文件

rm fileName

4.3 处理目录

  • 创建目录

mkdir dirName

  • 删除目录

rmdir dirName

4.4 查看文件内容

  • 查看文件类型

file fieNmae

  • 查看整个文件

cat fileName

  • 查看部分文件(最后几行的内容)

tail fileName 最后10行
tail -n 2 fileName 最后两行

  • 查看部分文件(开头几行的内容)

head fileName 前10行
head -4 fileName 前4行

5. 其他bash shell命令

5.1 监测程序

5.1.1 探查进程

ps命令能输出运行在系统上的所有程序的许多信息。但是他有数不清的参数,这让他成为了最难掌握的命令。
默认情况下,ps命令并不会提供太多的信息
在这里插入图片描述
使用ps命令的关键不在于记住所有可用的参数,而在于记住最有用的那些参数。大多数Linux系统管理员都有自己的一组数,他们会牢牢记住这些用来提取有用的进程信息的参数。举个例子,如果你想查看系统上运行的所有进程,可用-ef参数组合

5.1.2 实时监测进程

ps命令虽然在收集运行在系统上的进程信息时非常有用,但也有不足之处:它只能显示某个特定时间点的信息。如果想观察那些频繁换进换出的内存的进程趋势,用ps命令就不方便了。

而top命令刚好适用这种情况。top命令跟ps命令相似,能够显示进程信息,但它是实时显示的。

下图是top命令运行时输出的截图。
输出的第一部分显示的是系统的概况:第一行显示了当前时间、系统的运行时间、登录的用户数以及系统的平均负载。平均负载有3个值:最近1分钟的、最近5分钟的和最近15分钟的平均负载。值越大说明系统的负载越高。由于进程短期的突发性活动,出现最近1分钟的高负载值也很常见,但如果近15分钟内的平均负载都很高,就说明系统可能有问题。

第二行显示了进程概要信息——top命令的输出中将进程叫作任务(task):有多少进程处在运行、休眠、停止或是僵化状态(僵化状态是指进程完成了,但父进程没有响应)

下一行显示了CPU的概要信息。top根据进程的属主(用户还是系统)和进程的状态(运行、空闲还是等待)将CPU利用率分成几类输出。

紧跟其后的两行说明了系统内存的状态。第一行说的是系统的物理内存:总共有多少内存,当前用了多少,还有多少空闲。后一行说的是同样的信息,不过是针对系统交换空间(如果分配了的话)的状态而言的。最后一部分显示了当前运行中的进程的详细列表,有些列跟ps命令的输出类似。
在这里插入图片描述

5.1.3 结束进程

kill命令可通过进程ID(PID)给进程发信号。默认情况下,kill命令会向命令行中列出的全部PID发送一个TERM信号。遗憾的是,你只能用进程的PID而不能用命令名,所以kill命令有时并不好用。

要发送进程信号,你必须是进程的属主或登录为root用户。

要检查kill命令是否有效,可再运行ps或top命令,看看问题进程是否已停止。

killall命令非常强大,它支持通过进程名而不是PID来结束进程。

5.2 监测磁盘空间

系统管理员的另一个重要任务就是监测系统磁盘的使用情况。不管运行的是简单的Linux台式机还是大型的Linux服务器,你都要知道还有多少空间可留给你的应用程序。

5.2.1 挂载存储媒体
  1. mount命令
    Linux上用来挂载媒体的命令叫作mount。默认情况下,mount命令会输出当前系统上挂载的
    设备列表。
  2. umount命令
    从Linux系统上移除一个可移动设备时,不能直接从系统上移除,而应该先卸载。
    卸载设备的命令是umount(是的,你没看错,命令名中并没有字母n)。umount命令的格式非常简单:
umount [directory | device ]
5.2.2 使用df命令

有时你需要知道在某个设备上还有多少磁盘空间。df命令可以让你很方便地查看所有已挂载磁盘的使用情况。
-h参数 它会把输出中的磁盘空间按照用户易读的形式显示,通常用M来替代兆字节,用G替代吉字节。
在这里插入图片描述

5.2.3 使用du命令

通过df命令很容易发现哪个磁盘的存储空间快没了。系统管理员面临的下一个问题是,发生这种情况时要怎么办。

另一个有用的命令是du命令。du命令可以显示某个特定目录(默认情况下是当前目录)的磁盘使用情况。这一方法可用来快速判断系统上某个目录下是不是有超大文件。默认情况下,du命令会显示当前目录下所有的文件、目录和子目录的磁盘使用情况,它会以磁盘块为单位来表明每个文件或目录占用了多大存储空间。对标准大小的目录来说,这个输出会是一个比较长的列表。

5.3 处理数据文件

当你有大量数据时,通常很难处理这些信息及提取有用信息。正如在上节中学习的du命令,
系统命令很容易输出过量的信息。Linux系统提供了一些命令行工具来处理大量数据。

5.3.1 排序数据

sort命令是对数据进行排序的。

默认情况下,sort命令按照会话指定的默认语言的排序规则对文本文件中的数据行排序。

5.3.2 搜索数据

grep命令会在输入或指定的文件中查找包含匹配指定模式的字符的行。grep的输出就是包含了匹配模式的行。

$ grep three file1 
three 
$ grep t file1 
two 
three 
$
  • 如果要进行反向搜索(输出不匹配该模式的行),可加-v参数
  • 如果要显示匹配模式的行所在的行号,可加-n参数。
  • 如果只要知道有多少行含有匹配的模式,可用-c参数。
  • 如果要指定多个匹配模式,可用-e参数来指定每个模式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Mac OS X 默认使用的是 Bash shell,可以通过打开终端来进入 Bash shell。在终端中输入以下命令就可以进入 Bash shell: ``` $ bash ``` 如果想在每次打开终端时自动进入 Bash shell,可以将以下命令添加到 `~/.bash_profile` 文件中: ``` if [ -f ~/.bashrc ]; then source ~/.bashrc fi ``` 然后将以下命令添加到 `~/.bashrc` 文件中: ``` export PS1="\u@\h \W $ " ``` 这样,每次打开终端时就会自动进入 Bash shell,并且命令提示符会显示当前用户和主机名以及当前工作目录。 ### 回答2: Bash Shell(Bourne Again Shell)是Mac操作系统中的一种命令行解释器。它提供了一种通过命令行来执行各种任务的方式。与图形用户界面(GUI)相比,Bash Shell是一种更加灵活和强大的方式,允许用户通过输入特定的命令来执行许多任务,如文件和目录管理、软件安装和配置、系统设置等。 Bash Shell在Mac中默认安装,并且作为默认的Shell解释器。用户只需打开终端应用程序,就可以进入到Bash Shell的环境中。通过使用各种命令,用户可以进行各种操作,如浏览文件和目录、复制、移动或删除文件、查看和编辑文件内容等。此外,Bash Shell还支持通配符、管道、环境变量等高级功能,使得用户能够更加高效地处理任务。 除了基本的文件操作,Bash Shell还提供了一些高级的功能。例如,用户可以使用Shell脚本来自动化任务。通过编写一系列的Shell命令,用户可以创建一个自动执行特定任务的脚本。这使得用户能够定制和批量处理各种任务,提高工作效率。 总而言之,Bash Shell是Mac操作系统中一个强大且灵活的命令行解释器。它为用户提供了直接交互的方式来操作计算机系统,无论是进行文件管理、软件安装或进行系统配置,都可以通过输入特定的命令来实现。使用Bash Shell可以提高用户的工作效率,并且帮助用户更好地控制和管理自己的计算机系统。 ### 回答3: Mac的Bash Shell是一种命令行界面工具,用于通过输入命令与操作系统进行交互。BASH是Bourne Again Shell的缩写,是一种Unix Shell,提供了一系列命令行工具来管理和操作Mac操作系统。 Mac的Bash Shell可以执行许多任务,如文件和目录管理、软件安装和配置、进程控制等。通过Shell,用户可以使用各种命令来查看、创建、复制、删除和移动文件和目录。例如,可以使用"ls"命令来列出当前目录中的文件和子文件夹,使用"cd"命令来改变工作目录,使用"cp"命令来复制文件,使用"rm"命令来删除文件等。 同时,Bash Shell还可以通过安装和管理软件,使用户能够通过命令行来执行各种任务。用户可以使用"brew"命令来安装和升级软件包,使用"apt-get"命令来管理系统软件包等。 此外,通过Bash Shell,还可以运行shell脚本。Shell脚本是一系列Shell命令的集合,可以将多个命令组合在一起,以完成复杂的任务。用户可以编写自己的Shell脚本来自动执行一系列命令,以简化和加快工作流程。 总之,Mac的Bash Shell是一个非常强大和灵活的工具,提供了许多功能和命令,可以帮助用户管理和操作Mac操作系统。无论是进行文件和目录管理,安装和配置软件,还是运行Shell脚本,Bash Shell都可以轻松完成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值