Linux指令篇2-ls

查看文件与目录

命令参数:

  -a: 全部的文件,包括隐藏文件

  -A: 列出全部的文件(连同隐藏文件,但不包括.与..这两个目录)

  -d: 仅列出目录本身,而不是列出目录内的文件数据

  -f: 直接列出结果,而不进行排序(ls默认会以文件名排序)

  -F: 根据文件、目录等信息给予附加数据

  -h: 将文件容量以人类较一度的方式列出来

  -i: 列出inode号码

  -l: 列出长数据串,包含文件的属性与权限等数据

  -n: 列出UID与GID,而非用户与用户组的名称

  -r: 将排序结果反向输出

  -R: 连同子目录内同一起列出来,等于该目录下的所有文件都会显示出来

  -S: 以文件容量大小排序,而不是用文件名排序

  -t: 依时间配需,而不是用文件名

红色标注为常用参数

时常出现的一个错误,作为一个例子:

假如你是root, 如果将ls由bin移动成为/root/ls, 然后自己本身也在/root下,请问

(1)能不能直接输入ls来执行?

(2)若不能,该如何执行ls这个命令?

(3)若要直接输入ls即可执行,又该如何进行?

答案: 此题的重点是将某个执行文件移动到非正规目录去,所以我们实际操作一下:

# mv /bin/ls /root

 (1) 接下来,不论在哪个目录执行任何与ls相关的命令,都会提示如下的错误 

[root@alextraining ~]# ls
-bash: /bin/ls: No such file or directory

 出现错误的原因在于,/root这个目录并不在PATH指定的目录中

[root@alextraining ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

所以,即使在/root目录下,也不能查询到ls命令

(2)解决(1)的问题有两个方法:  

    1)将ls放到/bin下

[root@alextraining ~]# mv /root/ls /bin

  2)将/root加入到PATH中

[root@alextraining ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root

 (3)如果不想执行两个操作,还要运行ls这个命令,那该怎么做呢,直接给出ls的绝对路径即可。

[root@alextraining ~]# /root/ls
anaconda-ks.cfg  Desktop  install.log  install.log.syslog  ls

  

 

posted @ 2013-08-16 15:27  wangdun  阅读(239)  评论(0编辑  收藏  举报