1 特殊权限set_uid
[root@chy ~]# ls -l /usr/bin/passwd 当s出现在文件所有者的x的权限上说明是set_uid -rwsr-xr-x. 1 root root 27832 6月 10 2014 /usr/bin/passwd set_uid 是普通用户临时拥有所有者的身份(前提是这个文件是可执行的二进制文件) [root@chy ~]# chmod u+s /usr/bin/ls (给ls赋予set_uid权限) [root@chy ~]# chmod u=rws /usr/bin/ls (第二种赋予权限的方法) [root@chy ~]# ls -l /usr/bin/ls -rwSr-xr-x. 1 root root 117656 11月 6 2016 /usr/bin/ls [root@chy ~]# chmod u+x /usr/bin/ls [root@chy ~]# ls -l /usr/bin/ls -rwsr-xr-x. 1 root root 117656 11月 6 2016 /usr/bin/ls
2 特殊权限set_gid
该权限只对目录有效. 目录被设置该位后, 任何用户在此目录下创建的文件都具有和该目录所属的组相同的组.
当s在用户组x时称为set_gid [root@chy ~]# chown :chy /lsm 更改这个lsm目录下的所属组,这样好区别。 [root@chy ~]# ls -ld /lsm 查看权限 drwxr-xr-x 2 root chy 4096 6月 9 06:49 /lsm 没有任何变化 [root@chy ~]# mkdir /lsm/1 (先创建一个文件便于后面区分) [root@chy ~]# ls -ld /lsm/1 drwxr-xr-x 2 查看这个目录的权限 root root 4096 6月 9 06:50 /lsm/1 [root@chy ~]# chmod g+s /lsm/ 给/lsm加上+s的权限 [root@chy ~]# ls -ld /lsm 发现所属组改变 drwxr-sr-x 3 root chy 4096 6月 9 06:50 /lsm [root@chy ~]# mkdir /lsm/234 重新创建一个后发现 [root@chy ~]# ls -ld /lsm/234 发现了区别 drwxr-sr-x 2 root chy 4096 6月 9 06:51 /lsm/234
3 特殊权限stick_bit
[root@chy ~]# stick_bit =防删除位 [root@chy ~]# ls -ld /tmp/ drwxrwxrwt. 18 root root 4096 6月 9 06:33 /tmp/ stick_bit防止其它用户删除文件(root除外)
4 软连接文件
>另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
[root@chy ~]# ls -s 源文件 软链接文件 (目标文件) [root@chy tmp]# ln -s /tmp/passwd 软链接目录 /root/111/passwd [root@chy ~]# ls -l /root/111 总用量 0 lrwxrwxrwx 1 root root 11 6月 9 08:11 passwd -> /tmp/passwd 软连接成功) 相对路径的软连接弊端:当把源文件移动位置,软连接将会失效
5 硬链接
硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
[root@chy ~]# ln 1.txt 1_head.txt
1.只能对文件做硬链接文件不能对目录做硬链接
2.硬链接是相互的为硬链接,不分原链接目标链接。硬链接是相同的inode
3.硬链接不能跨分区
6 find 命令综合
寻找文件的命令:which
whereis
locate(默认没有这个命令)
[root@chy ~]# yum install -y mlocate
手动生成的命令updatedb
快捷键介绍
[root@chy ~]# ctrl+l 清屏
[root@chy ~]# ctrl+d 退出一个终端
[root@chy ~]# ctrl+c 不想要执行的命令
[root@chy ~]# ctrl+u 删除光标前的所有内容
[root@chy ~]# ctrl+e 后把光标移到最后
[root@chy ~]# ctrl+a 把光标移到最开始
find的小案例
[root@chy ~]# find /etc/ -name "sshd_config" 寻找一个文件所在的路径
[root@chy ~]# find /etc/ -name "sshd*" 广布式搜索一个文件
[root@chy ~]# find /etc/ -type d -name "sshd*" (-type d 是搜索一个目录)
[root@chy ~]# find /etc/ -type f -name "sshd*" (-type f 搜索一般正规文件)
[root@chy ~]# find /etc/ -type l (-type l 搜索连接文件)
[root@chy ~]# find /dev/ -type b (-b与-c都是搜索设备文件)
[root@chy ~]# stat 2.txt (stat 查看文件的具体信息)
文件:"2.txt"
大小:0 块:0 IO 块:4096 普通空文件
设备:fd00h/64768d Inode:146705 硬链接:1
权限:(0642/-rw-r---w-) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2017-06-08 07:17:01.341855735 +0800
最近更改:2017-06-08 07:00:10.258873841 +0800
最近改动:2017-06-08 07:11:53.380861250 +0800
创建时间:-
mtime (最近更改)
atime (最近访问)
ctime (最近改动)
访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。
变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。
[root@chy ~]# echo "1111" >>2.txt 当追加一个文件后,ctime 与mtime时间都会改变)
[root@chy ~]# stat 2.txt
文件:"2.txt"
大小:5 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:146705 硬链接:1
权限:(0642/-rw-r---w-) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2017-06-08 07:17:01.341855735 +0800
最近更改:2017-06-10 16:31:02.055929915 +0800
最近改动:2017-06-10 16:31:02.055929915 +0800
创建时间:-
[root@chy ~]# find / -type f -mtime -1 查找一天以内改动文件
[root@chy ~]# find /etc/ -type f -o -mtime -1 -o -name "*.conf" (-o是或者的意思 ,不加就是并且的意思)
[root@chy ~]# find / -inum 146706 查找硬链接)
/root/3.txt
/tmp/1.txt.bak
[root@chy ~]# find /root/ -type f -mmin -60
/root/2.txt (查找一个小时以内更改的文件)
[root@chy ~]# find /root/ -type f -mmin -60 -exec ls -l {} \;查找一个小时以内的更改的文件并列出是哪些文件改动的。
-rw-r---w- 1 root root 5 6月 10 16:31 /root/2.txt
[root@chy ~]# find /root/ -type f -size -10k -exec ls -lh {} \;
查找/root下小于10k的文件并列出
[root@chy ~]# find /root/ -type f -size -10M -exec ls -lh {} \;(查找10M以上的文件,其中-exec 是将对匹配的文件执行该参数给出的shell命令,-exec 等同于-ok,但是这两者之间还是有点区别的区别是exec直接进行处理,而ok是在处理之前提示信息,供用户选择是否进行进一步的操作)
7 文件名后缀
inux 下常见的文件后缀名
1:系统文件*.conf配置文件
.rpm rpm包
.a 一种存档文件
.lock 一种琐文件
.~ 备份文件
. 隐藏文件
2:程序或脚本.c c语言源程序文件
.cpp c++语言源程序
.h c或c++头文件
.o 程序对象文件
.pl perl语言源程序
. php php语言源程序
.tcl tcl脚本程序
.so/.lib 库文件
.sql sql语言文件
3:格式文件
.txt 无格式的ascii码文件
.html/.htm 静态web页
.ps postScipt文件
.au 一种声音文件
.wav 一种声音文件
.xpm一种图像文件
.png一种图形,图像文件
4:存档与压缩文件
.tar tar归档文件
.Z/.gz/.bz2压缩文件
.tar.gz/.tgz/.tar.bz2/.tbz为压缩后的tar包
8 linux+windows互传文件
linux与windows互传文件有一个很好用的工具就是rz/sz,如下介绍(说明这个工具适用用xshell)
[root@chy ~]# yum install -y lrzsz (此工具须使用x-shell) [root@chy ~]# sz 1.txt 把linux上的文件传到windo上 [root@chy ~]# rz (把windows上文件上传到linux上)