《Linux命令行与Shell脚本编程大全》学习笔记1

时间:2021-07-17 03:52:26
     0、下面是书本第三章<基本的bash shell命令>的学习笔记,并且只记录那些,本人不知道的抑或遗忘的内容。
     1、默认情况下,bash shell启动时会自动处理用户主目录下.bashrc文件中的命令。许多Linux发行版在此文件中加载特殊的共用文件,在共用文件中保存着针对所有系统用户的命令和设置。通常该文件设置各种应用程序中用到的环境变量。
     2、有两个环境变量是用来控制命令行提示符的格式的:          PS1:控制默认命令行提示符的格式。          PS2:控制后续命令行提示符的格式。
     3、命令ls,可用带-F参数来区分各种文件类型,比如在目录后面加正斜线,在可执行文件的后面加星号。-R参数会列出当前目录下,所有是目录的文件下 的文件,相当于递归列出了所有的文件。-i参数列出每个文件的索引节点(inode),-S按文件大小排序输出。ls命令能够识别标准的通配符,并在过滤器中用它们来进行模块匹配:问号代表一个字符;星号代表零个或多个字符。
     4、命令cp,参数-R允许递归地复制整个目录的内容。该命令也可以使用通配符。参数-l 可以用来创建硬链接,-s创建一个软链接。
     5、硬链接与源文件与相同的索引节点,因此与源文件有相同的属性,比如访问时间、大小等,而软链接与源文件索引节点不同,他是一个独立的文件,其中包含了源文件的信息以及位置。若删除源文件,则不会影响硬链接的文件,因为相当于文件索引节点数减1了,而软链接文件会出现问题,因为软链接文件中,存放的源文件的路径信息,而此时源文件删除了,找不到相关信息了。若用cp复制链接文件,不管是硬链接还是软链接,复制的其实都是源文件的另一份副本,而不是链接文件。
     6、命令mv,移动文件会改变文件名,但保持同样的索引节点号和时间戳。移动一个有软链接指向的文件会带来麻烦。但对于硬链接来说是没有影响的。
     7、命令stat,可以提供文件系统上某个文件的所有状态信息。
     8、命令file,可以用来查看文件类型。file命令将文件分成3类,文本文件:包含可打印字符的文件;可执行文件:可在系统上运行的文件;数据文件:包含不可打印二进制字符、又不能在系统上运行的文件。
     9、cat命令,参数-n给所有的行加上行号,-b只给有文本的行的加上行号,-s可以将多个空白行压缩到单个空白行。
     10、less命令,可显示文件的内容,而不用读取整个文件,而cat和more会读取这个文件。
     11、tail命令,默认显示文件的末尾10行,-n lines 显示文件最后的lines行,-f允许你在其他进程使用该文件时查看文件的内容,tail命令会保持活动状态并不断地显示添加到文件中的内容,这是实时监测系统日志的绝妙方式。类似的head命令,是不知道文件内容想知道大致内容时的利器,而无需加载全部文件。