当前位置: 首页 > news >正文

Linux 命令集

修改主机名/关机/重启

1)hostnamectl 命令
$ hostnamectl   # 查看操作系统信息(内核、操作系统发行版本、主机名等)
$ hostnamectl set-hostname redhatu8  # 修改主机名2)shutdown 关机
$ shutdown -h now   # 马上关机3) 重启
$ reboot

su 切换用户

$ su - username     # 切换到用户
$ su username       # 命令行层面的切换用户

date 显示时间

$ date +%s                  # 显示当前时间戳
$ date -d '@1683560962'     # 将时间戳转换成时间显示

echo 打印输出

$ echo -e "123\n456"            echo 输出字符(换行)
$ echo '' > /var/log/test.log   清空日志文件

bc | expr  算术

1) bc 进入算术交互界面
$ bc
8/2
42) expr 命令行表达式算数命令(非交互)
$ expr 2+2
2+2

查看文件/目录命令 * 

1)cat 查看文件内容2)ls 命令查看文件
$ ls --color # 显示颜色3) head/tail 查看头部/尾部内容
$ head -n 3 /etc/passwd
$ tail -n 2 /etc/passwd
$ tail -f 2 /var/log/test.log  # 实时输出4)more/less 分页显示
$ more /var/log/test.log 5)file 显示文件类型
$ file /etc/
$ file /etc/passwd

alias 别名

1) 临时设置命令别名
$ alias ls='echo hellokitty'2) 永久设置别名
$ vim .bashrc
$ source .bashrc 

通配符?\''[]*

1) ?  代表一个非空字符
$ ls a??c
aggc  appc  awec2) \  转义字符,让特殊字符失去意义
$ touch l\\
$ ls
l\3) ''  让特殊字符失去意义
$ touch 'g\'v
$ ls
g\4) []  匹配中括号中包含的一个字符
$ ls
a?  aa  aggc  appc  awec
$ ls a[pc][op]c
appc5) * 匹配所有字符
$ ls a*c
aggc  appc  awec6) [a-z] 匹配任意小写字母  [A-Z] 匹配任意大写字母  [1-9] 匹配任意数字
$ ls
a19b  a1b  aAAb  aAb  adb  aDDb
$ ls a[1-9]b
a1b
$ ls a[1-9][1-9]b
a19b
$ ls a[a-z]b
aAb  adb
$ ls a[A-Z][A-Z]b
aAAb  aDDb

vim 编辑文本 *

1. 进入编辑模式

1) i表示在光标的位置插入
2) I表示从该行最前面插入
3) a表示在光标后的位置插入
4) A表示从从该行最后面插入
5) o表示在当前的下一行插入
6)  O表示在当前的上一行插入

2. 命令模式

1) 定位
gg	跳转到第一行
G	跳转到最后一行
nG	跳转到第n行
0	跳转到行首
$	跳转到行尾2) 删除
x	 将光标所在处的字符进行剪切(删除)
nx	 将光标之后的n的字符进行剪切(删除)
dd	 将光标所在行进行剪切(删除)
ndd	 将光标所在行之后的n行进行剪切(删除)
dG	 将光标所在行到文章末尾进行剪切(删除)
D	 将光标所在处到行尾进行剪切(删除)3) 复制和粘贴
yy	复制当前行
nyy	复制当前行以下的n行
p	粘贴在当前光标所在行下
P	粘贴在当前光标所在行上4)撤销操作
u5) 搜索字符
/string	  搜索指定字符串
n	      搜索指定字符串的下一个位置

3. 行尾模式

1) 替换文本
:%s/old/new/g	    全文替换指定字符串
:n1,n2s/old/new/g	在指定范围内替换指定字符串2) 定位
:n	跳转到第n行3) 行号显示
:set nu	    设置行号
:set nonu	取消行号

4.可视化模式

v         选中字符
V         选中行
Ctrl + v  矩形选择

5.vim 意外中断情况

vim 非正常退出会在当前命令生成一个.swp 文件
在确定没有其他人正在同时编辑文本时:
D  删除.swp 文件
R  恢复到之前编辑的文件

grep 过滤文本的行 *

常用参数
-i      不区分大小写
-v      反向抓取
-n      显示行号
-R/-r: 递归地读目录下的所有文件
-E      支持扩展的正则表达式
-o      只抓取该内容示例
$ grep 'test' -R .                   # 从该目录下所有文件中过滤内容
$ cat /etc/passwd | grep -v 'root'   # 过滤出没有 root 的行扩展: "" 可抓取变量  '' 只会抓取文本
$ cat test-grep 
11$a
22b
$ a=b  
$ grep '$a' test-grep
11$a
$ grep "$a" test-grep
22b

cut 过滤文本的列 

常用参数
-d   分隔符
-f   抓取第几列示例
抓取ip地址或者掩码
$ ip a | grep -E '[0-9]*\.' | awk '{print $2}'
127.0.0.1/8
172.18.161.51/20
$ ip a | grep -E '[0-9]*\.' | awk '{print $2}' | cut -d '/' -f1
127.0.0.1
172.18.161.51
$ ip a | grep -E '[0-9]*\.' | awk '{print $2}' | cut -d '/' -f2
8
20过滤环境变量
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
$ echo $PATH | cut -d ':' -f1
/usr/local/sbin
$ echo $PATH | cut -d ':' -f1-3           # 抓取 1-3 列
/usr/local/sbin:/usr/local/bin:/usr/sbin
$ echo $PATH | cut -d ':' -f1-3           # 抓取 1 和 3 列
/usr/local/sbin:/usr/local/bin:/usr/sbin

通配符与正则表达式

通配符匹配文件名、正则表达匹配文件内容
常用通配符:

^    以什么开头
$    以什么结尾
*    通常不会单独使用
?   可以重复前面字符一次
.    任意一个非空字符
.*   任意字符串
.?   任意两个字符
^$   空行

常用正则表达:

^    以什么开头
$    以什么结尾
.    匹配任意一个字符
.*   匹配0个或若干个字符(任意字符串)
+    匹配1个或若干个字符
?   匹配0个或1个h
{}   指定匹配多少个字符
[]   匹配中括号中的任一字符用法示例:
a*      匹配0个或若干个a
a+      匹配1个或若干个a
a?      匹配0个或1个a
a{3}    匹配3个a
[abc]   匹配a或b或c
[a-z]   匹配所有小写字符
[A-Z]   匹配所有大写字符
[a-Z]   匹配所有字符
[0-9]   匹配所有数字

常用正则表达式匹配文本内容

$ grep ^root /etc/passwd
root:x:0:0:root:/root:/bin/bash$ grep bash$ /etc/passwd
root:x:0:0:root:/root:/bin/bash$ grep ^root.*bash$ /etc/passwd
root:x:0:0:root:/root:/bin/bash$ grep -E -o  spo{2}l /etc/passwd
spool$ grep -E ^n.*[8-9]{2}.*n$ /etc/passwd
nobody:x:99:99:Nobody:/:/sbin/nologin$ grep -vE '^.*#|^$|^\ ' /etc/httpd/conf/httpd.conf   # 去除空行和有#的行和以空格开头的行$ ip a | grep -E '[0-9]*\.' | awk '{print $2}'        # 过滤出ip地址
127.0.0.1/8
172.18.161.51/20

sed 非交互式文本编辑

sed 删除行 ( d )

-i  编辑真实生效
$ sed -i '1,3d' test_sed.txt    # 删除文本1~3行d 删除行(不加 -i 将不会对文本进行修改)
$ sed '/[cC]at/d' test_sed.txt | sed '/^$/d'  # 删除带有 cat/Cat 和空行
# sed -i '/^#/d' test_sed.txt                 # 删除#开头的行

sed 添加行  ( i a )

i 行前添加
$ sed '2i tiger' test_sed.txt        # 在第2行前插入 tigera 行后添加
$ sed '1a tiger' test_sed.txt        # 在第1行后插入 tiger在匹配到的行前添加
$ sed '/^Cat/i tiger' test_sed.txt   # 在以Cat开头的行前插入 tiger在匹配到 Cat 的第一行前插入 Tiger 
$ num=`grep -n 'Cat' test_sed.txt | cut -d ':' -f1 | head -n 1` # 找到匹配到的第一个Cat是哪行
$ sed "${num}i Tiger" test_sed.txt                              # 插入 Tiger

sed 替换 ( s/ / / )

$ sed -i  's/Dog/dog/g' test_sed.txt  # 将 Dog 替换成dog

sed 输出指定行内容

$ sed -n '6p' test_sed.txt     # 输出第6行内容
$ sed -n '1,6p' test_sed.txt   # 输出1到6行

awk 输出文本内容

输出行

$ wk 'NR==3' a.txt         # 输出文本第三行
$ awk 'NR==3,NR==5' a.txt  # 输出3~5行其他方法
$ head -3 a.txt | tail -1
$ sed -n '3p' a.txt 

输出列

-F    指定分隔符(默认为空格)$ awk -F ':' '{print $3,$4}' a.txt                   # 打印第3和第4行
$ awk -F ':' 'NR==1,NR==4{print $1,$3}' a.txt        # 打印1~4行的第1列和第3列
$ sed -n '1,4p' a.txt | awk -F ':' '{print $1,$3}'   # 打印1~4行的第1列和第3列

systemctl 系统服务管理

在开机时启用一个服务:
$ systemctl enable firewalld.service在开机时禁用一个服务:
$ systemctl disable firewalld.service查看服务是否开机启动:
$ systemctl is-enabled firewalld.service查看所有开机自启的服务:
$ systemctl list-unit-files --type=service --state=enabled

相关文章:

Linux 命令集

修改主机名/关机/重启 1)hostnamectl 命令 $ hostnamectl # 查看操作系统信息(内核、操作系统发行版本、主机名等) $ hostnamectl set-hostname redhatu8 # 修改主机名2)shutdown 关机 $ shutdown -h now # 马上关机3&#…...

QML 鼠标和键盘事件

学习目标:Qml 鼠标和键盘事件 学习内容 1、QML 鼠标事件处理QML 直接提供 MouseArea 来捕获鼠标事件,该操作必须配合Rectangle 获取指定区域内的鼠标事件, 2、QML 键盘事件处理,并且获取对OML直接通过键盘事件 Keys 监控键盘任意按键应的消…...

WPF引入多个控件库使用

目的 设计开发时有的控件库的一部分符合我们想要的UI样式,另一部分来自另一个控件库,想把两种库的样式做一个整合在同一个控件资源上。单纯通过引用的方式会导致原有样式被覆盖。这里通过设置全局样式的方式来实现。 1.安装控件库nuget包:H…...

【Linux】1w详解如何实现一个简单的shell

目录 实现思路 1. 交互 获取命令行 2. 子串分割 解析命令行 3. 指令的判断 内建命令 4. 普通命令的执行 补充:vim 文本替换 整体代码 重点思考 1.getenv和putenv是什么意思 2.代码extern char **environ; 3.内建命令是什么 4.lastcode WEXITSTATUS(sta…...

单目测距 单目相机测距 图片像素坐标转实际坐标的一种转换方案

需要相机位置固定 原图 红色的点是我们标注的像素点,这些红色的点我们知道它的像素坐标,以及以右下角相机位置为原点的x y 实际坐标数值 通过转换,可以得到整个图片内部其余像素点的实际坐标, 这些红色的点是通过转换关系生成的&…...

ensp防火墙综合实验作业+实验报告

实验目的要求及拓扑图: 我的拓扑: 更改防火墙和交换机: [USG6000V1-GigabitEthernet0/0/0]ip address 192.168.110.5 24 [USG6000V1-GigabitEthernet0/0/0]service-manage all permit [Huawei]vlan batch 10 20 [Huawei]int g0/0/2 [Huawei-…...

【大模型LLM面试合集】大语言模型基础_Word2Vec

Word2Vec 文章来源:Word2Vec详解 - 知乎 (zhihu.com) 1.Word2Vec概述 Word2Vec是google在2013年推出的一个NLP工具,它的特点是能够将单词转化为向量来表示,这样词与词之间就可以定量的去度量他们之间的关系,挖掘词之间的联系。 …...

图论基础概念(详细讲解)

今天,我们讲解一下图论的概念,首先我们知道图是一个什么东西。 图你可以理解成一个网络系统,两个节点之间可能会有边,边链接两个节点,可能是有向(就比如说a只能往b,或者b只能往c),可能是无向&a…...

未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序报错的解决办法

今天在免费云服务器,三丰云上运行c#或python程序,都提示:未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序,PHP程序就直接乱码,odbc_connect(): SQL error: [Microsoft][ODBC ���&…...

《从零开始学习Linux》——开篇

前言 近日笔者新开专栏,《从零开始学习Linux》,Linux水深而且大,学了一圈之后,有懂得有不懂的,一直没有机会整体的全部重新捋一遍,本专栏的目的是,带着大家包括我自己重新学习Linux一遍这些知识…...

3D工艺大师快速生成装配动画,驱动汽车工业装配流程革新

在现代制造业的一般生产流程中,车间装配环节是产品由蓝图迈向市场前至关重要的一道工序。随着产品结构的日益复杂化和个性化需求的不断增长,车间装配工作面临着前所未有的挑战。高精密度的装配要求、错综复杂的组件关系以及频繁变更的生产计划&#xff0…...

gateway

gateway核心概念 1. 路由(route) 路由是网关中最基础的部分,路由信息包括一个ID、一个目的URI、一组断言工厂、一组Filter组成。如果断言为真,则说明请求的URL 和 配置的路由匹配。 2. 断言(predicates) 断言函数允许开发者去定义匹配Htt…...

第一个ffmpeg程序

在进行使用ffmpeg进行编写程序时,首先要记得进行注册设备(avdevice_register_all ),程序运行时,只需要注册一次就可以 avdevice_register_all 是 FFmpeg 多媒体处理库中的一个函数,其作用是注册所有可用的音…...

论文翻译:Large Language Models for Education: A Survey and Outlook

https://arxiv.org/abs/2403.18105 目录 教育领域的大型语言模型:一项调查和展望摘要1. 引言2. 教育应用中的LLM2.1 概述2.2 学习辅助2.2.1 问题解决(QS) 2.2.2 错误纠正(EC)2.2.3 困惑助手(CH)…...

python为什么慢?(自用)

《Cython系列》1. Cython 是什么?为什么要有 Cython?为什么我们要用 Cython? - 古明地盆 - 博客园 (cnblogs.com) 古明地盆的主页 - 博客园 (cnblogs.com) 我原本认为,python慢的原因是“逐行解释程序并执行”,那么我…...

压缩感知3——重构算法正交匹配追踪算法

算法流程 问题的实质是&#xff1a;AX Y 求解&#xff08;A是M维&#xff0c;Y是N维且N>>M并且稀疏度K<M&#xff09;明显X有无穷多解&#xff0c;重构过程是M次采样得到的采样值升维的过程。OMP算法的具体步骤&#xff1a;(1)用X表示信号&#xff0c;初始化残差e0 …...

“好物”推荐+Xshell连接实例+使用Conda创建独立的Python环境

目录 主题&#xff1a;好易智算平台推荐RTX 4090DGPU实例租用演示安装配置torch1.9.1cuda11.1.1环境引言&#xff1a;算力的新时代平台介绍&#xff1a;技术与信任的结晶使用案例&#xff1a;实际使用展示创建实例开始使用连接实例&#xff08;下文演示使用Xshell连接&#xff…...

浪潮天启防火墙TQ2000远程配置方法SSL-V偏、L2xx 配置方法

前言 本次设置只针对配置V偏&#xff0c;其他防火墙配置不涉及。建议把防火墙内外网都调通后再进行V偏配置。 其他配置可参考&#xff1a;浪潮天启防火墙配置手册 配置SSLVxx 在外网端口开启SSLVxx信息 开启SSLVxx功能 1、勾选 “启用SSL-Vxx” 2、设置登录端口号&#xff0…...

java八股文面试题

Java八股文面试题通常涵盖了Java语言的基础知识、高级特性、框架应用、数据库操作等多个方面。以下是一些常见的Java面试题及其详细回答&#xff0c;按照不同的主题进行分类&#xff1a; 一、Java基础 面向对象的特征有哪些&#xff1f; 抽象&#xff1a;忽略与当前目标无关的…...

【服务器】在Linux查看运行的Python程序,并找到特定的Python程序

在Linux查看运行的Python程序并找到特定的Python程序 写在最前面1. 使用ps命令查看所有Python进程查看详细信息 2. 使用pgrep命令查找Python进程ID 3. 使用top或htop命令使用top命令使用htop命令 4. 使用lsof命令查找Python进程打开的文件 5. 使用nvidia-smi命令查看GPU使用情况…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具&#xff0c;可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板&#xff0c;允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板&#xff0c;并通…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

Netty从入门到进阶(二)

二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架&#xff0c;用于…...

LRU 缓存机制详解与实现(Java版) + 力扣解决

&#x1f4cc; LRU 缓存机制详解与实现&#xff08;Java版&#xff09; 一、&#x1f4d6; 问题背景 在日常开发中&#xff0c;我们经常会使用 缓存&#xff08;Cache&#xff09; 来提升性能。但由于内存有限&#xff0c;缓存不可能无限增长&#xff0c;于是需要策略决定&am…...