[消息] Linux 诞生 30 周年

30 年前的今天,Linux 诞生了。

作为一款可免费使用和自由传播的开源操作系统,自由、平等、博爱、公开、共享、人人皆可参与、属于每一个人的开源精神和理念,让全世界各地的非盈利性机构、爱好者、从业人员、公司和政府部门都能够参与进来,共同促进它的进步。

随着时间的推移,由美国国家航天局 (NASA) 创建的 OpenStack 云计算平台、由 Docker 公司创建的容器技术等,一个个极具革命性的创新基于 Linux 诞生。这些创新空前提高了互联网行业的创新效率和生产效率,并附带提高了其他几乎所有行业的生产力,让地球上所有的人类都离贫困更远,生活也变得更加丰富多彩。

Linux 如今已成为了无国界操作系统的代名词,同时也是当今互联网行业的基础。

[消息] 史蒂夫·乔布斯 (Steve Jobs) 逝世 10 周年

10 年前的今天,史蒂夫·乔布斯 (Steve Jobs) 离开了这个世界。

他拥有天才般的创新 (或者汇聚创新的能力) ,他能独具慧眼地将这些创新实践于人们的生活,他执着地精益求精、追求完美。可以说,现在在人类几乎所有行业中都属于第一生产力的 Windows、Android、iOS 等操作系统都曾借鉴过他的创新或实践。由他首推的各类图形化操作系统,电脑、平板、手机等硬件产品,彻底改变了我们的生活和我们的世界。

他以及他的创新、他的实践、他的精益求精、他的执着、他的追求完美,大大提高了地球上几乎所有行业的生产效率,让地球上所有的人类都离贫困更远,同时也让人们的生活变得更加丰富多彩。

在人类的历史中,能够改变世界的人并不多,能依靠创新和实践把世界往好的方向改变的人,几乎都可以用伟大来形容。

[命令] Linux 命令 seq (显示数字序列)

内容一:seq 命令格式

1) seq <option> <first number>
2) seq <option> <first number> <last number>
3) seq <option> <first number> <increment> <last number>

内容二:seq 命令的选项

1) -f 指定序列的格式
2) -s 指定序列的间隔符
3) -w 使序列宽度相同
4) –equal-width 使序列宽度相同

内容三:seq 命令的使用案例

3.1 案例一:seq 显示普通的数字序列

3.1.1 显示从 1 到某个数字到数字序列
# seq 5
1
2
3
4
5

(补充:这里以显示 1 到 5 的数字序列为例)

3.1.2 显示从某个数字开始到某个数字结束的数字序列
# seq 3 7
3
4
5
6
7

(补充:这里以显示 3 到 7 的数字序列为例)

3.1.3 显示从某个数字开始到某个数字结束有数值差距的数字序列
# seq 4 2 8
4
6
8

(补充:这里以显示 4 到 8 数值差距为 2 的数字序列为例)

3.2 案例二:seq 显示指定前缀的数字序列

3.2.1 显示将某个字符串作为前缀的数字序列
# seq -f "num%g" 5
num1
num2
num3
num4
num5

(补充:这里以显示 1 到 5 并且将 num 作为前缀的数字序列为例)

3.2.2 显示将某个字符串和几个空格作为前缀的数字序列
# seq -f "num%3g" 5
num  1
num  2
num  3
num  4
num  5

(补充:这里以显示 1 到 5 并且将 num 和 2 个空格作为前缀的数字序列为例)

3.2.3 显示将某个字符串和几个字符作为前缀的数字序列
# seq -f "num%03g" 5
num001
num002
num003
num004
num005

(补充:这里以显示 1 到 5 并且将 num 和 2 个 0 作为前缀的数字序列为例)

3.3 案例三:seq 显示指定间隔符的数字序列

3.3.1 显示没有间隔符的数字序列
# seq -s '' 5
12345

(补充:这里以显示 1 到 5 并且没有间隔符的数字序列为例)

3.3.2 显示间隔符是空格的数字序列
# seq -s ' ' 5
1 2 3 4 5

(补充:这里以显示 1 到 5 并且以空格作为间隔的数字序列为例)

3.3.3 显示间隔符是某个字符的数字序列
# seq -s '#' 5
1#2#3#4#5

(补充:这里以显示 1 到 5 并且以 # 作为间隔的数字序列为例)

3.4 案例四:seq 显示指定宽度的数字序列

# seq -w 1 10
01
02
03
04
05
06
07
08
09
10

或者:

# seq --equal-width 1 10
01
02
03
04
05
06
07
08
09
10

3.5 案例五:seq 使用变量显示数字序列

# a=5
# seq $a
1
2
3
4
5

(补充:这里以将变量 a 的值设置为 5 ,并且显示 1 到变量 a 的值的数字变量为例)

3.6 案例六:将 seq 显示的数字序列导入到一个文件里

# seq 1 5 > test.txt
# cat test.txt
1
2
3
4
5

或者:

# seq 1 5 | xargs -I{} echo {} > test.txt

# cat test.txt
1
2
3
4
5

(补充:这里以显示 1 到 5 的数字序列并导入到 test.txt 文件为例)

[步骤] 系统升级 (从 openSUSE Leap 15.2 升级到 openSUSE Leap 15.3)

步骤一:显示现在的系统版本

# cat /etc/*release*
NAME="openSUSE Leap"
VERSION="15.2"
ID="opensuse-leap"
ID_LIKE="suse opensuse"
VERSION_ID="15.2"
PRETTY_NAME="openSUSE Leap 15.2"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:leap:15.2"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"

(注意:确保显示的系统版本是 openSUSE Leap 15.2)

步骤二:准备升级

2.1 确认已使用的软件库

# zypper ls -d
#  | Alias                     | Name                               | Enabled | GPG Check | Refresh | Priority | Type   | URI
---+---------------------------+------------------------------------+---------+-----------+---------+----------+--------+---------------------------------------------------------------------------------------------
1  | repo-non-oss              | Non-OSS Repository                 | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.2/repo/non-oss/
2  | repo-oss                  | Main Repository                    | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.2/repo/oss/
3  | repo-update               | Main Update Repository             | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.2/oss/
4  | repo-update-non-oss       | Update Repository (Non-Oss)        | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.2/non-oss/

(补充:确保以上软件库已处于 Enabled 状态)

2.2 刷新已使用的软件库

# zypper ref

(注意:确保刷新成功,否则请检查网络)

2.3 将所有 openSUSE Leap 15.2 软件包更新到最新版本

# zypper -n update

2.4 用 releasever 变量替换所有版本号

# sed -i 's/15.2/${releasever}/g' /etc/zypp/repos.d/*.repo

步骤三:升级系统

3.1 将版本号设置为 15.3 并刷新

# zypper --releasever=15.3 refresh

3.2 提前下载并安装 openSUSE Leap 15.3 所需的软件包

# zypper --releasever=15.3 dup --download-in-advance

3.3 升级系统

# zypper --releasever=15.3 dup

3.4 重启系统

# reboot

步骤四:后续检查

4.1 显示升级后的系统版本

# cat /etc/*release*
NAME="openSUSE Leap"
VERSION="15.3"
ID="opensuse-leap"
ID_LIKE="suse opensuse"
VERSION_ID="15.3"
PRETTY_NAME="openSUSE Leap 15.3"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:leap:15.3"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"

4.2 显示升级后已使用的软件库

# zypper ls -d
#  | Alias                     | Name                                                         | Enabled | GPG Check | Refresh | Priority | Type   | URI
---+---------------------------+------------------------------------+---------+-----------+---------+----------+--------+---------------------------------------------------------------------------------------------
1  | repo-non-oss              | Non-OSS Repository                                           | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.3/repo/non-oss/
2  | repo-oss                  | Main Repository                                              | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.3/repo/oss/
3 | repo-update                | Main Update Repository                                       | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.3/oss/
4 | repo-update-non-oss        | Update Repository (Non-Oss)                                  | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.3/non-oss/
4  | repo-backports-update     | Update repository of openSUSE Backports                      | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.3/backports/
5  | repo-sle-update           | Update repository with updates from SUSE Linux Enterprise 15 | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.3/sle/

(注意:升级到 openSUSE Leap 15.3 系统后,自动新增加了 repo-backports-update 软件库和 repo-sle-update 软件库)