当前位置: 首页 > 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.hskmm.com/?act=detail&tid=11157

相关文章:

  • RabbitMQ核心模型简介,Hello World的发送与消费
  • 软工个人项目 - Helen
  • 概率论第二章部分习题
  • 记录 | 心理行动机制模型
  • ENSP模拟搭建典型中小型企业网架构
  • 【Java】ArrayList讲解
  • 【Java】HashMap讲解
  • 图解15:DNS工作原理
  • 图解16:数据和信息流的9大架构模式
  • 图解12:软件开发8大模型
  • 图解13:软件版本是怎么命名的
  • 图解14:CDN(最近使用的都是阿里云的)
  • 2025年9月15灯塔arl安装部署教程_2025-09-20
  • WINUI/WPF——自定义ListView
  • 用 Rust 实现英文数字验证码识别
  • 图解9:IDEA30款好用的插件
  • 图解10:Redis优化18招
  • 图解11:API和SDK区别
  • Fedora42安装VMware+百度网盘
  • Fedora42安装配置idapro9.1
  • 利用个人账户密码复用获取域凭证:无需接入目标网络的攻击手法解析
  • Java 开发核心疑问解析:从 static 修饰到规范实践
  • 实用指南:坤驰科技诚邀您参加——第十三届中国光纤传大会
  • 2025.9.20
  • 图解8:kafka高效原理
  • Spring Boot 2.5.0 集成 Elasticsearch 7.12.0 实现 CRUD 完整指南(Windows 环境) - 教程
  • TypeScript - typeof 搭配 as const 技巧总结
  • 图解6:网站访问流程
  • 图解7:渲染原理和性能优化
  • [Linux/Docker] BusyBox : 开源、轻量级的Unix工具集