首页
搜索资源
资源分类
资源描述
第第5 5章章 Shell Shell基本命令基本命令这一章将开始介绍这一章将开始介绍Linux Shell。一直以来。一直以来Shell以其稳以其稳定、高效和灵活成为系统管理员的首选。本章主要介绍定、高效和灵活成为系统管理员的首选。本章主要介绍Linux下的基本命令,包括切换目录、查找并查看文件、查下的基本命令,包括切换目录、查找并查看文件、查看用户信息等。本章过后,读者还应该能够向用户手册寻看用户信息等。本章过后,读者还应该能够向用户手册寻求帮助。在开始这些内容之前,首先简要介绍一下究竟什求帮助。在开始这些内容之前,首先简要介绍一下究竟什么是么是Shell。5.1 Shell5.1 Shell简介简介命令行和命令行和Shell这两个概念常常是令人困惑的。在很多这两个概念常常是令人困惑的。在很多并不正式的场合,这两个名词代表着相同的概念,即命令并不正式的场合,这两个名词代表着相同的概念,即命令解释器。然而从严格意义上讲,解释器。然而从严格意义上讲,“命令行命令行”指的是供用户输指的是供用户输入命令的界面,其本身只是接受输入,然后把命令传递给入命令的界面,其本身只是接受输入,然后把命令传递给命令解释器。后者就是命令解释器。后者就是Shell。从本质上讲,。从本质上讲,Shell是一个程是一个程序,它在用户和操作系统之间提供了一个面向行的可交互序,它在用户和操作系统之间提供了一个面向行的可交互接口。用户在接口。用户在“命令行命令行”中输入命令,运行在后台的中输入命令,运行在后台的Shell把把命令转换成指令代码发送给操作系统。命令转换成指令代码发送给操作系统。Shell提供了很多高提供了很多高级特性,使得用户和操作系统间的交互变得简便和高效。级特性,使得用户和操作系统间的交互变得简便和高效。5.2 5.2 印刷约定印刷约定Linux命令行界面有一个输入行,用于输入命令。在命令行界面有一个输入行,用于输入命令。在BASH shell中,命令行以一个美元符号中,命令行以一个美元符号“$”作为提示符,表作为提示符,表示用户可以输入命令了。下面就是一个示用户可以输入命令了。下面就是一个shell提示符,表示提示符,表示命令行的开始:命令行的开始:$如果正在以如果正在以root身份执行命令,那么身份执行命令,那么shell提示符将成提示符将成为为“#”,如下所示:,如下所示:#本书中的命令将以本书中的命令将以“提示符提示符+命令命令+注释注释”的形式给出。的形式给出。以下面这个命令为例:以下面这个命令为例:$sudo dpkg-i linuxqq_1.0-Preview1_i386.deb#安装安装QQ for Linux5.3 5.3 快速上手:浏览你的硬盘快速上手:浏览你的硬盘这一节将带领读者浏览自己电脑上的文件系统。这里这一节将带领读者浏览自己电脑上的文件系统。这里的命令都非常简单,以期给读者带来一个整体的印象。稍的命令都非常简单,以期给读者带来一个整体的印象。稍后将详细讲解各类基本命令。后将详细讲解各类基本命令。首先,打开终端,进入根目录看看里面都有些什么。首先,打开终端,进入根目录看看里面都有些什么。$cd/#进入根目录进入根目录$ls#列出文件和目录列出文件和目录bin cdrom etc home initrd.img lib32 lost+found mnt proc sbin tmp var vmlinuz boot dev initrd initrd.img.old lib lib64 media opt root srv sys usr virtualM vmlinuz.old5.4 5.4 提高效率:使用命令行补全和通配符提高效率:使用命令行补全和通配符文件名是命令中最为常见的参数,然而每次完整输入文件名是命令中最为常见的参数,然而每次完整输入文件名是一件很麻烦的事情,特别当文件名还特别长的时文件名是一件很麻烦的事情,特别当文件名还特别长的时候。幸运的是,候。幸运的是,BASH shell提供了这样一种特性提供了这样一种特性命令命令行补全。在输入文件名的时候,只需要输入前面几个字符,行补全。在输入文件名的时候,只需要输入前面几个字符,然后按下然后按下TAB键,键,shell会自动把文件名补全。例如在会自动把文件名补全。例如在/etc目目录下:录下:$cat fs#表示表示按下按下TAB键键Shell会自动将其补全为:会自动将其补全为:$cat fstab5.5 5.5 查看目录和文件查看目录和文件这一节将介绍目录和文件的操作命令这一节将介绍目录和文件的操作命令这些可能是这些可能是用户最常用到的命令了。其中的一些在用户最常用到的命令了。其中的一些在“快速上手快速上手”环节已环节已经尝试过了,这里将作进一步讲解,详细讨论命令各个常经尝试过了,这里将作进一步讲解,详细讨论命令各个常用选项。读者应该始终牢记的一点是,应该用肌肉,而不用选项。读者应该始终牢记的一点是,应该用肌肉,而不是头脑去记忆这些命令和选项。是头脑去记忆这些命令和选项。5.5.1 5.5.1 显示当前目录:显示当前目录:pwd pwd pwd命令会显示当前所在的位置,即工作目录。例如,命令会显示当前所在的位置,即工作目录。例如,执行命令:执行命令:$cd/usr/local/bin/#进入进入/usr/local/bin/目录目录$pwd#显示当前所在位置显示当前所在位置/usr/local/bin5.5.2 5.5.2 改变目录:改变目录:cdcdcd命令是在命令是在Linux文件系统的不同部分之间移动的基文件系统的不同部分之间移动的基本工具。当登录系统之后,总是处在用户主目录中。这个本工具。当登录系统之后,总是处在用户主目录中。这个目录有一个名字,也就是目录有一个名字,也就是“路径名路径名”,它是由,它是由/home/开头,开头,后面跟着登录的用户名。后面跟着登录的用户名。输入输入cd命令,后面跟着一个路径名作为参数,就可以命令,后面跟着一个路径名作为参数,就可以直接进入到另外一个子目录中去。直接进入到另外一个子目录中去。5.5.3 5.5.3 列出目录内容:列出目录内容:lslsls命令是取命令是取“list”的简化形式,的简化形式,ls的命令选项非常之多,的命令选项非常之多,这里只讨论一些最常用的选项。这里只讨论一些最常用的选项。ls的基本语法如下所示:的基本语法如下所示:ls OPTION.FILE.不带任何参数的不带任何参数的ls命令,用于列出当前目录下的所有命令,用于列出当前目录下的所有文件和子目录。例如:文件和子目录。例如:$cd#进入用户主目录进入用户主目录$lsbin Examples programming text 公共的公共的 视频视频 文档文档 桌面桌面Desktop Huawei share vmware 模板模板 图片图片 音音乐乐5.5.4 5.5.4 列出目录内容:列出目录内容:dirdir和和vdirvdirWindows用户可能更熟悉用户可能更熟悉dir这个命令。在这个命令。在Linux中,中,dir除了比除了比ls的功能更少,其他都是一样的:的功能更少,其他都是一样的:$dir/etc/init.d/acpid killprocs rebootacpi-support klogd rmnologinalsa-utils laptop-mode rsyncanacron linux-restricted-modules-common sambaapache2 loopback screen-cleanupapparmor module-init-tools sendsigsapport mountall-bootclean.sh singleatd mountall.sh skeleton5.5.5 5.5.5 查看文本文件:查看文本文件:catcat和和moremorecat命令用于查看文件内容(通常这是一个文本文件),命令用于查看文件内容(通常这是一个文本文件),后跟文件名作为参数。后跟文件名作为参数。5.5.6 5.5.6 阅读文件的开头和结尾:阅读文件的开头和结尾:headhead和和tailtail另两个常用的查看文件的命令是另两个常用的查看文件的命令是head和和tail。分别用于。分别用于显示文件的开头和结尾。可以使用显示文件的开头和结尾。可以使用-n参数来指定显示的行参数来指定显示的行数:数:$head-n 2 day weather=day weather=sunnyrainy5.5.7 5.5.7 更好的文本阅读工具:更好的文本阅读工具:lesslessless和和more非常相似,但功能更为强大。非常相似,但功能更为强大。less改进了改进了more命令的很多细节,并添加了许多的特性,这些特性让命令的很多细节,并添加了许多的特性,这些特性让less看起来更像是一个文本编辑器看起来更像是一个文本编辑器只是去掉了文本编辑只是去掉了文本编辑功能。总体来说,功能。总体来说,less命令提供了下面这些增强功能:命令提供了下面这些增强功能:使用光标键在文本文件中前后(甚至左右)滚屏。使用光标键在文本文件中前后(甚至左右)滚屏。用行号或百分比作为书签浏览文件。用行号或百分比作为书签浏览文件。实现复杂的检索、高亮显示等操作。实现复杂的检索、高亮显示等操作。兼容常用的字处理程序(如兼容常用的字处理程序(如Emacs、Vim)的键盘操)的键盘操作。作。阅读到文件结束时阅读到文件结束时less命令不会退出。命令不会退出。屏幕底部的信息提示更容易控制使用,而且提供了更屏幕底部的信息提示更容易控制使用,而且提供了更多的信息。多的信息。5.5.8 5.5.8 查找文件内容:查找文件内容:grepgrep在很多时候,并不需要列出文件的全部内容,用户要在很多时候,并不需要列出文件的全部内容,用户要做的只是找到包含某些信息的一行。这个时候,如果使用做的只是找到包含某些信息的一行。这个时候,如果使用more命令一行一行去找的话,无疑是费时费力的。当文件命令一行一行去找的话,无疑是费时费力的。当文件特别大的时候,这样的做法则完全不可行了。为了在文件特别大的时候,这样的做法则完全不可行了。为了在文件中寻找某些信息,可以使用中寻找某些信息,可以使用grep命令:命令:grep OPTIONS PATTERN FILE.5.6 5.6 我的东西在哪我的东西在哪?find?find命令命令随着文件增多,使用搜索工具成了顺理成章的事情。随着文件增多,使用搜索工具成了顺理成章的事情。find就是这样一个强大的命令,它能够迅速在指定范围内就是这样一个强大的命令,它能够迅速在指定范围内查找到文件。查找到文件。find命令的基本语法如下所示:命令的基本语法如下所示:find OPTION path.expression例如,希望在例如,希望在/usr/bin/目录中查找目录中查找zip命令:命令:$find/usr/bin/-name zip-print/usr/bin/zip5.6 5.6 我的东西在哪我的东西在哪?find?find命令命令参数含义b块设备文件c字符设备文件d目录文件f普通文件p命名管道l符号链接5.7 5.7 更快速地定位文件更快速地定位文件locatelocate命令命令尽管尽管find命令已经展现了其强大的搜索能力,但对于命令已经展现了其强大的搜索能力,但对于大批量的搜索而言,还是显得慢了一些,特别当用户完全大批量的搜索而言,还是显得慢了一些,特别当用户完全不记得自己的文件放在哪里的时候。这时候,不记得自己的文件放在哪里的时候。这时候,locate命令会命令会是一个不错的选择:是一个不错的选择:$locate*.doc/fishbox/share/book/Linux从入门到精通从入门到精通.doc/fishbox/share/book/linux_mulu.doc/fishbox/share/book/作
点击显示更多内容>>
收藏
网站客服QQ:
2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号