2017-05-12-Linux文件操作

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的用法基本类似,这里就不再赘述了。

原文地址:https://www.cnblogs.com/abel-huang/p/7784095.html