`
t225com
  • 浏览: 660192 次
文章分类
社区版块
存档分类
最新评论

Linux 文件和目录管理之列出、删除、复制、移动及改名

 
阅读更多

http://linux.chinaunix.net/techdoc/system/2006/05/05/931841.shtml


命令行模式下来操作文件管理还是比较重要的,虽然目前在Linux桌面上能完成大部份的文件管理工作,但就效率来说,还是命令行模式更为强大。最重要的是
在文本操作界面和图形界面通用。如果您是服务器管理人员,您能体会到命令行下的文件管理工具是何等重要。本文涉及了目录和文件的显示ls、复制cp、移动
mv、删除rm、rmdir、目录的创建mkdir以及用echo、touch等工具创建空文件... ... 内容;

目录



++++++++++++++++++++++++++++++++++++++
正文
++++++++++++++++++++++++++++++++++++++


0、关于路径的理解;

请参考:

《关于Linux 文件系统中路径的理解》

1、列文件或目录的信息工具ls或dir;

ls 命令可以用于显示目录的内容,也可以显示文件的属性,比如节点、文件种类、权限、拥有者、大小、创建时间等;在目前最新版本的Linux中dir和ls命令的用法是一样的;有兴趣的不仿尝试一下;

1.1 ls 的基础语法和参数;

语法格式:

#ls [参数] [目录或文件名]
参数:
-a 显示所有文件,包含隐藏文件;包括“.“和“..“
-A 显示所有文件,包含隐藏文件,不包括“.“和“..“目录;
-B 不列出文件名以~结尾的文件;
-C 按列列出文件;
-d 仅可以查看目录的属性参数及信息;
-F 这个参数加上后,能给目录添加上/,给可执行文件加上*,给符号链接加上@等等,来标记文件名,目的是让用户方便查看;
-l 长格式输出
-h 习惯人们可阅读的方式来显示文件或目录的大小,比如K、M或G等;
-p 在目录的后面附加/标记;
-r 逆序列出文件;
-t按文件最后访问(或修改)的时间排序,最新的排在最前面;
-U 按原始排序,
-L 递归显示,也就是说,当我们列某个目录的下的所有文件和目录时,能把它的下级目录的内容显示出来。
--help获得帮助;
在这里,位于[]之内的都是可选的。如果您只输入ls ,就会列出用户所处当前目录的所有文件,用短格式输出,但不会列出隐藏文件。
判断用户所处目录的命令是pwd,也就是
[root@localhost ~]# pwd
/root

1.2 ls 的参数示例应用;


1.21 列出目录下所有文件,包含或不包含隐藏文件,-a 参数及-l参数的运用;

#ls -la [目录名]
如果不接目录名,表示输出当前用户所处目录内的所有文件,包括隐藏文件;
[root@localhost ~]# pwd
/root
[root@localhost ~]# ls -la
列出某一目录下的的文件或目录,但不包括隐藏文件,我们只用-l参数
#ls -l目录
比如:
[root@localhost ~]# ls-l /root/
总计 13968
-rw-r--r-- 1 root root 0 04-19 14:09 123.txt
-rw------- 1 root root 1375 03-16 08:55 anaconda-ks.cfg
-rw-r--r-- 1 root root 2 03-27 02:00 fonts.scale
-rw-r--r-- 1 root root 5423 03-16 08:52 install.log.syslog
-rw-r--r-- 1 root root14087155 03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpm
lrwxrwxrwx 1 root root 33 04-19 11:27 kernel.rpm -> kernel-2.6.15-1.2025_FC5.i686.rpm
drwxr-xr-x 2 1000 users 4096 04-04 23:30 mkuml-2004.07.17
-rw-r--r-- 1 root root 68012 04-04 20:28 mkuml-2004.07.17-ananas.tar.bz2
drwxr-xr-x 2 root root 4096 04-19 10:53 mydir
-rw-r--r-- 1 root root 53992 03-16 08:54 myinstall.log
-rw-r--r-- 1 root root 0 04-19 14:10 plinux.txt
drwxr-xr-x 2 root root 4096 03-17 04:25 Public
-rw-r--r-- 1 root root 613 03-26 18:41 upgrade.log
-rw-r--r-- 1 root root 0 03-26 18:39 upgrade.log.syslog
lrwxrwxrwx 1 root root 6 04-19 11:17 yourdir -> mydir/
说明:如果以长格式输入,总共显示出八段内容:
第一段
文件种类及权限,也就是类似这样的-rw-r--r--
,我们在前面讲到,如果在这段中,第一字符表示文件的类型,如果出现-,表示普通文件。如果是d开头的就是目录。在这个例子中,123.txt是普通文
件,而mkuml-2004.07.17就是一个目录。关于文件的种类,请参考 :
rw-r--r--是权限位,我们在以后的教程中会讲到。
第二段 硬链接个数(文件系增加一个硬链接,数字会增加1,默认从1开始,1表示无硬链接文件,如果是一个目录,它的默认值应该是2。目录是不能做硬链接的)
如果我们不以长格式输出的话,可以把参数省略;
第三段 文件或目录所占用的字节数,如果您想用K来表示,请用ls -lh /root
第四段 最后访问日期
第五段最后访问时间
第六段 文件名
[root@localhost ~]# ls /root

1.22 仅查看目录的属性的-d参数的运用示例;

[root@localhost ~]# ls -ld/etc/boot注:查看/etc和/boot目录的信息;
drwxr-xr-x 4 root root4096 04-11 16:22 /boot
drwxr-xr-x 108 root root 12288 04-20 12:36 /etc

1.23 查看文件或目录的inode节点,-i参数的运用;

查看文件或目录的节点,我们要用到i参数。如果节点相同,能确认他们是相同的文件,是通过通过ln
创建的硬链接文件;链接接有何用?如果您想把一个文件复制时保持原文件或目录的节点、大小、权限以及访问(或修改)时间都和原文件一致的文件。必须通过硬
链接来实现,用cp命令是不可能实现的。
比如:
[root@localhost ~]# ls -li /root
[root@localhost ~]# ls -li kernel*
2408323 -rw-r--r-- 3 root root 14087155 03-16 07:53 kernel00.rpm
2408270 lrwxrwxrwx 1 root root 33 04-19 14:56 kernel1.rpm -> kernel-2.6.15-1.2025_FC5.i686.rpm
2408323 -rw-r--r-- 3 root root 14087155 03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpm
2408323 -rw-r--r-- 3 root root 14087155 03-16 07:53 kernel.rpm
我们看一下kernel00.rpm 、kernel.rpm 和 kernel-2.6.15-1.2025_FC5.i686.rpm
是不是节点相同??他们的大小是不是一样,他们的访问日期是不是一样?只是他们的文件名不一样。文件名不一样没有关系,这能证明其中两个文件是由另一个文
件通过ln 创建而成。
您可以尝试着用cp 把 kernel-2.6.15-1.2025_FC5.i686.rpm 复制为kernel002.rpm ,看看能不能保持节点相同?
[root@localhost ~]# ls -li kernel*
2408272 -rw-r--r-- 1 root root 14087155 04-19 16:05 kernel002.rpm
2408323 -rw-r--r-- 3 root root 14087155 03-16 07:53 kernel00.rpm
2408270 lrwxrwxrwx 1 root root 33 04-19 14:56 kernel1.rpm -> kernel-2.6.15-1.2025_FC5.i686.rpm
2408323 -rw-r--r-- 3 root root 14087155 03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpm
2408323 -rw-r--r-- 3 root root 14087155 03-16 07:53 kernel.rpm
不是是kernel002.rpm 的节点和 kernel-2.6.15-1.2025_FC5.i686.rpm 不一样了?

1.24 关于排序的参数的应用;

ls 显示目录的内容时,会将文件按a到z的字母顺序显示,优先级如下;
数字
a-z
A-Z
也就是说如果不加任何排序的参数,文件名第一个字母是数字的,将优先显示;其次才是A-Z,然后才是a-z;下面是几个排序的参数,大家练习一下就知道了;
在文件的大小排序上,我们要用到-S参数;
如果是逆序排序时,我们要用到-r参数;
按最后访问的时候排序,要用到-t参数;
根据扩展名进行排序,要用到参数 -X ;
举例
[root@localhost ~]# ls
123.txt fonts.scale kernel myinstall.logupgrade.log
anaconda-ks.cfginstall.log.syslogmkuml-2004.07.17-ananas.tar.bz2plinux.txt upgrade.log.syslog
[root@localhost ~]# ls -lS /root
[root@localhost ~]# ls -lS
总计 180
-rw-r--r-- 1 root root 68012 04-04 20:28 mkuml-2004.07.17-ananas.tar.bz2
-rw-r--r-- 1 root root 53992 03-16 08:54 myinstall.log
-rw-r--r-- 1 root root5423 03-16 08:52 install.log.syslog
drwxr-xr-x 2 root root4096 04-19 20:04 kernel
-rw------- 1 root root1375 04-19 15:04 anaconda-ks.cfg
-rw-r--r-- 1 root root 613 03-26 18:41 upgrade.log
-rw-r--r-- 1 root root 21 04-19 15:06 123.txt
-rw-r--r-- 1 root root 2 03-27 02:00 fonts.scale
-rw-r--r-- 1 root root 0 04-19 14:10 plinux.txt
-rw-r--r-- 1 root root 0 03-26 18:39 upgrade.log.syslog
举例:
[root@localhost ~]# ls -lr
总计 180
-rw-r--r-- 1 root root 0 03-26 18:39 upgrade.log.syslog
-rw-r--r-- 1 root root 613 03-26 18:41 upgrade.log
-rw-r--r-- 1 root root 0 04-19 14:10 plinux.txt
-rw-r--r-- 1 root root 53992 03-16 08:54 myinstall.log
-rw-r--r-- 1 root root 68012 04-04 20:28 mkuml-2004.07.17-ananas.tar.bz2
drwxr-xr-x 2 root root4096 04-19 20:04 kernel
-rw-r--r-- 1 root root5423 03-16 08:52 install.log.syslog
-rw-r--r-- 1 root root 2 03-27 02:00 fonts.scale
-rw------- 1 root root1375 04-19 15:04 anaconda-ks.cfg
-rw-r--r-- 1 root root 21 04-19 15:06 123.txt
[root@localhost ~]# ls -lt
总计 180
drwxr-xr-x 2 root root4096 04-19 20:04 kernel
-rw-r--r-- 1 root root 21 04-19 15:06 123.txt
-rw------- 1 root root1375 04-19 15:04 anaconda-ks.cfg
-rw-r--r-- 1 root root 0 04-19 14:10 plinux.txt
-rw-r--r-- 1 root root 68012 04-04 20:28 mkuml-2004.07.17-ananas.tar.bz2
-rw-r--r-- 1 root root 2 03-27 02:00 fonts.scale
-rw-r--r-- 1 root root 613 03-26 18:41 upgrade.log
-rw-r--r-- 1 root root 0 03-26 18:39 upgrade.log.syslog
-rw-r--r-- 1 root root 53992 03-16 08:54 myinstall.log
-rw-r--r-- 1 root root5423 03-16 08:52 install.log.syslog

1.25 递归显示目录的文件,-R参数的应用;

递归显示目录下的所有文件,如果该目录下有子目录,也会把子目录的文件一并显示出来。
比如
[root@localhost ~]# ls -lR /
注:也就是把Linux下/根目录下的所有文件显示出来,但不会显示隐藏文件。自己试着输入上面的命令就知道怎么回事了。

1.26 关于ls 输出内容在终端显示颜色的参数 --color;

在一般的情况下,ls输出内容是有颜色的,比如目录是蓝色,压缩文件是红字的显示。如果没有颜色,可以加上参数。当然也可以去掉颜色。
--color=never表示输出输出没有彩色
--color=auto表示自动
--color=always 表示输出内容有彩色
举例:
[root@localhost ~]# ls -la --color=never
[root@localhost ~]# ls -la --color=any
[root@localhost ~]# ls -la --color=always
如果您的终端或控制台输出的内容没有颜色,可以自己来定义。在当前用户的家目录下的.bashrc 中加入下面的一行;
alias ls="ls --color=always"

1.27ls的-F参数的示例;

[root@localhost ~]# ls -F
crondw.sh*kernel/mkuml-2004.07.17-ananas.tar.bz2openQreadme.txt@sun.txtupgrade.logyoudir/
[root@localhost ~]# ls -lF
总计 92
-rwxr-xr-x 1 root root 0 04-20 14:18 crondw.sh*
drwxr-xr-x 3 root root4096 04-20 14:17 kernel/
-rw-r--r-- 1 root root 68012 04-04 20:28 mkuml-2004.07.17-ananas.tar.bz2
lrwxrwxrwx 1 root root 7 04-20 14:18 openQreadme.txt -> sun.txt
-rw-r--r-- 1 root root 11 04-20 14:17 sun.txt
-rw-r--r-- 1 root root 613 03-26 18:41 upgrade.log
drwxr-xr-x 6 root root4096 04-20 14:17 youdir/

1.3 通配符在ls命令中的应用;

* 代表0个或多个字符
[]内部包括任何字符
? 任何单个字符
举例:
比如我们显示以k开头的所有文件,在/root目录中的;
[root@localhost ~]# ls /root/k*
kernel002.rpmkernel00.rpmkernel1.rpmkernel-2.6.15-1.2025_FC5.i686.rpmkernel.rpm
我们显示以数字开头的所有文件;
[root@localhost ~]# ls [0-9]*
123.txt234.txt2kexe.txt6mns.doc
下面是一个?通配符的示例:
[root@localhost ~]# ls *.t?t
123.txt234.txt2kexe.txt333.totplinux.txt

1.4获得ls 的帮助;

ls 的用法比较简单,至于更详细的参考,还是查man和help。遇到不会的,就查手册,我也是这么做的。
[root@localhost ~]# ls --help
[root@localhost ~]# man ls
[root@localhost ~]# info ls

2、移动文件或目录的命令 mv ;

mv 命令是用来移动文件或目录的;有以下几种格式;
#mv file1 file2注:把file1移动到file2,如果file2不存在,则创建file2文件名;
#mv file1 dir 注:把一个文件移动到一个事实存在的目录;
#mv dir1 dir2 移动目录dir1 到 dir2 ,如果dir2不存在,则创建它;
#mv file1 file2 file3 ... ...dir 移动file1、file2、file3等多个文件到dir目录中;
#mv dir1 dir2 ... ... dirn 注:移动目录dir1和dir2等多个目录到dirn目录中
参数-i ,表示人机交互模式;提示警告信息;
举例:

[root@localhost ~]# mv -i 123.txt234.txt
mv:是否覆盖“234.txt”? y 注:要在这里输入y,表示允许覆盖234.txt文件;如果是n,请示不允许;
mv 也能和通配符结合一起使用,这样能把相似特征的文件移动到某处;
* 代表0个或多个字符
[]内部包括任何字符
? 任何单个字符

举例:比如移动以数字开头的文件或目录到 root目录下的tmp目录中;

[root@localhost ~]# pwd
/root
[root@localhost ~]# mv [0-9]* tmp/
[root@localhost ~]# ls -lh tmp/
总计 4.0K
-rw-r--r-- 1 root root 21 04-19 15:06 234.txt
-rw-r--r-- 1 root root0 04-19 22:23 2kexe.txt
-rw-r--r-- 1 root root0 04-19 22:25 333.tot
-rw-r--r-- 1 root root0 04-19 22:23 6mns.doc

3、文件或目录的复制工具cp ;


3.1 cp 的语法和参数

#cp[参数选项] 源文件或目录 目标文件或目录
注:参数是可选的,常用参数比如-r,-R,-p,-i ;
参数说明(部份)
-a 等同于-dpR参数一起使用;在复制过程中尽可能保留源文件或目录的属性;
-b 给被覆盖的文件做备份。比如我们把file1 复制到file2时,如果file2存在,我们把file2覆盖掉,用这个参数就能同时生成一个file2~的文件,注意文件名后有~结尾
-d 不间接引用符号链接,保持源文件和目标文件之间的硬链接关系;
-f 删除已存在的目标文件;
-i覆盖已存在的目标文件之前给出警告提示,这是人机交互的选项;
-l 建立文件硬链接,而不是复制;
-p 保存源文件或目录的最后修改时间和模式,比如要保持目标目录或文件的属主、组、权限和最后访问(或修改)时间;
-R 复制目录时,包括淅目录下所有的子目录和文件;
-s建立源文件的符号链接,而不是复制源文件。源文件名必须用绝对路径;
-r 复制目录时,包括淅目录下所有的子目录和文件;-r选项不同于-R之处在于尝试打开目的地文件前先删除已存在的目的地文件
-i 人机交互模式,显法覆盖已存在的文件或目录的警告信息;
-v在复制之前,输出每个文件的名字;
--help查看帮助 ;

3.2示例说明cp应用;


3.21参数-i的示例;

[root@localhost ~]# ls
anaconda-ks.cfginstall.log.syslogKernel.rpm mydir Plistupgrade.log youdir
fonts.scale kernel mkuml-2004.07.17-ananas.tar.bz2plinux.txtsun upgrade.log.syslog
[root@localhost ~]# pwd
/root
[root@localhost ~]# cp-i Kernel.rpm Plist
cp:是否覆盖“Plist”? y
注:人机交互在数-i的运用;如果源文件复制到目标文件,如果目标文件存在,则提示警告;

3.22 参数-a的示例及说明;

把源目录复制到另外的一个目标,相当于克隆了一个目录,源目录和目标目录在用户组、权限及修改或访问时间保持一致;
[root@localhost ~]# cp -a mydir youdir
注:复制目录mydir 到youdir
,如果yourdir目录不存在,则创建。并且把mydir中所有的文件下级子目录都复制到
yourdir目录中。也就是说mydir目录的文件和youdir是一样的。-a
参数等同于-dpR,并且源目录和目标目录的属性(用户组、权限、最后访问及修改时间)都一致;

3.23参数-b的示例应用;

把源文件复制为目标文件;并且尝试-b参数的运用;
[root@localhost ~]# cp fonts.scale fonts.dir把一个文件复制为另一个文件;
[root@localhost ~]# cp -bi fonts.scale fonts.dir
cp:是否覆盖“fonts.dir”? y注:因为用了-i 参数,如果目标文件存在,则报警提示;
[root@localhost ~]# ls -lh fonts.*
-rw-r--r-- 1 root root 2 04-20 10:24 fonts.dir
-rw-r--r-- 1 root root 2 04-20 10:24 fonts.dir~注:-b参数运用的效果就是生成已存在目标文件的覆盖之前备份。
-rw-r--r-- 1 root root 2 03-27 02:00 fonts.scale

3.24把多个文件复制到目录目录中示例;

比如我们把位于用户当前目录下的fonts.dir、Kernel.rpm和Plist文件,复制到当前用户所处的目录下的sun目录中;
[root@localhost ~]# pwd注:判断用户所处的位置,也就是所处的目录;
/root
[root@localhost ~]# mv fonts.dir Kernel.rpmPlistsun/
[root@localhost ~]# ls sun/
fonts.dirKernel.rpmPlist
注:如果您想把多个目录或文件复制到目标目录时,您得加参数 -R

3.25 复制目录时-R参数的应用;

复制一个目录到另一个目录时,我们要用到 -r或-R 或-a , 如果目标目录不存在,则创建它,如果目标目录存在,则复制源目录到目标目录之下;看看-a和-R或-r有什么不同?尝试看看;
比如我们在用户当前操作的目录中,有mydir目录,我们想把mydir复制为medir(在复制之前medir是不存在的)。
[root@localhost ~]# cp -R mydir medir 注:如果medir目录不存在,则创建medir目录,并且medir目录中的内容和mydir中的一样;
如果您把-R参数换成-a参数,会有什么不同?看看前面的例子所说的;

4、 目录创建工具mkdir和删除空目录工具rmdir;


4.1mkdir 是目录创建工具;


4.11mkdir语法格式及参数;

语法格式

#mkdir [参数选项]目录
参数常用的如下:
-m 在创建目录时要授其权限,要和chmod的授权格式;
-p如果中间目录不存在,则创建它

4.12参数-p 的应用示例

我们要创建一个目录linuxsir,并且linuxsir目录下包含子目录sirdoc,sirdoc目录下还有 redhat目录;
[root@localhost ~]# mkdir -plinuxsir/sirdoc/redhat
举例: -m 参数的应用示例;
我们以不同的权限来创建目录,然后查看我们所创建目录的属性;这要涉及到chown 来改变目录的权限的格式。我们会在以后讲到chown改变目录或文件的权限。在这里不同的是,在目录创建之时就给其授权了;
[root@localhost ~]# mkdir -m644 sundir
[root@localhost ~]# mkdir -m 755 moondir
[root@localhost ~]# mkdir -m 000 beinandir
[root@localhost ~]# ls -ld sundir moondir beinandir
d--------- 2 root root 4096 04-20 11:01 beinandir
drwxr-xr-x 2 root root 4096 04-20 11:01 moondir
drw-r--r-- 2 root root 4096 04-20 11:00 sundir

4.2删除空目录工具 rmdir 和rm ;

rmdir 是用来删除空目录用的,如果目录中有文件或子目录,必须先删除文件或子目录,其语法格式如下:
#rmdir [参数]目录

rmdir 参数常用的有:

-p 删除目录时是一级一级的时行的,值得注意的是,首先从最里面的目录开始。下面是一个例子;
[root@localhost ~]# mkdir -plinuxsir/sirdoc/redhat/
注:首先在当前目录下创建linuxsir目录,他的子目录是sirdoc,sirdoc内又有一个子目录redhat
[root@localhost ~]# rmdir -p linuxsir/sirdoc/redhat/注:删除linuxsir目录,要用到参数-p
[root@localhost ~]# ls linuxsir注:检查一下是不是还有这个目录?
ls: linuxsir: 没有那个文件或目录
rmdir 所删除的目录,每级目录中都是空的,没有其它的文件。如果任何一级的目录有文件,也不能删除。这时您要用到rm -rf
命令强制删除。不过用rm -rf 删除时有点不安全,还是用rf -ri
比较好一点,因为在删除的时候,会有警告提示。这对于安全操作来说是很重要的;
[root@localhost ~]# ls -lh sun/注:这是sun目录,里面有内容;
总计 28K
-rw------- 1 root root 1.4K 04-19 15:04 anaconda-ks.cfg
-rw-r--r-- 1 root root 2 04-20 10:24 fonts.dir
-rw-r--r-- 1 root root 2 03-27 02:00 fonts.scale
-rw-r--r-- 1 root root 5.3K 03-16 08:52 install.log.syslog
-rw-r--r-- 1 root root 0 04-19 20:44 Kernel.rpm
-rw-r--r-- 1 root root 0 04-20 10:20 Plist
[root@localhost ~]# rmdir sun/注:我们尝试用rmdir来删除,
rmdir: sun/: 目录非空
[root@localhost ~]# rm -rf sun/注:强制用rm -rf 来删除;
[root@localhost ~]# ls sun 注:检查是否删除,删除成功;
ls: sun: 没有那个文件或目录

5、创建一个空文件的工具:用 touch、echo、cat等工具;

有时我们为了方便,可能在控制台或终端下创建一个不存在的空文件,然后我们再用编辑器来编辑它;创建空文件有时还有点用。说说也无妨。我们在这里用
touch、ech0及cat 工具。其实这些工具,创建文件只是他们的一个小小的功能,我们以后再介绍这些工具,先说他们创建文件的功能。
注意:创建这些文件,在我们操作创建文件之前,这些文件在用户当前操作目录下是不存在的,我们在这里只是创建一个新的文件名,并且它里面没有任何空容的;
[root@localhost ~]# ls 123456.txt 654321.txt 98765.txt
ls: 123456.txt: 没有那个文件或目录
ls: 654321.txt: 没有那个文件或目录
ls: 98765.txt: 没有那个文件或目录
[root@localhost ~]# echo > 123456.txt注:用ech0 来创建,在创建之前在此操作目录下不存不123456.txt文件;
[root@localhost ~]# ls 123456.txt 注:查看一下看有没有生成?
123456.txt
[root@localhost ~]# touch 654321.txt注:用 touch 来创建,在创建之前在此操作目录下不存在654321.txt文件;
[root@localhost ~]# ls 654321.txt注:查看一下看有没有生成?
654321.txt
[root@localhost ~]# cat > 98765.txt注:用ech0 来创建,在创建之前在此操作目录下不存在98765.txt 文件;然后按ctrl+c组合键退出;
[root@localhost ~]# ls 98765.txt 注:查看一下看有没有生成?
98765.txt

6、删除文件工具rm;

rm 是用来删除一个或多个文件的工具,并且能用于删除非空目录。我们前面提到了可以加参数-rf 就可以强制删除一个非空目录。
rm的语法格式;
#rm [参数选项] file1 file2 ... ...
#rm[参数选项]dir1 dir2 dir3 ... ...
rm 常用参数:
-f不显示警告或提示信息就删除,用的时候需要小心;
-i删除文件时,显示警告信息,要多用,这样比较安全;根据提示,输入y就表示删除,输入n,请示不删除;
-r或-R表示可以删除整个目录(包括子目录及所有文件),要小心用;
[root@localhost ~]# rm -i 123.sh注:这是删除一个文件,用-i参数的示例,有警告提示;
rm:是否删除一般空文件“123.sh”? y
比如我们想删除mydir目录及所有下级目录和文件,要有提示的警告信息,可以用-r参数和-i参数的组合;如果您想终止rm命令,请按ctrl+c组合健退出rm;
[root@localhost ~]# rm -ri mydir/
rm:是否进入目录“mydir/”? y
rm:是否进入目录“mydir//youdir”? y
rm:是否删除一般文件“mydir//youdir/enteruml.sh”?
如果您想没有任何警告信息的删除mydir目录下的所有文件及子目录,可以用-r和-f参数的组合;
[root@localhost ~]# rm -rf mydir

7、修改文件名工具 mv

mv 可以移动一个文件(或目录)到另一个文件(或目录),如果文件(或目录)不存在,则创建它。其实mv 这个过程也可以理解为改名过程,所以说mv工具能修改文件名和目录名。
#mv 原文件名或目录名新文件或目录名
注意:新文件名或目录名应该不能与现有文件名(或目录名)同名。
举例:
[root@localhost ~]# ls
crondw.shkernelmkuml-2004.07.17-ananas.tar.bz2mydiropenQreadme.txtsun.txtupgrade.logyoudir
[root@localhost ~]# mv crondw.sh 123.sh注:移动crondw.sh 到123.sh ,其实就是把文件名改为了123.sh
[root@localhost ~]# ls
123.shkernelmkuml-2004.07.17-ananas.tar.bz2mydiropenQreadme.txtsun.txtupgrade.logyoudir

再看一例mv 修改目录的。当然mv是把文件(或目录)从一个地方移到另一个地方。如果另一地方没有和源文件(或目录)同名的,就创建。这也相当于改名;
[root@localhost ~]# ls
123.shkernelmkuml-2004.07.17-ananas.tar.bz2mydiropenQreadme.txtsun.txtupgrade.logyoudir
[root@localhost ~]# mv kernel/ kernelBak
[root@localhost ~]# ls
123.shkernelBakmkuml-2004.07.17-ananas.tar.bz2mydiropenQreadme.txtsun.txtupgrade.logyoudir

8、关于本文;

本文是为新手上路而写的,也是基础文档之一,如果您认为有用,那就送给您了。呵~~~~~~请各路大侠多多指正吧,谢谢~
今天值得高兴的事是我终于能从文件系统写到文件方面的内容了,也学到了不少东西,想来想去有点不容易~~~接着加油;

9、后记;

本文是文件管理一部份,包括了文件(或目录)的查看工具ls、复制cp、移动mv;目录的创建mkdir,目录的删除rm或rmdir;还有创建空文件的几个工具;mv的改名用途;文件的删除rm;
说是文件和目录的管理,没有写路径方面的知识,好象是少点东西。本来是想先写路径和目录方面的内容了。后来一想一篇容不下,先把看上去很乱的东西写一写。然后再写路径的内容。

10、参考文档;

相当工具的man或help;

11、相关文档;

《关于Linux 文件系统中路径的理解》
《Linux 文件种类和文件类型简述》
《简述Linux 文件系统的目录结构》




本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/5737/showart_108435.html


分享到:
评论

相关推荐

    cmd操作命令和linux命令大全收集

    xcopy 要复制的文件或目录树 目标地址目录名 复制文件和目录树,用参数/Y将不提示覆盖相同文件 用参数/e才可连目录下的子目录一起复制到目标地址下。 tftp -i 自己IP(用肉机作跳板时这用肉机IP) get server.exec...

    linux学习记录

    vi 文本编辑器(相当于win notepad) 用vi 打开某文件 # vi 文件目录/文件名 dd 删除一行记录 a 添加记录 esc 退出 wq 保存退出 !q 不保存退出 o 插入文本 export java_home Echo 查看环境变量 echo $path Useradd ...

    Linux操作系统基础教程

    Linux 操作系统基础教程 清华大学信息学院计算机系 目 录 前言..........................................................................................................................................

    LINUX安装与配置简明手册

    5.2.3 列出目录的内容清单 52 5.2.4 切换目录路径 53 5.2.5 确定自己所在的位置 54 5.2.6 解读文件和目录清单列表 54 5.2.7 改变文件和目录的存取权限 54 5.2.8 改变文件和目录的所有者 55 5.2.9 给文件和目录改名 ...

    RED HAT LINUX 6大全

    本书内容翔实、涉及领域广泛,并且提供了详细的例子和大量的参考资料(包括书籍、电子文档和Internet站点),是一本学习、使用和管理Linux不可多得的好书。 目 录 译者序 前言 第一部分 Red Hat Linux的介绍与安装 ...

    入门学习Linux常用必会60个命令实例详解doc/txt

    Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux...

    LINUX 24学时教程

    4.3.2 使用dir和vdir命令列出子目录的 内容清单 55 4.3.3 使用cat命令列出及合并文件 56 4.3.4 使用more命令阅读文件 58 4.3.5 使用less命令浏览文件 59 4.4 使用head或tail命令阅读文件的 开头和结尾 60 4.5 课时小...

    coreutils-8.32.tar.gz

    根据所给参数的不同,把文件或者目录移动到另外的目录或者将其改名 nice 修改某个进程的调度优先级 nl 把每个指定文件的内容写到标准输出,在每行加上行号 nohup 使某个命令不被挂起,并将输出重定向到一个...

    linux安装与配置简明手册

    5.2.3 列出目录的内容清单 52 5.2.4 切换目录路径 53 5.2.5 确定自己所在的位置 54 5.2.6 解读文件和目录清单列表 54 5.2.7 改变文件和目录的存取权限 54 5.2.8 改变文件和目录的所有者 55 5.2.9 给文件和目录...

    Ubuntu权威指南(2/2)

    5.2.4 递归地列出文件 112 5.3 显示文件内容 113 5.3.1 使用cat命令显示文件 113 5.3.2 使用more命令分页显示 文件 113 5.3.3 使用less命令分页显示 文件 114 5.3.4 使用head命令显示文件 前几行内容 115 5.3.5 使用...

    Ubuntu权威指南(1/2)

    5.2.4 递归地列出文件 112 5.3 显示文件内容 113 5.3.1 使用cat命令显示文件 113 5.3.2 使用more命令分页显示 文件 113 5.3.3 使用less命令分页显示 文件 114 5.3.4 使用head命令显示文件 前几行内容 115 5.3.5 使用...

    matlab的登录代码下载-Quick_Start_of_Linux:Linux的快速入门

    matlab的登录代码下载 Quick Start of Linux 第一章 Linux 文件管理 目录结构 列表显示 ...打开目录 ...创建新文件或心目录 删除命令 ...详细列出所有文件, 一般用 ll 也可以 ls -a 显示所有文件 包括隐藏

    Turbolinux 学习入门宝典

    2.4.2 列出文件和目录( ls) 21 2.4.3 切换工作目录( cd) 22 2.4.4 查看当前目录( pwd) 23 2.4.5 拷贝文件和目录( cp) 23 2.4.6 移动文件( mv) 24 2.4.7 文件改名( mv) 25 2.4.8 创建目录( mkdir) 25 ...

    每天一个linux终端命令ls命令(3)

    列出文件和文件夹的详细信息 -h 以人性化的方式显示文件大小(搭配-l使用) -a 显示所有文件及目录(包括隐藏目录和文件) 范例: ls -l ls -a ls -lh ls -lha 请看红色方框部分,所谓以人性化方式显示文件夹大小...

    2009 达内Unix学习笔记

    cp 源文件 目标文件 复制文件;若已有文件则覆盖 cp -r 源目录 目标目录 复制目录;若已有目录则把源目录复制到目标目录下, 没有目标目录时,相当于完全复制源目录,只是文件名不同。 cp beans apple dir2 把...

    Linux简明教程.rar

    1.列出系统上的用户 2.另一种方法 3.推荐使用的 八、用户间通信-------------------------------------------------------------------------------------- 1.发送消息 2.接受消息和拒绝消息 九、发一封邮件--...

    网管教程 从入门到精通软件篇.txt

    ISO:根据ISD 9660有关CD-ROM文件系统标准列出CD-ROM上的文件 ISP:X-Internet签字文件 IST:数字跟踪设备文件 ISU:InstallShield卸装脚本 IT:脉冲跟踪系统音乐模块(MOD)文件 ITI:脉冲跟踪系统设备 ITS:...

    SVN操作手册中文版网页格式

    4.14. 删除、移动和改名 4.14.1. 正在删除文件/文件夹 4.14.2. 移动文件和文件夹 4.14.3. 改变文件名称大小写 4.14.4. 处理文件名称大小写冲突 4.14.5. 修复文件改名 4.14.6. 删除未版本控制的文件 4.15. ...

    数据库基础

    §1.5.4 LIST(列出)命令 33 §1.5.5 Change(替换字符串)命令 34 §1.5.6 Append(追加字符串)命令 34 §1.5.7 Save保存当前缓冲区命令到文件 35 §1.5.8 GET将命令文件读到缓冲区 35 §1.5.9 SPOOL将信息记录到文件...

    新版Android开发教程.rar

    � 谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发 既 有用又有吸引力的移动服务,并推广这些产品。 Android 进一步推进了 " 随时随地为每个人提供信息 " 这一企 业 ...

Global site tag (gtag.js) - Google Analytics