2026年01月21日/ 浏览 9
01:Shell概述认识Shell_Linux基础Shell篇01
02主要按照书的顺序进行基本的bash shell进行,一边实操一边记录。
查看用户使用的Shell,在/etc/passwd文件包含了所有系统用户账户列表以及每个用户的基本配置信息。

每个条目有七个字段,字段之间用冒号分隔。系统使用字段中的数据来赋予用户账户某些特定特性。其中的大多数条目将在第7章有更加详细的介绍。现在先将注意力放在最后一个字段上,该字段指定了用户使用的shell程序。
我是之前美化过Shell,将/bin/bash修改成了/usr/bin/zsh并安装了插件。
简单的说,这就是Shell的提示符:

在Linux中查看使用手册,可以帮助你更多了解命令的用法,虽然很多人包括我都不怎么都使用手册,而且平时用的话就是那几条命令,基本上是现用现查,但还是要说读手册还是很有用的。
使用命令man,如读apt安装命令的手册。

按Q可以退出阅读。
想问有没有中文的命令使用手册,经过我上网查找,找到了。
Ubuntu22.04安装
等待安装完成。使用方法如下:

ls命令的中文使用手册 设置别名的方法,如下:
~/.bashrc:用于个人用户的Bash配置;~/.bash_profile:用于个人用户的Bash登入配置;/etc/bash.bashrc:用于全局Bash配置;/etc/profile:用于全局登录配置;我直接在/etc/profile文件里改了。

效果:

关于文件系统,常见Linux目录名称如下:
目录用途/虚拟目录的根目录,通常不会在这里储存文件/bin二进制目录,存放在许多用户级GNU工具/boot启动目录,存放启动文件/dev设备目录,Linux在这里创建设备节点/etc系统配置文件目录/home主目录,Linux在这里创建用户目录/lib库目录,存放系统和应用程序的库文件/media媒体目录,可移动媒体设备的常用挂载点/mnt挂载目录,另一个可移动媒体设备的常用挂载点/opt可选目录,常用于存放现有硬件及当前进程的相关信息/proc进程目录,存放现有硬件及当前进程的相关信息/rootroot用户的主目录/sbin系统二进制目录,存放许多GNU管理员级工具/run运行目录,存放系统运作时数据/srv服务目录,存放本地服务的相关文件sys系统目录,存放系统硬件信息的相关文件tmp临时目录,可以在该目录中创建和删除临时工作文件usr用户二进制目录,大量用户级的GNU工具和数据文件都储存在这里var可变目录,用以存放放经常变化的文件,比如日志文件命令cd:切换目录的命令
这里有一个绝对文件路径和相对文件路径,很好理解的

命令pwd:显示当前所在目录。
有两个特殊字符可用于相对文件路径中:
.:表示当前目录;..:表示当前目录的父目录;命令ls:查看目录的文件

每一行都包含了关于文件(或目录)的下述信息:
文件类型,比如目录(d)、文件(-)、字符型文件(c)或块设备(b);
文件的权限;
文件的硬链接总数;文件属主的用户名;文件属组的组名;文件的大小(以字节为单位);文件的上次修改时间;文件名或目录名;有关ls的进阶使用,什么的,不常用,用到了再说。推荐工具tree

①创建空文件命令:touch


②复制文件命令:cp
对系统管理员来说,在文件系统中将文件和目录从一个位置复制到另一个位置可谓家常便饭。
有关cp的有关选项
前面介绍了特殊符号可以用在相对文件路径中。其中的单点符(.)就很适合用于cp命令,记住,单点符表示当前工作目录。如果需要一个带有很长的源对象名的文件复制到当前工作目录中时,单点符能够简化该任务。

③制表符自动补全
Tab:补全命令,太基础了,不展开记了
④链接文件
链接文件是Linux文件系统的一个优势。如需要在系统上维护同一个文件的两份或多份副本,除了保存多份单独的物理文件副本之外,还可以采用保存一份物理文件副本和多个虚拟副本的方法。这种虚拟的副本就成为链接。链接是目录中指向文件真实位置的占位符。在Linux中有两种不同类型的文件链接:
符号链接;硬链接;符号链接就是一个实实在在的文件,它指向存放在虚拟目录结构中某个地方的另一个文件。这两个通过符号链接在一起的文件,彼此的内容并不相同。
要为一个文件创建符号链接,原始文件必须存在。然后可以使用ln命令以及-s选项来创建符号链接。

需要注意的是符号链接文件大小数据文件的文件大小。两者不一样。
另一种证明链接文件是独立文件的方法是查看innode编号。文件或目录的innode编号是一个用于标识的唯一数字,这个数字由内核分配给文件系统中的每个对象。要查看文件或目录的innode编号,可以使用ls -i

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

硬链接创建的文件和源文件是同一个文件。innode编号是一样的。

对于链接,我做个测试就知道了,修改源文件的内容,看链接文件中的内容是否会改变。

修改源文件的内容,再次打开三个文件,进行比较。

所以链接可以用于一份文件的,不同地方进行同步维护。
⑤重命名文件
命令:mv重命名文件称为移动,可以将文件和目录移动到另一个位置或重新命名。

移动文件会将文件名从test更改到test_mv,但inode编号和时间戳保持不变。这是因为mv只影响文件名。也可以用来mv来移动文件的位置。
和cp命令类似,也可以在mv命令中使用使用-i参数。这样在命令试图覆盖已有文件时,你就会得到提示。⑥删除文件
在Linux中删除文件叫做移除(remoing),使用rm命令进行删除。
①创建目录
命令:mkdir,目录长列表是以d开头的
②删除目录
删除目录的命令:rmdir,这个命令只能删除空目录。
使用rm命令可以删除多级目录,命令rm -ir xxx删除多级目录和大量文件。
rm -rf:命令既没有警告信息,也没有提示声音。慎用。
①查看文件类型
命令file:是一个便捷工具,可以探测文件内部,文件是什么类型。

②查看整个文件
命令cat:显示文本文件中所有数据;

命令more:cat的缺陷是,一旦运行就是,无法控制了,意思就是它会全部打印出来。more命令会显现文件内容,但是每页都会停下来。可以实现分页浏览,q退出。
命令less:可以实现一些高级功能,如上下页翻动,能够控制。
③查看部分文件
命令tail:显示文件最后几行内容。默认情况下,它会显示文件的末尾10行。
命令head:会显示文件开头行的内容。默认情况下,它会显示文件前10行。
本章介绍了bash shell的基础命令,下一章还是bash shell的命令介绍,更多关于系统的内容。基本还是按照书上的内容进行的,接触和熟悉Linux的
对这些命令都不陌生,都是基础的内容。
目前shell篇有文章如下:
01:Shell概述认识Shell_Linux基础Shell篇01
02:Shell基本的bash shell命令_Linux基础Shell篇02