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上)