Linux第三章

关于文件编辑的命令

type 查看命令是file、alias还是builtin
内置命令 (shell内置)。
外置命令,在文件系统的某个目录下,有个与命令名称相同的文件。
区别:shell为了完成自我管理和基本的管理,不同的shell内置不同的命令,但是大部分都差不多。

shell中的通配符:bash中常用的通配符有“*”,“?”,”[]“
*表示匹配任意零个或多个字符
?表示匹配任意单一字符
[]匹配任何包含在方括号内的单字符

shell中的引用:在bash中有很多特殊字符,这些特殊字符就具有特殊含义。引用就是通知shell将这些特殊字符当作普通字符来处理。
转义字符“\”:如果将\放到特殊字符前面,shell就忽略这些特殊字符的原有含义,把它们当作普通字符对待。
mkdir 1*
ls -ld 1*
ll -d 1*
单引号:如果将字符串放到一对单引号之间,那么字符串中所有字符的特殊含义被忽略。强引用
ll -d 1’*’
双引号:双引号的引用与单引号基本相同,包含在双引号内的大部分特殊字符可以当作普通字符处理,但是仍然有一些特殊字符保留自己的特殊含义,比如”KaTeX parse error: Undefined control sequence: \” at position 4: “和“\̲”̲以及“ ` ” ll -d 1…myname”
echo “$$myname”
echo "date "

文本编辑
特点:所有的UNIX like系统都会内置vi文本编辑器,其他的文本编辑器则不一定会存在;
很多软件的编辑接口都会主动调用vi(例如crontab);
vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性,方便程序设计;vim会根据文件的扩展名或者是文件内的开头信息判断该文件的内容而自动调用该程序的语法判断式,再以颜色来显示程序代码与一般信息。
程序简单,编辑速度相当快速。
vim:
一般模式:按esc键可回到命令模式
dw 按单词删除
u 撤销当前操作
dd 删除当前行,=剪切
ctrl+r 重做上一个操作
yy 复制光标所在行
2 yy 复制光标所在行和光标下一行
p 粘贴到光标下一行
P 粘贴到光标上一行
cc 剪切
行数cc 剪切当前行开始的几行
X 删除光标所在位置的内容,即向后删除一个字符
X 向前删除一个单词
w,b 按单词进行移动光标
gg 跳转到文档首部行首
dgg 删除光标至文档首部
G 跳转到文档尾部行首
$ 行尾
^ 行首
n[enter] n为数字,光标向下移动n行
h 往左按字符移动光标
j 往下(后)按行移动光标
k 往上(前)按行移动光标
l 往右按字符移动光标
H 跳转到当前屏幕输出的最上面一行
L 跳转到当前屏幕输出的最下面一行
M 跳转到当前屏幕输出的中间那一行

插入模式:
i 在光标前插入
I在光标所在行第一个非空格符前插入
a 在光标后插入
A 在光标所在行末尾插入
s 删除光标所在位置字符并插入
S 删除光标所在行并插入
o 在光标所在行下一行插入
O 在光标所在行上一行插入

命令行模式(末行模式):
:wq 保存退出
:q 退出(未修改文件内容才可以退出)
:wq! 强制保存退出
:q! 强制退出,不保存
:set nu 显示行号
:set nonu 不显示行号
:行号 跳转到指定行号
:3,5 d 删除3-5行
:r 文件名1 读出文件1的内容到当前文件里
:%s/字符串2/字符串3 字符串3替换字符串2
:%s/1/2/g 将1替换为2,全局修改
:w 文件名1 另存为文件名1
/word 向下寻找一个字符串为word的字符串
n重复前一个查找的操作
N反向进行前一个查找的操作
?word 向上寻找一个字符串名称为word的字符串
ZZ 若文件没有改动,则离开,,若文件已经被改动过,则保存后离开

由于命令较多,小编建议大家记住一些常用的,比如
命令模式
u 撤销当前操作
dd 删除光标当前行
yy 复制光标当前行
p 粘贴光标当前行
cc 剪切
gg 跳转到文档首部行首
G 跳转到文档尾部行首
$ 行尾
^ 行首
插入模式
i 进入插入模式并在光标前插入
命令行模式(末行模式)
:wq 保存退出
:q 退出(未修改文件内容才可以退出)
:q! 不保存强制退出
:wq! 保存强制退出
:set nu 显示行号
:行号 跳转到指定行号

多文件编辑:
vim 文件1 文件2 文件3
:files显示多个文件文件名
:n查看下一个文件内容
:N查看上一个文件内容

多窗口功能:
vim 文件1
:sp 文件名 在同一个窗口启动另一个文件
:sp 同一个文件出现在两个窗口间
[ctrl]+w+w [ctrl]+w+w

文本查看命令:
cat连接并显示文件内容到标准输出
显示文件内容并显示行号:cat -n 文件名
黑洞机制(shell脚本里面经常用)
将文件内容重定向到/dev/null:cat 文件 >/dev/null
不带任何选项时,从标准输入接收输出到标准输出

逆序显示文件:tac

从头开始逐行查看:more /var/log/messages
在没有翻到最后一屏时支持向前翻

前后查看文件内容:less /var/log/messages
man手册查看命令用法默认用less打开

默认查看文件前10行:head /etc/passwd
指定查看前5行:head -5 /etc/passwd

默认查看后10行:tail /etc/passwd
查看后5行:tail  -5 /etc/passwd

文本处理:
文本切割显示:
cut -d 指定分隔符 -f 指定第几列 被切割文件
-f 1,3第一列和第三列
-f 1-3第一列到第三列
-c 1-4 指定第一到第四个字符
指定分隔符的时候空格需要用单引号或双引号引起来
cut -d : -f 1-3 --output-delimiter=@ /etc/passwd

文本排序显示:
排序显示(默认根据字符在ASCII码中的升序排序):sort 文件名
按照数值大小排序:sort -n 文件名 
排序并去掉重复的:sort -u 文件名
逆序排序:sort -r 文件名
按照用户uid数字大小排序显示:
sort -t 指定分隔符 -k 指定第几列 -n /etc/passwd
   -f 排序时忽略字符大小写65 97
去掉重复的行,重复的行必须相邻:uniq 文件名
-d 只显示重复的行
-D 显示所有重复的行
-c 显示重复行重复的次数

文本统计:wc——word count
显示文件行数、单词数、字节数和文件名:wc 文件名
###在UTF-8编码格式里面,显示时一个字符占一个字节,一个中文字占用3个字节
只显示单词数:wc -w 文件名
只显示字节数:wc -c 文件名
只显示行数:wc -l 文件名
只显示字符数:wc -m 文件名
显示最长的一行的字符数(不包括断行符):wc -L 文件名

统计当前目录下的文件数:
ls -l | wc -l
ls | wc -l

文本过滤:grep可以根据特定的字符串,对指定文件的每一行进行搜索,如果找到了这个字符串,就将含有这些内容的行输出。
查找文件里的字符和字符串:
查找文件里有字符h的字符串:grep h 文件名
匹配整个单词:grep -w 单词 文件名
匹配以q开始的行:grep 1 文件名
匹配以q结束的行:grep q$ 文件名
匹配以数字开头的行:grep 2 文件名
匹配以q或者f开头的行:grep 3 文件名
不匹配以q或者f开头的行:grep [qf] 文件名
匹配oo前面不是f或者g的字符串:grep [^gf]oo 文件名
匹配以#号开头的行:grep ^#
过滤空白行:grep ^$
如果要明确搜索子目录:grep -r h ./*
忽略子目录:grep -d skip h ./*
-l(字母L的小写):查询多文件时只输出包含匹配字符的文件名
搜索时忽略大小写:grep -i
搜索时显示没有匹配到的行:grep -v
搜索时显示匹配到的那一行以及下2行:grep -A 2
搜索时显示匹配到的那一行以及上2行:grep -B 2
搜索时显示匹配到的那一行以及上下2行:grep -C 2

管道符|:管道符左边命令的输出作为管道符右边命令的输入。
tee命令:在输出到文件的同时输出到屏幕,既想把输出保存到文件中,又想在屏幕上看到输出内容。

文件搜索:
查找文件路径:
find 路径 -name 文件名:find / -name passwd


  1. q ↩︎

  2. 0-9 ↩︎

  3. qf ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值