Linux操作【文件篇】
【文件篇】:
文件操作命令:
需知:
| 管道符,将前面的结果作为后面的条件
命令:
创建目录:
touch 文件名 创建文件
查看内容:
cat 文件名 查看文件的内容
cat -n 文件名 显示行号
输入文件内容:
cat >event.log <<EOF
注意:以 EOF 结束
more 文件名 查看内容【enter:一行一行看,空格:一页一页看】
less 文件名 查看文件(按 q 退出)
head -数字 文件名 查看文件前【数字】行
tail -数字 文件名 查看文件后【数字】行
案例:
题目:查看第五行【翻译:查看文件前五行的最后一行】
命令:head -5 profile|tail -1
书写内容:
> 输出重定向
案例:
ls /etc/|grep yum > event.log
cat event.log
直接覆盖原来的内容,添加新的内容
注意:若无,则新加event.log文件
>> 追加
案例:
ls /etc/|grep yum >> event.log
cat event.log
在文件中追加内容
文件复制【源文件存在】:
cp 要复制的文件名称 复制到的目录名
内容排序:
sort 对文件的内容做排序
-n 数值排序
-r 逆序排序,如:sort -r data1.log
-f 忽略大小写,如:sort -f data1.log
-u 唯一排序,即:去重
-t 指定分隔符 默认为 空格,如:sort -t, data2.log【指定以 逗号 为分隔符】
sort -t data1.log【默认以 空格 为分隔符】
-kN 第几个字段,默认为 第一个,如:sort -k2 data1.log【按照第二个关键字来排序】
删除文件:
rm -ri 目录名词 删除文件前询问
编辑命令:
1、vi[m]:一款功能强大的全屏幕文件编辑器
2、vi[m]命令:
打开文件: vi 文件名
进入编辑模式:
i:在当前光标处插入内容
a:在原来的光标后面插入内容
o:在光标所在行的下面插入新行,插入内容
退出编辑模式: 按 esc 键
保存并退出: shitf+z+z
退出但不保存 :q!
保存但不退出 :w
简单查找 /内容
首位切换:
gg 到头
shit+g 到尾
3、小众:echo操作进行编译:
如:echo "hello world" > test.txt
4、文件【简单】编辑命令:sed [options] 'command' 文件名 => 可以对文本进行修改
说明:
对于固定内容,可以省略 options,但要用正则的话,需添加 -r【,替换时候,开启正则要添加 /g】
options:
-r =>开启正则
-i =>直接修改原文件,其余的原文件皆不改变【固定内容的替换,-i可省略】
command:
s =>替换:[4,[6]]s/source【需替换的内容,regex | 其他】/replace【替换后的内容】/[g]
说明:说明,4:第四行;6:第六行
如:sed 's/ /,/g' data1.log 将空格改为逗号
d =>删除行:(/正则/ | 4[,6])d【说明,4:第四行;6:第六行】
其中:1,$d => 全部删除【$表示 最后一行】
i =>向上插入新文本行:(/正则/ | 4)i\insert line【插入新行内容】
a =>向下插入新文本行:(/正则/ | 4)a\insert line【插入新行内容】
\b =>正则处的边界:sed -r '4,6s/\bha[0-9]*doop\b/they/g' test1.log
-n =>关闭模式输出
command:
p =>输出:(/正则/ | 4[,6])p 【说明,4:第四行;6:第六行】
解释:加p的部分输出,其余的不输出
如:
sed -n '5,9p' test1.log => 只输出5到9行
-f =>将命令写进文件中
格式:sed -f cmd-file【写命令的文件】 file【操作的文件】
7.文本处理命令:
wc命令:
wc 文件名 查看文件行数,单词数,字节数【字节数 通常表示 文件的大小】
wc -l 文件名 统计行数
wc -w 文件名 统计单词个数
wc -L 文件名 计 算最长行的行数
cut命令:
用途:
文件的【每行】中去截取指定的内容
格式:
cut [选项] 文件
讲解:
前提:
test.log的内容为:
echo "hello world"
哈哈
选项:
-c 以【字符】为单位进行切割
案例一:
cut -c 1 test.log
输出:
e
哈
案例二:
cut -c 1-2 test.log
输出:
ec
哈哈
-f 以【字段】为单位进行切割
-d 指定【字段】的分隔符,默认为制表符\t
案例:
cut -d ' ' -f 2 test.log
输出:
"hello
哈哈
-s 省略没有分隔符的行
案例:
cut -d ' ' -f 2 -s test.log
输出:
"hello tr命令:
用途:
【单个】字符进行【转化】或【删除】
注意:不会对源文件产生影响
命令:
1.转化:
案例一:
echo 'abcabc'|tr 'a' 'h'
输出:hbchbc
案例二:
小写转大写:
echo 'abcabc'|tr 'a-z' 'A-Z'
输出:ABCABC
案例三【验证 单个 】:
echo 'abcabc'|tr 'ab' 'h'
输出:hhchhc
2.删除:
案例:
echo 'abcabc123'|tr -d '0-9'
输出:abcabc
3.去重【连续重复字母显示一次】:
案例:
echo 'abbcaaaaabc123'|tr -s 'a-z'
输出:abcabc123

浙公网安备 33010602011771号