写在开头
之前大概整理一下linux和服务器相关的一点背景知识—— 为啥要用服务器以及学习linux? ,那这期就一起来学习了解一些简单的命令。
首先肯定是常见的文件相关的命令:
借用师兄课上的一句话来说就是: 在linux中,一切皆文件!
所以最开始就从一些文件夹与文件管理的命令开始叭! 和R包说明文档类似,我们也不可能背诵下来全部的命令及参数,所以也可以查询相关的帮助文档。
Linux命令大全(手册):https://www.linuxcool.com/
找到/切换位置——pwd/cd
如果大家平常使用R语言的话,这两个命令就类似于R语言里面的getwd()以及setwd()
pwd——打印出当前路径
pwd命令来自于英文词组print working directory的缩写,用于显示当前工作目录的绝对路径。
确定当前所在位置,方便我们查找需要的文件以及是否需要切换路径。
cd——切换文件夹
cd命令是change directory的缩写,主要是可以切换当前所在的工作目录,切换时可以指定绝对路径或者相对路径,如果不指定就会回到家目录。
ls——列出路径下的相关信息
ls是list的缩写,可以显示出目录中的文件及其属性信息。
个人觉得有点类似于R语言里面的list.file(),可以列出当前文件夹里的内容。
ls命令有很多常用参数,比如-a、-l这些
我一般常用的是ll——ls -l的缩写,用常格式显示文件的详细信息以及属性
展示详细信息以及属性就又有要知道的啦——文件属性!
就类似于一个word文档,有可查看或者可使用和可编辑的不同权限,对于linux而言,文件也有类似的属性。
师兄有整理好的PPT且课上讲的比较详细,我就不在这里搬门弄斧了!
文件及文件夹管理
创建文件及文件夹,移动重命名及删除文件或者文件夹,包括复制等
mkdir——创建文件夹
就是windows里面的新建文件夹,以及R语言里面的dir.dreate()
mkdir是make directories的缩写,功能是创建目录文件。如果目标文件夹已存在,会提示已存在而不继续创建而覆盖已有的文件。
常用参数:
-
-p参数——递归创建多级目录 -
-m参数——创建目录的同时设置权限
touch——新建文件
用师兄PPT上的话来说, 就是摸一个文件出来,也就是新建一个文件,但其实实际应用中会使用vim新建文件并且在里面开始编辑内容
mv——移动或者重命名文件或者目录
mv就是move的缩写, 能对文件进行移动或者重命名操作,文件数量不会变化,只是位置或者文件名发生改变。
cp——复制粘贴文件或者文件夹
cp是copy的缩写,用于复制文件或者文件夹,能够将一个或者多个文件复制到指定的位置。
常用参数:
-
-p参数——用于保留源文件或者目录中所有的属性信息 -
-r参数——递归复制所有子文件,通常用于复制问价夹时使用
ln——链接文件
这个比较好用,不用重复复制文件,但是也可以在不同的文件夹中调用需要的文件。
ln是link的缩写,其功能是为某个文件在另外一个位置建立同步的链接。
有两种链接形式:
-
软链接:相当于windows里面的快捷方式,方便在不同的位置调用需要的文件,原始文件如果被删除了,软连接也会失效
-
硬链接:个人浅显的理解觉得硬连接和复制差不多,但是其实并不然,一起来看看Kimi的解释
在 Linux 中,创建硬链接(hard link)和复制文件(copy)是两种不同的操作,它们在文件系统的实现和行为上有明显的区别。以下是它们的主要区别:
-
文件系统层面
-
硬链接 : -
硬链接是文件系统中的一种引用机制。它直接指向文件的物理存储位置(即 inode)。 -
硬链接和原始文件共享同一个 inode,因此它们实际上是同一个文件的两个不同名称。 -
硬链接不能跨文件系统,也不能链接到目录。 -
复制 : -
复制操作会创建一个全新的文件副本,它拥有自己的独立 inode。 -
复制后的文件与原始文件是完全独立的,修改一个文件不会影响另一个文件。 -
复制可以跨文件系统,也可以复制目录。
-
磁盘空间占用
-
硬链接 : -
硬链接不会占用额外的磁盘空间(除了存储链接名称的空间)。因为硬链接和原始文件共享同一个物理存储位置。 -
复制 : -
复制会占用额外的磁盘空间,因为它是文件内容的完整副本。
-
文件修改的影响
-
硬链接 : -
修改硬链接指向的文件内容,原始文件的内容也会被修改,因为它们共享同一个 inode。 -
删除硬链接不会删除文件内容,只有当所有指向该 inode 的链接都被删除后,文件内容才会被释放。 -
复制 : -
修改复制后的文件内容不会影响原始文件。 -
删除复制的文件不会影响原始文件。
-
使用场景
-
硬链接 : -
适用于需要为同一个文件提供多个名称的场景,例如在不同的目录下为同一个文件创建别名。 -
常用于节省磁盘空间,尤其是对于大文件。 -
复制 : -
适用于需要保留文件原始版本并创建独立副本的场景。 -
常用于备份、分发文件或对文件进行独立操作。
rm——删除文件
这个放到最后写不是因为不重要,而是因为太重要了,在服务器里面是没有回收站这一说的,删除了就是真的删除了,所以要考虑好是否删除已经确认好删除不必要的文件!
个人惨痛教训:删软链接的时候不能用tab键补全全部路径,会导致删除掉链接的源文件
这期就简单整理了一些常用的命令,下期再看看整理别的什么叭!