容易理解,shell 是一种接受键盘命令并将其传递给操作系统执行的软件。以前,它是类 Unix 系统(如 Linux)上唯一的用户界面。现在,我们有图形用户界面(GUI)和命令行界面(CLI),例如 shell。

大多数kshtcshzsh


介绍

Bash Shell 脚本是一种强大的方式来自动化任务和高效管理系统。本指南将通过使用 Git Bash 讲解 Bash 脚本的基础知识,使即使是新手也能轻松理解。

什么是终端?

理解终端

终端是一个名为终端仿真器的程序。这是一个打开窗口并让你与 

Bash Shell 脚本​_命令行

命令行界面

Bash Shell 脚本​_Bash_02

图形用户界面

为什么使用

 Git Bash是一个

开始我们的终端

我们将使用 查看这个视频以安装安装后,右键单击鼠标并点击Open Git Bash here。你应该会看到如下界面: 

Bash Shell 脚本​_Bash_03


好的,现在尝试输入一些乱码字符并按 

Bash Shell 脚本​_命令行_04

我们应该会收到一条错误消息,说明无法理解命令。

 

Bash Shell 脚本​_相对路径_05

太棒了!现在按上箭头键。观察之前的命令ghdghkdhfoihsgkjndjkgnkj如何响应。是的,我们有一个命令历史记录。当我们按下箭头键时,会返回到空行。如果需要,使用上箭头键重新调用ghdghkdhfoihsgkjndjkgnkj命令,然后尝试左右箭头键。文本光标可以在命令行的任何位置移动,使修复错误变得简单。

使用鼠标

尽管

除了滚动终端窗口的内容外,鼠标还可以用于复制文本。按住左键拖动鼠标选择一些文本(例如,浏览器窗口中的ghdghkdhfoihsgkjndjkgnkj)。文本会被高亮显示。释放左键并将鼠标指针移到终端窗口,然后点击中键(或如果使用触摸板,则同时按下左键和右键)。浏览器窗口中高亮的内容应被复制到命令行中。

在终端中导航

对于不熟悉命令行的人来说,这部分内容需要特别关注,因为这些原则需要一些时间来掌握。

 

Bash Shell 脚本​_Bash_06


学习在终端中导航就像学习在新城市中导航一样。以下是一些基本命令以帮助你入门:

  1. 基本命令
  1. pwd(打印工作目录):显示当前所在的目录。
  2. ls:列出当前目录中的文件和目录。
  3. cd:更改目录。要更改工作目录,我们使用
  1. 绝对路径名从根目录开始,沿着树的每个分支逐步前进,直到路径到达目标目录或文件。例如,大多数文档保存在系统中的某个目录中。该目录的路径名是Onedrive" 的目录,其中包含另一个名为 "Documents" 的目录。 我们来看看:
  2.  

    Bash Shell 脚本​_相对路径_07

  3. 现在我们可以看到我们已将当前工作目录移动到
  4. 绝对路径名从根目录开始,并通向目标,而相对路径名则从工作目录开始。为了实现这一点,它使用一些特殊的符号来表示文件系统树中的相对位置。这些特殊符号包括
  5. "." 符号指代工作目录本身,而 ".." 符号指代其父目录。它是这样工作的。让我们再次将工作目录更改为 /OneDrive/Documents。
  6.  

    Bash Shell 脚本​_命令行_08

  7. 那么,假设我们想将工作目录切换到
  8.  

    Bash Shell 脚本​_相对路径_09

  9. 或者使用相对路径名:
  10.  

    Bash Shell 脚本​_相对路径_10

  11. 这两种不同的方法得到了相同的结果。我们应该使用哪种方法?你认为打字最少的那个!类似地,我们可以用两种不同的方式将工作目录从
  12.  

    Bash Shell 脚本​_Bash_11

  13. 或者使用相对路径名:
  14.  

    Bash Shell 脚本​_Bash_12

  15. 你需要注意的是,有一点非常重要。在大多数情况下,我们可以省略
  16.  

    Bash Shell 脚本​_Bash_13


  17. 将会执行相同的操作。一般来说,如果我们没有提供路径名,系统会默认使用当前工作目录。
  18. 更多
  1. mkdir new_folder
  1. rmdir old_folder
  1. rm file.txt
  2. 删除目录及其内容:删除目录及其中的所有内容。
  3. rm -r folder_name
  1. cp source.txt destination.txt
  2. 复制目录:复制一个目录及其内容。
  3. cp -r source_folder/ destination_folder/
  1. mv file.txt /path/to/destination/
  2. 重命名文件或目录:更改文件或目录的名称。
  3. mv old_name.txt new_name.txt
  1. touch newfile.txt
  1. cat file.txt
  1. less file.txt
  1. find . -name "filename.txt"
  1. find /path/to/search -name "filename.txt"
  1. grep "search_term" file.txt
  1. grep -r "search_term" /path/to/directory
  1. 这些命令是
  1. mkdir(创建目录)
    创建新目录:在当前目录下创建一个新文件夹。
  2. rmdir(删除目录)
    删除空目录:删除一个不包含任何文件的文件夹。
  3. rm(删除)
    删除文件:删除当前目录中的一个文件。
  4. cp(复制)
    复制文件:将一个文件从一个位置复制到另一个位置。
  5. mv(移动或重命名)
    移动文件或目录:将文件或目录移动到不同的位置。
  6. touch
    创建空文件:创建一个新的空文件或更新现有文件的时间戳。
  7. cat(连接)
    查看文件内容:在终端中直接显示文件的内容。
  8. less逐页查看文件内容:打开文件,一次查看一页。
  • 使用q退出。
  • 在特定目录中搜索:
  • 递归搜索目录中的所有文件:
  1. find
    搜索文件和目录:按名称查找文件或目录。
  2. grep
    在文件中搜索:查找文件中的特定字符串。