LINUX常用命令 - 文件操作
新建文件:vim 文件名
查看文件:ls
查找:find
查找根目录开始所有文件:find / (一般不用,显示内容太多)
进入根文件系统查找某个文件和目录:find / -name 文件名
查找属于某个用户的文件和目录:find / -user 用户名
ls *[0-9]* 显示包含数字的文件名和目录名
创建、删除操作:mkdir、rm
复制文件:cp
移动文件:mv
-i 表示如果移动的文件存在且比较新,会询问是否覆盖;-f直接覆盖,不询问;-u如果目标文件已存在,但是源文件比较新,才会覆盖。
查看文件内容:
cat : cat -n 文件名 从第一行开始输出文件内容
nl : 和cat -n 一样
tac : tac 文件名 从最后一行开始输出文件内容
more :more 文件名 从第一行开始,根据窗口大小适当的输出文件内容
less : less 文件名 与more相似,但不能向前翻页,只能向后翻页(进入文件后,可以出入 /字符串 查找你想要的内容)退出文件:q
head : head -n 行数 文件名 读取文件前n行
tail : tail -n 行数 文件名 读取文件后n行
tailf : 几乎等同于 tail -f 当文件改名之后也能继续跟踪,适合日志文件的跟踪
在文件中查找关键字:
grep 关键字 文件名
替换删除:
sed
sed 's/stringa1/stringa2/g' example.txt
将
example.txt
文件中的
"string1"
替换成
"string2"
从文件aaa中
删除所有注释和空白行:
将文件aaa中所有字符s替换成a:
从文件aaa中删除所有空白行
:
从文件aaa中排除第一行:
只查看文件aaa中包含j的行:
echo 'esempio' | tr '[:lower:]' '[:upper:]'
合并上下单元格内容
sed -e 's/ *$//' example.txt
删除每一行最后的空白字符
sed -e 's/stringa1//g' example.txt
从文档中只删除词汇
"string1"
并保留剩余全部
sed -n '1,5p;5q' example.txt
查看从第一行到第
5
行内容
sed -n '5p;5q' example.txt
查看第
5
行
sed -e 's/00*/0/g' example.txt
用单个零替换多个零
paste file1 file2
合并两个文件或两栏的内容
paste -d '+' file1 file2
合并两个文件或两栏的内容,中间用
"+"
区分
sort file1 file2
排序两个文件的内容
sort file1 file2 | uniq
取出两个文件的并集
(
重复的行只保留一份
)
sort file1 file2 | uniq -u
删除交集,留下其他的行
sort file1 file2 | uniq -d
取出两个文件的交集
(
只留下同时存在于两个文件中的文件
)
comm -1 file1 file2
比较两个文件的内容只删除
'file1'
所包含的内容
comm -2 file1 file2
比较两个文件的内容只删除
'file2'
所包含的内容
comm -3 file1 file2
比较两个文件的内容只删除两个文件共有的部分