资讯专栏INFORMATION COLUMN

Linux_《Linux命令行与shell脚本编程大全》第三章学习总结

sugarmo / 1330人阅读

摘要:命令行与脚本编程大全第三版第三章学习总结第三章基本的命令本章内容使用手册浏览文件系统文件和目录列表管理文件和目录查看文件内容启动能提供对系统的交互式访问。重命名文件在中,重命名文件称为移动。

时间:2017年04月06日

说明:本文部分内容均摘取自书籍《Linux命令行与shell脚本编程大全》,版权归原作者所有。《Linux命令行与shell脚本编程大全》(第三版)第三章学习总结

第三章:基本的bash shell命令

本章内容:

使用shell
bash手册
浏览文件系统
文件和目录列表
管理文件和目录
查看文件内容
3.1 启动shell
GNU bash shell能提供对Linux系统的交互式访问。

/etc/passwd文件包含了所有系统用户账户列表以及每个用户的基本配置信息。
以下是从/etc/passwd文件中取出的样例条目:

shell:x:1001:1003::/home/shell:/bin/bash

每个条目有七个字段,字段之间用冒号分隔。大多数条目将在第七章讲解,最后一个字段制定了用户使用的shell程序。

3.2 shell提示符
一旦启动了终端仿真软件包或者登陆Linux虚拟控制台,你就会看到shell CLI提示符。提示符就是进入shell世界的大门,是你输入shell命令的地方。默认bash shell提示符是美元符号($),这个符号表明shell在等待用户输入。shell提示符并非一成不变。你可根据自己的需要改变它。第六章讲到了如何修改shell CLI提示符。

窍门:如果你还是CLI新手,请记住,在输入shell命令之后,需要按回车键才能让shell执行你输入的命令。

3.3 bash手册
大多数Linux发行版自带用以查找shell命令及其他GNU工具信息的在线手册。熟悉手册对使用各种Linux工具大有裨益,尤其是在你要弄清楚各种命令行参数的时候。man命令用来访问存储在Linux系统上的手册页面。例如:man ls,查找 ls 命令的手册页面。读完了手册页,可以点击q键退出。

窍门:如果你是新接触bash shell,可能一开始会觉得手册页并不太有用。但是,如果养成了阅读手册的习惯,尤其是阅读第一段或是 DESCRIPTION 部分的前两段,最终你会学到各种技术行话,手册页也会变得越来越有用。

窍门:bash手册甚至包含了一份有关其自身的参考信息。输入man man来查看与手册相关的手册页。

手册页将与命令相关的信息分成了不同的节。每一节惯用的命名标准如下:

Name:显示命令名与一段简短的描述
Synopsis:命令的语法
Confi guration:命令配置信息
Description:命令的一般性描述
Options:命令选项描述
Exit Status:命令的退出状态指示
Return Value:命令的返回值
Errors:命令的错误消息
Environment:描述所使用的环境变量
Files:命令用到的文件
Versions:命令的版本信息
Conforming To:命令所遵从的标准
Notes:其他有帮助的资料
Bugs:提供提交bug的途径
Example:展示命令的用法
Authors:命令开发人员的信息
Copyright:命令源代码的版权状况
See Also:与该命令类型的其他命令

窍门:如果不记得命令名怎么办?可以使用关键字搜索手册页。语法是:man -k 关键字。例如,要查找与终端命令相关的命令,可以输入man -k terminal。

除了对节按照惯例进行命名,手册页还有对应的内容区域。每个内容区域都分配了一个数字。从1到9,如下:

1:可执行程序或shell命令
2:系统调用
3:库调用
4:特殊文件
5:文件格式与约定
6:游戏
7:概览、约定
8:超级用户和系统管理员命令
9:内核例程

可以使用命令man 数字 ls,输入man 1 ls阅读第1部分。

3.4 浏览文件系统
当登录系统并获得shell命令提示后,你通常位于自己的主目录中。
3.4.1 Linux文件系统
Linux虚拟目录接口只包含一个称为跟(root)目录的基础目录。根目录下的目录和文件会按照访问它们的目录路径一一列出。

窍门:你将会发现Linux使用正斜线(/)而不是反斜线()在文件路径中划分目录。在Linux中,反斜线用来标识转义字符,要是用在文件路径中的话会导致各种各样的问题。如果你之前用的是Windows环境,就需要一点时间来适应。

Linux文件系统结构是从Unix文件结构演变过来的。在Linux文件系统中,通用的目录名用于表示一些常见的功能。一些常见的Linux顶层虚拟目录及其内容如下:

/:虚拟目录的根目录。通常不会再这里存储文件
/bin:二进制目录,存放许多用户级的GNU工具
/boot:启动目录,存放启动文件
/dev:设备目录,Linux在这里创建设备节点
/etc:系统配置文件目录
/home:主目录,Linux在这里创建用户目录
/lib:库目录,存放系统和应用程序的库文件
/media:媒体目录,可移动媒体设备的常用挂载点
/mnt:挂载目录,另一个可移动媒体设备的常用挂载点
/opt:可选目录,常用于存放第三方软件包和数据文件
/proc:进程目录,存放现有硬件及当前进程的相关信息
/root:root用户的主目录
/sbin:系统二进制目录,存放许多GNU管理员级工具
/run:运行目录,存放系统运行时的运行时数据
/srv:服务目录,存放本地服务的相关文件
/sys:系统目录,存放系统硬件信息的相关文件
/tmp:临时目录,可以在该目录中创建和删除临时工作文件
/usr:用户二进制目录,大量用户级的GNU工具和数据文件都存储在这里
/var:可变目录,用以存放经常变化的文件,比如日志文件
3.4.2 遍历目录

在Linux文件系统上,可以使用切换目录命令cd将shell会话切换到另一个目录。

命令格式:cd destination
命令说明:cd命令可接受单个参数destination,用以指定想切换到的目录名。
    如果没有为cd命令指定目标路径,它将切换到用户主目录。
命令演示:cd test
演示说明:进入目录名为test的目录

destination参数可以用两种方式表示:一种是使用绝对路径,另一种是使用相对文件路径。

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

窍门:在切换到新的当前工作目录时使用pwd命令,是很好的习惯。因为很多shell命令都是在当前工作目录中操作的,在发出命令之前,你应该始终确保自己处在正确的目录之中。

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

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

单点符(.):表示当前目录
双点符(..):表示当前目录的父目录
3.5 文件和目录列表
要想知道系统中有哪些文件,可以使用列表命令(ls)。
3.5.1 基本列表功能
命令格式:ls 
命令说明:显示当前目录下的文件和目录

命令格式:ls -F 
命令格式:显示当前目录下的文件和目录,在目录后加了正斜线,在可执行文件后加了星号

命令格式:ls -a
命令说明:显示当前目录下的文件和目录,包括隐藏文件和普通文件

命令格式:ls -F -R
命令说明:显示当前目录下的文件和目录,递归显示子目录中的文件

窍门:选项并不一定要像例子中那样分开输入:ls -F -R。它们可以进行如下合并:ls -FR。

3.5.2 显示长列表
命令格式:ls -l
命令说明:显示当前目录下的文件和目录,包含了目录中每个文件的更多相关信息

每一行都包含了关于文件或目录的下述信息:

文件类型,比如目录(d)、文件(-)、字符型文件(c)或块设备(b);
文件的权限(参见第六章);
文件的硬链接总数;
文件属主的用户名;
文件属组的组名;
文件的大小(以字节为单位);
文件的上次修改时间;
文件名或目录名。

窍门:别忘了可以将多个参数结合起来使用。一些参数组合不仅能够显示出所需的内容,而且还容易记忆,例如:ls -alF。

3.5.3 过滤输出列表
命令格式:ls -l study
命令说明:显示当前目录下的文件和目录,根据字符串过滤文件或目录

当用户指定特定文件的名称作为过滤器时,ls命令只会显示该文件的信息。有时你可能不知道要找的那个文件的确切名称。ls命令能够识别标准通配符,并在过滤器中用他们进行模式匹配:

问号(?):代表一个字符
星号(*):代表零个或多个字符
中括号([ab]):代表a或b
感叹号([!a]):代表不包含a
3.6 处理文件
shell提供了很多在Linux文件系统上操作文件的命令。
3.6.1 创建文件

命令:touch

命令格式:touch 文件名
命令说明:使用touch创建文件
命令演示:touch test
演示说明:创建一个名为test的文件

touch命令修改文件的修改时间

命令格式:touch 文件名
命令说明:使用touch文件修改时间
3.6.2 复制文件

命令:cp

命令格式:cp 源对象 目标对象
命令说明:将源对象复制到目标对象

cp source destination
当source和destination参数都是文件名时,cp命令将源文件复制成一个新文件,并且以destination命名。

cp -i 源对象 目标对象
复制文件时,如果目标文件已近存在,询问是否需要覆盖已有文件。

cp -R 源对象 目标对象
可以用cp -R在一条命令中递归地复制整个目录的内容。

3.6.3 制表键自动补全

制表键自动补全允许你的输入文件名或目录名时按一下制表键,让shell帮忙将内容补充完整。

3.6.4 链接文件

类似Windows快捷方式。为文件创建快捷方式。比较难以理解。

3.6.5 重命名文件

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

命令:mv

命令格式:mv 源对象 目标对象
命令说明:将源对象移动到目标对象或将源对象重命名为目标对象

窍门:和cp命令类似,也可以在mv命令中使用-i参数。这样在命令试图覆盖已有的文件时,你就会得到提示。

3.6.6 删除文件

在Linux中,删除(deleting)叫作移除(removing)。

命令:rm

命令格式:rm file
命令说明:删除文件名为file的文件

命令格式:rm -i file
命令说明:删除文件时,提示是否确认删除。
3.7 处理目录 3.7.1 创建目录

在Linux中创建目录很简单,用mkdir命令即可。

命令:mkdir

命令格式:mkdir 目录名
命令说明:创建一个指定目录名的目录

命令格式:mkdir -p 目录名/子目录
命令说明:通过加入-p参数,同时创建多个目录和子目录
3.7.2 删除目录

命令:mkdir

命令格式:mkdir 目录名
命令说明:删除一个指定目录名的目录,目录必须为空才能删掉

命令:rm

命令格式:rm -r 目录名
命令说明:删除指定目录名的目录,会删除目录下子目录及目录下文件

命令:rm

命令格式:rm -rf 目录名

命令说明:删除目录及其所有内容。rm -rf命令既没有警告信息,也没有声音提示。这肯定是一个危险的工具,尤其是在拥有超级用户权限的时候。务必谨慎使用,请再三检查你所要进行的操作是否符合预期。

3.8 查看文件内容 3.8.1 查看文件类型

命令:file

命令格式:file 文件名
命令说明:查看文件的类型
3.8.2 查看整个文件
Linux上有三个不同的命令可以完成这个任务。cat命令、more命令、less命令。

命令:cat

命令格式:cat 文件名
命令说明:查看指定文件的内容

命令格式:cat -n 文件名
命令说明:查看指定文件的内容,-n参数会给所有的行加上行号。

命令格式:cat -b 文件名
命令说明:查看指定文件的内容,-b参数会给有文本的行加上行号。

命令格式:cat -T 文件名
命令说明:查看指定文件的内容,-T参数会用^I字符组合去替换文中的所有制表符。

命令:more

命令格式:more 文件名
命令说明:查看指定文件的内容

命令:less

命令格式:less 文件名
命令说明:查看指定文件的内容
3.8.3 查看部分文件

命令:tail

命令格式:tail 文件名
命令说明:查看指定文件的末尾10行内容

命令格式:tail -n 文件名
命令说明:查看指定文件的末尾n行内容

命令格式:tail -f 文件名
命令说明:查看指定文件的内容。用于实时监测系统日志文件。

命令:head

命令格式:head 文件名
命令说明:查看指定文件的前10行内容

命令格式:head -n 文件名
命令说明:查看指定文件的前n行内容
3.9 小结
本章涵盖了在shell提示符下操作Linux文件系统的基础知识。主要介绍了cd、ls、mv、rm、mkdir、rmdir、cat、more、less、tail、head命令。

本章学习命令个人总结如下:

cd:切换或进入目录
ls:显示当前目录下的目录和文件
mv:移动或重命名目录或文件
rm:删除目录或文件
mkdir:创建目录
rmdir:删除目录
cat:查看文本文件全部内容
more:查看文本文件全部内容
less:查看文本文件全部内容
tail:查看文本文件尾部部分内容
head:查看文本文件头部部分内容

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/9885.html

相关文章

  • Linux_Linux命令行与shell脚本编程大全》第十三章学习总结

    摘要:命令行与脚本编程大全第三版第十三章学习总结第十三章更多的结构化命令本章内容循环语句迭代语句使用语句循环重定向循环的输出命令命令格式命令说明变量为中的迭代值,在和语句之间输入的命令可以是一条或多条标准的命令。 时间:2017年09月13日星期三说明:本文部分内容均摘取自书籍《Linux命令行与shell脚本编程大全》,版权归原作者所有。《Linux命令行与shell脚本编程大全》(第三版...

    Forest10 评论0 收藏1
  • Linux_Linux命令行与shell脚本编程大全》第十四章学习总结

    摘要:命令行与脚本编程大全第三版第十四章学习总结第十四章处理用户输入本章内容传递参数跟踪参数移动变量处理选项将选项标准化获取用户输入命令行参数读取参数会将一些称为位置参数的特殊变量分配给输入到命令行中的所有参数。 时间:2017年09月19日星期二说明:本文部分内容均摘取自书籍《Linux命令行与shell脚本编程大全》,版权归原作者所有。《Linux命令行与shell脚本编程大全》(第三版...

    王晗 评论0 收藏1
  • Linux_Linux命令行与shell脚本编程大全》第二章学习总结

    摘要:控制台终端进入的一种方式是让系统退出图形化桌面模式,进入文本模式。它们分别是和,通常都会默认安装在发行版中。命令行参数的命令行参数非常多。小结为了着手学习命令行,得先能访问命令行。 时间:2017年04月05日 说明:本文部分内容均摘取自书籍《Linux命令行与shell脚本编程大全》,版权归原作者所有。《Linux命令行与shell脚本编程大全》(第三版)第二章学习总结 第二章:走进...

    tuniutech 评论0 收藏1
  • Linux_Linux命令行与shell脚本编程大全》第六章学习总结

    摘要:环境变量定义了用于进行命令和程序查找的目录。全局环境变量可以在对其作出定义的父进程所创建的子进程中使用。本章学习命令个人总结如下显示全局变量显示全局变量显示局部变量全局变量及用户自定义变量导出为全局环境变量删除环境变量 时间:2017年07月31日星期一 说明:本文部分内容均摘取自书籍《Linux命令行与shell脚本编程大全》,版权归原作者所有。《Linux命令行与shell脚本编程...

    Kerr1Gan 评论0 收藏1
  • Linux_Linux命令行与shell脚本编程大全》第一章学习总结

    摘要:命令行与脚本编程大全第三版第一章学习总结第一章初识本章内容什么是内核的组成探索桌面了解发行版什么是分为以下四部分内核工具图形化桌面环境应用软件深入探究内核系统的核心是内核。 时间:2017年04月05日 说明:本文部分内容均摘取自书籍《Linux命令行与shell脚本编程大全》,版权归原作者所有。《Linux命令行与shell脚本编程大全》(第三版)第一章学习总结 第一章:初识Linu...

    bawn 评论0 收藏1
  • Linux_Linux命令行与shell脚本编程大全》第十一章学习总结

    摘要:命令允许你在脚本结束时指定一个退出状态码编写脚本编写脚本编写脚本当指定的退出状态码超过时,最终的结果是指定的数值除以后得到的余数。 时间:2017年08月28日星期一说明:本文部分内容均摘取自书籍《Linux命令行与shell脚本编程大全》,版权归原作者所有。《Linux命令行与shell脚本编程大全》(第三版)第十一章学习总结 第十一章:构建基本脚本 本章内容 使用多个命令 创建脚本...

    hizengzeng 评论0 收藏1

发表评论

0条评论

最新活动
阅读需要支付1元查看
<