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

Linux 基础命令 02

一、查看文件内容及内容处理命令

1.1 vi/vim

vi命令 是UNIX操作系统和类UNIX操作系统中最通⽤的全屏幕纯⽂本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,⽽且实现了很多增强功能。
vi编辑器⽀持编辑模式和命令模式,编辑模式下可以完成⽂本的编辑功能,命令模式下可以完成对⽂件的操作命令,要正确使⽤vi编辑器就必须熟练掌握着两种模式的切换。默认情况下,打开vi编辑器后⾃动进⼊命令模式。从编辑模式切换到命令模式使⽤“esc”键,从命令模式切换到编辑模式使⽤“A”、“a”、“O”、“o”、“I”、“i”键。
vi编辑器提供了丰富的内置命令,有些内置命令使⽤键盘组合键即可完成,有些内置命令则需要以冒号“:”开头输⼊。常⽤内置命令如下:

Esc:从编辑模式切换到命令模式;
ZZ:命令模式下保存当前⽂件所做的修改后退出vi;
:⾏号:光标跳转到指定⾏的⾏⾸;
:$:光标跳转到最后⼀⾏的⾏⾸;
x或X:删除⼀个字符,x删除光标后的,⽽X删除光标前的;
D:删除从当前光标到光标所在⾏尾的全部字符;
dd:删除光标⾏正⾏内容;
ndd:删除当前⾏及其后n-1⾏;
nyy:将当前⾏及其下n⾏的内容保存到寄存器?中,其中?为⼀个字⺟,n为⼀个数字;
p:粘贴⽂本操作,⽤于将缓存区的内容粘贴到当前光标所在位置的下⽅;
P:粘贴⽂本操作,⽤于将缓存区的内容粘贴到当前光标所在位置的上⽅;
/字符串:⽂本查找操作,⽤于从当前光标所在位置开始向⽂件尾部查找指定字符串的内容,查找的字符串会被加亮显
示;
?字符串:⽂本查找操作,⽤于从当前光标所在位置开始向⽂件头部查找指定字符串的内容,查找的字符串会被加亮显
示;
a,bs/F/T:替换⽂本操作,⽤于在第a⾏到第b⾏之间,将F字符串换成T字符串。其中,“s/”表示进⾏替换操作;
a:在当前字符后添加⽂本;
A:在⾏末添加⽂本;
i:在当前字符前插⼊⽂本;
I:在⾏⾸插⼊⽂本;
o:在当前⾏后⾯插⼊⼀空⾏;
O:在当前⾏前⾯插⼊⼀空⾏;
gg: 跳转到第⼀⾏
Shift+G: 跳转到最后⼀⾏
:wq:在命令模式下,执⾏存盘退出操作;
:w:在命令模式下,执⾏存盘操作;
:w!:在命令模式下,执⾏强制存盘操作;
:q:在命令模式下,执⾏退出vi操作;
:q!:在命令模式下,执⾏强制退出vi操作;
:e⽂件名:在命令模式下,打开并编辑指定名称的⽂件;
:n:在命令模式下,如果同时打开多个⽂件,则继续编辑下⼀个⽂件;
:f:在命令模式下,⽤于显示当前的⽂件名、光标所在⾏的⾏号以及显示⽐例;
:set number:在命令模式下,⽤于在最左端显示⾏号;
:set nonumber:在命令模式下,⽤于在最左端不显示⾏号;

1.2 cat

查看文件内容语法结构:cat file  # 查看文件的内容
参数选项:-n  # 显示文件的行数
# 查看 /etc/hosts 文件
root@prometheus-221:~ 22:51:45 # cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 ubuntu2204# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
root@prometheus-221:~ 23:24:32 #

1.3 head

显示文件开头部分,默认显示 10 行

# 查看文件前 5 行
root@prometheus-221:~ 23:25:30 # head -n 5 /etc/fstab 
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
root@prometheus-221:~ 23:26:46 #

1.4 tail

在屏幕上显示指定⽂件的末尾若⼲⾏,默认后 10 行

tail file #(显示⽂件file的最后10⾏)
tail -n +20 file #(显示⽂件file的内容,从第20⾏⾄⽂件末尾)
tail -c 10 file #(显示⽂件file的最后10个字节)
tail -25 mail.log # 显示 mail.log 最后的 25 ⾏
tail -f mail.log # 等同于--follow=descriptor,根据⽂件描述符进⾏追踪,当⽂件改名或被删除,追踪停
⽌
tail -F mail.log # 等同于--follow=name --retry,根据⽂件名进⾏追踪,并保持重试,即该⽂件被删除或改名后,如果再次创建相同的⽂件名,会继续追踪

1.5 cut

语法
cut(选项)(参数)
#选项
-b:仅显示⾏中指定直接范围的内容;
-c:仅显示⾏中指定范围的字符;
-d:指定字段的分隔符,默认的字段分隔符为“TAB”;
-f:显示指定字段的内容;
-n:与“-b”选项连⽤,不分割多字节字符;
--complement:补⾜被选择的字节、字符或字段;
--out-delimiter= 字段分隔符:指定输出内容是的字段分割符;
--help:显示指令的帮助信息;
--version:显示指令的版本信息。

示例

# 准备测试文件
root@ubuntu2204:~/test 23:29:17 # cat test.txt
01 tom 45 21
02 jack 66 99
03 jerry 98 78# 取出第一列,通过 -d 参数指定分隔符
root@ubuntu2204:~/test 23:33:09 # cut -d " " -f  1 test.txt 
No
01
02
03
root@ubuntu2204:~/test 23:33:15 # cut -d " " -f2,3  test.txt 
Name Math
tom 45
jack 66
jerry 98

1.6 sort

[root@180-143 test]# netstat -ant | awk '{print $NF}' | sort | uniq -c| sort -nrk 1
74 ESTABLISHED
25 LISTEN
1 TIME_WAIT
1 State
1 established)
1 CLOSE_WAIT
[root@180-143 test]# seq 100 | sort -nr | head -n 10
100
99
98
97
96
95
94
93
92
91

1.7 uniq

显示或忽略重复的⾏

语法:
uniq [OPTION]... [INPUT [OUTPUT]]
-c, --count 在每⾏开头增加重复次数。
[root@180-143 test]# cat test
1 2 3
1 2 3
[root@180-143 test]# uniq test
1 2 3

1.8 wc

统计⽂件的字节数、字数、⾏数

wc(选项)(参数)
wc [选项]... [⽂件]...
wc [选项]... --files0-from=F
root@ubuntu2204:~/test 23:45:11 # wc -l /etc/passwd
34 /etc/passwd
root@ubuntu2204:~/test 00:05:30 #
http://www.gsyq.cn/news/8786.html

相关文章:

  • Proxy 库解析(三)
  • 软工个人项目 - Helen
  • 概率论第二章部分习题
  • ENSP模拟搭建典型中小型企业网架构
  • 【Java】HashMap讲解
  • 图解16:数据和信息流的9大架构模式
  • 【Spring Boot 报错已克服】Spring Boot 模糊映射(Ambiguous mapping)报错解决指南
  • 货运系统源码 货运物流小代码 货运强大的平台搭建 货运软件开发
  • 2025.9.20
  • Spring Boot 2.5.0 集成 Elasticsearch 7.12.0 实现 CRUD 完整指南(Windows 环境) - 教程
  • CentOS 8.5.2.111部署Zabbix6.0 手把手、保姆级
  • [Linux/Docker] BusyBox : 开源、轻量级的Unix工具集
  • Part03 数据结构 - 教程
  • 变量,常量,作用域
  • linux kernel synchronization 2
  • MySQL高阶查询语句与视图实战指南 - 指南
  • 订单未支付多种方案
  • Twincat 中如何将位变量链接到字节
  • 实用指南:【2025最新版】PCL点云处理算法汇总(C++长期更新版)
  • Gemini Proxy for Xcode 26
  • 网络分析模型五
  • Android常用ADB命令
  • 【2025PolarCTF秋季个人赛】WEB方向部分wp
  • 电池热失控(Thermal Runaway of the Battery) - 详解
  • 人工智能大模型 基础知识汇总
  • JavaDay8
  • how to count
  • Ubuntu系统使用gcc和Makefile编译C程序
  • 构造选记
  • 碎碎念(十七)