Learning Linux From Scratch(一)

时间:2021-02-23 14:17:31   收藏:0   阅读:0

积少成多


Learning Linux From Scratch(一)

冷知识

快捷键

基本的 bash shell 命令

启动shell

? GUN bash shell 是作为普通程序运行的,通常是在用户登录终端时启动。登录时系统启动的shell依赖于用户账户的配置。

? /etc/passwd文件包含了所有系统用户账户列表以及每个用户的基本配置信息。

技术图片

每个条目有七个字段,字段之间用冒号分隔。最后一个字段上指定了用户使用的shell程序。

bash 手册

? man命令用来访问存储在Linux系统上的手册页面。在想要查找的工具的名称前面输入man命 令,就可以找到那个工具相应的手册条目。

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

? 大多数命令都可以接受-help或--help选项。例如你可以输入hostname -help来 查看帮助。

Linux 文件系统

? Linux将文件存储在单个目录结构中,这个目录被称为虚拟目录(virtual directory)。虚拟目录将安装在PC上的所有存储设备的文件路径纳入单个目录结构中。

? Linux使用正斜线(/)而不是反斜线(\)在文件路径中划分目录。在Linux中, 反斜线用来标识转义字符,要是用在文件路径中的话会导致各种各样的问题。Linux会在根驱动器上创建一些特别的目录,我们称之为挂载点(mount point)。挂载点是虚 拟目录中用于分配额外存储设备的目录。

遍历目录

cd destination

绝对文件路径

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

相对文件路径

? 相对文件路径不以代表根目录的正斜线(/)开头,而是以目录名(如果用户准备切换到当前工作目录下的一个目录)或是一个特殊字符开始。

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

文件和目录列表

基本列表功能

ls 注意,ls命令输出的列表是按字母排序的(按列排序而不是按行排序)

ls -F -F参数在目录名后加了正斜线(/),以方便用户在输出中分辨它们。

ls -a 要把隐藏文件和普通文件及目录一起显示出来,就得用到-a参数

ls -R -R参数是ls命令可用的另一个参数,叫作递归选项。它列出了当前目录下包含的子目录中 的文件。

技术图片

同 ls -FR

显示长列表

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

技术图片

total后面的数字是指当前目录下所有文件所占用的空间总和, 代表数据块的个数

过滤输出列表

? 在过滤器中使用星号问号被称为文件扩展匹配(file globbing),指的是使用通配符进行模 式匹配的过程。通配符正式的名称叫作元字符通配符(metacharacter wildcards)。除了星号和问 号之外,还有更多的元字符通配符可用于文件扩展匹配。可以使用中括号。

例:显示所有文件夹

技术图片

ls -d 将目录象文件一样显示,而不显示其下的文件

处理文件

创建文件

touch test_one

? touch命令创建了你指定的新文件,并将你的用户名作为文件的属主。注意,文件的大小是 零,因为touch命令只创建了一个空文件。

复制文件

cp source destination

? 当source和destination参数都是文件名时,cp命令将源文件复制成一个新文件,并且以 destination命名。新文件就像全新的文件一样,有新的修改时间。

? 如果需要将一个带有很长的源对象名的文件复制到当前 工作目录中时,单点符能够简化该任务。

cp命令的-R参数威力强大。可以用它在一条命令中递归地复制整个目录的内容。

链接文件

符号链接

? 符号链接就是一个实实在在的文件,它指向存放在虚拟目录结构中某个地方的另一个文件。 这两个通过符号链接在一起的文件,彼此的内容并不相同。

ln -s file1 file2

技术图片

文件或目录的inode编号是一个用于标识的唯一数字,这个数字由内核分配给文件系统中的每一个对象。要查看文件或目录的inode 编号,可以给ls命令加入-i参数。

技术图片

硬链接

? 硬链接会创建独立的虚拟文件,其中包含了原始文件的信息及位置。但是它们从根本上而言 8 是同一个文件。引用硬链接文件等同于引用了源文件。要创建硬链接,原始文件也必须事先存在,只不过这次使用ln命令时不再需要加入额外的参数了。

ln file1 file2

技术图片

? 注意, 带有硬链接的文件共享inode编号。这是因为它们终归是同一个文件。还要注意的是,链接计数
(列表中第三项)显示这两个文件都有两个链接。另外,它们的文件大小也一模一样。

? 只能对处于同一存储媒体的文件创建硬链接。要想在不同存储媒体的文件之间创建链接,只能使用符号链接

重命名文件

? 在Linux中,重命名文件称为移动(moving)。mv命令可以将文件和目录移动到另一个位置或重新命名。文件的时间戳和inode编号都没有改变。改变的只有位置和名称。 也可以使用mv命令移动整个目录及其内容。

mv file1 file2

技术图片

删除文件

? 在Linux中,删除(deleting)叫作移除(removing)。bash shell中删除文件的命令是rm。

rm -i file

-i命令参数提示你是不是要真的删除该文件。bash shell中没有回收站或垃圾箱,文件 一旦删除,就无法再找回。因此,在使用rm命令时,要养成总是加入-i参数的好习惯。

处理目录

创建目录

mkdir new_dir

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

技术图片

删除目录

? 删除目录时,很有可能会发生一些不好的事情。shell会尽可能防止我们捅娄子。删除目录的基本命令是rmdir。默认情况下,rmdir命令只删除空目录。

rmdir dir

一口气删除目录及其所有内容的终极大法就是使用带有-r参数和-f参数的rm命令

技术图片

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!