Ub操作基础系统及教程 9_第1页
Ub操作基础系统及教程 9_第2页
Ub操作基础系统及教程 9_第3页
Ub操作基础系统及教程 9_第4页
Ub操作基础系统及教程 9_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章

基本命令

本章主要介绍Linux的基本命令,包括切换目录、查找并查看文件、查看用户信息等。这些基本命令是使用Linux的基础,读者务必要熟练掌握,并且能够通过手册寻求帮助。特别是在无法启动图形界面的情况下,使用命令行就是唯一的选择。本章将介绍:● 目录与路径● 文件操作命令● 查看文件● 权限操作● 链接文件● 管道4.1Linux的目录与路径

目录是文件存放的一个虚拟盒子,其实只是一个名称,但类似一个盒子里放了很多文件。每个盒子都有一个名字,就是目录名。我们通过目录来寻找文件,如果有多层级的目录,寻找文件就需要提供准确的路径,路径一般分为绝对路径和相对路径,本节会介绍它们的不同。如果不知道当前工作目录的路径,我们还可以学习一个命令pwd。4.1.1特殊目录文件介绍

Linux目录结构的组织形式和Windows有很大的不同。首先Linux没有“盘符”的概念,也就是说Linux下不存在所谓的C盘、D盘等。已建立文件系统的硬盘分区被挂载到某一个目录下,用户通过操作目录来实现磁盘读写—正如读者在安装Linux时所注意到的那样。其次,Linux似乎不存在像Windows\这样的系统目录。在安装完成后,就有一堆目录出现在根目录下,并且看起来每一个目录中都存放着系统文件。最后一个小小的区别是,Linux使用正斜杠/而不是反斜杠\来标识目录。

既然Linux将文件系统挂载到目录下,那么究竟是先有文件系统还是先有目录?和“先有鸡还是先有蛋”一样,这个问题初看起来有点让人犯晕。正确的说法是,Linux需要首先建立一个根“/”文件系统,并在这个文件系统中建立一系列空目录,然后将其他硬盘分区(如果有的话)中的文件系统挂载到这些目录中。例如,第2章在介绍硬盘分区的时候划分了一个单独的分区,然后把它挂载到/home目录下。4.1.1特殊目录文件介绍

理论上说,可以为根目录下的每一个目录都单独划分一个硬盘分区,这样根分区的容量就可以设置得很小(因为几乎所有的东西都存放在其他分区中,根分区中的目录只是起到了“映射”的作用),不过这对于普通用户而言没有太大必要。

如果某些目录没有特定的硬盘分区与其挂钩的话,该目录中的所有内容将存放在根分区“/”中。

要理解Linux的文件系统架构,看来的确需要耗费一定的脑力。如果经过努力仍然不明白上面这些文字在说些什么,一个好的建议是:不要管那么多,先使用。没有人会为了上网而首先去学习路由器原理,但一个接触了几年网络的人总能对路由器是什么这个问题说上几句。所以无论如何,首先去实践。目录的特殊表示法:.表示此层目录。..表示上一层目录。-表示前一个工作目录。~

表示当前用户身份所在的家目录。4.1.2绝对路径和相对路径

在切换目录之前,必须了解路径,绝对路径和相对路径的概念。/home/tom这种写法就是绝对路径,从根目录连续写,不论在任意位置执行该命令都能移动到此路径,例如:cd/home/tom绝对路径必定由“/”开头。../mike这是相对路径写法,cd../mike,将从/home/tom切换到/home/mike。

相对路径(RelativePathnames)不由“/”开头,使用比较方便。虽然绝对路径写起来比较麻烦,但是能保证正确性。读者想使用哪种路径要根据具体环境灵活运用。4.1.3查看当前路径:pwdpwd是PrintWorkingDirectory(显示工作目录)的缩写,就是显示当前所在的目录。4.2目录操作命令

目录本质上也是一种文件,本节介绍几个常见与目录相关的命令,如创建目录、移动目录、删除目录、跳转目录等。4.2.1创建目录

mkdir命令可以一次建立一个或几个目录。4.2.2移动目录

正如读者猜想的那样,mv是move的缩写形式。这个命令可以用来移动文件。4.2.3删除目录

rmdir命令用于删除目录。这个命令的使用非常简单,只需要在后面跟上要删除的目录名作为参数即可。4.2.4复制目录

cp命令用来复制文件和目录。4.2.5跳转目录cd是ChangeDirectory(改变目录)的缩写,是用来切换工作目录的命令。

输入cd命令,后面跟着一个路径名作为参数,就可以直接进入另外一个子目录。4.3查看文件本节将介绍文件的操作命令,这些可能是用户最常用到的命令了。其中的一些前面已经尝试过了,这里将做进一步讲解,详细讨论命令各个常用选项。4.3.1查看目录:lsls命令是list的简化形式,ls的命令选项非常之多,这里只讨论一些比较常用的选项。ls的基本语法如下:ls[OPTION]...[FILE]...

不带任何参数的ls命令,用于列出当前目录下的所有文件和子目录。4.3.2查看普通文件:cat

cat命令用于查看文件内容(通常这是一个文本文件),后跟文件名作为参数。4.3.3文件内容查找:grep

有时候我们查找文件,并不需要列出文件的所有内容,而只是找到包含某些信息的一行。这时如果使用more命令一行一行去找的话,就太费眼了,尤其是当文件特别大的时候。为了在文件中寻找某些信息,可以使用grep命令。grep[OPTIONS]PATTERN[FILE...]4.3.4查看文件开头和结尾:head和tail

另两个常用的查看文件的命令是head和tail。分别用于显示文件的开头和结尾。可以使用-n参数来指定显示的行数。4.3.5查看部分内容:more和less

cat命令会一次将所有内容全部显示在屏幕上,这看起来是一个致命的缺陷。因为对于一个长达几页甚至几十页的文件而言,cat显得毫无用处。为此,Linux提供more命令来一页一页地显示文件内容。less和more非常相似,但其功能更为强大。less改进了more命令的很多细节,并添加了许多的特性。这些特性让less看起来更像是一个文本编辑器—只是去掉了文本编辑功能。总体来说,less命令提供了下面这些增强功能。使用光标键在文本文件中前后(甚至左右)滚屏。1.用行号或百分比作为书签浏览文件。2.实现复杂的检索、高亮显示等操作。3.兼容常用的字处理程序(如Emacs、Vim)的键盘操作。4.阅读到文件结束时less命令不会退出。5.屏幕底部的信息提示更容易控制使用,而且提供了更多的信息。4.4权限操作

Linux中的一切都被表示成文件的形式。这包括程序进程、硬件设备、通信通道甚至是内核数据结构等。所有文件都有相应的权限,设置正确的权限对于维护系统十分重要,本节介绍文件权限的相关知识。4.4.1文件权限介绍

Linux是一个多用户的操作系统,正确地设置文件权限非常重要。Linux为3种人准备了权限—文件所有者(属主)、文件属组用户和其他人。因为有了“其他人”这样的分类,将世界上所有的人都包含进来了。但读者应该已经敏感地意识到,root用户其实是不应该被算在“其他人”里面的。root用户可以查看、修改、删除所有人的文件—不要忘了root拥有控制一台计算机的完整权限。

文件所有者通常是文件的创建者,但这也不是一定的。可以中途改变一个文件的属主用户,这必须直接由root用户来实施。这句话换一种说法或许更贴切:文件的创建者自动成为文件所有者(属主),文件的所有权可以转让,转让“手续”必须由root用户办理。4.4.1文件权限介绍

用户可以(也必须)把文件交给一个组,这个组就是文件的属组。组是一群用户组成的一个集合,类似于学校里的一个班、公司里的一个部门……文件属组中的用户按照设置对该文件享有特定的权限。通常来说,当某个用户(如lewis)建立一个文件时,这个文件的属主就是lewis,文件的属组是只包含一个用户lewis的lewis组。当然,也可以设置文件的属组是一个不包括文件所有者的组,在文件所有者执行文件操作时,系统只关心属主权限,而组权限对属主是没有影响的。

最后,“其他人”就是不包括前两类人和root用户在内的“其他”用户。通常来说,“其他人”总是享有最低的权限(或者干脆没有权限)。

可以赋予某类用户对文件和目录享有3种权限:读取(r)、写入(w)和执行(x)。对于文件而言,拥有读取权限意味着可以打开并查看文件的内容,写入位控制着对文件的修改权限。而是否能够删除和重命名一个文件则是由其父目录的权限设置所控制的。4.4.1文件权限介绍

要让一个文件可执行,必须设置其执行权限。可执行文件有两类,一类是可以直接由CPU执行的二进制代码,另一类是Shell脚本程序。

对目录而言,所谓的执行权限实际控制了用户能否进入该目录;而读取权限则负责确定能否列出该目录中的内容;写入权限控制着在目录中创建、删除和重命名文件。因此目录的执行权限是其最基本的权限。使用带选项-l的ls命令可以查看一个文件的属性,包括权限。4.4.2更改权限:chmod

chmod用于改变一个文件的权限,这个命令使用“用户组+/-权限”的表述方式来增加/删除相应的权限。具体来说,用户组包括了文件属主(u)、文件属组(g)、其他人(o)和所有人(a),而权限则包括了读取(r)、写入(w)和执行(x)。例如下面这条命令增加了属主对文件days的执行权限。4.4.3更改文件所有权:chown和chgrpchown命令用于改变文件的所有权。chown命令的基本语法如下:chown

[OPTION]...[OWNER][:[GROUP]]FILE...这条命令将文件FILE的属主更改为OWNER,属组更改为GROUP。4.5链接文件

Linux中一共有7种文件类型,本节会介绍有哪7种,还会着重介绍一下链接文件的特点和使用方法。4.5.1查看文件类型

使用带–l选项的ls命令可以查看文件类型。Linux所有的7种文件类型及其表示符号如表所示。文件类型符号

文件类型符号普通文件-本地域套接口s目录d有名管道p字符设备文件c符号链接l块设备文件b

4.5.2创建软链接文件

符号链接(也被称作“软链接”)需要使用带-s参数的ln命令来创建。下面是这个命令最简单的形式,这条命令给目标文件TARGET取了一个别名LINK_NAME。ln-sTARGETLINK_NAME4.5.3创建硬链接文件

硬链接使用不带-s参数的ln命令来创建。

lnTARGETLINK_NAME

硬链接用于将两个独立的文件联系在一起,它们拥有相同的节点号。硬链接和符号链接本质的不同在于:硬链接是直接引用,而符号链接是通过名称进行引用。查看两者的属性可以看到,这是两个完全独立的文件,只是被联系在一起了而已。这两个文件拥有相同的内容,对其中一个文件的改动会反映在另一个文件中。4.6文件重定向

重定向和管道是Shell的一种高级特性,这种特性允许用户人为地改变程序获取输入和产生输出的位置。这个有趣的功能并不是Linux的专利,几乎所有的操作系统(包括Windows)都能支持这样的操作。4.6.1什么是重定向

重定向就是将数据传到其他地方。具体地说:将应该出现到屏幕上的数据,传送到其他设备,例如,文件或打印机。LinuxI/O重定向虽然很简单,但在脚本编写、系统管理时却要常常打交道,搞清其中的使用技巧非常有用。I/O重定向简单来说就是一个过程,这个过程捕捉一个文件,或者命令、程序、脚本,甚至脚本中的代码块(codeblock)的输出,然后把捕捉到的输出,作为输入发送给另外一个文件、命令、程序或者脚本。

如果谈到I/O重定向,就涉及文件标识符(FileDescriptor)的概念。在Linux系统中,系统为每一个打开的文件指定一个文件标识符以便对文件进行跟踪。这有些和C语言编程里的文件句柄相似,文件标识符是一个数字,不同数字代表不同的含义。默认情况下,系统占用了3个,分别是0标准输入(stdin)、1标准输出(stdout)、2标准错误(stderr),另外3~9是保留的标识符,可以把这些标识符指定成标准输入、输出或者错误作为临时连接。通常这样可以解决很多复杂的重定向请求。4.6.2输入重定向

和标准输出类似,程序默认情况下接收输入的地方被称为标准输入(stdin)。通常来说,标准输入总是指向键盘。例如,如果使用不带任何参数的cat命令,那么cat会停在那里,等待从标准输入(也就是键盘)获取数据。4.6.3输出重定向

程序在默认情况下输出结果的地方被称为标准输出(stdout)。通常来说,标准输出总是指向显示器。例如,下面的ls命令获取当前目录下的文件列表,并将其输出到标准输出,于是用户在屏幕上看到了这些文件名。4.7文件查找和定位

Linux系统中存在大量的文件,如何迅速、准确地找到我们需要的文件十分重要。本节介绍查找文件的方法和主要命令的使用。4.7.1文件的查找:find

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论