linux语言学习记录

news/2024/5/6 23:27:03/文章来源:https://blog.csdn.net/qq_42135020/article/details/129050934

文章目录

  • 前言
  • 一、linux文件结构
  • 二、指令
  • 三、Gvim编辑器
    • 1、命令模式
    • 2、底行命令
  • 四、正则表达式
    • 1、表达式匹配举例
    • 2、对文件里面内容进行操作
    • 3、使用 `\(` 和 `)\` 符号括起正规表达式,即可在后面使用`\1`和`\2`等变量来访问和中的内容


前言

记录自己学习linux的笔记,加油!
2023.3.8
2023.4.7


一、linux文件结构

在这里插入图片描述

  1. root : 该目录为系统管理员目录,root是具有超级权限的用户。

  2. bin ->usr/bin : 存放系统预装的可执行程序,这里存放的可执行文件可以在系统的任何目录下执行。包含了那些供系统管理员和普通用户使用的重要linux命令的二进制映像。如cp、ls等多个命令。

  3. usr是linux的系统资源目录,里边存放的都是一些系统可执行文件或者系统以来的一些文件库。

  4. usr/local/bin:存放用户自己的可执行文件,同样这里存放的可执行文件可以在系统的任何目录下执行。

  5. lib->usr/lib: 这个目录存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。

  6. boot : 这个目录存放启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

  7. dev: dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,Linux中的设备也是以文件的形式存在。

  8. etc: 这个目录存放所有的系统管理所需要的配置文件。

  9. home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名以用户的账号命名,叫作用户的根目录;用户登录以后,默认打开自己的根目录。

  10. var : 这个目录存放着在不断扩充着的东西,我们习惯将那些经常被修改的文件存放在该目录下,比如运行的各种日志文件。

  11. mnt : 系统提供该目录是为了让用户临时挂载别的文件系统,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容

  12. opt: 这是给linux额外安装软件所存放的目录。比如你安装一个Oracle数据库则就可以放到这个目录下,默认为空。

  13. tmp: 这个目录是用来存放一些临时文件的。

二、指令

cd :cd –(返回上一次打开的目录) cd ~(返回根目录) cd …(返回上一级目录)
pwd :输出当前路径
whoami:输出用户名
ls :-al(显示所有文件及其属性)
文件属性:-常规文件,d目录,l链接文件,文件权限rwxr–rwx分别表示文件所有者、组内其他人、系统中其他人的读写执行权限
修改文件权限chmod 777/772/664 name (r4 w2 x1
ln :-s source name建立软链接,方便不同文件之间快速转换
less:显示文件内容
q:退出
more:显示内容
cat:显示内容,拼接文件
head:显示文件前几行内容
touch:创建空文件
mkdir:创建空文件夹
cp:拷贝 源文件-目标文件(-r目录)
rm:-r删除目录,-rf强制删除
mv:移动文件,修改名称
wc:统计,-c字节数,-l行数,-w字数
find:查找 -name “1”
grep:查找文件里面的内容 grep “error” -r(递归查找)
sort :让文件里面内容按顺序排列
diff:比较文件内容
tar :打包不进行压缩,文件大小不变,tar -cvf bao.tar 要打包的文件(可以多个)(-czvf .tar.gz压缩文件命令和文件名 -tvf不解压直接查看 -xzvf解压 -xvf解开包)
alias:sc=“source ~/.bashrc”设置别名 alias -p查看现有别名(改动之后要source一下)
ps -u:查看当前进程
kill -9 id号:卡机强制关机
top:当前进程
du -sh:查看当前空间占用,du -sh * 查看每个文件的占用情况 du -h递归显示所有文件
man:联机查看命令使用方法
whereis cp:查看命令所在位置
which:输出命令的全路径

三、Gvim编辑器

三种模式:输入模式命令模式底行命令模式,切换用Esc键

从命令到输入,i左侧输入(最常用),I光标行首输入,o下一行新增一行,O上面一行新增,a光标右侧,A所在行行尾,gg开头G结尾

1、命令模式

x删除一个,dw删除包括及其后面的一个单词,dd删除整行,2dd删除两行,d&删除光标到行尾,dG删除当前行到最后一行 r替换光标所在的字符 cl清除当前字符,cc修改当前行,先删除然后再进入insert模式,c$修改到行尾的内容,ddp上下行交换,
/string查找字符,n/N查找下/上一个,?string往前搜索string,yw复制光标所在单词,nyy复制当前行,p/P粘贴在光标前后

2、底行命令

冒号wq保存并退出,:q! 强制退出,:! 无条件退出
X文件加密 set key= 解密
ab usa United States of America 可以写到配置文件里面
%!sort排序 set ic 不区分大小写 set noic区分大小写
set wrap分屏显示 set nowrap 一行显示所有内容
u撤销(命令)Ctrl+r 重新操作命令 help查看帮助
将选择的小写字母换成大写字母U,Ctrl+v选中字母,u则是返回来
f查找当前文件名,ctrl+p/n自动补全,gf打开文件bd回去
sp/vsp横/竖着开新窗口,Ctrl+w切换不同窗口

四、正则表达式

符号含义
.匹配任意一个字符
[abc] [a-z0-9]匹配方括号中的任意一个字符
[^abc]匹配除方框内的任意一个字符
\d匹配阿拉伯数字,等同于[0-9]
\D匹配除阿拉伯数字以外的任意字符,等同于[^0-9]
\x匹配十六进制数字,等同于[0-9a-fA-F]
\X匹配除十六进制数字以外的任意字符,等同于[^0-9a-fA-F]
\w匹配单词字母,等同于[0-9A-Za-z]
\W匹配除单词字母以外的任意字符,等同于[^0-9A-Za-z]
\s匹配空白字符,等同于[\t]
\S匹配非空白字符,等同于[^\t]
\t匹配TAB字符
符号含义
*0-任意个
+1-任意个
?0-1个
{n, m}n-m个
{n}n个
{n,}n-任意个
{, m}0-m个

1、表达式匹配举例

1、把所有单词help或Help都改为大写的HELP

:%s/[Hh]elp/HELP/g

2、使用单个空格替换一个或多个空格

:%s/ \+/ /g

3、删除所有空行

:g/^$/d
:g/^ [\t]* [\t]* $/d

4、删除含义某些单词的行

:g/ERROR/d

5、把PATH变量里面的冒号替换成换行符:

echo $PATH | sed 's/ \: / \n /g'

6、将每行开头的单词替换为(行号-10):
<:表示词首 >\:表示词尾 / \ =:等于右边的函数值

:%s/^\<\w\+\> /\= (line(".")-10)

7、删除以数字开头的行

:%s/^\d.*$//g

8、.删除以[a,b,c]开头的行

:%s/^[a|b|c].*$//g

9、在每一行的尾部加上一个句号(或其他字符)

:%s/$/./g

10、将文中所有abc替换成123(g全局替换,否则只改第一个)

:%s/abc/123/g
:3,5s/abc/123/g    特指3-5行的进行替换

2、对文件里面内容进行操作

1、删除所有空行:

sed 's/^$/d ' *.txt

2、删除所有只包含空格或者制表符的行:

sed 's/^[]*$/d' price.txt3.

3、删除所有引号:

sed 's/” //g' price.txt

3、使用 \()\ 符号括起正规表达式,即可在后面使用\1\2等变量来访问和中的内容

1、查找test开头的后面为一个或者多个空格,然后为一个单词。将test和这个单词调换位置.

:%s/\(test\)\s\+(\w\+)/\2 \1/g

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

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

相关文章

IFPUG功能点度量5:计算功能规模

功能点计数类型&#xff1a;开发项目、升级项目、应用 一、 三种功能能规模计算&#xff1a; 1、开发项目计算 DFP&#xff08;开发项目功能规模&#xff09;ADD&#xff08;交付用户的功能规模&#xff09;CFP&#xff08;转换功能的功能规模&#xff09; 2、升级项目计算 …

【代码笔记】Pytorch学习 DataLoader模块详解

Pytorch DataLoader模块详解dataloader整体结构DataLoaderinit 初始化参数解释代码解析IterableDataset 判断构建Sampler&#xff0c;单样本构建BatchSampler&#xff0c;组建batch构建collate_fn 对获取的batch进行处理其他的一些逻辑判断_get_iterator代码解析multiprocessin…

【Python】轻松掌握基础语法(一)

文章目录常量和表达式变量和类型变量的定义变量的使用变量的类型intfloatstrbool动态类型注释输入和输出输出输入运算符算数运算符关系运算符逻辑运算符赋值运算符其他常量和表达式 print(1 2 * 3)print是Python内置的一个函数&#xff0c;作用为输入打印到控制台形如1 2 * …

人工智能前沿——「全域全知全能」人类新宇宙ChatGPT

&#x1f680;&#x1f680;&#x1f680;OpenAI聊天机器人ChatGPT——「全域全知全能」人类全宇宙大爆炸&#xff01;&#xff01;&#x1f525;&#x1f525;&#x1f525; 一、什么是ChatGPT?&#x1f340;&#x1f340; ChatGPT是生成型预训练变换模型&#xff08;Chat G…

1.半导体基础知识

1.半导体基础知识本征半导体什么是半导体&#xff1f;什么是本征半导体&#xff1f;本征半导体的结构本征半导体中的两种载流子为什么将自然界导电性能中等的半导体材料制成本征半导体杂质半导体N型半导体P型半导体PN结PN结中的扩散运动漂移运动和PN结的形成PN结的单向导电性PN…

uniapp开发小程序-swiper点击预览大图(商品详情页轮播图)

1.实现效果&#xff1a; 2.具体代码&#xff1a; <view class"swiper_box"><!--轮播图--><swiper class"ms_swiper" :autoplay"true" circular"true" change"swiperChange"><swiper-item v-for"…

【动态规划模板】神似的01和完全背包、多重背包和分组背包问题

神似的01背包与完全背包&#x1f349; 【经典题目】01背包采药 题目描述 &#x1f388; 辰辰是个天资聪颖的孩子&#xff0c;他的梦想是成为世界上最伟大的医师。为此&#xff0c;他想拜附近最有威望的医师为师。医师为了判断他的资质&#xff0c;给他出了一个难题。医师把他…

【Redis学习】SpringBoot集成Redis

总体概述 jedis-lettuce-RedisTemplate三者的联系 本地Java连接Redis常见问题 bind配置请注释掉 保护模式设置为no Linux系统的防火墙设置 redis服务器的IP地址和密码是否正确 忘记写访问redis的服务端口号和auth密码 集成jedis 简介 Jedis Client是Redis官网推荐的一个面…

【c语言】文件的读写

文件读写使用二进制读写比较方便&#xff0c;分别使用fread和fwrite函数进行。 一、函数定义 以二进制形式读取文件&#xff0c;从stream流中读取内容&#xff0c;读到ptr指向的空间中&#xff0c;读取size大小的count个内存单元。 返回值为读取到的字符个数。 以二进制形式读…

解决Abp设置DefaultLanguage默认语言不生效的问题

文章目录现象原因分析解决问题现象 默认地&#xff0c;Abp的语言提供程序将返回的CultureInfo为En&#xff0c;在一些默认实现的接口&#xff08;比如/api/TokenAuth/Authenticate&#xff09;返回的错误信息是英文 目标是改成简体中文显示&#xff0c;但是即便我们在AbpSett…

android framework-zygote进程

Zygote进程&#xff1a;可以看到zygote的父进程是init进程 一、Zygote整体时序图 涉及源码路径 android-10.0.0_r41\frameworks\base\cmds\app_process\Android.mk android-10.0.0_r41\frameworks\base\cmds\app_process\app_main.cpp android-10.0.0_r41\frameworks\base\core…

图像阈值化

图像阈值化 图像阈值化简介 ⚫ 图像阈值化是图像处理的重要基础部分, 应用很广泛, 可以根据灰度差异来分割图像不同部分 ⚫ 阈值化处理的图像一般为单通道图像(灰度图) ⚫ 阈值化参数的设置可以使用滑动条来debug ⚫ 阈值化处理易光照影响, 处理时应注意 ⚫ 本节主要介绍…

1000题!!阿里P8架构师手写“Java面试宝典”带你横扫全网

序言 很多同学学习Java并发一头扎进源码&#xff0c;最后头破血流&#xff0c;无功而返。横看成岭侧成峰&#xff0c;远近高低各不同。学习要始终从不同的视角来看待问题。学习并发亦是如此&#xff0c;需要通过理论远看轮廓&#xff0c;然后通过源码近看明细。 今天小编分享…

Java之堆和堆排序

目录 一.什么是堆 1.基本介绍 2.堆的实现方式 二.最大堆的实现 1.最大堆 2.思路分析 0.基础操作 1.添加上浮操作 2.删除下沉操作 3.将数组堆化操作 2.代码实现 三.堆排序 1.什么是堆排序 2.思路分析 3.代码实现 一.什么是堆 1.基本介绍 堆是一种数据结构&#…

新增 ABB COMLI 等 5 个工业协议驱动

3 月&#xff0c;Neuron 团队主要在为 2.4.0 版本的发布做准备&#xff0c;进行了官网文档的重构与完善&#xff0c;为常用驱动增加了相应的连接示例及常见问题。同时新增南向驱动 ABB COMLI&#xff0c;此驱动可通过串口连接 ABB 某些型号的 PLC。 新增驱动插件 南向驱动 IE…

kafka之一----概念结构

https://kafka.apache.org/ https://blog.csdn.net/liuyu973971883/article/details/109036572 https://blog.csdn.net/u013256816/article/details/80300225 1、概念 Kafka是由Apache软件基金会开发的一个开源流处理平台&#xff0c;由Scala和Java编写。Kafka是一种高吞吐量…

【Rust基础】语法知识

系列综述&#xff1a; &#x1f49e;目的&#xff1a;本系列是个人学习Rust语言整理的&#xff0c;整理期间苛求每个知识点&#xff0c;平衡理解简易度与深入程度。 &#x1f970;来源&#xff1a;材料主要源于b站的Rust中文社群线上学习室和菜鸟教程进行的&#xff0c;每个知识…

leaflet实现波动的marker效果(131)

第131个 点击查看专栏目录 本示例的目的是介绍如何在vue+leaflet中显示波动的marker效果。 直接复制下面的 vue+leaflet源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共76行)安装插件相关API参考:专栏目标示例效果 配置方式 1)查看基础设置…

算法学习day52

算法学习day521.力扣 300.最长递增子序列1.1 题目描述1.2分析1.3 代码2.力扣674. 最长连续递增序列2.1 题目描述2.2 分析2.3 代码3.力扣718. 最长重复子数组3.1 题目描述3.2 分析3.3 代码3.参考资料1.力扣 300.最长递增子序列 1.1 题目描述 题目描述&#xff1a; 给一个整数…

CAM类激活映射 |神经网络可视化 | 热力图

文章目录前言&#xff1a;安装库&#xff1a;分类案例--ResNet50分割案例AttributeError: ‘tuple‘ object has no attribute ‘cpu‘RuntimeError: grad can be implicitly created only for scalar outputsTypeError: cant convert cuda:0 device type tensor to numpy. Use…