Archive for 2006年4月20日


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 root 14087155 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 root 4096 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.log upgrade.log
anaconda-ks.cfg install.log.syslog mkuml-2004.07.17-ananas.tar.bz2 plinux.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 root 5423 03-16 08:52 install.log.syslog
drwxr-xr-x 2 root root 4096 04-19 20:04 kernel
-rw------- 1 root root 1375 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 root 4096 04-19 20:04 kernel
-rw-r--r-- 1 root root 5423 03-16 08:52 install.log.syslog
-rw-r--r-- 1 root root 2 03-27 02:00 fonts.scale
-rw------- 1 root root 1375 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 root 4096 04-19 20:04 kernel
-rw-r--r-- 1 root root 21 04-19 15:06 123.txt
-rw------- 1 root root 1375 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 root 5423 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.27 ls的-F参数的示例;

[root@localhost ~]# ls -F
crondw.sh* kernel/ mkuml-2004.07.17-ananas.tar.bz2 openQreadme.txt@ sun.txt upgrade.log youdir/
[root@localhost ~]# ls -lF
总计 92
-rwxr-xr-x 1 root root 0 04-20 14:18 crondw.sh*
drwxr-xr-x 3 root root 4096 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 root 4096 04-20 14:17 youdir/


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

* 代表0个或多个字符
 []内部包括任何字符
? 任何单个字符

举例:

比如我们显示以k开头的所有文件,在/root目录中的;

[root@localhost ~]# ls /root/k*
kernel002.rpm kernel00.rpm kernel1.rpm kernel-2.6.15-1.2025_FC5.i686.rpm kernel.rpm

我们显示以数字开头的所有文件;

[root@localhost ~]# ls [0-9]*
123.txt 234.txt 2kexe.txt 6mns.doc

下面是一个?通配符的示例:

[root@localhost ~]# ls *.t?t
123.txt 234.txt 2kexe.txt 333.tot plinux.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.txt 234.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 root 0 04-19 22:23 2kexe.txt
-rw-r--r-- 1 root root 0 04-19 22:25 333.tot
-rw-r--r-- 1 root root 0 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.cfg install.log.syslog Kernel.rpm mydir Plist upgrade.log youdir
fonts.scale kernel mkuml-2004.07.17-ananas.tar.bz2 plinux.txt sun 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.rpm Plist sun/
[root@localhost ~]# ls sun/
fonts.dir Kernel.rpm Plist

注:如果您想把多个目录或文件复制到目标目录时,您得加参数 -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.1 mkdir 是目录创建工具;


4.11 mkdir语法格式及参数;

语法格式

#mkdir [参数选项] 目录

参数常用的如下:

-m 在创建目录时要授其权限,要和chmod的授权格式;
-p 如果中间目录不存在,则创建它


4.12 参数 -p 的应用示例

我们要创建一个目录linuxsir,并且linuxsir目录下包含子目录sirdoc,sirdoc目录下还有 redhat目录;

[root@localhost ~]# mkdir -p linuxsir/sirdoc/redhat

举例: -m 参数的应用示例;

我们以不同的权限来创建目录,然后查看我们所创建目录的属性;这要涉及到chown 来改变目录的权限的格式。我们会在以后讲到chown改变目录或文件的权限。在这里不同的是,在目录创建之时就给其授权了;

[root@localhost ~]# mkdir -m 644 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 -p linuxsir/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.sh kernel mkuml-2004.07.17-ananas.tar.bz2 mydir openQreadme.txt sun.txt upgrade.log youdir
[root@localhost ~]# mv crondw.sh 123.sh 注:移动crondw.sh 到123.sh ,其实就是把文件名改为了123.sh
[root@localhost ~]# ls
123.sh kernel mkuml-2004.07.17-ananas.tar.bz2 mydir openQreadme.txt sun.txt upgrade.log youdir
 

再看一例mv 修改目录的。当然mv是把文件(或目录)从一个地方移到另一个地方。如果另一地方没有和源文件(或目录)同名的,就创建。这也相当于改名;

[root@localhost ~]# ls
123.sh kernel mkuml-2004.07.17-ananas.tar.bz2 mydir openQreadme.txt sun.txt upgrade.log youdir
[root@localhost ~]# mv kernel/ kernelBak
[root@localhost ~]# ls
123.sh kernelBak mkuml-2004.07.17-ananas.tar.bz2 mydir openQreadme.txt sun.txt upgrade.log youdir

  一处住所对于一户城市人的重要性,不亚于一块土地对于一户农民的重要性

  北京房价又在上涨了。涨价消息四处流传,只听得四下里响起一片叹息声。不少人的买房梦又破碎了。

  时下中国,大城市

  面貌一天一个样,建筑一天天在长高。摩天大楼,鳞次栉比,比那些发达国家的城市还要密集,还要令人惊异。同样一块土地,过去多是单层建筑,现在一修就是十几层几十层;过去只住一户几户,现在却能住几十户上百户。按理说,如此高的土地利用率,如此发达的建筑技术,应该大家都住得起房,都不应该为房子焦虑才对。可现实是人们为了住房还是很焦虑。

  对不少中国人来说,生存正在变成一件越来越昂贵的事。

  安居乐业,历来是中国人衡量一个社会是否太平、能否长治久安的标准。要乐业,先要安居。安居就是有一个安宁的家庭。而家,在最早的甲骨文中,就是用一个屋顶下一只猪来表示;安,就是用一个屋顶下一个女人来表示。不管是表示食物或财富的猪,还是表示伴侣或婚姻的女人,都是在屋顶下,也就是说,安居是以拥有一套房子为前提的。几千年过去了,这一点并没有什么变化,现代人要结婚安家,仍然首先要有一套房子。

  除了安居乐业,人们还好说流民社会。流民是安居的反面。流民是一些因为破产而失去赖以为生的土地,失去遮风挡雨的住所,到处流荡的民众。对流民而言,生存所必需的衣食住行变得十分昂贵,换言之,也就是生命变得廉价。因此,流民社会就具有焦虑抑郁、暴戾轻生和难顾廉耻的特征,社会因为他们而动荡不安。

  时下中国人口有大流动,经济学上称为劳动力自由流动,是大好事。但是,不管如何流动,家庭仍然是社会的细胞,而住所就是家庭细胞外面的那道膜。现在,农村每户农民有一块土地赖以为生,有几间房屋供妻儿居住。反倒是城市人很脆弱,如果买不起住房,就成为无根的人,流荡的人,不稳定的人,就容易觉得社会不公,没有受到善待,时时有生存危机感,进而滋生一种现代流民心态。因此,一处住所对于一户城市人的重要性,不亚于一块土地对于一户农民的重要性。它们都涉及到基本生存的问题。只有看到这一点,我们才能理解为何住房必定是一个非常敏感的社会问题,而不仅仅是一个可以买卖赚钱赔本的产业问题。

  为了有个家,中国人可以说竭尽全力。一个人把自己、父母全家的积蓄加上贷款,买下了一处住房,身体安顿下来,精神却从此再也轻松不起来了:每天一睁眼就欠银行几十元上百元债务,几十年就要这样天天度过。曾经活得洒脱率性的,之后立刻就降低了生活质量,游玩、购物与吃饭都变得精打细算;曾经气冲斗牛、特立独行的,从此在老板面前变得谨小慎微,唯唯诺诺;过去抱怨单位管制的,现在又感觉到了金钱的威力。有人将这种状态称为被房价挟持的生活。人生已经简化成为了一套房子,再加上一部车子而生存。

  有人为此发出了这样愤激的声音:为什么我们辛辛苦苦挣来的钱,无法用来孝敬父母,无法用来与妻儿一起享受人间美好,无法用来善待他人,而只能拚命往房地产商手里送,而这一切仅仅是为了一套有名无实的住房?!

  有时候会觉得这个世界有点不真实。现代文明取得如此巨大的进步,已经可以登上月球,可以探索火星,可以看到原子后面的世界,可以克隆人克隆动物什么的。但是,现代人还必须为了一套房子,为了得到一处遮风避雨的空间,付出近乎一生的代价。有时很怀疑,我们真的进步了吗?也许,科技确实在进步,但道德反而退化了。

  想起一位曾经为房子大声疾呼的诗人杜甫。诗人生于唐朝,一个今人称为盛世的朝代,一生走过很多地方,算得上是漂泊一族。诗人流落到成都,曾在荒郊野外,修建了几间茅屋。一天,秋风刮来,掀飞了屋顶茅草,在拼搏一番,安稳之后,诗人在风雨飘摇中写下了那首著名的古诗《茅屋为秋风所破歌》。诗人大声疾呼:我怎么才能有千万间高楼大厦,分配给天下所有无房户,让无房户脸上露出舒心笑容,而风雨中房屋安稳如山?如果能做到这一点,我自己房屋破漏、挨冻而死都无所谓。

  仅此一呼,就足可以道出后人为何称杜甫为诗中圣人的原因了。

    时下的培训热,相应也使得培训方式多种多样。目前比较流行的是互动型培训,到底哪种方式适合你,不能一概而论。

    所谓培训,顾名思义就是“培养”和“训练”。培养的核心是养成,而训练则是练,因此,一次良好的培训必须要做到通过训练而达到养成习惯的目的。

    为此,我们可以这样说,培训的方式只是手段,目的是掌握特定的知识、技能并养成某种能力,而达到这一目的的培训方式的选择显得非常重要。以下方式各有千秋。

    讲座式报告式培训

    讲座式、报告式的培训是一种比较传统的培训形式,与学校中的课堂教学十分类似,目前已经被大多数的培训机构所弃用,但是也不能一棍子打死。

    讲座式、报告式的培训方式比较适合传授新知识、新理念和同行经验的介绍,接受培训的人必须要有良好的基础和接受能力。它的缺点是形式比较呆板,缺乏双向和多向的沟通和交流。这是这种培训的最大缺点。

    互动型培训方式

    正因为前者有致命的缺点,所以国际上兴起了互动型培训热,所谓互动,就是在培训师与学院之间进行多向的沟通和交流。

    目前,用得比较多的是:提问式、游戏式和小组讨论式等。提问式培训方式运用得好坏,关键是看培训师提问的问题选择和提问时机的掌握,能够通过提问,让学员思考并自己得出结论。游戏式培训则是在制造轻松的气氛中,寓教于乐,让学员在游戏中体会道理,加深记忆,这种方式比较适合于心志类培训课程。而小组式培训,是让学员分组根据一个问题进行思考讨论,从而达到一致观点,比较适合于专题研讨类培训。

    必须指出的是:如把培训与游戏完全画等号的做法,是对游戏培训的误解,实在不足取。

    一对一培训

    这是近年来比较新兴的培训方式,效果很好。这种培训拉近了学员与老师的距离,如同旧时的师傅带徒弟,价格比较昂贵。国外许多企业老总就比较喜欢聘请个人教练,即高水平的管理顾问,进行面队面的训练。

    一对一培训的好处还在于其内容不受事先约定的限制,围绕着相关问题,进行十分透彻的指导和训练。现在许多家长请家教,就属于这种情况。为此建议具有一定支付能力的人员,根据自己生活、工作中重要问题,聘请个人培训师,比较有效果。

    现场培训

    所谓现场培训,是指根据工作的需要在工作的现场进行实战性的培训。这种培训比较适合于技能方面的培训。

    目前,我国企业内部的培训缺乏现场类的培训,这种培训的效果最直接最有用,不是光讲解可以达到的。日本、德国等制造业发达国家非常重视企业内部的现场培训,把它看作是提升员工实际技能的必须手段,反观中国的企业,经常是观念一大通道理一大堆,讲起来头头是道做起来一窍不通,没法落实在具体的工作中。

    模拟培训

    实战中的培训,不仅仅停留在理论或道理的层面上,更重要的是需要在实战中使用。如同军队打仗,如果只是在课堂中讲解,再熟读兵书,碰上真的战争,还是不堪一击,为此部队必须进行实战军事演习,实际上是模拟训练。

    近几年介绍进来的沙盘模拟、经营模拟、角色扮演培训方式,就非常受欢迎,比传统的课堂教学更具有场景感,更直观,参与者的思考和体会非常好。

    户外训练

    户外训练也是一种新颖的培训方式,主要缘于对室内培训沉闷气氛的改进。

    此种培训方式比较适合于团队训练或者新理念等内容的培训,心理学上有一种规律或治疗方式,称为“异地治疗法”,说的是许多心理问题与场景有十分重要的关系,而培训也是同样的道理。像时下比较流行的户外团队训练,就是把人员集中在山水比较优美的地方,让学员体会到在日常的工作场景中体会不到的东西,又比如说新观念的培训,光是坐在会场里,听听很好却很难落实在深处,最后流于形式,为此,必须结合场景,进行直观的培训,效果大不一样。

    咨询式培训

    咨询式培训,顾名思义是重在咨询而不是培训,这种培训方式的运用是要求围绕着一个主题或方面,内容事先不一定十分明确,对培训师的要求十分高,培训师必须是在这一方面有丰富经验的专家,不仅精通理论,更有着非常丰富的实际经验和造诣。

    这样的培训并要求事先对问题有比较好的明确,如果受训者提不出问题,或者对问题把握不准,那么这样的培训效果就会大打折扣。

    咨询式培训的结果不一定是达成现成的观点,而是掌握思考问题的方式并掌握解决问题的能力,许多企业管理方面的培训正逐渐采用这种培训形式,效果比较好,甚至于一次培训带来的直接收获大大超过其他培训。

    培训的方式远远不止上述这些,但无论何种方式,都有一个如何运用的问题。对素质、基本技能的培训而言,互动、讲解及户外培训比较适合,而对那些高层次的培训而言,就需要采用一对一、咨询式或模拟式培训的方式,因此选择培训过程中,必须要考虑到培训方式的选择。