Linux学习——操作文件与目录
Posted 王陸
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux学习——操作文件与目录相关的知识,希望对你有一定的参考价值。
1. ls:列出文件及目录信息。
- 命令格式:ls [选项] ...
- 常用选项:
-a 显示指定目录下所有子目录与文件,包括隐藏文件。
-A 显示指定目录下所有子目录与文件,包括隐藏文件。但不列出“.”和 “..”。
-c 按文件的修改时间排序。
-l 以长格式来显示文件的详细信息。这个选项最常用,在有些系统下,可以直接输入ll命令,实际就是ls -l的简写。
-r 按字母逆序或最早优先的顺序显示输出结果。
-t 显示时按修改时间(最近优先)而不是按名字排序。若文件修改时间相同,则按字典顺序。
-u 显示时按文件上次存取的时间(最近优先)而不是按名字排序。
-i 显示文件或目录的inode号
- 示例:
#ls –il(下面是对显示信息的简要说明)
1)inode号:该文件或目录的索引节点号
2)类型:使用不同的字符代表不同的文件类型
-:普通文件
d:目录
b:块设备文件
c:字符设备文件
l:软链接文件
s:套接字(socket)文件
p:管道(pipe)文件
3)权限:每个文件可针对拥有者(创建者)、同组用户以及其他用户设置读、写、执行权限,以以下字符表示不同的权限:
r:读权限
w:写权限
x:执行权限
-:没有权限
2. chmod:文件拥有者(属主)或特权用户修改文件访问权限。
- 命令格式:chmod [选项] 权限 文件名
- 常用选项:
-c:输出被改变文件信息
-R:递归遍历子目录,把修改应到目录下所有文件和子目录
--reference=filename:参照filename的权限来设置
-v:无论修改是否成功,输出每个文件的信息
示例:
#chmod u+x file 给file的属主增加执行权限
#chmod 751 file 给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
#chmod u=rwx,g=rx,o=x file 上例的另一种形式
#chmod =r file 为所有用户分配读权限
#chmod a-wx,a+r file 同上例
#chmod -R u+r directory 递归地给directory目录下所有文件和子目录的属主分配读的权限
3.cp:拷贝文件或目录。
- 命令格式:cp [选项] 源文件/目录名 目的文件/目录名
- 常用选项:
-a:常在拷贝目录时使用。保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。
-r:若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件,此时目标文件必须为一个目录名。
-d:拷贝时保留链接。
-f:删除已经存在的目标文件而不提示。
-i:和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。是交互式拷贝。
- p:此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
示例:
#cp file1 file2 将文件file1拷贝到文件file2。如果file2存在将会被file1的内容覆盖;不存在将会先创建file2
#cp -r direct1 direct2 将direct1(目录及其内容)拷贝到direct2。同上。
4. mv:移动文件到另一个目录,也可使用该命令重命名文件。
- 命令格式:mv [选项] 源文件/目录名 目标文件/目录名
- 常用选项:
-f:覆盖已经存在的目标文件而不提示。
-i:覆盖已存在文件之前将给出提示要求用户确认。
示例
#mv file1 file2 将文件file1重命名为file2
#mv file1 ../file1 将文件file1移动到当前目录父目录
#mv dir1 dir2 将目录dir1及其内容移动到dir2下,同时删除dir1
5.mkdir:在当前目录下创建子目录。
- 命令格式:mkdir [选项] 目录名
- 常用选项:784
-m:设定目录权限,类似于chmod
-v:每次创建新目录都显示信息。
示例
#mkdir test1 创建test1子目录
#mkdir –m 777 test 创建test目录,并赋予所有人读、写、执行权限
6.rm:删除文件或目录。
- 命令格式:rm [选项] 文件/目录名
- 常用选项:
-r:若给出的源文件是一目录文件,此时rm将递归删除该目录下所有的子目录和文件。
-f:删除已经存在的目标文件而不提示。
-i:在删除文件之前将给出提
示要求用户确认。
示例:
#rm testdirect –rf 删除testdirect目录,不做提示
#rm file1 删除file1文件
#rm -r file1 dir1 删除file1、dir1以及它们的内容。
7. rmdir:删除空目录。
命令格式:rmdir [选项] 目录名
- 常用选项:
-p:递归删除目录,当子目录删除后,其父目录为空时,也一并被删除。
- 示例
#rmdir dirname
#rmdir -p pdir/cdir 删除子目录cdir,如cdir被删除后,pdir为空,pdir一并被删除
8. find:搜索文件。
- 命令格式:find 查找路径 [选项] …
- 常用选项:
-name 按名字查找
-perm 按执行权限来查找
-user 按文件拥有者来查找
-mtime 按文件修改时间来查找
-atime 按文件访问时间来查找
-ctime 按文件创建时间来查找
-type 按文件类型来查找,参数可以是b(块设备)、c(字符设备)、d(目录)、p(管道)、l(符号链接)、f(普通文件)
- 示例:
#find . –name “*.txt” 在当前目录(含子目录)查找.txt文件
#find / -name test 在根目录(含子目录)查找test文件
#find ~ -type l 在home目录查找符号链接文件
9.cat:显示一个或多个文件的信息。
- 命令格式:cat [选项] ...
- 常用选项:
-n :由 1 开始对所有输出的行数编号
-b :和-n 相似,但对于空白行不编号
-s :当遇到有连续两行以上的空白行,替换为一行的空白行
- 示例:
#cat -n test1.txt 把test1.txt内容加上行号显示出来(包括空行)
#cat -b test1.txt test2.txt 把test1.txt和test2.txt的内容显示出来,test2.txt的内容显示在test1.txt后面(除空行外加上行号)
10.more:显示文件的内容,空格向下翻页,常通过管道与其它命令配合使用。
- 命令格式:more [选项]...
- 常用选项:
+n:从第n行开始显示
-n:定义屏幕大小为n行
-c:从顶部清屏,然后显示
-s:把连续的多个空行显示为一行
- 示例
#more test.txt 显示test.txt内容
#more +10 test.txt 从第10行开始显示test.txt内容
#ls –il | more 列出当前目录文件信息,空格翻页
11.less:显示文件内容,空格、PgDn向下翻页,PgUp向上翻页,上、下箭头上下翻行,按q退出。
- 命令格式:less [选项] ...
- 常用选项:
-e:文件内容显示完毕后,自动退出
-f:强制显示文件
-N:每一行行首显示行号
-s:将连续多个空行压缩成一行显示
-S:在单行显示较长的内容,而不换行显示
-x<数字>:将TAB字符显示为指定个数的空格字符。
- 示例
#less -N test.cpp 显示test.cpp内容,前面显示行号
#less -x 2 test.cpp 显示test.cpp内容,TAB定义为2个空格
#ls –il | less 列出当前目录信息,使用less分页显示
以上是关于Linux学习——操作文件与目录的主要内容,如果未能解决你的问题,请参考以下文章