第3章 基本的bash shell命令

来源:互联网 发布:网页病毒检测软件 编辑:程序博客网 时间:2024/04/27 14:59

3.1 启动shell
GNU bash shell能提供对Linux系统的交互式访问。它是作为普通程序运行的,通常是在用户登录终端时启动。登录时系统启动的shell依赖于用户账号的配置。
/etc/passwd文件包含了所有系统用户账户列表以及每个用户的基本配置信息。每个记录的最后一个字段,指定了用户使用的shell程序。

3.2 shell提示符
在CentOS系统上shell提示符是这样的:
[christine@server01 ~]$
显示了当前用户ID名为christine,系统名server01。

3.3 bash手册
man命令用来访问存储在Linux系统上的手册页面。在想要查找的工具的名称前面输入man命令,就可以找到那个工具相应的手册条目。
可以通过点击空格键进行翻页,或者使用回车键逐行查看。
读完了手册页,可以点击q键退出。
这里写图片描述
可以使用关键字搜索手册页,语法是:man -k 关键字。
这里写图片描述
一个命令偶尔会在多个内容区域都有对应的手册页。想要查看所需要的页面,可以输入man section# topic 。例如man 1 hostname。

其他参考资料
info页面。输入info info来了解info页面的相关内容。
help选项。输入help help来了解help选项。

3.4 浏览文件系统

3.4.1 Linux文件系统
Linux将文件存储在单个目录结构中,这个目录被称为虚拟目录。虚拟目录只包含一个称为根(root)目录的基础目录。
路径本身并没有提供任何有关文件究竟存放在哪个物理磁盘上的信息。
在Linux PC上安装的第一块硬盘称为根驱动器。根驱动器包含了虚拟目录的核心,其他目录都是从那里开始构建的。
挂载点是虚拟目录中用于分配额外存储设备的目录。虚拟目录会让文件和目录出现在这些挂载点目录中,然而实际上它们却存储在另外一个驱动器中。
这里写图片描述
在登录系统并获得一个shell CLI提示符后,会话将从主目录开始。主目录是分配给用户账户的一个特有目录。

3.4.2 遍历目录
cd destination
destination参数可以使用绝对路径(以根目录“/”开头)和相对路径
pwd命令显示出shell会话的当前目录。
单点符(.),表示当前目录。
双点符(..),表示当前目录的父目录。

3.5 文件和目录列表
列表命令(ls)

3.5.1 基本列表功能
ls -a 使用-a参数,把隐藏文件和普通文件及目录一起显示出来。隐藏文件以点号开头。
ls -F -R 使用-R参数递归选项,列出了当前目录下包含的子目录中的文件。

3.5.2 显示长列表
ls -l 使用-l参数会产生长列表格式的输出,包含了木录中每个文件的更多相关信息。

3.5.3 过滤输出列表
在要用的命令行参数之后添加过滤器
ls -l my_script
文件扩展匹配:使用通配符进行模式匹配的过程。
*问号(?)代表一个字符
星号()代表零个或多个字符
*中括号([])表示一个字符位置并给出多个可能的选择。
ls -l my_scr[ai]pt
ls -l f[a-i]ll
*感叹号(!)将不需要的内容排除在外

3.6 处理文件

3.6.1 创建文件
可用touch命令创建空文件,改变文件的修改时间,使用-a参数,改变访问时间。

3.6.2 复制文件
cp命令有两个参数——源对象和目标对象:
cp source destination
当source和destination参数都是文件名时,cp命令将源文件复制成一个新文件,并且以destination命令。
加上-i选项,强制shell询问是否需要覆盖已有文件。
加上-R参数,复制整个目录的内容。

3.6.3 制表键自动补全

3.6.4 链接文件
虚拟的副本被称为链接。链接是目录中指向文件真实位置的占位符。
*符号链接
符号链接就是一个实实在在的文件,它指向存放在虚拟目录结构中某个地方的另一个文件。这两个通过符号链接在一起的文件,彼此的内容并不相同。
可以使用ln命令以及-s选项来创建符号链接。
这里写图片描述
符号链接和源文件是不同的文件。
*硬链接
硬链接会创建独立的虚拟文件,其中包含了原始文件的信息及位置。但是它们从根本上而言是同一个文件。引用硬链接文件等同于引用了源文件。使用ln命令,不需要额外参数。
这里写图片描述

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

3.6.6 删除文件
删除命令rm,可以用-f参数强制删除。

3.7 处理目录

3.7.1 创建目录
用mkdir命令。加入-p参数,同时创建多个目录和子目录。

3.7.2 删除目录
命令rmdir。只能删除空目录。
使用rm -ri删除非空目录。
这里写图片描述
一口气删除目录及其所有内容的终极大法就是使用带有-r参数和-f参数的rm命令。
这里写图片描述

3.8 查看文件内容

3.8.1 查看文件类型
file命令。
file my_file

3.8.2 查看整个文件类型

1 cat命令
显示文本文件中所有数据的得力工具。
-n参数会给所有的行加上行号。
-b只给文本的行加上行号

2 more命令
more命令会显示文本文件的内容,但会在显示每页数据之后停下来。
more命令是分页工具。使用空格键和回车键向前浏览。按q键退出。

3 less命令
more命令的升级版。

3.8.3 查看部分文件

1 tail命令
tail命令会显示文件最后几行的内容,(默认10行)。
可以向tail命令中加入-n参数来修改所显示的行数。
tail -n 2 log_file
* -f参数是tail命令的突出特性。允许你在其他进程使用该文件时查看文件的内容。tail命令会保持活动状态,并不断显示添加到文件中的内容。这是实时检测系统日志的绝妙方式。

2 head命令
显示文件开头那些行的内容。默认前10行。
支持-n参数

3.9 小结

0 0