当前位置

5.3.1 目录及文件操作命令

主标签

[b]5.3.1 目录及文件操作命令[/b]



[b]1、pwd 显示当前目录命令。[/b]



命令格式:[b]#pwd[/b]



常用选项:无



命令使用说明:

当你在终端下工作久了后,往往是记不清自己当前是在系统文件树中的哪个位置,而终端提示符前面也仅显示出当前的目录
,而非完整的路径。这时你用pwd命令,就可以知道自己当前所在的位置。



例子:

例A:[[root@MagciLinux share]]# pwd
      /usr/X11R6/share      这就显示了当前完整的路径。



[b]2、ls 显示目录内容命令。[/b]



命令格式:[b]ls [[选项]] [[文件或目录列表]][/b]



常用选项:

[list]
[*]-a,全部(all)。列举目录中的全部文件,包括隐藏文件(.filename)。位于这个列表的起首处的
.. 和 . 依次是指父目录和你的当前目录。
[*]-l,长(long)。列举目录内容的细节,包括权限(模式)、所有者、组群、大小、创建日期、文件是否是到系统其它地方的链接,以及链接的指向。
[*]-F,文件类型(File type)。在每一个列举项目之后添加一个符号。这些符号包括:/
表明是一个目录;@ 表明是到其它文件的符号链接;* 表明是一个可执行文件。
[*]-r,逆向(reverse)。从后向前地列举目录中的内容。
[*]-R,递归(recursive)。该选项递归地列举所有目录(在当前目录之下)的内容。
[*]-S,大小(size)。按文件大小排序。
[/list]


命令使用说明:

其等同于DOS下的dir命令。不带任何参数的默认情况下(#ls),显示当前目录下所有文件和非隐藏目录。如果想看当前目录
下所有的文件目录及详细信息,可用命令:# ls -al ;如果你想在当前目录下显示别地方的目录,你可用:
$ ls [[选项]]。你可以通过阅读 ls 的说明书页(man ls)来获得的完整命令帮助。



例子:

例A:显示当前目录下文件目录的详细信息#ls -al
drwxr-xr-x    4 root     root         4096 12月  3 02:35 .kde
-rw-------    1 root     root          313 12月 22 12:25 .kderc
drwxr-xr-x    2 root     root         4096 12月  7 20:55 .lftp
-rw-r--r--    1 root     root            0 12月 26 12:41 ls.file
drwxr-xr-x    4 root     root         4096 12月 23 01:57 LZS
lrwxrwxrwx    1 root     root            4 12月 23 02:04 lzs07 -> LZS/
drwxr-xr-x   11 root     root         4096 12月 14 05:31 lzs下载
-rw-r--r--    1 root     root          147 12月 24 22:19 Magic Linux 1.2用户手册
drwx------    7 root     root         4096 12月 23 11:46 Mail
drwxr-xr-x    3 root     root         4096 12月  3 02:35 .mcop

[b]由上面输出可看到文件的详细信息,大致有七列,各列对应的意义分别为:文件类型和权限、连接或目录计数、文件所有者、文件所有者所属的工作组、以字节为单位显示文件大小、文件最近修改时间、文件名。
第一个字母表示文件类型:-为常规文件、d为目录、b为块特殊设备(磁盘)、c为字符特殊设备(终端)、p为有名管道、s为信号灯、m为共享存储器,l为链接目录。紧跟文件类型的字符表示文件的权限,权限三个字符为一组,分别表示:文件所有者,与文件所有者同在的工作组、系统中其他的人。每组由三个字符组成,依次表次读、写和执行权限。“r"表示有读权限,"w"表示有写权限,x表示有执行权限,而”-“表示没有相应的权限。另外,要特别注意的是,某一用户拥有的权限不仅依赖于对文件的权限,还依赖于对该文件所属目录的权限。也就是说,即使你拥有了指定文件的写,读、执行权限,但对这个文件所属的目录你没有相应的写、读、执行权限,你还是不能对这个文件进行相应的写、读、执行等操作。[/b]

例B:想显示网络配置文件夹里的内容,在/etc/sysconfig/networking里,可用命令:
#ls   /etc/sysconfig/networking



[b]3、 cd 改变当前目录命令。[/b]


命令格式:[b]#cd [/b]


常用选项:无



命令使用说明:

这个命令倒与DOS里面的命令一样。执行cd命令时,如果不给出相应的目录名、即只单独输入cd这个命令,那么它就默认为返回主目录(在HOME环境变量中指定)。如果想回到上一级目录(也称父目录),可用:#cd..;;如果想退到最近一次所在的目录,可用:#cd - ;如果想回到用户自己的home目录,可用:#cd ~ 。如果想进入当前目录下的子目录,可用:#cd 。如果从当前目录转到别的目录,则可用:#cd


例子:

例A:想转到网络配置文件夹里的内容,在/etc/sysconfig/networking里,可用命令:#cd /etc/sysconfig/networking
例B:从上面的networking目录转到刚才所在目录:可用命令:cd -



[b]4、find 查找文件命令。[/b]



命令格式:[b]#find [[目录列表]] [[匹配标准]][/b]

目录列表:是指想在哪些目录下查找文件的目录集,各个目录之间用空格分开。

匹配标准:是指搜索条件的匹配标准,以及找到文件后系统应该怎样处理。



常用选项:

find命令的匹配标准如下:

[list]
[*]-name文件名----告诉find你想要查找的文件,如果要找的文件名使用通配符*或?,即要求用双引号把它括起来,形成一个查找单元。
[*]-size n,表明要查找文件大小为n块,(默认1块为512字节,如果n后面输入k,则1块为1024字节,即1KB)。
[*]-atime n,表明要查找n天内访问过的文件。
[*]-mtime n,表明要查找前n天内修改的文件。
[*]-print ,这个匹配标准项一般说来都要有,用来显示查找出来的文件的绝对路径及文件名。如果没有这个匹配项,则find虽然也执行查找任务了,但是它不会把查找结果显示出来。
[/list]


命令使用说明:

用find命令可以方便地找出用户所需要的文件。这个对新用户尤其有用,因为新手有时候就是对照着别人的配置说明,也很难在相应的地方找到指定文件(因为不同发行版的Linux对同样的文件放的地方不一定完全一样。),这时候就很需要find命令了。

注意,如果在查找结束后,如果没有显示出什么结果,那就说明想找的文件不存在,并不是系统没有执行查找。如果系统管理员把某些文件或目录设置成禁止访问的模式后,普通用户在使用find命令查找这些文件目录时,就会出现Permission denied.(禁止访问),当然你也将无法查找你想要的文件了。要是你觉得出现这些字样很烦人,你可以使用管道符“>”,把它转到一个虚拟的空设备上。命令如下:

$ find / -name access_log2 > /dev/null



例子:

例A:假定你想找/boot目录下的启动菜单配置文件grub.conf,可用如下命令。
  #find /boot -name grub.conf -print
  /boot/grub/grub.conf
例B:若想找所有以conf为扩展名的文件,命令如下
#find /  -name "*.conf" -print



[b]5、locate 查找文件命令[/b]



命令格式:[b]#locate [/b]



常用选项:

命令使用说明:

locate命令用于查找文件,它比find命令的搜索速度快,它需要一个数据库,这个数据库由每天的例行工作(crontab)程序来建立。当我们建立好这个数据库后,就可以方便地来搜寻所需文件了。



例子:

例A:
[[jackey@timeout jackey]] $ locate  MagicLinux-Tools-1.2pre5.iso
/data/home/jackey/tmp/MagicLinux-Tools-1.2pre5.iso.md5sum
/data/home/jackey/MagicLinux-Tools-1.2pre5.iso.md5sum
/export/ftp/pub/magiclinux/dev/iso/MagicLinux-Tools-1.2pre5.iso
/export/ftp/pub/magiclinux/dev/iso/MagicLinux-Tools-1.2pre5.iso.md5sum