Linux学习笔记:文件操作
最近在学习Linux的命令行和shell编程,需要记忆和掌握的知识点很多,所以把一些经常用到的知识点记下来,加深一下印象。
文件系统是Linux最重要的部分,甚至Linux就是基于文件的,文件操作是Linux使用中无法避免的。在Linux中文件操作的命令行主要有以下5类。
* 浏览文件
* 文件和目录列表
* 处理文件
* 处理目录
* 查看文件
浏览文件
在Linux系统中,可以用cd切换路径,其基本格式如下:
cd destination
cd命令可以接受一个参数表示要打开的文件目录,而路径又分成相对路径和绝对路径。绝对路径以/
开头,指虚拟文件系统的根路径,例如访问usr目录下的bin文件夹,就可以使用如下的绝对路径:
cd /usr/bin
而相对路径则是基于当前位置的目标文件路径,以目录名或者一个特殊字符开始。例如在home目录下,希望切换到Desktop目录下,使用相对目录会更加方便:
cd Desktop
此外还有一些特殊用法:cd
不加参数,回到home目录下cd ~
同上cd ..
回到当前目录的父目录cd .
回到当前目录cd /
回到根目录
可以使用pwd
获取当前目录所处的绝对路径。
文件和目录列表
在Linux系统中可以使用ls命令查看文件。需要注意的是ls是按列以字母表排序的。
ls
ls可以设置参数,例如:ls -a
查看隐藏文件ls -l
查看长文件,会显示文件的详细信息
ls还支持添加过滤器,用以过滤输出列表:ls -l a*
查看以a开头的文件
处理文件
创建文件
touch newfile
touch命令默认创建一个空文件
复制文件
cp source destination
如果目标文件不存在会新建一个和原文件内容相同的新文件,但是文件信息会变成全新的,如果目标文件已经存在则会覆盖原文件的内容。
移动文件
mv file directory
将目标文件移动到指定目录下。
删除文件
rm file
需要注意的是删除文件后无法恢复,所以要谨慎操作。
处理目录
创建目录
mkdir directory
新建了一个空目录,如果需要创建多级目录则需要以下参数:
mkdir -p directory/subdir
删除目录
rmdir directory
但是rmdir只能用来删除空目录,如果目录不为空则不会删除该目录。对于还有大量文件的目录可以使用以下方法来删除:
rmdir -rf fulldir
使用-r和-f参数可以完全删除目录,并且不用担心报错。
查看文件内容
查看文件类型
file filename
使用file命令可以查看文件的类型,甚至可以分辨出是文件还是一个目录。
查看文件内容
cat命令
cat filename
会将文件里面所有内容进行展示。
more命令
more filename
与cat不同more每次只会显示一页内容,可以使用space或者enter继续浏览,或者使用q退出,more只支持基本的文件移动。
less命令
less filename
less是比more更高级的的命令,与more相比提供了更多的操作。
tail和head命令
tail filename
会显示文件最后几行的内容,默认是10行,也可以自己定义:
tail -8 filename
显示最后8行内容。head和tail的用法基本类似,这里就不再赘述了。