【Linux】shell脚本的常用命令

news2025/7/16 6:36:21

目录

简介

一.设置主机名称

1.1通过文件修改

1.2通过命令修改

二.网络管理命令nmcli

2.1查看网卡

2.2设置网卡

三.简单处理字符

3.1seq打印连续字符

3.2printf,echo打印字符

3.3sort排序

3.4uniq冗余处理 

3.5cut对字符的截取

四.xargs输入转参


简介

以下命令都是在编写shell脚本常用的命令

一.设置主机名称

1.1通过文件修改--/etc/hostname

#通过配置文件来修改主机名
[root@localhost ~]# vim /etc/hostname
[root@localhost ~]# cat /etc/hostname
fjwyyy.org
[root@localhost ~]# hostnamectl
 Static hostname: fjwyyy.org

1.2通过命令修改

#通过命令直接修改主机名
[root@fjwyyy ~]# hostnamectl hostname FJWYYY
[root@fjwyyy ~]# hostnamectl
 Static hostname: FJWYYY


二.网络管理命令nmcli

2.1查看网卡


[root@FJWYYY ~]# nmcli device show ens160
[root@FJWYYY ~]# nmcli device status
[root@FJWYYY ~]# nmcli connection show
[root@FJWYYY ~]# nmcli connection show ens160

2.2设置网卡

#没有网卡时添加静态网卡
nmcli connection add type ethernet con-name test \
ifname ens160 ipv4.method manual \
ipv4.addresses 192.168.81.100/24        

#更改网卡信息
nmcli connection modify test ipv4.addresses 192.168.81.100/24


三.简单处理字符

3.1seq打印连续字符

seq 1 5            
seq 1 2 5            #设置步长为2
seq -f "%03g" 1 3    #将格式设置为00x来打印
seq -f "%02g" 1 3    #将格式设置为02来打印
seq 5 -2 1           #将步长设置为-2,实现反向打印

seq 1 10 > test
tac test

3.2printf,echo打印字符

printf与echo的区别是,echo是linux内置的命令功能齐全

printf "helo world"
printf "hello world\n"         #\n换行
printf "hello\tworld\n"        #\t制表符
printf "3%%\n"                 #%%打印%
printf "%.0f" "3.1415926"      #"%.0f" 打印整数
printf "%.1f" "3.1415926"      #"%.1f" 打印浮点数
printf "%.2f\n" "3.1415926"

echo "hello world"
echo -n "hello world"       # 取消换行输出
echo -e "hello\tworld"        #-e 实现转义
echo -e  "\r"
echo -e "\033[33mhello fjw\033"    #设置shell字符颜色
echo -e "\033[34mhello fjw\033[0m"    #设置单次输出shell字符颜色


3.3sort排序

先生成测试文件

[root@localhost ~]# sort -n test            # -n 对数字进行排序
[root@localhost ~]# sort -rn test           # -r 对数字进行倒叙
[root@localhost ~]# sort -un test           # -u 去重复
[root@localhost ~]# sort -n test -o fjw     # -o 将排序后的结果输出到文件中
[root@localhost ~]# cat fjw
[root@localhost ~]# sort -n -t ":" -k 2 test2    #-t 指定分隔符  -k 指定列数

3.4uniq冗余处理 

要对文本先排序后冗余
[root@localhost ~]# sort -n test3 | uniq -c    
[root@localhost ~]# sort -n test3 | uniq -d
[root@localhost ~]# sort -n test3 | uniq -u

3.5cut对字符的截取

[root@localhost ~]# cut -d : -f 1 test4
[root@localhost ~]# cut -d : -f 1,5 test4
[root@localhost ~]# cut -d : -f 1-3 test4
[root@localhost ~]# cut -d : -f -3 test4
[root@localhost ~]# cut -d : -f 5- test4
-d 指定分隔符 -f 指定显示的列数 


[root@localhost ~]# cut -c 1-4 test4
[root@localhost ~]# cut -c 1-10 test4


四.xargs输入转参

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

4.1将输入通过管道xargs进行转参

[root@localhost ~]# seq 1 5 | xargs touch
[root@localhost ~]# seq 1 5 | xargs xargs rm -rf

4.2修改输出行数与个数

#将多行输入转单行输出
[root@localhost ~]# xargs < test5
#指定每行输出个数
[root@localhost ~]# xargs -n 3 < test5

4.3指定分隔符来去掉分隔符

#指定分隔符
[root@localhost ~]# echo "abc:abc:abc" | xargs -d :
[root@localhost ~]# echo "abc:abc:abc" | xargs -d a

4.4使用字符代表接受值进行批量处理

#用字符代替接受值
[root@localhost mnt]# ls * | xargs -Ifjw cp fjw /media/fjw.bak
[root@localhost mnt]# ls /media/
file1.bak  file2.bak  file3.bak  file4.bak  file5.bak

[root@localhost mnt]# ls * | xargs -pIhaha mv haha /media/haha.bak #-p参数用于提示用户是否确认操作
mv file1 /media/file1.bak?...y
mv file2 /media/file2.bak?...y
mv file3 /media/file3.bak?...y
mv file4 /media/file4.bak?...n
mv file5 /media/file5.bak?...y

[root@localhost mnt]# echo | xargs -r cp file file.bak

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2387792.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Pycharm and Flask 的学习心得(9)

request对象&#xff1a; 1. request包含前端发送过来的所有请求数据 将from表单里的内容CV到request里面&#xff0c;可以添加if语句来做判断出请求类型后的操作 在网页上的表单上input的数据&#xff0c;后端如何获取呢&#xff1f; request对象获取前端发送来的数据 // …

Linux初始-环境安装(2)

文章目录 安装问题&#xff08;1-1.51.39&#xff09;xshell的下载和登录步骤xshell创建多用户与删除用户xshell免密码登录 简介&#xff1a;这篇文章我认为对于初学Linux还是非常重要的&#xff0c;正所谓磨刀不误砍柴工&#xff0c;工具环境准备好了&#xff0c;后面的学习才…

Python Day34 学习

今日内容 通过“心脏病数据集”对之前的内容进行复习&#xff0c;再进行新内容“元组和OS模块”的学习。 机器学习模型建模和评估&#xff08;先不考虑调参&#xff09; 基于之前已经预处理过的心脏病数据集 划分数据值 模型训练与模型评估 # 随机森林 rf_model RandomFo…

【ASR】基于分块非自回归模型的流式端到端语音识别

论文地址:https://arxiv.org/abs/2107.09428 摘要 非自回归 (NAR) 模型在语音处理中越来越受到关注。 凭借最新的基于注意力的自动语音识别 (ASR) 结构,与自回归 (AR) 模型相比,NAR 可以在仅精度略有下降的情况下实现有前景的实时因子 (RTF) 提升。 然而,识别推理需要等待…

国芯思辰|国产FRAM SF25C128助力监控系统高效低功耗解决方案,对标MB85RS128/FM25V01

监控系统已成为保障公共安全、维护社会秩序的重要工具。随着监控系统的不断发展&#xff0c;对数据存储的要求也越来越高&#xff0c;不仅需要大容量、高速度的存储设备&#xff0c;还要求其具备高可靠性和低功耗等特性。国产铁电存储器 SF25C128作为一种新型非易失性存储器&am…

攻防世界逆向刷题笔记(新手模式9-1?)

bad_python 看样子是pyc文件损坏了。利用工具打开&#xff0c;发现是MAGIC坏了。搜下也没有头绪。 攻防世界-难度1- bad_python - _rainyday - 博客园 python Magic Number对照表以及pyc修复方法 - iPlayForSG - 博客园 看WP才知道36已经提示了pyc版本了。参考第二个文章&am…

制作一款打飞机游戏58:子弹模式组合

今天我们将继续深入探讨子弹模式系统&#xff0c;并在我们的模式编辑器上做一些收尾工作。 子弹模式系统的乐趣 首先&#xff0c;我想说&#xff0c;这个子弹模式系统真的非常有趣。看着屏幕上不断喷射的子弹&#xff0c;感觉真是太棒了&#xff01; 合并修饰符 今天&#…

使用新一代达梦管理工具SQLark,高效处理 JSON/XML 数据!

在应用开发领域&#xff0c;JSON/XML数据结构因其灵活性和通用性&#xff0c;成为开发者存储和交换数据的首选。然而&#xff0c;传统管理工具在处理这些半结构化数据时&#xff0c;往往存在可视化效果差、编辑效率低等问题&#xff0c;严重影响开发者的工作效率。 现在&#…

深入了解PyTorch:起源、优势、发展与安装指南

深入了解PyTorch&#xff1a;起源、优势、发展与安装指南 目录 引言PyTorch简介PyTorch的优势 动态计算图直观易用的API强大的社区支持丰富的生态系统高性能与可扩展性 PyTorch的发展历程PyTorch的主要组件 Torch.TensorAutograd自动求导nn模块TorchvisionTorchText和TorchAu…

DeepSeek智能对话助手项目

目录&#xff1a; 1、效果图2、实现代码3、温度和TopK的作用对比 1、效果图 2、实现代码 # import gradio as gr# def reverse_text(text): # return text[::-1]# demogr.Interface(fnreverse_text,inputs"text",outputs"text")# demo.launch(share&q…

浅谈Mysql的MVCC机制(RC与RR隔离级别)

MVCC&#xff08;Multi-Version Concurrency Control&#xff09;多版本并发控制 说这个我们先来了解一下Mysql的隔离级别&#xff0c;因为MVCC和Mysql的隔离级别是有关的。 Mysql默认的隔离级别是RR&#xff08;可重复读&#xff09; 其他的隔离级别是读未提交&#xff08;…

uniapp-商城-72-shop(5-商品列表,购物车实现回顾)

我们通过前面的章节已经将数据添加到了购物车,但实际上购物车的处理还有很多东西需要完成。 我们看看如何将商品添加到购物车。 本文介绍了购物车功能的实现方式,重点讲解了如何将商品添加到购物车以及购物车状态管理的处理机制。主要内容包括:1. 通过Vuex管理购物车状态,包…

MySQL#Select语句执行过程

服务端程序架构 MySQL 是典型的 C/S 架构&#xff0c;即 Client/Server 架构&#xff0c;服务器端程序mysqld。 Select语句执行过程 连接层 客户端和服务器端建立连接&#xff0c;客户端发送 SQL 至服务器端 SQL层 SQL语句处理 查询缓存&#xff1a; 缓存命中该SQL执行结果直…

hbuilder中h5转为小程序提交发布审核

【注意】 [HBuilder] 11:59:15.179 此应用 DCloud appid 为 __UNI__9F9CC77 &#xff0c;您不是这个应用的项目成员。1、联系这个应用的所有者&#xff0c;请求加入项目成员&#xff08;https://dev.dcloud.net.cn "成员管理"-"添加项目成员"&#xff09;…

【数据结构】单链表练习

1.链表的中间节点 https://leetcode.cn/problems/middle-of-the-linked-list/description/ 用快慢指针来解决 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* middleNode(struct ListNode* he…

学习vue3:跨组件通信(provide+inject)

目录 一&#xff0c;关于跨组件通信概述 二&#xff0c;跨组件传值 案例1(爷传孙&#xff09; 三&#xff0c;跨组件传函数 案例2(爷传孙&#xff09; 疑问&#xff1a;孙子传给爷爷是否可行呢&#xff1f; 一&#xff0c;关于跨组件通信概述 之前我们学习了父子组件的传…

【菜狗work前端】小程序加if判断时不及时刷新 vs Web

零、前提&#xff1a; 实现input输入数字不大于10000&#xff08;需要配合typenumber&#xff0c;maxlength5&#xff0c;这里没写&#xff09; 一、探究代码&#xff1a; <input v-model"model1" input"changeModel1" placeholder"请输入拒收件…

TCP 三次握手:详解与原理

无图、长文警告&#xff01;&#xff01;&#xff01;&#xff01; 文章目录 一、引言二、TCP 三次握手的过程&#xff08;一&#xff09;第一次握手&#xff1a;SYN&#xff08;同步序列号&#xff09;&#xff08;二&#xff09;第二次握手&#xff1a;SYN-ACK&#xff08;同…

LabVIEW累加器标签通道

主要展示了 Accumulator Tag 通道的使用&#xff0c;通过三个并行运行的循环模拟不同数值的多个随机序列&#xff0c;分别以不同频率向累加器写入数值&#xff0c;右侧循环每秒读取累加器值&#xff0c;同时可切换查看每秒内每次事件的平均值&#xff0c;用于演示多线程数据交互…

永磁同步电机控制算法--IP调节器

一、基本原理 在电机控制领域&#xff0c;现今普遍使用的是比例-积分(PI)控制器。然而&#xff0c;PI控制器有一些缺点&#xff0c;可能会在某些应用中产生一些问题&#xff0c;例如:一个非常快的响应&#xff0c;也同时具有过大的超调量。虽然设计PI控制器时&#xff0c;可以…