Linux文件操作
head
head
命令用于显示文件的前几行内容,可以通过-num
参数展示文件前num
行的内容。
root@ubuntu:~# ls
bb.txt cc.txt snap
root@ubuntu:~# head cc.txt
Hello
Ubuntu
add test
root@ubuntu:~# head -2 cc.txt
Hello
Ubuntu
tail
tail
命令用于显示文件的后几行内容,可以通过-num
参数展示文件后num
行的内容。
root@ubuntu:~# tail cc.txt
Hello
Ubuntu
add test
root@ubuntu:~# tail -2 cc.txt
Ubuntu
add test
more
如果一个文件的内容过多,需要分成好几页显示的时候,就可以使用more
命令,默认会显示第一页的内容,可以通过enter
键查看下一行,空格键
查看下一页,b
查看上一页,q
键退出查看。
cp
cp
命令用于复制文件或者文件夹,复制的同时也可以进行改名操作,如:cp XXX YYY
表示将XXX
复制为YYY
,如果不需要改名,那么YYY
只需要写到具体路径即可,XXX
和YYY
可以是文件名也可以是一个路径。
将文件1.txt
复制为2.txt
:
root@ubuntu:~# ls
1.txt snap
root@ubuntu:~# cp 1.txt 2.txt
root@ubuntu:~# ls
1.txt 2.txt snap
将文件1.txt
复制到Music
文件夹下且不重命名,这是只需要写具体路径Music/
即可:
root@ubuntu:~# ls
1.txt Music snap
root@ubuntu:~# cp 1.txt Music/
root@ubuntu:~# cd Music/
root@ubuntu:~/Music# ls
1.txt
将文件1.txt
复制到Music
文件夹下同时重命名为2.txt
:
root@ubuntu:~# ls
1.txt Music snap
root@ubuntu:~# cp 1.txt ./Music/2.txt
root@ubuntu:~# cd Music/
root@ubuntu:~/Music# ls
2.txt
mv
mv
命令用于移动文件,mv XXX YYY
表示将XXX
移动到YYY
,这里的移动类似于windows下的剪切操作,XXX
和YYY
和上面的cp操作一样可以是路径也可以是文件名,如果是路径则表示,将XXX
路径下的文件移动到YYY
路径下,这里将/root
目录下的文件1.txt
移动到Music
目录下且不重命名:
root@ubuntu:~# pwd
/root
root@ubuntu:~# ls
1.txt Music snap
root@ubuntu:~# mv 1.txt Music/
root@ubuntu:~# ls
Music snap
root@ubuntu:~# cd Music/
root@ubuntu:~/Music# ls
1.txt
将/root
目录下的文件1.txt
移动到Music
目录下且重命名为2.txt
:
root@ubuntu:~# pwd
/root
root@ubuntu:~# ls
1.txt Music snap
root@ubuntu:~# mv 1.txt Music/2.txt
root@ubuntu:~# cd Music/
root@ubuntu:~/Music# ls
2.txt
除此之外,mv
还可以实现文件重命名的效果,只需要将当前路径下的文件移动到当前文件夹下并重命名就可以实现:
root@ubuntu:~# ls
1.txt Music snap
root@ubuntu:~# mv 1.txt 3.txt
root@ubuntu:~# ls
3.txt Music snap
tar
tar
命令用于打包文件。
常用的两个命令分为两组:
(1) tar -zcvf
和tar -zxvf
tar -zcvf
用于将文件打成tar
包并压缩为.gz
文件。
tar -zxvf
用于对打包后的压缩包文件进行解压。
- 参数详解:
z
参数用于表示使用gzip格式压缩或者解压一个文件
c
参数用于创建一个压缩文件
v
参数用于显示压缩或者解压的详细过程
f
参数用于指定压缩或者解压的文件名
(2) tar -jcvf
和tar -jxvf
这一组命令与上一组命令唯一不同的地方在于这里使用的参数是j
,j
参数是指压缩或者解压的格式是bzip2
格式。
两组命令的使用场景:
(1)如果压缩文件是以.tar.gz
结尾使用tar -zxvf
命令进行解压。
(2)如果压缩文件是以.tar.bz2
结尾使用tar -jxvf
命令进行解压。
如果想将文件解压到指定的目录下可以再添加-C
参数。
文件检索
find
find
命令用于按照指定的条件查找文件,一般使用格式为find 查找路径 [可选参数] 查找文件
。
可选参数:
-name
指定需要查找的文件名。
-size
匹配指定文件大小的文件,比如查找大于100KB
的文件使用参数+100
,小于100KB
的文件使用参数为-100
。
在当前目录下查找文件名为4.txt
的文件,如果存在则会显示文件名,不存在则不显示:
root@ubuntu:~# ls
1.txt 2.txt 3.txt 4.txt Music snap
root@ubuntu:~# find . -name "4.txt"
./4.txt
root@ubuntu:~# find . -name "5.txt"
root@ubuntu:~#
grep
grep
命令用于在某个文本中使用关键词进行搜索,一般使用格式为find [可选参数] 目标文本 查找的文件名
。
可选参数:
-n
用于显示查找到的文本在文件的第几行。
root@ubuntu:~# cat 1.txt
aaaaaaaaa
bbbbbbbb
ccccccc
dddddd
eeeee
ffff
ggg
hh
i
root@ubuntu:~# grep ddd 1.txt
dddddd
root@ubuntu:~# grep -n ddd 1.txt
4:dddddd
wc
wc
命令用于统计文件中的行数或者单词数,命令分别为wc -l 文件名
、wc -w 文件名
。
root@ubuntu:~# cat 1.txt
first line
second line
aaaa
bbbb
ddd
ff
root@ubuntu:~# wc -l 1.txt
6 1.txt
root@ubuntu:~# wc -w 1.txt
8 1.txt
tree
tree
命令用于以树状图的方式展示指定目录下的文件结构,命令格式为tree 指定目录
。
使用此命令前需要先进行安装,我这里使用的是Ubuntu 20
,所以使用的命令是sudo apt-get install tree
,如果是Centos
则可以使用yum install tree
命令进行安装。
root@ubuntu:~# pwd
/root
root@ubuntu:~# tree
.
├── 1.txt
├── 2.txt
├── 3.txt
├── 4.txt
├── Music
└── snap
└── firefox
├── 1540
├── 1747
├── common
└── current -> 1747
7 directories, 4 files