首页 > 系统相关 >Linux基础知识与命令 三

Linux基础知识与命令 三

时间:2023-10-26 19:56:30浏览次数:38  
标签:文件 set 字符 压缩 模式 基础知识 单词 命令 Linux

目录和文件管理

cat  查看文件

格式:cat  [选项]  [文件]

cat可以支持标准输入

命令

-A  显示隐藏字符

 -n显示行号

 -b 跳过空行

 -s 压缩  (相当于把连空行压缩到一个空行)

重定向 : >  >>

>>  表示追加

 

 

 tac  反方向查看

 rev  同一行内容逆向显示

 hexdump  查看非文本文件

 分页显示 (more/less)

more

 less

 显示文件前后内容 (head/tail)

head

默认查看前十行

-n指定查看行数

 -c 选取字符 

 tail

-f  实施更新文件内容,常用于日志

tail -f=tailf

tail - n +#  从第#行开始

 tr

本意:替换。  多处用于:压缩

-d  删除

-s 压缩、

替换:

 压缩:

 删除:

 

wc  (统计)

-l 统计行数

 

-w统计单词个数(单词不是真正的单词,只要用空格隔开,系统也会认为是一个单词。)/不能统计真正给的单词

 

-c统计字节数

grep  (过滤文本内容)

格式:grep [选项]  [表达式]  [文件或标准输出]

正则表达式:查找文件内容

通配符:查找文件名

标准输入:键盘输入

标准输出:输出到屏幕上 (电脑给你的正确反馈)【默认输出屏幕上,但是可以改变输出的方向放入文件】

-i :查找忽略大小

 

-v :反向查找,输出与查找条件不相符的行

 

-o : 只显示匹配项

 

-f :取两个文件相同的部分 (将第一个文件的内容作为匹配条件)

 

-r: 递归过滤,不处理软连接(大量文件)

 

 

正则表达式

元字符:. 代表任意字符

表示次数:代表前面字符出现了多少次

表示位置:^ 代表开头 $代表结尾  ^$表示空行

grep -v ^$  非空行

例题:我有一个文件中有大量的文件,我怎么快速从这些文件中,找到包含boot字符的文件?

grep -r

我要在大量文件中找到某些含有特定字符串的文件

grep -r +文件夹 (递归 过滤)

past  (合并)

指定分隔符

spilt 

作用:分割文件

-b指定字节分割

例:spilt -b 200M bigfile

 格式:spilt  【-b】【-c】【-】【-1】【受切割的文件】【输出文件名称前缀】【-a】

压缩

命令:gzip   , bzip2

常用命令 -9 、 -d

gzip/bzip2 -9 压缩

gzip/bzip2 -d 解压

(bazip2 好点,压缩的更小)

tar   (归档命令)

格式:tar+选项+你自定义的名字.tar+要打包的文件

-f 使用tar归档,只要使用tar必须使用-f ,用(-)f必须在后面,例如- zcvf。不适用- , f的位置任意

-c 建立归档

-x 解开归档

-v 显示过程

-z 使用gzip压缩

-j 使用bzip2压缩

-C +文件夹 指定解压的目录

-t 不解开归档文件查看归档文件中的内容

-p (小):打包时保留文件及目录的权限

-P(大):打包时保留文件及目录的绝对经

vi 编辑器

相当于Linux的office

vi/vim 两种编译器    (Linux还有两种 nano/gedit  两种文本编辑器)

例:

vim + 10 /opt/test/t1 打开t1文件,将光标移动到第十行

!vim代表打开上一次的文件

vim命令模式

默认模式 ,编辑模式,末行模式。

 

默认模式 

移动光标 复制粘贴

复制一行:yy

粘贴:p

剪切一行:dd

跳到最后一行:G

跳到#行 : #G   #代表数字

跳到第一行:gg  (1G)

单词之间跳转:w

跳到当前单词的词尾:e

跳到当前单词的词首:b

^跳到行首,$跳到行尾

d$ :删除到行尾

d^:删除到行首

x:删单个字符

u:撤销

J:删除换行符

r:替换单个字符

di‘ :光标再“”之间则删除“”之间内容

删除十行:10 dd

复制十行:10 yy

 

CTRL -r  (撤销 撤销)

编辑模式

书写 编辑内容

怎么从默认模式跳到编辑模式

i :当前光标处插入

o:下一行插入

esc:退回到默认模式

末行模式

所有操作都在最后一行

默认模式切换到末行模式 英文冒号

作用:保存 查找替换 格式设置等

w:保存

q:退出

!: 强制

set nu 显示行号

 

set nonu 不显示行号

另存为:w+路径

在编辑器打开新文件:e+路径

将新文件内容写入当前文件:r+新文件路径

在编辑器中使用命令行:!命令

将命令的行执行结果写入文件:r! 命令 (.!)

#d :删除第#行

set nocul :光标下的下划线取消

set ai:与上一行对齐 (设置自动缩进)

set ke :设置密码 (set ke=#)

set key = 取消密码

set ts=4 (设置tab宽度为4格)

查找替换:查找文本中的 文件替换

范围 s /查找的原文/替换的内容/修饰符 (g)全局

修饰符 g整局都改 (c询问)

 

 

范围:%

不写范围只处理光标

n,# n行到#行

$ 最后一行

$-1倒数第二行

. 当前行

 

可视化模式

v:选中一个字符

V:面向整行

ctrl +v:一块区域一块区域选

 

标签:文件,set,字符,压缩,模式,基础知识,单词,命令,Linux
From: https://www.cnblogs.com/yanrui07/p/17790223.html

相关文章

  • Linux学习总结
    1Linux简介在Linux出现之前,市场上已经存在稳定且成熟的操作系统UNIX。Linux由UNIX演变而来,在UNIX的技术和用户界面基础上进行了独创的技术改进。Linux在服务器市场拥有强劲的竞争力,对安全漏洞有极快的解决速度。Linux也是一种操作系统,要想知道Linux是什么,首先得说一说什......
  • 如何在 CURL 命令行中配置代理服务器
    CURL是一个常用的命令行工具,用于在终端中发送和接收HTTP请求。有时候,我们需要通过代理服务器来访问互联网资源,这时候就需要在CURL命令行中设置代理。下面是如何在CURL命令行中使用代理服务器的步骤:1.指定代理服务器地址和端口号在CURL命令行中,使用-x或--proxy选项指......
  • 在CI/CD发布流水线中,使用dotnet publish命令编译.NET Core C#代码
    在搭建CI/CD发布流水线(例如Jenkins流水线)发布.NETCore项目时,我们需要在流水线中使用dotnetpublish命令来编译C#代码来生成DLL文件。参考dotnetpublish官方文档。其中这里有说到,dotnetpublish命令会隐式调用dotnetrestore命令来还原nuget包,所以调用dotnetpublish之前不用显......
  • t507嵌入式linux经典蓝牙通讯demo
    // /*开启蓝牙echo1>/sys/class/rfkill/rfkill0/statertk_hciattach-n-s115200/dev/ttySAC1rtk_h5&hciconfig-ahciconfighci0up打开hciconfighci0piscan使自身可以被发现#hciconfighci0sspmode1设置蓝牙适......
  • 《精通Linux.第2版》PDF高清高质量电子书
    下载:https://pan.quark.cn/s/8c7434ccba69......
  • Linux认证 | 国内常见的Linux认证有哪些?
    国内常见的linux认证有哪些?许多打算从事或者正在从事IT事业的朋友,都对linux认证非常感兴趣,毕竟Linux作为目前世界上最受认可的网络技术认证之一,一直深受IT行业的青睐。考取Linux认证,能够作为你进入行业的敲门砖,成为你职业道路上的加分项,更好地提高自己的职业技能。01国内常见的Lin......
  • Linux-Source insight支持shell脚本
    【脚本链接】https://www.sourceinsight.com/pub/languages/Bash.xclf【设置教程】https://www.cnblogs.com/archive-ch/p/13941358.html......
  • 反序列化加命令执行2023/10/25
    #[SWPUCTF2022新生赛]1z_unserialize<?phpclasslyh{public$url='NSSCTF.com';public$lt;public$lly;function__destruct(){$a=$this->lt;$a($this->lly);}}unserialize($_POST['nss'......
  • Kubernetes 100个常用命令
    转载https://mp.weixin.qq.com/s/pWj-ni5fuHLaK2AR-4gqqQ100个Kubectl命令,这些命令对于诊断Kubernetes集群中的问题非常有用。这些问题包括但不限于:• 集群信息• Pod诊断• 服务诊断• 部署诊断• 网络诊断• 持久卷和持久卷声明诊断• 资源......
  • javac命令的理解
    javac是编译命令javacA.java-ddirclass-encodingutf-8javac-classpath/-cp依赖包的路径,需要用:拼接起来,例如egjavac-cpspark_2.11.jar;flink_1.12.jarB.java-d/testdir多个依赖包,windows下用;分号,linux下用:冒号拼接依赖的包windows本地试验javac-cpD:\test......