管理目录和文件的Bash命令#

根据计算机设置,会看到不同的字符作为提示或提示之前的附加信息,例如在计算机文件结构中的当前位置(即当前的工作目录)。

接下来我们尝试操作一些常用的bash命令,主要是管理目录文件的一些命令,其他命令在自己实际科研工作中用到了再查即可。

开始之前,大家需要知道一点关于文件系统目录结构的常识,可以看一看这里的介绍。

注意: 输入命令时,请勿键入美元符号(或其他字符提示符),只键入它后面的命令即可。

下面是一些常用的bash命令,让我们来操作下吧。

1. 打印当前工作目录 ( pwd )#

要打印当前工作目录的名称,键入命令 pwd : $ pwd

由于这是Bash在此会话中执行的第一个命令,因此结果pwd是主目录的完整路径。主目录是每次启动新Bash会话时将位于的默认目录。

请注意,Terminal使用正斜杠 (/) 来指示路径中的目录。这与使用反斜杠 () 指示路径中的目录的 Windows 文件资源管理器不同。

2. 更改当前工作目录 (cd)#

通常,想要更改当前工作目录,以便可以访问不同的子目录和文件。

要更改目录,请使用cd后跟目录名称的命令(例如cd downloads)。然后,可以再次打印当前工作目录以检查新路径。

可以使用cd ..命令返回任何当前目录的父目录。

也可以随时使用cd ~命令(称为波浪号的字符)返回主目录

3.创建新目录 (mkdir)#

创建新目录的第一步是导航到希望成为该新目录的父目录。

然后,使用命令mkdir后跟要为新目录命名的名称(例如mkdir directory-name

注意:mkdir命令没有输出。

4. 打印文件和子目录列表 (ls)#

要查看当前工作目录中所有子目录文件的列表,请使用ls命令。

有些隐藏文件只输入ls是看不到的,所以我们可以输入 ls --help 看看ls命令都有什么参数项可以设置。

例如 ls -a 可以帮助我们查看当前文件夹下面的所有文件,多个命令也能叠加,例如我们想要看所有文件全部信息:

ls -al

5. 删除文件 (rm)#

要删除特定文件,可以使用rm命令,后面跟要删除的文件的名称(例如rm filename

6.删除目录 (rm -r)#

要删除一个目录及其包含的所有子目录和文件,请导航到其父目录,然后使用rm -r命令后跟要删除的目录的名称(例如rm -r directory-name

rm代表删除,而有-r是告诉Bash它需要通过对父目录中所有文件和子目录的列表递归来删除所有文件。

7. 复制文件 (cp)#

还可以使用cp命令将特定文件复制到新目录,cp后跟要复制的文件的名称以及要将文件复制到的目录的名称(例如cp filename directory-name

请注意,文件的原始副本仍保留在原始目录中

8. 复制目录及其内容 (cp -r)#

同样,可以将整个目录复制到另一个目录,使用cp -r后跟要复制的目录名称和要复制目录的目录名称(例如cp -r directory-name-1 directory-name-2)。

9. 使用单个命令 (touch)创建新文件#

可以使用单个touch命令(例如touch file-name.txt)创建一个新的空文件。此命令最初是为了管理文件的时间戳而创建的。但是,如果文件尚不存在,则该命令将生成该文件。

这是一种以编程方式快速创建新的空文件的非常有用的方法,该文件可以在以后填充。

10. 使用vim编辑文件#

刚刚我们使用torch创建了file-name.txt文件,接下来,如果我们想编辑这个文件的内容要怎么做呢?

使用vim等工具能帮助我们做到这一点。

首先使用下面的命令即可用vim打开file-name.txt文件

$ vim file-name.txt

vim有不同的模式,浏览和编辑属于不同模式,我们刚进入vim的时候默认是包括浏览等功能的正常模式,要想进入能编辑的插入模式,需要键盘点击“i”键,然后就能进入插入模式,编辑文件。

编辑后我们需要保存我们编辑的内容,此时就需要键盘点击“ESC”回到正常模式,然后再使用“:“进入命令模式,接着在命令中输入:wq,w表示write写入,q表示quit退出。

老一代专业的程序员都比较喜欢用vim编辑,因为它多少年都不变,不像编辑器一直在更新,不过我们平常还是用可视化软件来编程比较简单。