欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > RHCE的学习(15)

RHCE的学习(15)

2025/6/20 13:10:06 来源:https://blog.csdn.net/Starry__Sky222/article/details/143650164  浏览:    关键词:RHCE的学习(15)

第零章 常用命令回顾


设置主机名

  • 刚安装好的欧拉系统默认主机名为 localhost,我们可为其设置新的主机名称,如 OpenEuler。设置主机名称可以有以下两种方式:

  • 1.修改 /etc/hostname 文件,在文件中写入主机名称即可

vim /etc/hostname
# 添加如下内容
openEuler
# 保存退出
  • 2.使用 hostnamectl 命令来修改,命令使用格式为:

hostnamectl  set-hostname  主机名称
# 修改主机名称
[root@localhost ~]# hostnamectl set-hostname OpenEuler

推荐使用命令方式来进行设置。

nmcli

格式

nmcli [OPTIONS] OBJECT { COMMAND | help }

查看网卡名称

[root@server ~]# ip a
​
[root@server ~]# ifconfig
​
[root@server ~]# nmcli device
​
[root@server ~]# nmcli device show

设置IP地址为150

[root@server ~]# nmcli c modify ens32 ipv4.addresses 192.168.72.150/24 ipv4.method manual ipv4.dns 114.114.114.114
[root@server ~]# nmcli c modify ens32 ipv4.gateway 192.168.72.2
[root@server ~]# nmcli c modify ens32 autoconnect yes
[root@server ~]# nmcli c up ens32

增加IP

[root@server ~]# nmcli c modify ens32 +ipv4.addresses 192.168.72.151/24
[root@server ~]# nmcli c up ens32

echo

作用

  • echo是用于终端打印的基本命令,默认情况下,echo 在每次调用后会添加一个换行符

echo参数选项说明
-n不换行输出内容
-e解析转义字符

示例

[root@server ~]# echo -n i have a cat
​
[root@server ~]# echo i\thave\ta\tcat
​
[root@server ~]# echo -e i\thave\ta\tcat
​
[root@server ~]# echo -e "i\thave\ta\tcat"

export

  • export命令用于设置或者显示环境变量。

[root@server ~]# mingzi=hehe
[root@server ~]# echo $mingzi
hehe
​
# 进入子shell
[root@server ~]# bash
[root@server ~]# echo $mingzi
# 返回父shell
[root@server ~]# exit
exit
​
[root@server ~]# export mingzi
# 进入子shell
[root@server ~]# bash
[root@server ~]# echo $mingzi
hehe

read

作用

  • read 命令可从标准输入读取字符串等信息,然后传递给shell程序内部定义的变量使用。

  • read 是一个重要的 bash 命令,用于从键盘或标准输入读取文本,我们可以使用 read 命令以交互形式读取来自用户的输入,当然 read 能做的远不止这些。

  • 通常我们按下回车键表示命令输入完成,但是很特殊情况下,我们需要基于字符数或者特定字符来表示命令输入完成

语法

read [选项]
常用选项:
-a  读取的内容存入数组
-d  持续读取直到读入 DELIM 变量中的第一个字符,而不是换行符
-i  用于给变量一个默认值
-k  用于读取指定数量的键盘输入内容
-n/N 读取N个字符
-p  指定提示信息,用于等待输入
-r  不允许反斜杠转义任何字符
-s  从标准输入中读取密码而不在屏幕上显示输入的字符
-t  设置读取输入的超时时间,单位为秒

示例

# 1. 读取单个或多个变量
[root@server ~]# read a
​
[root@server ~]# echo $a
​
[root@server ~]# read a b c 
​
[root@server ~]# echo $a $b $c
​
# 2. 将读取的数据存入数组中
[root@server ~]# read -a array
​
[root@openEuler ~]# echo ${array[@]}
​
[root@openEuler ~]# echo ${array[0]}
​
[root@openEuler ~]# echo ${array[1]}
​
# 3. 显示输入提示符
[root@server ~]# read -p "please input your name: " name
[root@server ~]# echo $name
​
# 4. 显示输入提示符且设置读取超时
[root@server ~]# read -t 10 -p "please input your name:" name
​
[root@server ~]# echo $name
​
# 5. 读取N个字符
[root@server ~]# read -n 3 -p "please input content:" answer
[root@server ~]# echo $answer
​
# 6. 用读取一个定长的验证码
[root@server ~]# read -k 6 -p "请输入6位验证码: " code
[root@server ~]# echo $code
​
# 7. 提示用户输入年份,如果用户不输入则使用默认值
[root@server ~]# read -i 2025 -p "请输入当前所处的年份(默认为2025): " year
[root@server ~]# echo "当前年份是: $year"
​
# 8. 提示用户输入密码
[root@server ~]# read -s -p "请输入您的密码: " password
[root@server ~]# echo $password
heheheheheheh
​
# 9. 用定界符输入
[root@server ~]# read -d ":" haha
heheheheeheheheh:[root@server ~]# 
[root@server ~]# echo $haha
heheheheeheheheh

lscpu

  • 在Linux系统中,lscpu命令是用于显示和收集有关CPU(中央处理器)架构和相关信息的命令。它提供了关于CPU的详细信息,包括处理器类型、架构、核心数、线程数、缓存大小等。

[root@server ~]# lscpu
Architecture:            x86_64CPU op-mode(s):        32-bit, 64-bitAddress sizes:         45 bits physical, 48 bits virtualByte Order:            Little Endian
CPU(s):                  4On-line CPU(s) list:   0-3
Vendor ID:               AuthenticAMDBIOS Vendor ID:        AuthenticAMDModel name:            AMD Ryzen 7 5800H with Radeon GraphicsBIOS Model name:     AMD Ryzen 7 5800H with Radeon Graphics         CPU family:          25Model:               80Thread(s) per core:  1Core(s) per socket:  2Socket(s):           2Stepping:            0BogoMIPS:            6387.99

重定向

三个数据流概念:

  • 标准输入(standard input,简称stdin):默认情况下标准输入指从键盘获取的输入,用数字 0 表示

  • 标准输出(standard output,简称stdout):默认情况下将命令执行所回传的正确信息输出到屏幕上,用数字 1 表示

  • 标准错误输出(standard error output,简称stderr):默认情况下是将命令执行失败后所回传的错误信息输出到屏幕上,用数字 2 表示

符号

  • 输出重定向操作符:>>>

  • 输入重定向操作符:<<<<<<

输出重定向

  • 输出重定向是将命令执行后的信息输出到指定设备或文件中,如果文件不存在会自动创建。使用格式如:

# 1. 将命令执行后的标准输出信息输出到指定文件中
command > output_file
# 或者
command 1> output_file
​
# 2. 将命令执行后的标准错误信息输出到指定文件中
command 2> output_file
​
# 3. 将命令执行后的标准错误信息输出到空设备中(即将输出的错误信息丢弃掉)
command 2> /dev/null
​
# 4. 将命令执行后的信息(包括正确和错误)输出到指定文件中
command &> 文件
# 或
command >&文件
  • 输出重定向案例:

# 1. 输出重定向(覆盖)
[root@server ~]# date  > date.txt
[root@server ~]# date  1> date1.txt
​
# 2. 输出重定向(追加)
[root@server ~]# date >> date.txt
​
# 3. 错误输出重定向到不同的位置
[root@server ~]# ls /home/  /aaa >list.txt 
ls: 无法访问/aaa: 没有那个文件或目录
[root@server ~]# ls /home/  /aaa >list.txt  2>error.txt
​
# 4. 正确和错误都输入到相同位置
[root@server ~]# ls /home/  /aaa &>list.txt
​
# 5. 正确和错误都输入到相同位置
[root@server ~]# ls /home/  /aaa >list.txt 2>&1
​
# 6. 重定向到空设备/dev/null
[root@server ~]# ls /home/  /aaa >list.txt 2>/dev/null
[root@server ~]# ls /home/  /aaa &>/dev/null

说明:在命令中,"2>&1"通常表示将命令的错误输出(标准错误)和标准输出(通常是指屏幕上的输出)都发送到同一个文件或设备上。

输入重定向

  • 输入重定向是使用指令从指定的文件和内容中读取数据作为该指令的输入数据。有以下三种输入重定向符:

    • <:能够将文件中的数据传递给某个命令,从而让命令以文件内容作为输入进行操作。格式:

    command < input_file
    • <<:引入了一种特殊的文本块,称为Here Document。Here Document 允许在命令行中嵌入多行文本块作为命令的输入。格式:

    command << delimiter
    unquoted content here
    $variable_expansion
    $(command_substitution)
    delimiter

    注意:如果delimiter没加双引号时会执行变量扩展和命令替换,如果加了引号则不会执行。

    • <<<:允许我们将单行字符串传递给命令作为其输入。格式:

    command <<< "This string becomes stdin"
  • 输入重定向案例:

# 1. 从文件读取数据作为cat命令的输入
[root@server ~]# echo  test > file    
[root@server ~]# cat < file
test
​
# 2. 统计文件内容的行数
[root@server ~]# wc -l file 
1 test
[root@server ~]# wc -l < file 
1
​
# 3. 将指定内容写入到文件中
[root@server ~]# cat > file3 << end
> hello
> world
> end
# 利用<<右侧的控制字符,我们可以终止输入,不必输入ctrl+d来结束。
​
[root@server ~]# cat file3
hello
​
# 4. mysql表结构导入
[root@server ~]# mysql -uroot -p123 < bbs.sql
​
# 5. 应用于at计划任务
[root@server ~]# vim at.txt 
echo hello
[root@server ~]# at now +2 min < at.txt
job 2 at 2015-06-09 11:55
​
# 6. 在一个字符串中查找特定的关键词
[root@server ~]# grep "keyword" <<< "This is an example text containing the keyword."

wget

作用

  • 从指定的URL下载文件

  • wget命令非常稳定,一般即便网络波动也不会导致下载失败,而是不断尝试重连,直到整个文件下载完毕

  • wget命令支持如HTTP、HTTPS、FTP等常见协议,可以在命令行中直接下载网络文件

格式

wget [OPTION]... [URL]...
​
常用选项:
-V:查看wget的版本
-O,--output-document=FILE:将下载的内容写入到文件中
-c,--continue:支持断点续传
-b:后台下载
--limit-rate=RATE:限制下载速度
-q:静默下载,即无信息输出
-T,--timeout=SECONDS:下载的超时时间
-t,--tries=NUMBER:用于设置重试次数(0 代表无限制)
--spider:不下载任何文件

示例

# 安装wget
[root@server ~]# dnf install -y wget
​
# 1. 查看版本
[root@server ~]# wget -V
​
# 2. 下载文件
[root@server ~]# wget https://n.sinaimg.cn/sinakd2020723s/213/w2048h1365/20200723/3918-iwtqvyk4060964.jpg
​
# 3. 下载文件,使用 -O 参数来指定保存文件名
[root@server ~]# wget -O ./hzha.jpg https://n.sinaimg.cn/sinakd2020723s/213/w2048h1365/20200723/3918-iwtqvyk4060964.jpg
​
# 4. 限制下载速度,使用 --limit-rate 参数
[root@server ~]# wget --limit-rate=1k -O ./hzha2.jpg https://n.sinaimg.cn/sinakd2020723s/213/w2048h1365/20200723/3918-iwtqvyk4060964.jpg
​
# 5. 支持断点续传的形式,使用 -c 参数
[root@server ~]# wget -c --limit-rate=2k -O ./hzha2.jpg https://n.sinaimg.cn/sinakd2020723s/213/w2048h1365/20200723/3918-iwtqvyk4060964.jpg
# 然后按 ctrl+c 终断,然后再执行这个命令,可以看到断点续传
​
# 6. 后台下载,使用 -b 参数
[root@server ~]# wget -b --limit-rate=2k -O ./hzha3.jpg https://n.sinaimg.cn/sinakd2020723s/213/w2048h1365/20200723/3918-iwtqvyk4060964.jpg
​
# 可看下载日志
[root@server ~]# tail -f wget-log
​
# 7. 通过 --user-agent 参数设置客户端身份。
[root@server ~]# wget -O /tmp/xxx.index http://www.baidu.com  # 默认为PC端
[root@server ~]# wget --user-agent="" -O /tmp/xxx.index http://www.baidu.com
# user-agent 的值可以从 f12 的 Request Headers 部分中找到
​
# 8. 下载整个网站,使用 -r 参数
[root@server ~]# wget -O /tmp/ -r http://www.baidu.com
​
# 9. 利用wget可检测网站是否存活,可以使用 -q 参数(表示安静模式,即无信息输出),-T或--timeout 参数用于将所以超时设置为指定的秒,-t或--tries 参数用于设置重试次数(0 代表无限制),--spider 参数表示不下载任何文件
[root@server ~]# wget -q -T 3 -t 2 --spider http://www.baidu.com
​
[root@server ~]# echo $?

watch

作用

  • watch命令是周期性的用来执行某命令,并把某命令执行结果输出到屏幕上

  • 使用watch命令,可以周期性的监测并输出某命令的执行结果到屏幕上,省得手动一遍一遍运行某命令,提高工作效率。

常用参数

参数说明
-hwatch帮助文档
-n设置watch时间间隔,默认为2s
-d高亮显示变化的区域
-t不显示顶部的时间间隔信息

示例

# 设置watch的时间间隔为4s
watch -n 4 ls
​
# 高亮显示watch变化的区域
watch -d ls
​
# 不显示顶部时间间隔信息
watch -t ls
  • 以上命令通过"Ctrl + c"退出

xargs

作用

  • xargs 命令作用是将标准输入数据转换成命令行参数,能够处理管道或者标准输入并将其转换成特定命令的命令参数

格式

xargs [选项] [命令]
​
常用选项:
-I:用于指定替换字符串,将输入数据中的特定字符串替换为命令行参数。
-n:用于指定每次执行命令的参数个数。
-t:用于打印执行的命令。
-p:用于提示用户确认是否执行命令。
-r:当标准输入为空时,不执行命令。

示例

# 准备数据
[root@server ~]# cat > test.txt << EOF
> 
> a b c d e f g
> h i j k l m n
> o p q
> r s t
> u v w x y z
> 
> EOF
​
# 多行输入单行输出:
[root@server ~]# cat test.txt | xargs
a b c d e f g h i j k l m n o p q r s t u v w x y z
​
# 使用 -n 参数指定一次输出的参数个数
[root@server ~]# cat test.txt | xargs -n3
​
a b c
d e f
g h i
j k l
m n o
p q r
s t u
v w x
y z
​
# 使用 -d 参数指定分割输入定界符
[root@server ~]# echo "nameXnameXnameXname" | xargs -dX
name name name name
​
# 结合 -n 选项使用:
[root@server ~]# echo "nameXnameXnameXname" | xargs -dX -n2
name name
name name
​
# 结合 -I 选项指定一个替换字符串{},这个字符串在 xargs 扩展时会被替换掉,当 -I 与 xargs 结合使用,每一个参数命令都会被执行一次。
#如:复制所有txt文件到 /d1 目录下:
[root@server ~]# mkdir d1
[root@server ~]# ls *.txt | xargs -n1 -I {} cp {} d1/

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com