首页 > 系统相关 >Linux进阶命令-echo&date&alias

Linux进阶命令-echo&date&alias

时间:2024-09-11 21:21:31浏览次数:11  
标签:输出 进阶 命令 echo alias Linux date

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

经过上一章Linux日志的讲解,我们对Linux系统自带的日志服务已经有了一些了解。我们接下来将讲解一些进阶命令,主要从以下几个方面来讲解:一些系统操作,系统查看处理,Linux文本处理,逻辑判断,重定向,网络传输,服务启动,文件句柄等内容。通过这些操作,让你对Linux的操作更加得心应手,具体分成以下章节进行讲解:

Linux进阶命令-echo&date&alias(本章节)

Linux进阶命令-top

Linux进阶命令-ps&kill

Linux进阶命令-sort&wc

Linux进阶命令-sed&split

Linux进阶命令-awk&uniq

Linux进阶命令-逻辑或&逻辑与

Linux进阶命令-重定向

Linux进阶命令-scp&rsync

Linux进阶命令-rsync-daemoon

Linux进阶命令-nohup&screen

Linux进阶命令-lsof

Linux进阶命令-小结

echo

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

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

基本语法

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

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

常用选项

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

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

示例

1.输出一条简单的消息:

echo "Hello, World!"

2.输出变量的值:

name="Alice"
echo "Hello, $name"

3.不换行输出:

echo -n "This is a "
echo "single line."

4.识别转义字符:

echo -e "First line\nSecond line"

5.输出特殊字符:

echo "The cost is \\$10"   # 输出:The cost is \$10

应用场景

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

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

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

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

输出类似:Tue Aug 7 17:19:15 UTC 2024

2.以特定格式输出当前日期时间:

date +"%Y-%m-%d %H:%M:%S"

输出类似:2024-08-07 17:19:15

3.显示UTC时间:

date -u

4.设置时间:

#设置日期
date -s 2024-08-15
#设置时间
date -s 00:54:00

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

应用场景

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

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

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

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

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

#显示当前unix时间
date +%s
#将unix时间转换为人类可识别时间
date -d @1723655358

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 命令,显示详细的文件列表。

2.定义带参数的别名:

alias grep='grep --color=auto'

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

3.查看当前定义的所有别名:

alias

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

4.删除别名:

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了,这个是有亲身经历过生产故障。

3.alias主要通途就是让我们对某系常用命令进行改造,让我们操作更简单。​​​​​​​

#通过kc xx就可以查询pod
alias "kc=kubectl get pod -A|grep"

图片

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。

标签:输出,进阶,命令,echo,alias,Linux,date
From: https://blog.csdn.net/dessler/article/details/142150259

相关文章

  • C语言之Strict Aliasing(严格别名)
    C语言之StrictAliasing(严格别名)alias(别名)C语言的左值(lvalue)和右值(rvalue)的含义以赋值符号=为界,=左边的就是左值,=右边就是右值。比如:(1)intb=3;(2)inta=b;第(2)行代码,a为左值,b为右值。可以将L-value的L,理解成Location,表示定位、地址。将R-value......
  • 《JavaEE进阶》----14.<SpringMVC配置文件实践之【验证码项目】>
    本篇博客介绍的是Google的开源项目Kaptcha来实现的验证码。这种是最简单的验证码。也是很常见的一种验证码。可以去看项目结果展示。就可以明白这个项目了。前言:随着安全性的要求越来越高、很多项目都使用了验证码。如今验证码的形式也是有许许多多、更复杂的图形验证码......
  • Javascript应用(轮播图进阶)
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title>......
  • 12Midjourney从零到商用·进阶篇:提示词的书写方式与技巧
    在这篇文章中,我们将深入研究使用提示的艺术,探索各种技术,以创建个性化和迷人的图像,将你的创意想法转变为令人惊叹的视觉杰作。一、提示词结构一个基本的提示词可以简单到一个单词或短语。更高级的提示可以包括一个或多个图像链接,多个文本短语,以及一个或多个参数。二、......
  • AI绘画:SD打光神器!(Stable Diffusion进阶篇:Imposing Consistent Light)
    前言在上一篇笔记中学习了如何简单地下载以及使用IC-Light,今天的内容会稍微有点不一样。对于学过stablediffusion的小伙伴来说,forgeUI和ComfyUI会更加熟悉一些。在IC-Light发布后,Openposeeditor的开发者将其制作成了一个ForgeUI上的插件。所有的AI设计工具,模型和插......
  • MySQL进阶(带你从入门到精通)
    mysql高级今日目标掌握约束的使用1,约束上面表中可以看到表中数据存在一些问题:id列一般是用标示数据的唯一性的,而上述表中的id为1的有三条数据,并且马花疼没有id进行标示柳白这条数据的age列的数据是3000,而人也不可能活到3000岁马运这条数据的math数学成绩......
  • MySQL进阶(三)--多表查询
    3,多表查询多表查询顾名思义就是从多张表中一次性的查询出我们想要的数据。我们通过具体的sql给他们演示,先准备环境DROPTABLEIFEXISTSemp;DROPTABLEIFEXISTSdept;#创建部门表 CREATETABLEdept(didINTPRIMARYKEYAUTO_INCREMENT,dname......
  • 执行Git命令,Git都干了什么?图文带你从基础到进阶了解Git都做了什么
    0.前言Git仓库中的提交记录保存的是你目录下的所有的文件快照,就像把这些文件粘贴复制了一样,但是要比粘贴复制更加优雅。Git希望提交记录尽可能保持轻量,因此在每次提交的时候,它不会盲目的去复制你的整个目录。条件允许的情况下,它会将当前版本与仓库中的上一个版本进行对比,并把所有的......
  • 【Python进阶】学习Python从入门到进阶,详细步骤,就看这一篇。文末附带项目演练!!!
    详细的Python学习路线1.Python基础Python安装和环境配置:学习如何在你的操作系统上安装Python,并配置开发环境。变量和数据类型:学习如何定义变量,以及Python中的基本数据类型,如整数、浮点数、字符串等。Python数据类型运算符和表达式:学习Python中的运算符,如算术运算符、比......
  • css进阶语法
    css进阶语法选择器:在大括号之前写的内容,就是选择器,找到你要选择的内容标签选择器:用标签的名字来进行页面元素、标签、标记的选择id选择器:用html标签中的id属性来进行选取的方式例子#p1{color:aqua;}#p2{color:red;}#p3{color:aquamarine;}<body> <pid="p1">周杰伦</p......