linux文件操作
前言
使用linux时,有很多命令需要学习,有时候经常会忘记,这里写一篇博客归类一下文件操作,也是以免自己忘记,希望加深自己的映象,也方便下次查看。
一、文件目录创建
语法: mkdir (选项)(参数)
mkdir命令用来创建目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。
选项
-Z:设置安全上下文,当使用SELinux时有效;
-m<目标属性>或–mode<目标属性>建立目录的同时设置目录的权限;也可以用chmod命令设置。
-p或–parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;
–version 显示版本信息。
参数
目录:指定要创建的目录列表,多个目录之间用空格隔开。
使用
1、-m的使用:创建一个可读写可执行的文件test;
mkdir -m=rwx test
2、-p的使用:在test文件夹下创建一个目录为a\b的文件夹;
mkdir -p test/a/b
3、-m和-p一起使用:在test下创建一个可读写可执行的目录c\d;
mkdir -p -m=rwx c/d
二、删除文件或目录
2.1使用rmdir删除空文件夹
描述
rmdir命令用来删除空目录。当目录不再被使用时,或者磁盘空间已到达使用限定值,就需要删除失去使用价值的目录。利用rmdir命令可以从一个目录中删除一个或多个空的子目录。该命令从一个目录中删除一个或多个子目录,其中dirname佬表示目录名。如果dirname中没有指定路径,则删除当前目录下由dirname指定的目录;如dirname中包含路径,则删除指定位置的目录。删除目录时,必须具有对其父目录的写权限。
注意:子目录被删除之前应该是空目录。就是说,该目录中的所有文件必须用rm命令全部,另外,当前工作目录必须在被删除目录之上,不能是被删除目录本身,也不能是被删除目录的子目录。
虽然还可以用带有-r选项的rm命令递归删除一个目录中的所有文件和该目录本身,但是这样做存在很大的危险性。
语法
rmdir(选项)(参数)
选项
-p或–parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;
–ignore-fail-on-non-empty:此选项使rmdir命令忽略由于删除非空目录时导致的错误信息;
-v或-verboes:显示命令的详细执行过程;
–help:显示命令的帮助信息;
–version:显示命令的版本信息。
参数
目录列表:要删除的空目录列表。当删除多个空目录时,目录名之间使用空格隔开。
使用
1、删除当前目录下,名为test的目录
rmdir test
2、删除test1目录下的tt文件夹
rmdir test1/tt
3、删除test2目录下的tt文件夹同时删除test2文件夹
rmdir -p test2/tt
2.2 rm命令删除文件或文件夹
描述
rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。
注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。
语法
rm (选项)(参数)
选项
-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
–preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程。
参数
文件:指定被删除的文件列表,如果参数中含有目录,则必须加上-r或者-R选项。
使用
1、删除一个目录test2,直接使用rm test2是不能删除的,会提示‘rm: 无法删除”test2”: 是一个目录’,应该加上-d强制删除,或者使用-r,或者-r和-f一起使用。
rm -d test2
rm -r test2
rm -rf test2
3、删除名为test.txt文件前先询问用户
rm -i test.txt
三、创建文件
3.1使用touch创建文件
描述
ouch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。
语法
touch(选项)(参数)
选项
-a:或–time=atime或–time=access或–time=use 只更改存取时间;
-c:或–no-create 不建立任何文件;
-d:<时间日期> 使用指定的日期时间,而非现在的时间;
-f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;
-m:或–time=mtime或–time=modify 只更该变动时间;
-r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;
-t:<日期时间> 使用指定的日期时间,而非现在的时间;
–help:在线帮助;
–version:显示版本信息。
参数
文件:指定要设置时间属性的文件列表。
使用
1、使用touch创建文件test
touch test.txt
3.1使用vi创建文件
语法
vi(选项)(参数)
选项
+<行号>:从指定行号的行开始先是文本内容;
-b:以二进制模式打开文件,用于编辑二进制文件和可执行文件;
-c<指令>:在完成对第一个文件编辑任务后,执行给出的指令;
-d:以diff模式打开文件,当多个文件编辑时,显示文件差异部分;
-l:使用lisp模式,打开“lisp”和“showmatch”;
-m:取消写文件功能,重设“write”选项;
-M:关闭修改功能;
-n:不实用缓存功能;
-o<文件数目>:指定同时打开指定数目的文件;
-R:以只读方式打开文件;
-s:安静模式,不现实指令的任何错误信息。
参数
文件列表:指定要编辑的文件列表。多个文件之间使用空格分隔开。
使用
1、打开名为test.txt的文件
vi test.txt
vi知识还有很多可以学习,具体可参考http://man.linuxde.net/vi
好了就到这里了。