Linux LS 指令介绍
in with 0 comment

Linux LS 指令介绍

in with 0 comment

Linux

Linux LS 指令介绍

为了更好的了解 Linux 的档案属性,那么有个重要的也是常用的指令我们必须要会用哦!啥?你问哪一个?! 别急嘛,学习需要慢慢得脚踏实地慢慢来! 这个指令就是 『 ls 』

这一个 list 档案的指令啰! 在你登入 Linux 之后,下达『ls -al 』看看.

ls 是『list』的意思,与在早期的 DOS 年代的指令 dir 类似功能。 而参数**『-al』**则表示列出所有的档案 ( 包含隐藏档,就是档名前面第一个字符为 . 的那种档案 ) 。

示例:

drwx------  16 root root    4096 Apr 27 08:34 .
drwxr-xr-x  23 root root    4096 Apr 10 05:08 ..
-rw-------   1 root root   18758 Apr 24 22:55 .bash_history
-rw-r--r--   1 root root    3106 Oct 22  2015 .bashrc
drwxr-xr-x   3 root root    4096 Apr  3 23:20 .bundle
drwx------   2 root root    4096 Apr  3 10:04 .cache
drwx------   3 root root    4096 Apr  4 08:27 .config
drwxr-xr-x   4 root root    4096 Apr  4 23:13 .forever
drwxrwxr-x   3 root root    4096 Apr  3 23:19 .gem
-rw-r--r--   1 root root      43 Apr  3 11:09 .gitconfig
drwx------   2 root root    4096 Apr  3 23:00 .gnupg

### 参数含义:.bashrc_history

.第一栏代表这个档案的属性

第一个属性代表这个档案是『目录、档案或连结文件等等』:

ƒ 当为[ d ]则是目录,例如上表的第 11 行;

ƒ 当为[ - ]则是档案,例如上表的第 5 行;

ƒ 若是[ l ]则表示为连结档(link file);

ƒ 若是[ b ]则表示为装置文件里面的可供储存的接口设备;

ƒ 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标。
其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(excute)

ƒ第一组为『拥有人的权限』,以第 5 行为例,该档案的拥有人可以读写,但不可执行;

第二组为『同群组的权限』;

第三组为『其它非本群组的权限』。

范例:

若有一个档案的属性为『-rwxr-xr--』,简单的可由下面说明之:

[-][rwx][r-x][r--]
1   234  567  890

1     为:代表这个文件名为目录或档案(上面为档案)

234   为:拥有人的权限(上面为可读、可写、可执行)

567   为:同群组使用者权限(上面为可读可执行)

890   为:其它使用者权限(上面为仅可读)

上面的属性情况代表一个档案、这个档案的拥有人可读可写可执行、但同群组的人仅可读与执行,非同群组的使用者仅可读的意思!

除此之外,需要特别留意的是 x 这个标号!

若文件名为一个目录的时候,例如这** .ssh** 这个目录:

drwx------   3 root root    4096 Apr  3 23:19 .ssh

可以看到这是一个目录,而且只有 root 可以读写与执行。但是若为底下的样式时,请问非 root的 其它人是否可以进入该目录呢?

drwxr--r--   3 root root    4096 Apr  3 23:19 .ssh

咦!似乎好像是可以喔!因为有可读**[ r ]存在嘛!『错!』答案是非 root 这个账号的其它使用者 均不可进入 .ssh 这个目录**,为什么呢?

因为 x 与 目录 的关系相当的重要, 如果您在该目录底下不能执行任何指令的话,那么自然也就无法进入了,因此, 请特别留意的是,如果您想要开放某个目录让一些人进来的话, 请记得将该目录的** x 属性**给开放呦!至于目录的权限相关说明, 我们会在底下继续介绍的。

另外,你也必须要更加的小心的是, 在 Windows 底下一个档案是否具有执行的能力是藉由**『 附檔名 』**来判断的, 例如:.exe, .bat, .com 等等.

但是在 Linux 底下, 我们的档案是否能执行,则是藉由**是否具有 x 这个属性来决定的!**所以,跟档名是没有绝对的关系的! 这点还请特别留意呢!

2.第二栏表示为连结占用的节点 (i-node)

这个跟连结档 (link file) 比较有关系,我们在未来的章节会再加以介绍的。 如果是目录的话,那么就与该目录下还有多少目录有关。

3. 第三栏表示这个档案(或目录)的『拥有人』。

4. 第四栏表示拥有人的群组。

这里再次解释一下,在 Linux 中,你的 ID ( 如 root 或 test 等账号均是所谓的 ID ) 即是你的身份,而且你还可以附属在一个或多个群组之下.

例如刚刚我们上面提到的,你有一个团体 ( 即群组 ) 代号为 testgroup ,且这个群体里有三个人,其代号分别是 test1, test2, test3,则这三个人为同一群组即 testgroup!

那么如果以上图的的档案属性(-rwxrwx---) 来看,如果该档案属于 test1 所有,那么 test2, test3 亦有读、写、执行的权力,因为他们都属于同一个group 呀!

而如果您不是属于 test1, test2, test3 的任何一个人,也不属于 testgroup 这个群组时,那么您将不具备读、写、执行这个档案的权限了!

5. 第五栏为这个档案的容量大小。

6. 第六栏为这个档案的建档日期或者是最近的修改日期

分别为月份、日期及时间。请特别留意,如果您是以繁体中文来进行安装您的 Linux 时,那么预设的语系可能会被改为中文。

而由于中文无法显示在文字型态的终端机上面, 所以这一栏会成为怪怪的乱码,这个时候,请修改一下 /etc/sysconfig/i18n 这个档案,里面的『 LC_TIME 』修改为:『 LC_TIME=en 』再储存离开,再登入一次,就可以得到英文字形显示的日期了!

那么如何修改该档案呢? 呵呵!以 root 身份用 vi 修改。 另外,也可以使用『 LANG=en ls -al 』之类的语法来显示。

7.第七栏为这个档案的档名,

如果档名之前多一个 『 . 』,则代表这个档案为 『 隐藏档』, 例如上表第 6 行的『.bundle』档名即是隐藏档,由于我们有下一个参数为 ls -al ,所以连隐藏档都列出来,如果你只输入 ls 则档名有加『 . 』的档案就不会被显示出来!

这七个字段的意义是很重要的!

务必清楚的知道各个字段代表的意义呢! 尤其是第一个字段的十个权限, 那是整个 Linux 档案权限的重点之一