- 命令:ls -al
ls是list的意思,重点是展示文件的文件名与相关属性,而选项-al则表示列出所有的文件详细的权限和属性,
包含隐藏文件,就是文件名第一个字符为"."的文件。
⑴从上面我们可以发现存在dr-xr-x---这样的字符
其实这个部分表示的是这个文件的类型与权限,这个部分总共存在10个字符。
① 第一个字符代表这个文件是目录,文件或链接文件等等
a:当为【d】时,就是目录
b:当为【-】时,就是文件
c:当为【|】时,就是链接文件(link file)
d:当为【b】时,则表示为设备文件里面的可供存储的周边设备(可随机存储设备)
e:当为【c】时,则表示为设备文件里面的序列埠设备,例如键盘,鼠标(一次性读取设备)
②后面的字符,以三个为一组,且均为"rwx"的三个参数的组合,其中"r"代表可读(read),
"w"代表可写(write),"x"代表可执行(execute),并且这三个权限的位置不会变化,如果没有权限
就会出现减号【-】代替。
③ 第一个字符后面的9个字符分为3组
a:第一组为“文件拥有者可具备的权限”
b:第二组为“加入此群组之帐号的权限”;
c:第三组为“非本人且没有加入本群组之其他帐号的权限”。
⑵后面的两个root,第一个是表示这个文件(或目录)的“拥有者帐号”,
第二个是表示这个文件的所属群组。再后面为这个文件的容量大小,
默认单位为Bytes;最后为这个文件的创建日期或者是最近的修改日期: - 如何改变文件属性和权限
⑴chgrp:改变文件所属群组,其实它就是change group的缩写,注意:要被改变的群组
的名称必须要在/etc/group文件内存在才可以,否则就会显示错误。
a:目前例如我们在/testusertest1目录下存在一个名为test1的文件,并且该文件的群组为
usertest1,那么现在我们想把这个文件的群组改为root
通过下面的命令修改:chgrp +群组名称 +要修改群组的文件名,可以发现群组变为root了
b:我们可以发现在展示目录下各个文件的详细信息时,在dr-xr-x---这样的字符
后面存在3,18,1,3等数字,那么这个数字表示的是什么意思呢?其实它表示的是
有多少个文件名链接到此节点(i-node),每个文件都会将他的权限与属性记录到文
件系统的i-node中,不过,我们使用的目录树却是使用文件名来记录,因此每个
文件名就会链接到一个i-node,这个属性记录的,就是有多少不同的文件名链接
到相同的一个i-node号码去就是了。
如上图,我们可以发现testDfile是一个目录,它有3个文件名链接此节点,那么就
表示,除了它自身名字外,它下面还会存在两个文件名链接此节点,说的通俗点
就是说它下面还会存在两层深度,它下面还有一个test2Dfile目录,这个目录下面还
有一个test3File文件,正好两层,加上testDfile自身,正好3层。
c:如下图所示,在/testusertest1目录下存在一个群组为usertest1的目录testDfile,以及
在这个目录下还存在群组为usertest1的层级文件,那么我们现在想使用一个命令,
直接将testDfile以及它下面所有层级的文件,目录的群组都变为root
那么现在我们改变群组:
命令:chgrp -R +群组名称 +文件或目录路径。
-R : 进行递回(recursive)的持续变更,亦即连同次目录下的所有文件、目录
都更新成为这个群组之意。常常用在变更某一目录内所有的文件之情况。
效果:可以发现我们将testDfile目录下所有的文件目录的群组都修改为root
⑵chown:改变文件拥有者,其实它就是change owner的缩写,要注意的是, 使用者必须是
已经存在系统中的帐号,也就是在/etc/passwd 这个文件中有纪录的使用者名称才能改变。
chown的用途还满多的,他还可以顺便直接修改群组的名称呢!此外,如果要连目录下的所有
次目录或文件同时更改文件拥有者的话,直接加上 -R 的选项即可。
a:先我们将/testusertest1目录下的test1文件拥有者修改为root,
那么现在我们使用命令:chown +账号名称 +文件或者目录
其实我们是可以直接将拥有者和群组一起改掉的,比如现在我们再将test1文件
的拥有者和群组都修改为usertest1.
命令:chown +账号名称:群组名称 +文件或者目录。可以发现下面修改成功
注意:chown的递归修改目录下所有文件或者目录的拥有者,群组语法和chgrp一样,这里就
不操作了。
命令:chown [-R] 帐号名称 文件或目录
chown [-R] 帐号名称:群组名称 文件或目录
-R : 进行递回(recursive)的持续变更,亦即连同次目录下的所有文件都变更
⑶chmod:改变文件的权限
a:数字类型改变文件权限
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的
read/write/execute权限, 先复习一下刚刚上面提到的数据:文件的权限字符为:“-
rwxrwxrwx”, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权
限,各权限的分数对照表如下:
r:4,w:2, w:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权
限为: [-rwxrwx---] 分数则是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0
所以该文件的权限即为:770
那么chmod修改权限的语法为:chmod [-R] xyz 文件或目录
参数:
xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加,比如770。
-R : 进行递回(recursive)的持续变更,亦即连同次目录下的所有文件都会变更
注释:如果有些文件你不希望被其他人看到,那么应该将文件的权限设置为
例如:“-rwxr-----”,那就下达“ chmod 740 filename ”吧!
b:符号类型改变文件权限
从之前的介绍中我们可以发现,基本上就九个权限分别是(1)user (2)group (3)others
三种身份啦!那么我们就可以借由u, g, o来代表三种身份的权限!此外, a 则代表 all 亦即全
部的身份!那么读写的权限就可以写成r, w, x啰!也就是可以使用下面的方式来看:
| chmod | u g o a | +(加入) -(除去) =(设置) | r w x | 文件或目录 |
例如:
a:假如我们要“设置”一个文件的权限成为“-rwxr-xr-x”时
修改之后:
b:拿掉全部人的可执行权,(增加全部人可写入权限也是一样使用+即可)
- 目录与文件之权限意义
权限对于文件来说,他的意义是这样的:
a: r (read):可读取此一文件的实际内容,如读取文本文件的文字内容等;
b:w (write):可以编辑、新增或者是修改该文件的内容(但不含删除该文件);
c:x (eXecute):该文件具有可以被系统执行的权限。
⑴文件的可执行性标识
在Windows下面一个文件是否具有执行的能力是借由“ 扩展名 ”来判断的,
例如:.exe,.bat, .com 等等,但是在Linux下面,我们的文件是否能被执行,
则是借由是否具有“x”这个权限来决定的!跟文件名是没有绝对的关系的!
⑵Linux文件种类
a:目录(directory): 就是目录啰~第一个属性为 [ d ],例如 [drwxrwxrwx]。
b:链接文件(link): 就是类似Windows系统下面的捷径啦! 第一个属性为
[ l ](英文L的小写),例如 [lrwxrwxrwx] ;
c:设备与设备文件(device): 与系统周边及储存等相关的一些文件, 通常都
集中在/dev这个目录之下!通常又分为两种:
①区块(block)设备文件 :就是一些储存数据, 以提供系统随机存取的周边设备,
举 例来说,硬盘与软盘等就是啦! 你可以随机的在硬盘的不同区块读写,这种设
备就是区块设备啰!你可以自行查一下/dev/sda看看, 会发现第一个属性为[ b ]喔!
②字符(character)设备文件:亦即是一些序列埠的周边设备, 例如键盘、鼠标等,
这些设备的特色就是“一次性读取”的,不能够截断输出。 举例来说,你不可能
让鼠标“跳到”另一个画面,而是“连续性滑动”到另一个地方啊!第一个属性为 [ c ]。
d:数据接口文件(sockets): 既然被称为数据接口文件, 想当然尔,这种类型的文件通
常被用在网络上的数据承接了。我们可以启动一个程序来监听用户端的要求, 而用户端
就可以通过这个socket来进行数据的沟通了。第一个属性为 [ s ], 最常在/run或/tmp这些
个目录中看到这种文件类型了
e:数据输送档(FIFO, pipe): FIFO也是一种特殊的文件类型,他主要的目的在解决多个
程序同时存取一个文件所造成的错误问题。 FIFO是first-in-first-out的缩写。第一个属性为
[p] - 检查Linux的核心与操作系统的位版本
⑴查看核心版本
命令:uname -r
⑵查看操作系统的位版本
命令:uname -m
- 相对路径与绝对路径
绝对路径:路径的写法“一定由根目录 / 写起”,例如: /usr/share/doc 这个目录。
相对路径:路径的写法“不是由 / 写起”,例如由 /usr/share/doc 要到 /usr/share/man 下面
时,可以写成: “cd ../man”这就是相对路径的写法啦!相对路径意指“相对于
目前工作目录的路径!” - mkdir -p +目录
-p这个选项的作用就是,比如我们要创建这样一个目录:
/home/test/test1.txt,但是我们现在只有一个home目录是存在的,
test目录是不存在的,如果我们不使用-p想要创建test1.txt,那么
就必须先创建test目录,再创建test1.txt文件。但是如果我们使用 了
-p就可以一次性创建出来。 - rmdir+目录
删除空目录的意思,目录下面存在数据文件是无法删除的。
如果存在数据文件使用下面命令:
rm -rf +目录 - 文件与目录的检视:ls
- 复制,删除与移动:CP,RM,MV
⑴cp (复制文件或目录)
⑵mv (移动文件与目录,或更名)
- 取得路径的文件名称与目录名称
- Linux上查看文件的内容
⑴cat命令:
⑵nl命令
⑶more命令
⑷less (一页一页翻动)