链接文件
linux具有为一个文件起多个名字的功能,称为链接.
每个链接可以有不同的权限,不同的命名.
复制代码
硬链接
ln默认创建硬链接
不能对目录文件创建硬链接 不能在不同的文件系统中之间做硬链接.就是说,链接文件和被链接文件必须位于同一个文件系统中.
符号链接
符号链接也成软链接,是将一个路径名链接到一个文件.这些文件是一种特别类型的文件.事实上,它只是一个文本文件,其中包含它提供链接的另一个文件的路径名. 与硬链接不同,符号链接确实是一个新文件,而硬链接并没有建立新文件. 符号链接没有硬链接的限制,可以对目录文件创建符号链接,也可以在不同文件系统之间建立符号链接.
符号链接保持了链接与源文件或目录之间的区别:
- 删除源文件或目录,只删除数据,不会删除链接.一旦以同样文件创建源文件,链接将继续指向该文件的新数据.
- 在目录长列表中,符号链接以一种特殊的文件类型显示出来,其中第一个字母是l
- 符号链接的大小是其链接文件的路径名的字节数
- 当用ls -l命令列出文件时,可以看到符号链接名后有一个箭头指向源文件或目录 例:/root/test->/home/test
ln命令
ln命令用来创建链接 -s,--symbolic 建立符号链接,而不是硬链接. 符号链接文件不是一个独立的文件,它的许多属性依赖于源文件,所以给符号链接文件设置存取权限是没有意义的.
关于用户和权限
文件主
linux为每个文件都分配了一个文件所有者,即文件主,并赋予文件主唯一的注册名.对文件的控制取决于文件主或超级用户root
文件或目录的创建者对创建的文件或目录拥有特别的使用权. 文件的所有关系是可变的,可以将文件或目录的所有权装让给其他用户,但是只有文件主或root才有权改变文件的所有关系.文件所有权的标志的用户ID(UID) 利用chown命令可以修改文件或目录的文件主
用户组
当系统管理员为用户建立账号之后,会分配一个组ID和一个特定的用户组名。通常这些组名包含有相同需求的用户。采用组方式也有助于增强系统使用的安全性
虽然已经分配了一个标记注册组的组ID,但是该组也可以是其他组的成员。如果目前从事的项目涉及多个用户组,那么它可能不止属于属于一个组,从而可以与那些组中的用户共享信息。
在linux系统中,每个文件隶属于一个用户组。当创建一个文件或目录时,系统会赋予它一个用户组关系,用户组的所有成员都可以使用此文件或目录。 文件用户组关系的标志是GID。文件的GID只能由文件主或超级管理员来修改。利用chgrp命令可以改变文件的GID
存取权限
linux系统中的每个文件和目录都有存取许可权限。
linux系统规定了4中不同类型的用户。
- 文件主owner
- 同组用户group
- 可以访问系统的其他用户others
- 超级用户root
存取权限规定了三种访问文件或目录的方式
- 读r
- 写w
- 可执行或可查询x
使用ls -l 可以显示该文件或目录的权限 分别为 文件主权限,组用户权限,其他用户权限
chmod命令
- 以符号模式改变权限
chmod key 文件名 key:[who] [操作符号] [mode]
who 操作对象可以是下面字母中的任一一个或者它们的组合 u 用户user,即文件或目录的所有者 g 同组group用户,即与文件主由相同组ID的所有用户 o 其他用户others a 所有用户all,它是系统默认值
操作符 + 添加某个权限 - 取消某个权限 = 富裕给定权限并取消其他所有权限(如果有的话)
mode 所表示的权限可用下面字母的任意组合 r 可读 w 可写 x 可执行 X 只有目标文件对某些用户是可执行的,或该目标文件是目录时,才追加x(可执行)属性 u 与文件主拥有一样的权限 g 与文件主同组的用户拥有一样的权限 o 与其他用户有用一样的权限
可以有多个key,但必须以逗号分隔开
chmod u=r,ug=x file
- 以绝对方式改变权限
chmod mode 文件名
rwxrwxrwx 如果有权限,则为1没有则为0 rwxr-xr-x 111101101表示755 文件主有读写执行权限,组用户和其他用户拥有读,执行权利
ps命令
列出每个与当前shell有关的进程的基本信息
PID TTY TIME CMD
PID 进程标志号
TTY 该进程建立时所对应的终端,"?" 表示该经常不占用终端
TIME 报告进程累计使用的CPU时间.注意,尽管有些命令(如sh)已经运转了很长时间,但是它们真正使用CPU的时间往往很短.所以该字段的值往往是00:00:00
CMD 执行进程的命令名,是command的缩写
复制代码
ps -ef
显示系统中所有进程的全面信息
复制代码
UID PID PPID C STIME TTY TIME CMD
UID 进程属主的用户id
PPID 父进程的ID号
C 进程最近使用CPU的估算
STIME 进程开始时间,以"小时:分"的形式给出
复制代码
ps aux 显示所有终端上所有用户的有关进程的所有信息
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER 启动进程的用户
%CPU 运行该进程占用CPU的时间与该进程总运行时间的比例
%MEM 该进程占用内存和总内存的比例
VSZ 虚拟内存的大小,以KB为单位
RSS 任务使用的不被交换物理内存的数量,以KB为单位
STAT 用多个字符表示进程的运行状态,其中包括以下几种代码
复制代码
kill
用来终止一个进程的运行
- -s 指定需要发送的信号,该信号既可以是信号名,也可以是对应信号的号码
- -p 指定kill命令只是显示进程的PID 并不是真正发出结束信号
- -l 显示信号名称列表,
kill命令可以带信号选项,也可以不带.如果没有带信号号码,kill命令就会发出终止信号(TERM),该信号可以被进程捕获,是进程在退出之前清理并释放资源.
普通用户只能使用不带信号参数的kill命令或至多使用信号9
只有万不得已时,才用kill信号(9)