【Linux 命令】 - echo / date / alias

echo

Linux 基础软件 - 软件安装,在编译安装的时候使用 echo $? 来判断上一个命令的执行结果,0 是正常,其他则是不正常。其实任何命令只要执行成功,使用 echo $? 都应该返回 0。还在讲 Linux 日常运维的环境变量的时候,通过 echo $PATH 来打印变量。

echo 是在 Linux 和 Unix 系统中常用的命令,主要用于在终端输出指定的文本或变量值。它也可以用来打印简单的文本消息或变量的值

基本语法

echo [OPTION] [STRING]
  • OPTION 可选,用于控制输出格式或行为。

  • STRING 通常是要输出的文本或变量。

常用选项

  • -n 不会自动换行,输出后不添加换行符。

  • -e 识别转义字符,如 \n 表示换行符。

示例

  1. 输出一条简单的消息:
~$ echo "Hello, World!"
Hello, World!
  1. 输出变量的值:
~$ name="Alice"
~$ echo "Hello, $name"
Hello, Alice

  1. 不换行输出:
:~$ echo -n "This is a "
This is a root@ubuntu:~$ echo "single line."
single line.
  1. 识别转义字符:
~$ echo -e "First line\nSecond line"
First line
Second line
  1. 输出特殊字符:
~$ echo "The cost is \\$10"# The cost is \\$10
The cost is \0

应用场景

  • 在脚本中用于输出调试信息或提示消息。

  • 用于打印变量值,方便调试和查看内容。

  • 结合重定向符号(>>>)将输出内容写入文件,后面将单独将重定向。

date

Linux 基础软件 - ntp 里面,在没有 ntp 或者 chrony 的时候可以通过 date 来设置时间。

date 命令在 Linux 和 Unix 系统中用于显示或设置系统的日期和时间。它可以输出当前的日期时间,或者根据指定的格式来格式化日期时间的输出。

基本用法

date [OPTION]... [+FORMAT]
  • OPTION 是可选的选项,用于控制输出格式或行为。

  • +FORMAT 是用于指定日期时间输出格式的字符串。

常用选项

  • -d, --date=STRING:显示给定日期时间的格式。

  • -u, --utc, --universal:显示 UTC 时间(协调世界时)。

  • -s, --set=STRING :设置时间或者日期。

  • +%FORMAT:用指定格式输出日期时间。

格式化字符串

+FORMAT 中,可以使用以下特殊的格式化字符串来定义输出的日期时间格式:

  • %Y:四位数的年份(如:2024)。

  • %m:两位数的月份(01 到 12)。

  • %d:两位数的日(01 到 31)。

  • %H:24 小时制的小时数(00 到 23)。

  • %M:两位数的分钟数(00 到 59)。

  • %S:秒数(00 到 60)。

  • %Z:时区(例如:UTC、GMT、PST)。

示例

  1. 显示当前日期时间:
~$ date
Thu 22 Aug 2024 12:28:10 PM PDT
  1. 以特定格式输出当前日期时间:
~$ date +"%Y-%m-%d %H:%M:%S"
2024-08-22 12:28:53
  1. 显示 UTC 时间:
~$ date -u
Thu 22 Aug 2024 07:29:31 PM UTC
  1. 设置时间:
#设置日期
~$ sudo date -s 2024-08-15
[sudo] password for root: 
Thu 15 Aug 2024 12:00:00 AM PDT
#设置时间
~$ sudo date -s 00:54:00
Thu 22 Aug 2024 12:54:00 AM PDT

这个操作要特别注意,尤其是在生产环境。

应用场景

  • 在脚本中记录日志,使用 date 命令添加时间戳。

  • 用于文件名的时间戳,例如备份文件。

  • 调试和分析日志文件时,确定特定事件发生的时间。

  • 在需要精确计时和定期任务的自动化脚本中使用。

在 Linux 服务器里面还有个时间 Unix 时间戳或 POSIX 时间。它表示的是自 1970 年 1 月 1 日 00:00:00 UTC 以来经过的秒数。Unix 时间戳通常是一个整数值

#显示当前unix时间
~$ date +%s
1724355141
#将unix时间转换为人类可识别时间
~$ date -d @1724355141
Thu 22 Aug 2024 12:32:21 PM PDT

alias

Linux 基础命令 (一),有一个命令 ll,实际上是 ls -l。他们的实现方式实际就是 alias。当然还有很多命令默认都是有 alias 的。

alias 命令用于在命令行中创建命令别名,允许用户为常用命令或命令序列定义简短的替代名称。这样做可以显著提高命令行操作的效率和便捷性。

基本语法

alias [name[=value] ...]
  • name 是要定义的别名,可以是任何不包含空格或特殊字符的字符串。

  • value 是要替代的命令或命令序列。如果没有提供 value,则显示当前的别名列表。

示例

  1. 定义简单的别名:
alias ll='ls -l'

这条命令将 ll 定义为 ls -l 的别名。以后在命令行中输入 ll 就会执行 ls -l 命令,显示详细的文件列表。

  1. 定义带参数的别名:
alias grep='grep --color=auto'

这样,使用 grep 命令时会自动启用彩色输出。

  1. 查看当前定义的所有别名:
~$ alias
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'

这条命令会列出当前所有已定义的别名及其对应的命令。

  1. 删除别名:
unalias ll

这会删除之前定义的 ll 别名,恢复原始的 ls -l 行为。

永久生效

在终端中定义的别名仅在当前会话中有效,关闭终端后会丢失。如果希望别名永久生效,可以将其添加到用户的 shell 配置文件中,比如:

  • 对于 bash shell,可以将别名定义添加到 ~/.bashrc 文件中。

然后使用 source ~/.bashrc 命令使其立即生效,或者重新启动终端。当然也可以根据 Linux 日常运维 - 环境变量 (env) 放置到合适的位置。

应用场景

  • 简化命令行操作: 将常用的复杂命令或长命令序列定义为简单易记的别名,减少输入量。

  • 增强命令功能: 向命令添加默认参数或选项,以便于特定需求的快速调用。

  • 提高工作效率: 根据个人工作流程和使用习惯优化命令行环境,使得操作更高效。

总结

  1. 这小节讲了 3 个命令,其中 echo 主要用途在 shell 里面就是通过 $? 确认上个命令执行结果和通过 “>”,“>>” 写入到文件里面,还有就是 shell 脚本里面打印输出到控制台,方便我查看脚本执行过程。
  2. date 主要用途在 shell 里面就是设置时间,在 shell 里面就是用于变量方便记录或者操作命令执行的时间。
  3. 在执行 date -d 进行转换时间的时候要注意,不要用错成 date -s 了,这个是有亲身经历过生产故障。
  4. alias 主要通途就是对某系常用命令进行改造,让操作更简单。

参考

1.笔记记录学习 原文: Linux 进阶命令 - echo&date&alias

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Eternal-Student

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值