shell 一些用法
请先掌握 linux 基本用法。
脚本整理
日志文件内容增加
>>和tee -a都是将输出追加到文件中的方法,但它们的使用场景略有不同。
>>是一种重定向操作符,用于将命令的输出追加到指定文件的末尾。例如,以下命令将ls命令的输出追加到list.txt文件的末尾:
1 | |
如果list.txt文件不存在,则会创建该文件并将ls命令的输出写入其中。如果文件已经存在,则会将ls命令的输出追加到文件末尾。
tee -a是一个命令,它将标准输入复制到标准输出和指定文件中。-a选项表示将输出追加到文件的末尾。例如,以下命令将ls命令的输出同时显示在终端上并追加到list.txt文件的末尾:
1 | |
如果list.txt文件不存在,则会创建该文件并将ls命令的输出写入其中。如果文件已经存在,则会将ls命令的输出追加到文件末尾。
因此,>>适用于将命令的输出追加到文件中,而tee -a适用于将命令的输出同时显示在终端上并追加到文件中。如果你只需要将输出追加到文件中,那么使用>>可能更简单和直接。如果你需要同时在终端上查看输出并将其追加到文件中,那么使用tee -a可能更方便。
date 基本用法
date命令用于显示或设置系统的日期和时间。在命令行中,你可以使用date命令来获取当前日期和时间,也可以根据需要格式化输出。
下面是date命令中常用的+选项的用法:
显示当前日期和时间:
1
date格式化输出日期和时间:
1
date +"%Y-%m-%d %H:%M:%S"这将按照
"%Y-%m-%d %H:%M:%S"的格式输出当前日期和时间,例如2024-06-07 12:30:45。显示当前日期(年、月、日):
1
date +"%Y-%m-%d"显示当前时间(时、分、秒):
1
date +"%H:%M:%S"显示当前星期几:
1
date +"%A"显示当前月份:
1
date +"%B"显示当前时间戳(Unix 时间戳):
1
date +"%s"
这些只是date命令的一些常见用法示例。通过结合不同的格式化选项,你可以根据需要输出各种日期和时间格式。
管道操作符
在Bash中,| 和 & 是两个重要的操作符,用于控制命令之间的输入输出和后台执行。
|管道操作符:|可以将一个命令的输出传递给另一个命令作为输入。这种方式可以实现命令之间的协作和数据流转。例如:
1 | |
上面的命令将 command1 的输出作为 command2 的输入。
&后台执行操作符:在Bash中,&用于将命令放入后台执行,使得命令在后台运行而不阻塞当前终端。例如:
1 | |
上面的命令将 command 放入后台执行。
关于Bash和Shell的区别:
- Shell 是一个通用术语,用来描述操作系统提供的命令行解释器。Bash 是 Linux 和其他类 Unix 系统上最常用的 Shell。因此,Bash 是 Shell 的一种。
- Shell 是一个命令行解释器,用户可以通过 Shell 输入命令并与操作系统进行交互。Bash 是 GNU 项目的一部分,是 Bourne Shell (sh) 的增强版本,它提供了更多的功能和特性。
- 在大多数 Linux 系统中,默认的 Shell 是 Bash,但也有其他 Shell 可供选择,比如 Zsh、Fish 等。每种 Shell 都有自己独特的特性和语法。
grep 匹配
grep 是一个强大的文本搜索工具,通常用于在文件或标准输入中查找匹配特定模式的行,并将匹配的行打印出来。
下面是 grep 命令的一般格式:
1 | |
pattern是你要搜索的模式,可以是普通字符串或正则表达式。file是要在其中搜索模式的文件。如果不指定文件,则grep会从标准输入中读取数据。
以下是一些常用的 grep 选项:
-i:忽略大小写。-v:反转匹配,只输出不匹配的行。-n:显示匹配行的行号。-c:仅显示匹配行的计数。-r:递归地在目录中搜索文件。-E:启用扩展的正则表达式(支持更多的正则表达式语法)。
示例用法:
在文件中查找包含特定字符串 “hello” 的行:
1
grep "hello" file.txt在多个文件中递归搜索包含 “error” 的行,并显示行号:
1
grep -n -r "error" /path/to/directory使用正则表达式查找以 “2024” 开头的行:
1
grep "^2024" file.txt
这些只是 grep 命令的一些基本用法,grep 还有许多其他选项和功能,你可以通过阅读 grep 的 man 手册或者在线文档来了解更多信息。
grep 与管道操作符
grep命令是一个强大的文本搜索工具,用于在文件或输入流中查找匹配指定模式的文本行。它通常与其他命令结合使用,以实现更复杂的文本处理和过滤操作。以下是一些常见的与grep命令连用的示例:
- 结合
cat命令:cat命令用于显示文件内容,结合grep可以在文件中查找特定内容。例如,要查找包含关键字”error”的行,可以使用以下命令:
1 | |
- 结合
ls命令:ls命令用于列出目录内容,结合grep可以过滤出特定文件或目录。例如,要列出当前目录中以”.txt”结尾的文件,可以使用以下命令:
1 | |
- 结合
ps命令:ps命令用于显示当前进程状态,结合grep可以过滤出特定进程。例如,要查找名为”firefox”的进程,可以使用以下命令:
1 | |
- 结合
find命令:find命令用于在指定目录中查找文件,结合grep可以进一步过滤查找结果。例如,要在/var/log目录下查找包含关键字”error”的文件,可以使用以下命令:
1 | |
这些是一些常见的与grep命令连用的示例,通过结合不同的命令,可以实现更加复杂和灵活的文本处理和搜索操作。
添加Ubuntu镜像源
查看ubuntu版本
1 | |
一般路径:
1 | |
下附一些常见的镜像源:
1 | |
更新镜像源
1 | |