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

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

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

相关文章

C++9 构造析构

class Int { private:int value; public:Int(int x 0) :value(x){cout << value << endl;}~Int(){cout << value << endl;}void SetValue(int x )value x;}}; 构造函数可以使用&#xff1a;进行初始化&#xff0c;而初始化只能进行一次&#xff0c;…

[RuoYi-Vue] - 1. 项目搭建

文章目录 &#x1f42c;初始化后端项目拉取RuoYi-Vue代码Maven构建导入数据库ry-vue修改配置信息启动Redis启动项目 &#x1f30c;初始化前端项目拉取RuoYi-Vue3代码项目运行成功页面 &#x1f42c;初始化后端项目 拉取RuoYi-Vue代码 若依/RuoYi-Vue 代码地址 Maven构建 导入数…

7.2 AQS原理

AQS 原理 概述 全称是 AbstractQueuedSynchronizer&#xff0c;是阻塞式锁和相关的同步器工具的框架。 特点&#xff1a; 用 state 属性来表示资源的状态&#xff08;分独占模式和共享模式&#xff09;&#xff0c;子类需要定义如何维护这个状态&#xff0c;控制如何获取锁和…

Postman 中的 API 安全性测试:最佳实践与技巧

在当今快速发展的数字化世界中&#xff0c;API&#xff08;应用程序编程接口&#xff09;已成为软件系统之间通信的桥梁。然而&#xff0c;随着API使用的增加&#xff0c;安全风险也随之上升。本文将详细介绍如何在 Postman 中进行 API 的安全性测试&#xff0c;帮助开发者和测…

Mybatis SQL注解使用场景

MyBatis 提供了几种常用的注解&#xff0c;主要用于简化 XML 映射文件的编写&#xff0c;使得 SQL 查询和操作可以直接在 Java 接口中定义。下面列出了主要的注解以及它们在被调用时的写法示例&#xff1a; 1. Select Select 注解用于执行查询操作&#xff0c;并将查询结果映…

LruCache、Glide和SmartRefreshLayout使用总结

&#xff08;一&#xff09;Android智能下拉刷新框架-SmartRefreshLayout https://github.com/scwang90/SmartRefreshLayout?tabreadme-ov-file &#xff08;二&#xff09;LruCache使用 使用它可以进行图片的内存缓存 public class ImageLoaderUtil {private LruCache<St…

three.js官方案例(animation / skinning / ik)webgl_animation_skinning_ik.html学习记录

目录 1 WebGLCubeRenderTarget 2 TransformControls 3 CCDIKSolver 4 CCDIKHelper 4 全部脚本 1 WebGLCubeRenderTarget 球体亮 //WebGLCubeRenderTarget(size : Number, options : Object) //size - the size, in pixels. Default is 1. //options - (可选)一个保存…

软件设计之Java入门视频(15)

软件设计之Java入门视频(15) 视频教程来自B站尚硅谷&#xff1a; 尚硅谷Java入门视频教程&#xff0c;宋红康java基础视频 相关文件资料&#xff08;百度网盘&#xff09; 提取密码&#xff1a;8op3 idea 下载可以关注 软件管家 公众号 学习内容&#xff1a; 该视频共分为1-7…

Java中的CountDownLatch详解

Java中的CountDownLatch详解 大家好&#xff0c;我是微赚淘客系统3.0的小编&#xff0c;是个冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 一、什么是CountDownLatch&#xff1f; CountDownLatch 是Java并发包中的一个工具类&#xff0c;用于实现线程间的等待…

Linux桌面溯源

X窗口系统(X Window System) Linux起源于X窗口系统&#xff08;X Window System&#xff09;&#xff0c;亦即常说的X11&#xff0c;因其版本止于11之故。 X窗口系统&#xff08;X Window System&#xff0c;也常称为X11或X&#xff09;是一种以位图方式显示的软件窗口系统。…

zabbix 7.0 SNMP Hex数据预处理新功能

一、简介 zabbix7.0新特性是监控项新增支持SNMP Hex数据预处理。其中内置了对snmp请求结果Hex转换处理&#xff0c;不再需要使用繁琐的方式&#xff0c;如javascript脚本、替换、修整等方式处理将监控项取值做可视化处理&#xff0c;大福提升SNMP采集获取到Hex数据的处理效率。…

windows安全加固

window安全加固-账号与口令管理 1、账号分配检查 名称 账号分配检查&#xff0c;避免共享账号与无用账号存在 实施目的 根据系统的要求&#xff0c;设定不同的账户和账户组&#xff0c;管理员用户&#xff0c;数据库用户&#xff0c;审计用户&#xff0c;来宾用户等&#xf…

浅析 VO、DTO、DO、PO 的概念

文章目录 I 浅析 VO、DTO、DO、PO1.1 概念1.2 模型1.3 VO与DTO的区别I 浅析 VO、DTO、DO、PO 1.1 概念 VO(View Object) 视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。DTO(Data Transfer Object): 数据传输对象,这个概念来源于J2EE的设…

C++《日期》实现

C《日期》实现 头文件实现文件 头文件 在该文件中是为了声明函数和定义类成员 using namespace std; class Date {friend ostream& operator<<(ostream& out, const Date& d);//友元friend istream& operator>>(istream& cin, Date& d);//…

利率上升,利率债价格下跌但信用债价格上涨的理论分析

利率上升&#xff0c;利率债价格下跌但信用债价格上涨的理论分析 在利率上升的环境下&#xff0c;通常会观察到利率债价格下跌&#xff0c;而有时信用债价格却可能上涨。以下是对这种现象的详细理论分析。 利率债和信用债的价格机制 利率债价格下跌 利率债定义&#xff1a;…

flask+mysql入门案例

在 Flask 中集成 MySQL 数据库进行用户管理是一个常见的项目需求。下面将提供一个基础的步骤和代码示例来理解如何从零开始搭建这样一个系统。 1. 环境准备 首先确保你已经安装了 Python 和必要的包。你需要安装 Flask 和用于连接 MySQL 的包 Flask-SQLAlchemy 或者 Flask-My…

【C++】优先级队列(底层代码解释)

一. 定义 优先级队列是一个容器适配器&#xff0c;他可以根据不同的需求采用不同的容器来实现这个数据结构&#xff0c;优先级队列采用了堆的数据结构&#xff0c;默认使用vector作为容器&#xff0c;且采用大堆的结构进行存储数据。 &#xff08;1&#xff09;在第一个构造函数…

Qt之元对象系统

Qt的元对象系统提供了信号和槽机制&#xff08;用于对象间的通信&#xff09;、运行时类型信息和动态属性系统。 元对象系统基于三个要素&#xff1a; 1、QObject类为那些可以利用元对象系统的对象提供了一个基类。 2、在类声明中使用Q_OBJECT宏用于启用元对象特性&#xff0c…

项目收获总结--本地缓存方案选型及使用缓存的坑

本地缓存方案选型及使用缓存的坑 一、摘要二、本地缓存三、本地缓存实现方案3.1 自己编程实现一个缓存3.2 基于 Guava Cache 实现本地缓存3.3 基于 Caffeine 实现本地缓存3.4 基于 Encache 实现本地缓存3.5 小结 四、使用缓存的坑4.1 缓存穿透4.2 缓存击穿4.3 缓存雪崩4.4 数据…

如何管理好【管理层】?

如何管理好管理层? 现在流行“找客户痛点,不如找领导G点” 管理好管理层比管理好员工更重要,不要让管理层成为传话筒。你是抱着很大期望提供优厚的待遇聘用管理层,对于所有人来说,你需要一个这样的职位,对于他需要一分工作而已。出色的管理层就像出色的员工一样非常难寻…