touch,echo

touch
touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。

语法
touch(选项)(参数)
选项
-a:或–time=atime或–time=access或–time=use 只更改存取时间;
-c:或–no-create 不建立任何文件;
-d:<时间日期> 使用指定的日期时间,而非现在的时间;
-f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;
-m:或–time=mtime或–time=modify 只更该变动时间;
-r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;
-t:<日期时间> 使用指定的日期时间,而非现在的时间;
–help:在线帮助;
–version:显示版本信息。
参数
文件:指定要设置时间属性的文件列表。

实例
touch ex2
在当前目录下建立一个空文件ex2,然后,利用ls -l命令可以发现文件ex2的大小为0,表示它是空文件。

echo
echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。linux的echo命令,在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的,因此有必要了解下echo的用法echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。

语法
echo(选项)(参数)
选项
-e:激活转义字符。
使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
参数
变量:指定要打印的变量。

实例
用echo命令打印带有色彩的文字:

文字色:

echo -e “\e[1;31mThis is red text\e[0m”
This is red text
\e[1;31m 将颜色设置为红色
\e[0m 将颜色重新置回
颜色码:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37

背景色:

echo -e “\e[1;42mGreed Background\e[0m”
Greed Background
颜色码:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47

文字闪动:

echo -e “\033[37;31;5mMySQL Server Stop…\033[39;49;0m”
红色数字处还有其他数字参数:0 关闭所有属性、1 设置高亮度(加粗)、4 下划线、5 闪烁、7 反显、8 消隐

### Echo 命令概述 `echo` 是 Unix/Linux 系统中的一个重要命令,主要用于在终端或脚本中输出文本信息。它类似于 C 语言中的 `printf` 函数,在 Shell 编程中广泛应用于调试、日志记录以及与其他命令配合实现复杂功能[^1]。 --- ### 主要用途 - **打印字符串**:可以直接将指定的文字内容输出到标准输出设备(通常是屏幕)。 - **变量赋值与显示**:不仅限于固定字符串,还可以动态地展示环境变量或其他程序运行结果的数值。 - **重定向输出**:除了直接呈现在屏幕上外,还能借助重定向符号 (`>`, `>>`) 将数据保存至文件当中以便后续分析处理[^2]. --- ### 参数选项说明 以下是几个常用的参数解释: #### `-n` 此标志告知 echo 不要在最后自动附加换行符,使得连续多次调用之间不会因每条都另起一行而显得杂乱无章. 例子演示效果差异: ```bash # 默认情况加了\n newline character at the end. $ echo hello world hello world # With '-n', no extra line break added after outputting content. $ echo -n hello world hello world$ ``` #### `-e` 启用对反斜杠转义序列的支持,允许更灵活地定义特殊字符如制表位(tab),响铃(bell sound)等非ASCII码范围内的表达形式[^4]. 常见的一些转义组合列举如下: | 序列 | 描述 | |-----------|--------------------------| | `\t` | Horizontal Tab (HT) | | `\b` | Backspace | | `\r` | Carriage Return | | `\v` | Vertical tab | | `\f` | Form feed | | `\a` | Alert/Bell | | `\nnn` | Octal value of char | | `\xHH` | Hexadecimal value | 举个实例来观察带 escape sequences 的情形吧: ```bash #!/bin/bash str="First field\tSecond Field" echo "$str" # Without enabling interpretation mode. echo -e "$str" # Enable processing backslashes inside string literals. ``` --- ### 综合案例分享 假设我们需要创建一个多级目录结构并初始化 README.md 文件同时填写初始描述文字进去的话就可以这么干啦! ```bash mkdir -p ~/projects/{apples,oranges}/docs && \ touch ~/projects/apples/docs/README.md && \ echo "# Apple Documentation Placeholder" >> ~/projects/apples/docs/README.md ; ``` 这里利用到了逻辑运算符短路求值原理巧妙串联起来一系列操作步骤达成目的的同时还保持了一定可读性简洁明快风格[^3]. --- ### 注意事项 虽然看似简单易懂但实际上还是存在不少坑点需要注意规避以免造成不必要的麻烦哦~ 1. **跨平台兼容性问题**: Windows CMD 下面自带同名工具行为模式略有差别所以移植代码时候记得测试验证一下; 2. **安全风险考量**: 当涉及拼接外部不可控输入源生成最终执行串时务必小心提防注入攻击隐患发生; 3. **性能开销评估**: 对超大规模批量作业而言单纯依赖单一进程反复调用效率低下建议改用其他更适合方式代替之。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值