您的位置:首页 > 运维架构 > Shell

Linux命令行与shell脚本编程大全 第3版(笔记 - 第三章)

2020-06-27 13:25 85 查看

Linux命令行与shell脚本编程大全 第3版

第三章 基本的bash shell命令

Linux文件系统

  • Linux将文件存储在单个目录结构中,这个目录被称为虚拟目录(virtual directory)。虚拟目录将安装在PC上的所有存储设备的文件路径纳入单个目录结构中。Linux虚拟目录结构只包含一个称为根(root)目录的基础目录。根目录下的目录和文件会按照访问它们的目录路径一一列出。
  • Linux会在根驱动器上创建一些特别的目录,我们称之为挂载点(mount point)。挂载点是虚拟目录中用于分配额外存储设备的目录。虚拟目录会让文件和目录出现在这些挂载点目录中,然而实际上它们却存储在另外一个驱动器中。
  • Linux文件系统结构是从Unix文件结构演进过来的。在Linux文件系统中,通用的目录名用于表示一些常见的功能。

文件和目录列表

ls
命令为最基本的形式,用于显示当前目录下的文件和目录。

-F参数 区分文件和目录。

$ ls -F


-a参数 显示隐藏文件和普通文件。

$ ls -a


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

$ ls -l

处理文件

touch
用于创建空文件

$ touch test_one


cp
用于复制文件,cp命令一般需要两个参数,源对象和目标对象。

$ cp test_one test_two


也可以将文件复制到现有目录中,目标对象与源对象同名。

$ cp test_one /home/document/


利用-R递归地复制整个目录的内容。(在执行cp –R命令之前,目录document_tmp并不存在。它是随着cp –R命令被创建的,整个document目录中的内容都被复制到其中。)

$ cp /document document_tmp


在Linux中,重命名文件称为移动(moving)。利用

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

//文件重命名
$ mv test_one test_rename

//文件移动
$ mv test_rename /home/


利用

rm
命令对文件进行删除

$ rm test_rename

处理目录

在Linux中创建目录很简单,用

mkdir
命令即可。

$ mkdir document_new


要想同时创建多个目录和子目录,需要加入-p参数。

$ mkdir -p dir_sub1/dir_sub2/dir_sub3/


删除目录的基本命令是

rmdir

$ rmdir document_tmp


默认情况下,rmdir命令只删除空目录。也可以在整个非空目录上使用rm命令。使用-r选项使得命令可以向下进入目录,删除其中的文件,然后再删除目录本身。(rm -rf命令既没有警告信息,也没有声音提示。这肯定是一个危险的工具,尤其是在拥有超级用户权限的时候。务必谨慎使用,请再三检查你所要进行的操作是否符合预期。)

$ rm -r dir_sun1

查看文件内容

在显示文件内容之前,应该先了解一下文件的类型

file
命令它能够探测文件的内部,并查看文件是什么类型的。

$ file test.txt
$ file document


在Linux上有3个不同的命令可以查看整个文件

cat
命令(-n参数会给所有的行加上行号。)

$ cat test.txt


对大型文件来说,cat命令有点繁琐。文件的文本会在显示器上一晃而过。

more
命令会显示文本文件的内容,但会在显示每页数据之后停下来,你可以通过按空格键或回车键以逐行向前的方式浏览文本文件。浏览完之后,按q键退出。以/usr/include/python2.7/下的pyconfig-64.h文件为例,分别执行cat命令和more命令。

$ cat /usr/include/python2.7/pyconfig-64.h
$ more /usr/include/python2.7/pyconfig-64.h



less
命令从名字上看,并不像more命令那样高级。但是,它的命名实际上是个文字游戏(从俗语“less is more”得来),实为more命令的升级版。它提供了一些极为实用的特性,能够识别上下键以及上下翻页键,而且还有一些高级搜索功能。

$ less /usr/include/python2.7/pyconfig-64.h

通常你要查看的数据要么在文本文件的开头,要么在文本文件的末尾。

head
命令只显示文件开头几行的内容,
tail
命令则显示文件最后几行内容。

$ head -5 /usr/include/python2.7/pyconfig-64.h
$ tail -5 /usr/include/python2.7/pyconfig-64.h

小结

本章涵盖了在shell提示符下操作Linux文件系统的基础知识。在介绍如何进入指定目录后,我们又演示了怎样用ls命令列出目录中的文件和子目录。ls命令有很多参数可用来定制输出内容。可以通过ls命令获得有关文件和目录的信息。touch命令非常有用,可以创建空文件和变更已有文件的访问时间或修改时间。本章还介绍了如何使用cp命令将已有文件复制到其他位置。接着我们讲了怎样用mv命令重命名文件(在Linux中称为移动文件),以及如何用rm命令删除文件(在Linux中称为移除文件),还介绍了怎样用mkdir和rmdir命令对目录执行相同的任务。最后,本章以如何查看文件的内容作结。cat、more和less命令可以非常方便地查看文件全部内容,而且tail和head命令还可查看文件中的一小部分内容。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: