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学习——操作文件与目录的主要内容,如果未能解决你的问题,请参考以下文章

Linux命令学习笔记之一目录与文件基本操作

Linux目录与文件操作

实验二 Linux系统简单文件操作指令

实验二 Linux系统简单文件操作命令

验二 Linux系统简单文件操作命令

Linux系统简单文件操作命令