一文学完Linux Shell编程,比书都好懂

一文学会shell编程 前些天找到了一篇之前保存在有道云的shell笔记,感觉覆盖面很广,很适合学习或者复习,所以转移到csdn上来。内容比较长,有兴趣的可以边练习边看,希望大家一起学习交流。 目录 0、基础介绍 1、相关Linux命令 2、 概念: 管道, 重定向和 backtick 3、流程控制 快捷操作符 引号 Here document.  函数 命令行参数 4、实例 文件循环程序 调试... 阅读详情

一、 Shell 编程

完整版参考链接:Linux Shell编程pdf版本

1. 简介

Shell 是一个用 C 语言编写的程序,通过 Shell 用户可以访问操作系统内核服务。

Shell 既是一种命令语言,又是一种程序设计语言。

Shell script 是一种为 shell 编写的脚本程序。Shell 编程一般指 shell 脚本编程,不是指开发 shell 自身。

Shell 编程跟 java、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。

Linux 的 Shell 解释器 种类众多,一个系统可以存在多个 shell,可以通过 cat /etc/shells 命令查看系统中安装的 shell 解释器。

Bash 由于易用和免费,在日常工作中被广泛使用。同时,Bash 也是大多数 Linux 系统默认的 Shell。

shell 解释器

java 需要虚拟机解释器, 同理 shell 脚本也需要解析器,如下所示:

[root@node01 shells] cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh

2. 快速入门

1) 编写脚本

新建 /export/hello.sh 文件,内容如下:

#!/bin/bash

echo 'hello world'

#!是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。

echo 命令用于向窗口输出文本。

2) 执行 shell 脚本
执行方式一
[root@node01 shells] /bin/sh 01.sh
hello world

或

[root@node01 shells] /bin/bash 01.sh
hello world

问题:bash 和 sh 是什么关系?

答:sh 是 bash 的 快捷方式

执行方式二

方式一的简化方式:

[root@node01 shells] bash hello.sh
hello world

[root@node01 shells] sh hello.sh
hello world

问题:为什么可以省略 /bin/

答:因为 PATH 环境变量中增加了 /bin/目录, 所以 使用/bin/sh 等类似指令时, 可以省略 /bin

执行方式三

./文件名

[root@node01 shells] ./hello.sh
-bash: ./01.sh: 权限不够

问题:权限不够怎么办?

[root@node01 shells] chmod 755 hello.sh

# 再次执行:
[root@node01 shells] ./hello.sh
hello world!

3. shell 变量

1) 简介

在 shell 脚本中, 定义变量时,变量名不加美元符号$,如:

your_name="runoob.com"

注意 : 变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。

同时,变量名的命名须遵循如下规则:

  • 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
  • 中间不能有空格,可以使用下划线_。
  • 不能使用标点符号。
  • 不能使用 bash 里的关键字(可用 help 命令查看保留关键字)。

有效的 Shell 变量名示例如下:

RUNOOB
LD_LIBRARY_PATH
_var
var2

无效的变量命名:

?var=123
user*name=runoob

除了显式地直接赋值,还可以用语句给变量赋值,如:

for file in `ls /etc`

或

for file in $(ls /etc)

以上语句将 /etc 下目录的文件名循环出来。

2) 使用变量

使用一个定义过的变量,只要在变量名前面加美元符号即可,如:

your_name="zhangsan"

echo $your_name

echo ${your_name}

变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界,比如下面这种情况:

for skill in java php python; do
    echo "I am good at ${skill}Script"
done

如果不给 skill 变量加花括号,写成echo "I am good at $skillScript",解释器就会把$skillScript当成一个变量(其值为空),代码执行结果就不是我们期望的样子了。

推荐给所有变量加上花括号,这是个好的编程习惯。

已定义的变量,可以被重新定义,如:

your_name="tom"
echo $your_name
your_name="alibaba"
echo $your_name

这样写是合法的,但注意,第二次赋值的时候不能写$your_name="alibaba",使用变量的时候才加美元符。

3) 删除变量

使用 unset 命令可以删除变量。语法:

unset variable_name

变量被删除后不能再次使用。unset 命令不能删除只读变量。

实例

#!/bin/sh
myUrl="http://www.runoob.com"
unset myUrl
echo $myUrl

以上实例执行将没有任何输出。

4) 只读变量

使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。

下面的例子尝试更改只读变量,结果报错:

#!/bin/bash

myUrl="http://www.google.com"
readonly myUrl
myUrl="http://www.runoob.com"

运行脚本,结果如下:

/bin/sh: NAME: This variable is read only.

4. 字符串

字符串是 shell 编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。

1) 单引号
skill='java'

str='I am goot at $skill'

echo $str

输出结果为:

I am goot at $skill

单引号字符串的限制:

  • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
  • 单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。
2) 双引号
skill='java'

str="I am goot at $skill"

echo $str

输出结果为:

I am goot at java

双引号的优点:

  • 双引号里可以有变量
  • 双引号里可以出现转义字符
3) 获取字符串长度
skill='java'

echo ${skill}    # 输出结果: java

echo ${#skill}   # 输出结果: 4

或者:  expr length "iamlilei"   #输出结果:  8
4) 提取子字符串

substring(2)

substring(2,3)

以下实例从字符串第 2 个字符开始截取 4 个字符:

str="I am goot at $skill"

echo ${str:2} 	  # 输出结果为: am goot at java  从第二个字符开始截取,到结尾

echo ${str:2:2}    # 输出结果为: am  从第二个字符开始截取,截取2个字符
5) 查找子字符串

查找字符 a 或 m 的位置(哪个字母先出现就计算哪个):

str="I am goot at  $skill"
echo `expr index "$str" am`    # 输出是: 3

或者:
expr index "iamlilei" am      #输出结果: 2   返回在STRING中找到CHARS字符串的位置;否则,返回0

注意: 以上脚本中 ` 是反引号(Esc 下面的),而不是单引号 ',不要看错了哦。

5. 传递参数

我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。

n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……

实例

以下实例我们向脚本传递三个参数,并分别输出,其中 $0 为执行的文件名:

vim /export/sh/param.sh

#!/bin/bash

echo "Shell 传递参数实例!";

echo "执行的文件名:$0";

echo "第一个参数为:$1";

echo "第二个参数为:$2";

echo "第三个参数为:$3";

为脚本设置可执行权限,并执行脚本,输出结果如下所示:

$ chmod 755 param.sh

$ ./param.sh 1 2 3

Shell 传递参数实例!

执行的文件名:./param.sh

第一个参数为:1

第二个参数为:2

第三个参数为:3

另外,还有几个特殊字符用来处理参数:

参数处理说明
$#传递到脚本的参数个数
$*以一个单字符串显示所有向脚本传递的参数。 如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$$脚本运行的当前进程 ID 号
$!后台运行的最后一个进程的 ID 号
$@与 $*相同,但是使用时加引号,并在引号中返回每个参数。 如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$-显示 Shell 使用的当前选项,与 set 命令功能相同。
$?显示最后命令的退出状态。0 表示没有错误,其他任何值表明有错误。
#!/bin/bash

echo "Shell 传递参数实例!";

echo "第一个参数为:$1";

echo "参数个数为:$#";

echo "传递的参数作为一个字符串显示:$*";

执行脚本,输出结果如下所示:

$ chmod +x test.sh

$ ./test.sh 1 2 3

Shell 传递参数实例!

第一个参数为:1

参数个数为:3

传递的参数作为一个字符串显示:1 2 3

$* 与 $@ 区别:

  • 相同点:都是引用所有参数。
  • 不同点:只有在双引号中体现出来。假设在脚本运行时写了三个参数 1、2、3,,则 " * " 等价于 “1 2 3”(传递了一个参数),而 “@” 等价于 “1” “2” “3”(传递了三个参数)。
#!/bin/bash

echo "-- $* 演示 ---"
for i in "$*"; do
    echo $i
done

echo "-- $@ 演示 ---"
for i in "$@"; do
    echo $i
done

执行脚本,输出结果如下所示:

$ chmod +x test.sh

$ ./test.sh 1 2 3

-- $* 演示 ---
1 2 3

-- $@ 演示 ---
1
2
3

6. Shell 算术运算符

1) 简介

Shell 和其他编程一样,支持包括:算术、关系、布尔、字符串等运算符。

原生 bash 不支持简单的数学运算,但是可以通过其他命令来实现,例如 expr。

expr 是一款表达式计算工具,使用它能完成表达式的求值操作。

例如,两个数相加:

val=`expr 2 + 2`
echo $val

注意:

表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2。

完整的表达式要被 ` 包含,注意不是单引号,在 Esc 键下边。

下表列出了常用的算术运算符,假定变量 a 为 10,变量 b 为 20:

运算符说明举例
+加法expr $a + $b 结果为 30。
-减法expr $a - $b 结果为 -10。
*乘法expr $a * $b 结果为 200。
/除法expr $b / $a 结果为 2。
%取余expr $b % $a 结果为 0。
=赋值a=$b 将把变量 b 的值赋给 a。
==相等。用于比较两个数字,相同则返回 true。[ $a == $b ] 返回 false。
!=不相等。用于比较两个数字,不相同则返回 true。[ $a != $b ] 返回 true。

**注意:**条件表达式要放在方括号之间,并且要有空格,例如: [$a==$b] 是错误的,必须写成 [ $a == $b ]。

2) 例子
#!/bin/bash

a=4

b=20

#加法运算

each expr $a + $b

#减法运算

echo expr $a - $b

#乘法运算,注意*号前面需要反斜杠

echo expr $a \* $b

#除法运算

echo $a / $b



此外,还可以通过(())、$(())、$[]进行算术运算。



 ((a++))

echo "a = $a"

c=$((a + b))

d=$[a + b]

echo "c = $c"

echo "d = $d"

7. 流程控制

1) if else

1.1 if

if 语句语法格式:

if condition; then
    command1
    command2
    ...
    commandN
fi

demo

[root@hadoop01 export]# cat if_test.sh
#!/bin/bash

a=20

if [ $a -gt 10 ]; then
        echo "a 大于 10"
fi

末尾的 fi 就是 if 倒过来拼写,后面还会遇到类似的。

1.2 if else

if else 语法格式:

if condition; then
    command1
    command2
    ...
    commandN
else
    command
fi

1.3 if else-if else

if else-if else 语法格式:

if condition1; then
    command1
elif condition2; then
    command2
else
    commandN
fi

以下实例判断两个变量是否相等:

关系运算符

关系运算符只支持数字,不支持字符串,除非字符串的值是数字。

下表列出了常用的关系运算符,假定变量 a 为 10,变量 b 为 20:

运算符说明英文举例
-eq检测两个数是否相等,相等返回 true。equal[ $a -eq $b ] 返回 false。
-ne检测两个数是否不相等,不相等返回 true。not equal[ $a -ne $b ] 返回 true。
-gt检测左边的数是否大于右边的,如果是,则返回 true。greater than[ $a -gt $b ] 返回 false。
-lt检测左边的数是否小于右边的,如果是,则返回 true。less than[ $a -lt $b ] 返回 true。
-ge检测左边的数是否大于等于右边的,如果是,则返回 true。Greater than or equal to[ $a -ge $b ] 返回 false。
-le检测左边的数是否小于等于右边的,如果是,则返回 true。Less than or equal to[ $a -le $b ] 返回 true。

案例:

[root@hadoop01 export]# cat if_test.sh
#!/bin/bash

a=20
b=10

# 需求1: 判断 a 是否 100
if [ $a > 100 ]; then
        echo "$a 大于 100"
fi


# 需求2: 判断 a 是否等于 b
if [ $a -eq $b ]; then
        echo "$a 等于 $b"
else
        echo "$a 不等于 $b"
fi

# 需求3: 判断 a 与 b 比较
if [ $a -lt $b ]; then
        echo "$a 小于 $b"
elif [ $a -eq $b ]; then
        echo "$a 等于 $b"
else
        echo "$a 大于 $b"
fi


# 需求4: 判断 (a + 10) 和 (b * b) 比较大小
if test $[ a + 10 ] -gt $[ b * b ]; then
        echo "(a+10) 大于 (b * b)"
else
        echo "(a+10) 小于或等于 (b*b)"
fi
2) for 循环

篇幅有限,完整版参考链接:Linux Shell编程pdf版本

华为HS8546V光猫SHELL补全工具 华为光猫HS8546V SHELL补全工具,可以进控制台改双模. 立即下载

相关推荐

shell脚本之判断输入参数是否为整数值的实例

今天小编就为大家分享一篇shell脚本之判断输入参数是否为整数值的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

shell编程相关知识点

**1.shell编程** **## 1.1 简介** Shell 是一个用 C 语言编写的程序,通过 Shell 用户可以访问操作系统内核服务。 Shell 既是一种命令语言,又是一种程序设计语言。 Shell script 是一种为 shell 编写的脚本程序。Shell 编程一般指 shell脚本编程,不是指开发 shell 自身。 Sh...

weixin_44519468的博客 230

保姆级教程:在Ubuntu 22.04上用Python3.10和pysoem搞定EtherCAT电机回零与位置控制

本文提供在Ubuntu 22.04上使用Python3.10和pysoem实现EtherCAT电机回零与位置控制的详细指南。涵盖环境搭建、权限配置、EtherCAT主站架构解析、CiA402协议核心机制及工业级精度控制实现,帮助开发者快速掌握Python在工业自动化中的应用。

weixin_30952535的博客 330

shell脚本学习

shell基础语法======输入输出练习======= 1、创建test_echo.sh 2、vim test_echo.sh !/bin/sh echo “hello world,世界”read input echo “login:” read uname echo “passwd:” read pwd echo “Hello,uname,uname,pwd” 3、chmo

qq_37199669的博客 734

ICS v9.5 OverbyteIcsWSocket.pas 整体架构分析

核心架构:OverbyteIcsWSocket.pas 是 Internet Component Suite (ICS) 的基础网络组件单元,提供跨平台 Winsock API 封装,支持TCP/UDP 客户端/服务器,DNS 解析和Raw Socket。在 v9.5 中,SSL/TLS 代码已分离至 OverbyteIcsSslBase.pas 等单元,使核心单元更精简,专注于非加密 socket 操作。

sonadorje的专栏 995

MATLAB去雾算法实战:5种经典方法对比+1种改进方案(附完整源码)

本文详细对比了MATLAB中5种经典去雾算法(包括暗通道先验、多尺度Retinex等)的实现效果,并提出一种创新的自适应融合改进方案。通过完整的源码展示和性能对比,帮助开发者掌握图像去雾的核心技术,提升计算机视觉应用中的图像质量。特别针对去雾算法中的光晕效应问题,给出了工程实践中的优化技巧。

weixin_26801149的博客 414

2万字系统总结,帮你实现 Linux 命令自由

大家好,我是宝哥!前言Linux的学习对于一个程序员的重要性是不言而喻的。前端开发相比后端开发,接触 Linux机会相对较少,因此往往容易忽视它。但是学好它却是程序员必备修养之一。如果本文对你有所帮助,请点个???? 吧。作者使用的是阿里云服务器 ECS(最便宜的那种) CentOS 7.764位。当然你也可以在自己的电脑安装虚拟机,虚拟机中再去安装 CentOS系统(这就完全免费了)。至于它...

程序员闪充宝 239

px3 有感分析

px3 后续分析

qq_39707917的博客 3117

一文搞定Linux shell脚本编程( 史上最全汇总 )

当命令或程序语句不在命令行下执行,而是通过一个程序文件来执行时,该程序文件就被称为Shell脚本。 在Shell脚本里内置了很多命令、语句及循环控制,然后将这些命令一次性执行完毕,这种通过文件执行脚本的方式称为非交互的方式。 Shell脚本语言很适合用于处理纯文本型的数据,而Linux系统中几乎所有的配置文件、日志文件,以及绝大对数的启动文件都是纯文本类型的文件。 业界所说的 Shell 通常都是指 Shell 脚本, “Shell编程” 通常都是指 Shell 脚本编程,不是指开发 shell 自身。 S

a只如初见的博客 1003

自抗扰控制ADRC原理解析及案例应用

ESO的设计通常基于系统动态方程的线性化或近似模型,其输出包括系统状态的估计值和总扰动的估计值。非线性状态误差反馈控制律(Nonlinear State Error Feedback,NLSEF)是ADRC的最后一个环节,负责根据ESO和TD提供的信息生成控制信号。ADRC的另一个重要发展方向是与其他控制策略的融合,如模糊控制、神经网络和自适应控制等,以进一步提高系统的鲁棒性和适应性。ADRC的参数主要包括扩张状态观测器(ESO)的参数和非线性状态误差反馈控制律(NLSEF)的参数。

LIUMAO99的博客 9288

YOLO11实战:手把手教你优化钢材表面缺陷识别模型(基于NEU-DET数据集)

本文详细介绍了如何使用YOLO11优化钢材表面缺陷识别模型,基于NEU-DET数据集进行实战训练。从数据增强、模型架构优化到训练过程控制,全面解析提升钢材缺陷检测性能的关键技术,特别针对裂纹、划痕等典型缺陷提出针对性解决方案。

weixin_29081163的博客 381

【一文学完Linux Shell编程(强烈建议收藏)】

Shell 是一个用 C 语言编写的程序,通过 Shell 用户可以访问操作系统内核服务。Shell 既是一种命令语言,又是一种程序设计语言。Shell script 是一种为 shell 编写的脚本程序。Shell 编程一般指 shell 脚本编程,不是指开发 shell 自身。Shell 编程跟 java、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。Linux 的 Shell 解释器 种类众多,。Bash 由于易用和免费,在日常工作中被广泛使用。同时,Bash

学习 记录 总结 分享 225

中文翻译《ASPICE in practice》之“SUP.8 配置管理”

一般来说,自动化程度越低,负责 CM 的个人就必须花费越多的精力,例如,检查基线的正确性和完整性,或确保在归档系统上正确完成手动版本控制。必须防止未经许可的访问。为了唯一地标识基线,许多 CM 工具提供了一种“标记”基线的机制,即为受影响的 CM 项目的所有版本分配相同的标签,例如“第 3 次交付状态”。此选择必须允许绘制合格的基线(参见 BP5),即确保实际上所有描述特定开发阶段的元素(需求和设计文档、开发环境、变更请求、测试用例、测试文档,也可能是重要的中间工作产品等)都可以在 CM 系统中进行基线。

Smith_Chai的博客 1583

Linux(Ubuntu)基础7:一文学会Shell脚本编程

本文是一份全面的Shell脚本编程指南,主要包含以下内容: Shell基础介绍 解释Shell作为用户与内核桥梁的作用 说明Ubuntu系统默认使用bash解析器 介绍如何查看系统支持的Shell解析器类型 Shell脚本基础 讲解脚本基本格式(Shebang开头) 演示第一个"Hello World"脚本 说明脚本执行的两种方式及权限要求 变量与运算符 介绍系统变量、自定义变量和特殊变量 说明变量定义规则和算术运算方法 详细讲解特殊变量($n、$#、$*、$@、$?)的用法 流程控制

weixin_74290718的博客 1776

【Unity 实用工具篇】✨| 受击插件Feel 详细教程,开发游戏时更好的操控 游戏打击感

在一个游戏中,游戏手感对于游戏的整体游玩体验是非常重要的,而游戏手感中有一个很重要的点:打击感 那本篇文章就来讲一下打击感中的受击反馈部分。 在游戏中经常会用到攻击敌人,敌人扣血,执行某些受击功能的执行,尤其是对于有战斗场景的游戏来说,这就是标准的受击反馈。 所以引出本篇文章的主角:受击插件 Feel 的使用,2D和3D游戏都可以使用。

努力前行,总会成为自己心中的那道光 3万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

一文学完linux必要点

个人笔记

qq_59247073的博客 207

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

一文学会Linux-shell脚本编程基础

原文全文转自http://www.cnblogs.com/zhang-jun-jie/p/9266858.html   侵删 终于到shell 脚本这章了,在以前笔者卖了好多关子说shell脚本怎么怎么重要,确实shell脚本在linux系统管理员的运维工作中非常非常重要。下面笔者就带你正式进入shell脚本的世界吧。 到现在为止,你明白什么是shell脚本吗?如果明白最好了,不明白也没有关系...

lanmei_guojiang的博客 309

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

【一文学Linux系统基础操作】

【Linux系统基础操作】01、Linux系统的目录结构02、Linux系统常用指令(1)系统管理(2)磁盘管理(3)文件管理(4)用户及权限管理(5)软件包管理03、shell 基础编程04、vi / vim 编辑器使用 文前白话 01、Linux系统的目录结构 Linux的根目录为 : / 根目录,一般根目录下只存放目录,不要存放文件,也不要修改,或者删除目录下的内容 Linux系统根目录下主要目录有: /bin、/boot、/dev、/etc、/home、/lib、/mnt、/opt

是小武呀 1905

一文学会进程控制

进程控制相关概念即函数使用,小型shell的实现。

qq_53113851的博客 983

一文学会Makefile【全】

<div id="article_content" class="article_content clearfix" style="height: 2382px; overflow: hidden;"> <link rel="stylesheet" href="https://csdnimg.cn/release/ph...

qq_44622401的博客 406

shell查词典

curl http://cn.bing.com/dict/search?q=spawn -s | sed -e '{s/<\/span>/&\n/g}' | sed -n '{/<span class="def">/p}' | sed -e '{s/<span class="def"><span>//g}' | sed -e '{s/&l...

weixin_34174322的博客 1378

jupyder_notebook 和ipython的安装及使用

jupyter简介 Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。使用浏览器作为界面,向后台的IPython服务器发送请求,并显示结果。 Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。 ipython简介 IPyt...

qq_45425315的博客 453

Emacs24-starter-kit部署指南:跨平台配置迁移技巧

Emacs24-starter-kit是一个基于Emacs 24的现代化启动套件,专为初学者和普通用户设计,提供更合理的默认设置和跨平台配置迁移方案。这个开源项目采用文学化编程方式,通过Org-mode文件管理配置,让Emacs配置变得更加简单和可维护。无论你是刚接触Emacs的新手,还是需要在多台设备间同步配置的老用户,这个启动套件都能显著提升你的工作效率和配置管理体验。🚀 ## 📦 为什

gitblog_00009的博客 705

linux 儒略日时间计算,C/C++ 儒略日计算以及恒星时计算

在天文学上一般使用儒略日进行计时,这个做法和计算机内部表达时间基本上是一样的。这个做法其实就是序列号时间编码,表示指定时间和某个零点时刻之间的时差。这么做法的好处是,不受历法莫名其妙的各种变动的影响,管你大月小月闰年闰月的,反正我连续计算。儒略日(Julian day)是指由公元前4713年1月1日,協調世界時中午12時開始所經過的天數,多為天文學家採用,用以作為天文學的單一曆法,把不同曆法的年表...

weixin_42389522的博客 1133

浮躁时代的安静角落——《Linux大棚命令百篇》

曾几何时,急功近利、揠苗助长之风吹遍了整个互联网行业,孜孜不倦、循序渐进技术博客Linux大棚成了这个浮躁时代的安静角落,博主多年如一日的积累汇聚成了一本《Linux大棚命令百篇》。

玖哥的书房 3726

3. oracle学习入门系列之三Unix、Linux历史及基础

oracle学习入门系列之三Unix、Linux历史及基础        终于翻过了前面两篇,喝杯咖啡提下神,咱们继续前行。这次我们要进行操作系统方面知识了,考虑到当前时间上操作系统的多样性、变化性等,蛤蟆斟酌再三,决定还是Unix/Linux比较符合我们的实际。        开始之前不得不又提几个问题: 1、  Unix 从哪里来 2、  Linux从哪里来 3、  Unix/Lin

badman250的专栏 3万+
上一篇: 一文学完Linux常用命令
Code_ForYou
博客等级 码龄5年 0粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值