3.文件管理
文件的三种用户类型
1、所有者:文件的主人
2、所有者组:文件所属的team
3、其它人:除了所有者和所有者组的所有人
文件所有者和所有者组的信息是存放在/etc/passwd和/etc/group文件中
文件属性

第一栏的第一个属性代表文件的类型:

[d]是目录;
[-]是文件包括纯文本文件、二进制文件、数据格式文件(可通过特定的命令调用);
[l]表示为连结文件;
设备文件:通常在/dev这个目录中
[b]为设备文件里面的储存设备(块设备)例如硬盘;
[c]为设备文件里面的串行端口设备(字符设备),例如键盘、鼠标。
[s]数据接口文件sockets,用于网络间通信。
[p]数据输送文件(FIFO)。主要的用途在解决多个程序同时存取一个文件所造成的错误问题。
FIFO是first-in-first-out的缩写。

接下来的属性中,三个为一组,用来表示用户可文件进行的操作权限,分别为:
[r]代表可读(read) [w]代表可写(write)
[x]代表可执行(excute) [ -]不具该项权限
第一组为『所有者的权限』;
第二组为『所有者组的权限』;
第三组为『其它人的权限』。

 

文件目录
[ r ] 可读查看文件内容浏览目录中内容[ w ] 可写修改文件在目录中创建、修改、移动文件
[ x ] 可执行可执行文件可进入目录

第二栏表示为到I节点的连接数 (i-node);
第三栏表示文件的所有者
第四栏表示文件的所有者组
第五栏为文件的大小;
第六栏为这个文件的创建日期或最近修改的日期(月份、日期及时间);
第七栏为这个文件的文件名。文件名以“....”开头的是隐藏文件。

如何改变文件权限
chgrp:改变文件所有者组 chown:改变文件所有者 chmod:改变文件的属性、SUID、等
的特性
改变所有者组chgrp
语法:
chgrp [-选项]参数文件名
选项:
R:进行递归 ( recursive )的改变,改变目录下的所有文件、目录的所有者组(在修改目录下所有时使用)
注:要改变成为的所有者组名必须在/etc/group里存在

改变所有者chown
语法:
chown [-选项]参数文件名
选项:
R:同chgrp
注:要改变成的所有者必须是已经存在系统的,也就是在 /etc/passwd这个文件中已经存在的用户名。
补充:此命令可用来修改文件所有者组。其方法是在所有者后加上要改变的所有者组,两者用“:”或“.”分开。

文件的权限
文件权限有两种表示方法:字符表示法和数字表示法
字符表示:用rwx-表示文件的属性
数字表示:用三个八进制数来表示文件的属性
[r]对应数字4 [w]对应数字2
[x ]对应数字1 [-]对应数字0
所有者 = rw-= 4+2+0 = 6
所有者组 = r--= 4+0+0 = 4
其它人= r--= 4+0+0 = 4
用数字表示为644

改变文件的权限chmod
语法:
chmod [-选项]参数文件名
选项:R:进行递归( recursive )的改变,改变目录下的所有文件、目录的权限
参数:
数字表示:数字类型的权限
字符表示:如下表


文件管理
复制文件cp  移动或重命名文件和目录 mv
删除文件rm  删除目录rmdir

复制文件cp
语法: cp [-选项]源文件目标文件
选项:
f删除已存在的目标文件。
i提示是否覆盖已存在的目标文件。
p保留原先文件的所有者、组、权限和时间等属性
r递归复制目录
v在复制前输出文件名
-R同-r

移动或重命名文件和目录mv
语法:mv [-选项]源文件目标文件
移动或重命名文件和目录mv
选项:
f强制覆盖已有文件
i在覆盖已有文件前提示
v在移动文件时输出相关信息

删除文件rm
语法: rm [-选项]文件名
选项:
f强制删除,不给用户任何提示。
i在删除每个文件时提示用户。
r删除目录。
v删除每个文件时输出文件信息。
删除目录rmdir
语法: rmdir [-选项]目录
选项
p:当子目录被删除后父为空目录的话,则顺便一并删除。
/根目录
建议在根目录底下只接目录,不要直接有文件在 /下。根目录是开机时系统第一个挂载的分区,所有开机过程会用到的文件,都要放置在这个分区中。 /etc, /bin, /dev, /lib, /sbin这五个子目录都应该与根目录在一起,不可单独分区。

 /bin;/usr/bin;/usr/local/bin
放置可执行文件的目录,系统中的命令 ls, mv, rm, mkdir, rmdir, gzip, tar, cat, cp, mount等等命令都放在这个目录中。

/boot目录主要是放置 Linux 系统开机时使用的文件,即Linux 的内核文件。vmlinuz*就是
Linux 的Kernel!如果系统的引导程序是grub,那么目录中还会有 boot/grub目录

/dev:在Linux 系统上,设备都是以文件的形式存在于这个目录中的。通过存取这个目录下的文件,就等于直接读取对应的设备

/etc系统配置文件几乎都放在这个目录中,建议不要将可执行文件放在这个目录中。比较重要的文件: /etc/inittab, /etc/init.d/, /etc/modprobe.conf, /etc/X11, /etc/fstab, /etc/sysconfig/等等。另外,其下重要的目录有:/etc/init.d/:服务的启动脚本都是放在这个目录中 /etc/X11:与X Window有关的各种配置文件都在这里。

/home系统默认的用户家目录 (home directory)。增加用户时默认的用户家目录就是在/home下。
家目录有两种表示: ~:代表目前用户的家目录, ~test:则代表dmtsai的家目录!

/lib;/usr/lib;/usr/local/lib
系统用到的函式库的目录。

/lost+found系统产生错误时,会将一些系统信息存于此目录中,这个目录会自动出现在独立的分区的目录中。

/mnt:软盘与光盘挂载点的存放目录,软盘挂在 /mnt/floppy 下,而光盘挂在 /mnt/cdrom下,也可以根据自己的需要进行修改。

/proc这个目录本身是一个虚拟文件系统!其中的文件都是在内存中的,如系统内核、设备的状态及网络状态等等。因为这个目录下的文件都是在内存当中,所以本身不占任何硬盘空间!

./root系统管理员 (root)的家目录。/root尽量能够与 /放在同一个分区。 . sbin;/usr/sbin;/usr/local/sbin存放系统管理员才会动用到的命令,例如:
fdisk, mke2fs, fsck, mkswap, mount等等。
/tmp让一般用户或者是正在执行的程序暂时放置文件的地方。这个目录是任何人都能够存取的。

/usr目录中,包含系统的主要程序、图形接口所需要的文件、额外的函数库、用户安装的软件,以及共享的目录与文件等等

/var存放的是系统执行过程中,经常变动的文件。

Linux 文件命名规则:
Linux 下的文件名最好避免一些特殊字符,例如:
*?><;&![]|\ '"`(){}
每个文件或目录的文件名最长 255个字符,绝对路径最长 4096个字符

SUID当一个设置了SUID位的可执行文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都有文件所有者的特权。任意存取该文件拥有者能使用的全部系统资源。如果所有者是 root的话,那么执行人就有超级用户的特权了。 4
SGID当一个设置了SGID位的可执行文件运行时,该文件将具有所属组的特权,任意存取整个组所能使用的系统资源;若一个目录设置了SGID,则所有被复制到这个目录下的文件,其所属的组都会被重设为和这个目录一样,除非在复制文件时加上-p(preserve,保留文件属性的参数,才能保留原来所属的群组设置。 2
stickybit对一个目录设置了sticky-bit之后,存放在该目录的文件仅准许其属主执行删除、移动等操作。1
Umask
语法:
[root @test root]# umask
0022
[root@vbird test]# umask 002 <==后面接
3个数字!
[root@vbird test]# umask 0002说明:
查看umask数值为直接输入umask即可,而设定umask之后接三个数字主要还是跟
Linux的档案属性(那九个属性,r, w, x)有关的,而且是以分数的那一个关系为例的,而有底下的规则为辅:
若使用者建立为『文件』则预设『没有可执行 (x)项目』,亦即只有
rw这两个项目,也就是最大为666
若使用者建立为『目录』x与进入此目录有关,因此预设为所有权限均开放,亦
即为 777

最大权限-Umask=默认权限
定义别名
Alias a = "ls"
Unalis a
Vim .bashrc添加记录是重启有效
Source .bashr重新加载