2025年5月19日 星期一 乙巳(蛇)年 二月廿一 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 系统应用 > Linux

基本的 bash shell 命令

时间:02-10来源:作者:点击数:23

1. 遍历目录

1.0 切换目录

destination 参数用以指定想切换到的目录名,如果没有为 cd 命令指定目标路径,它将切换到用户主目录。destination 参数可以用两种方式表示:一种是使用绝对文件路径,另一种是使用相对文件路径。

  • cd destination

1.1 绝对文件路径

绝对文件路径总是以正斜线 / 作为起始,指明虚拟文件系统的根目录。

该绝对文件路径指向 usr 目录所包含的 bin 目录下的用户二进制文件

  • /usr/bin

使用绝对文件路径可以清晰表明用户想切换到的准确位置。只需在 cd 命令后面指定相应的全路径名就可以进入到该目录中。

  • cd /usr/bin

1.2 pwd 命令

pwd 命令可以显示出 shell 会话的当前目录,这个目录被称为当前工作目录。

1.3 相对文件路径

相对文件路径允许用户指定一个基于当前位置的目标文件路径。

有两个特殊字符可用户相对文件路径中:

  • 单点符(.): 表示当前目录
  • 双点符(..): 表示当前目录的父目录
  • # 切换到上级目录下的 downloads 目录
  • cd ../downloads
  • # 必要时用户可以用多个双点符来向上切换目录
  • cd ../../etc
  • # 上述情况使用绝对路径更方便
  • cd /etc

2. 文件和目录列表

2.1 ls 命令

ls 命令最基本的形式会显示当前目录下的文件和目录。 特别注意: ls 命令输出的列表是按字母排序的(按列排序而不是按行排序)。

  • # 可以使用带-F 参数的 ls 命令轻松区分文件和目录。-F 参数在目录名后加了正斜线(/),在可执行文件的后面加星号(*)。
  • ls -F
  • # Linux 经常采用隐藏文件来保存配置信息。在 Linux 上,隐藏文件通常是文件名以点号开始的文件。这些文件并没有在默认的 ls 命令输出中显示出来,称其为隐藏文件。可以使用带-a 参数的 ls 命令将隐藏文件和普通文件以及目录一起显示出来。
  • ls -a
  • # -R 参数叫作递归选项,会列出当前目录下包含的子目录中的文件。
  • ls -F -R 或者 ls -FR 可以这样合并写
  • # -l 参数表示显示长列表,会产生长列表格式的输出,包含了目录中每个文件的更多相关信息。
  • ls -l
  • #-d 表示显示目录自身的属性,而不是目录中的内容
  • ls -d

2.2 过滤输出列表

ls 命令还支持在命令行中定义过滤器。这个过滤器就是一个进行简单文本匹配的字符串。

  • 问号 ? : 代表一个字符
  • 星号 * : 代表零个或多个字符
  • #只显示 my_test 文件的信息
  • ls -l my_test
  • #问号可用于过滤器字符串中替代任意位置的单个字符
  • ls -l my_te?t
  • #星号可匹配零个或多个字符
  • #匹配以 my 开头的文件
  • ls -l my*
  • #中括号表示一个字符位置并给出多个可能的选择。
  • #my_te[sy]t 表示 s 或者 y
  • #my_te[a-z]t 表示字母范围 a-z
  • ls -l my_te[sy]t
  • ls -l my_te[a-z]t
  • #可以使用感叹号(!) 将不需要的内容排除在外
  • ls -l my_te[!a]t

3. 处理文件

3.1 创建文件

  • #touch 命令用来创建空文件
  • touch test_one

3.2 复制文件

  • #cp 命令用来完成将文件和目录从一个位置复制到另一个位置。
  • #cp 命令需要两个参数:源对象和目标对象
  • #当 source(源对象) 和 destination(目标对象) 参数都是文件名时,cp 命令将源文件复制成一个新文件,并且以 destination 命名。
  • cp source(源对象) destination(目标对象)
  • #如果目标文件已经存在,cp 命令可能并不会提醒这一点。最好加上-i 选项,强制 shell 询问是否需要覆盖已有文件。
  • cp -i test_one test_two
  • #也可以将文件复制到现有目录中
  • cp -i test_one /home/download
  • #将 demo 目录中的所有文件复制到 demo2 目录中。demo2 目录可以不存在,它可以随着 cp -R 命令被创建。
  • cp -R demo/ demo2
  • #cp 命令中使用通配符,将所有以 test 结尾的文件复制到 demo 目录中
  • cp .test demo/

3.3 制表键自动补全(tab 键)

3.4 重命名文件

在 Linux 中,重命名文件称为移动。 mv 命令可以将文件和目录移动到另一个位置或重新命名。

  • #移动文件会将文件名从 demo 更改为 demos,因为 mv 只影响文件名。
  • mv demo demos
  • #mv 也可以用来移动文件的位置,将 test.txt 文件移动到 demo/目录下
  • mv test.txt demo/
  • #也可以使用 mv 命令移动文件位置并修改文件名称
  • #将 demo 目录下的 test.txt 文件移动到 demo2 目录下,并重命名为 test2.txt
  • mv /demo/test.txt /demo2/test2.txt
  • #移动整个目录及其内容,移动 demo 目录下所有文件和目录到 demo2 目录下
  • mv demo demo2

3.5 删除文件

  • #rm 命令用来删除文件,-i 参数提示是不是要真的删除该文件
  • #bash shell 中没有回收站,文件一旦删除就没法再找回。因此,在使用 rm 命令时,加入-i 参数是个好习惯。
  • rm -i test.txt
  • #使用通配符删除成组的文件
  • rm -i de?o

rm 命令相关参数:

  • -d:直接把欲删除的目录的硬连接数据删除成 0,删除该目录;
  • -f:强制删除文件或目录;
  • -i:删除已有文件或目录之前先询问用户;
  • -r 或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
  • --preserve-root:不对根目录进行递归操作;
  • -v:显示指令的详细执行过程。

4. 处理目录

4.1 创建目录

  • #创建目录
  • mkdir demo
  • #同时创建多个目录和子目录,需要加入-p 参数
  • mkdir -p demo/demo_test
  • #删除目录(只能删除空目录,如果目录不为空需要先删除目录下的文件)
  • rmdir demo
  • #删除目录及其所有内容
  • rm -rf demo(危险)

5. 查看文件内容

5.1 查看文件类型

  • #查看文件是什么类型
  • file test.txt
  • #查看整个文件内容
  • cat test.txt
  • #-n 参数会给所有行加上行号
  • #-b 参数给有文本的行加上行号
  • #-T 参数可以禁止制表符出现
  • cat -n test.txt

more 命令会显示文本文件的内容,但会在显示每页数据之后停下来。可以使用空格键或回车键以逐行向前的方式浏览文本文件。浏览完后,按 q 键退出。

  • more test.txt

less 命令和 more 命令基本一样,一次显示一屏的文件文本,但是支持更堵哦得选项。less 命令能够识别上下键以及上线翻页键。

5.2 查看部分文件

  • #tail 命令会显示文件最后几行的内容。默认情况下,会显示文件的末尾 10 行。
  • tail test.txt
  • #-n 参数用来修改所显示的行数
  • #只显示文件的最后两行
  • tail -n 2 test.txt
  • #-f 参数是 tail 命令的一个突出特性。允许在其他进程使用该文件时查看文件的内容
  • #head 命令会显示文件开头的那些行的内容,默认显示前 10 行的文本。
  • head test.txt
  • #类似 tail 命令,head 也支持-n 参数。这两个命令都允许在破折号后面输入想要显示的行数
  • head -5 test.txt (显示前 5 行)

6. 监测程序

6.1 探查进程

当程序运行在系统上时,我们称之为进程。

ps 命令。默认情况下, ps 命令只会显示运行在当前控制台下的属于当前用户的进程。

  • ps
  • # -e 参数指定显示所有运行在系统上的进程
  • # -f 参数则扩展了输出
  • ps -ef
  • UID: 启动这些进程的用户
  • PID(Process ID): 程序的进程 ID
  • PPID: 父进程的进程号
  • C: 进程生命周期中的 CPU 利用率
  • STIME: 进程启动时的系统事件
  • TTY: 进程启动时的终端设备
  • TIME: 运行进程需要的累计 CPU 时间
  • CMD: 启动的程序名称

6.2 实时监测进程

  • #top 命令跟 ps 命令相似,能够显示进程信息,但它是实时显示的。

7. 处理数据文件

7.1 搜索数据

  • #grep 命令会在输入或指定的文件中查找包含匹配指定模式的字符的行
  • #在 file 文件中搜索能匹配模式 three 的文本
  • grep three file
  • #反向搜索(输出不匹配该模式的行),加-v 参数
  • grep -v three file
  • #显示匹配模式行的行号,加-n 参数
  • grep -n three file
  • #显示有多少行含有匹配的模式,加-c 参数
  • grep -c three file
  • #指定多个匹配模式,加-e 参数(同时匹配 three 和 two)
  • grep -e three -e two file
  • #正则匹配(搜索包含 t 或者 f 字符的匹配)
  • grep [tf] file
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐