linux常用文件管理相关命令

来源:生信漫漫学
发布时间:1747545217

写在开头

之前大概整理一下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的缩写,功能是创建目录文件。如果目标文件夹已存在,会提示已存在而不继续创建而覆盖已有的文件。

常用参数:

  1. -p参数——递归创建多级目录
  2. -m参数——创建目录的同时设置权限

touch——新建文件

用师兄PPT上的话来说, 就是摸一个文件出来,也就是新建一个文件,但其实实际应用中会使用vim新建文件并且在里面开始编辑内容

mv——移动或者重命名文件或者目录

mv就是move的缩写, 能对文件进行移动或者重命名操作,文件数量不会变化,只是位置或者文件名发生改变。

cp——复制粘贴文件或者文件夹

cp是copy的缩写,用于复制文件或者文件夹,能够将一个或者多个文件复制到指定的位置。

常用参数:

  1. -p参数——用于保留源文件或者目录中所有的属性信息
  2. -r参数——递归复制所有子文件,通常用于复制问价夹时使用

ln——链接文件

这个比较好用,不用重复复制文件,但是也可以在不同的文件夹中调用需要的文件。

ln是link的缩写,其功能是为某个文件在另外一个位置建立同步的链接。

有两种链接形式:

  1. 软链接:相当于windows里面的快捷方式,方便在不同的位置调用需要的文件,原始文件如果被删除了,软连接也会失效
  1. 硬链接:个人浅显的理解觉得硬连接和复制差不多,但是其实并不然,一起来看看Kimi的解释

在 Linux 中,创建硬链接(hard link)和复制文件(copy)是两种不同的操作,它们在文件系统的实现和行为上有明显的区别。以下是它们的主要区别:

  1. 文件系统层面
  • 硬链接
    • 硬链接是文件系统中的一种引用机制。它直接指向文件的物理存储位置(即 inode)。
    • 硬链接和原始文件共享同一个 inode,因此它们实际上是同一个文件的两个不同名称。
    • 硬链接不能跨文件系统,也不能链接到目录。
  • 复制
    • 复制操作会创建一个全新的文件副本,它拥有自己的独立 inode。
    • 复制后的文件与原始文件是完全独立的,修改一个文件不会影响另一个文件。
    • 复制可以跨文件系统,也可以复制目录。
  1. 磁盘空间占用
  • 硬链接
    • 硬链接不会占用额外的磁盘空间(除了存储链接名称的空间)。因为硬链接和原始文件共享同一个物理存储位置。
  • 复制
    • 复制会占用额外的磁盘空间,因为它是文件内容的完整副本。
  1. 文件修改的影响
  • 硬链接
    • 修改硬链接指向的文件内容,原始文件的内容也会被修改,因为它们共享同一个 inode。
    • 删除硬链接不会删除文件内容,只有当所有指向该 inode 的链接都被删除后,文件内容才会被释放。
  • 复制
    • 修改复制后的文件内容不会影响原始文件。
    • 删除复制的文件不会影响原始文件。
  1. 使用场景
  • 硬链接
    • 适用于需要为同一个文件提供多个名称的场景,例如在不同的目录下为同一个文件创建别名。
    • 常用于节省磁盘空间,尤其是对于大文件。
  • 复制
    • 适用于需要保留文件原始版本并创建独立副本的场景。
    • 常用于备份、分发文件或对文件进行独立操作。

rm——删除文件

这个放到最后写不是因为不重要,而是因为太重要了,在服务器里面是没有回收站这一说的,删除了就是真的删除了,所以要考虑好是否删除已经确认好删除不必要的文件!

个人惨痛教训:删软链接的时候不能用tab键补全全部路径,会导致删除掉链接的源文件

这期就简单整理了一些常用的命令,下期再看看整理别的什么叭!