博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
3.文件属性,权限,正则表达式
阅读量:6860 次
发布时间:2019-06-26

本文共 12137 字,大约阅读时间需要 40 分钟。

1.文件属性

1.1inode

1.含义用来存放文件属性的空间。通过inode号找到这个空间inode号码--家庭住址inode空间--家庭文件名不存放在inode中2.怎么来的格式化创建文件系统3.特点1)inode存放文件属性2)创建一个文件要占用一个inode3)存放block的位置,block的指针4)inode节点号相同的文件,互为硬链接文件,可以认为是一个文件的不同入口5)inode在某一个文件系统中是唯一的。4.怎样查看ls -i 查看inode号 df -hi 查看inode使用了多少,剩多少

1.2block

1.含义实际存放数据的位置2.怎么来的格式化文件系统3.特点1)block是实际存放数据的地方2)block大小-4k(centos6.x默认大小),还有1k,8k3)创建大文件会占用多个block,如果文件小于1k,剩余空间浪费4)创建一个非空的文件,至少占用一个block5)每读取一个block就会消耗一次磁盘I/O4.怎么查看df -h查看磁盘使用多少ls -lh查看每个文件大小

1.3查看文件的过程

3.文件属性,权限,正则表达式

1.4文件类型

[root@oldboyedu01-nb ~]# ls -l /tmp/services.tar.gz /bin/ls /etc/hosts-rwxr-xr-x. 1 root root 117048 Mar 23  2017 /bin/ls-rw-r--r--. 2 root root    158 Feb 20 02:46 /etc/hosts-rw-r--r--. 1 root root  55368 Feb 22 00:49 /tmp/services.tar.gz[root@oldboyedu01-nb ~]# file /bin/ls/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped[root@oldboyedu01-nb ~]# file /etc/hosts/etc/hosts: ASCII text[root@oldboyedu01-nb ~]# file /tmp/services.tar.gz /tmp/services.tar.gz: gzip compressed data, from Unix, last modified: Fri Feb 22 00:49:51 2019

1.5用户

1.id查看用户信息,属于哪个组UID用户的号码,相当于×××号,在系统中也是唯一的GID组的号码,相当于户口本的号码,在系统中也是唯一的[root@oldboyedu01-nb ~]# id oldboyuid=500(oldboy) gid=500(oldboy) groups=500(oldboy)[root@oldboyedu01-nb ~]# useradd oldgirl[root@oldboyedu01-nb ~]# id oldgirluid=501(oldgirl) gid=501(oldgirl) groups=501(oldgirl)2.root用户UID  03.虚拟用户UID  1-499 系统中每个进程要有一个对应的用户,虚拟用户是无法使用的4.普通用户UID 500+5.如何保护root用户1)禁止root远程登录2)修改ssh默认的端口号3)定期分析/var/log/secure 记录着用户的登录信息6.与用户相关的文件/etc/group 保存组信息/etc/gshadow/etc/passwd 保存用户信息/etc/shadow 保存密码信息7.详解/etc/passwd[root@oldboyedu01-nb ~]# cat /etc/passwdroot:x:0:0:root:/root:/bin/bash第一列:用户名字第二列:存放密码的地方第三列:UID第四列:GID第五列:用户的说明信息,默认为空第六列:用户的家目录第七列:用户默认的bash,用户使用的命令解释器/bin/bash Centos默认的命令解释器/sbin/nologin 用户无法登录系统

1.6 9位权限说明

r  4  read可以读取文件w  2  write修改文件x  1  excute可以运行的文件-   0什么权限都没有

1.7软连接与硬链接

"软连接与硬链接的区别"1.创建方式软连接ln -s 硬链接ln2.原理硬链接文件的inode和源文件的inode相同,软连接的inode和源文件的inode不同硬链接不能对目录创建连接,只能对文件创建硬链接。软连接既可以对目录创建连接也可以对文件创建连接硬链接不能在不同的分区(文件系统)创建,软连接可以在不同分区创建连接3.删除删除硬链接对源文件没有影响,删除软连接对原文件也没有影响删除源文件对硬链接没有影响,但是软连接失效删除源文件和硬链接文件,整个文件才被删除
1.软连接怎么来的[root@oldboyedu01-nb oldboy]# ln -s oldboy.txt o[root@oldboyedu01-nb oldboy]# lltotal 9380lrwxrwxrwx. 1 root root      10 Feb 22 05:27 o -> oldboy.txt-rw-r--r--. 1 root root      29 Feb 22 01:12 oldboy.txt2.软连接特点1)存放源文件的位置2)源文件被删除,连接无效3)源文件和链接的文件inode不同
1.硬链接怎么来的[root@oldboyedu01-nb oldboy]# ln oldboy.txt h[root@oldboyedu01-nb oldboy]# lltotal 9384-rw-r--r--. 1 root root 9599190 Feb 22 01:03 etc.tar.gz-rw-r--r--. 2 root root      29 Feb 22 01:12 hlrwxrwxrwx. 1 root root      10 Feb 22 05:27 o -> oldboy.txt-rw-r--r--. 2 root root      29 Feb 22 01:12 oldboy.txt2.硬链接特点1)在同一个分区中,两个或多个文件的inode号码相同,这些文件互为硬链接2)删除硬链接或源文件,文件还是可以使用的3)把硬链接和源文件都删除,文件被删除。==硬链接数为0

1.8文件删除原理

1.硬链接数量为02.进程调用数为0

3.文件属性,权限,正则表达式

1.9磁盘空间已满

3.文件属性,权限,正则表达式

如何删除大量小文件如何删除大量小文件[root@oldboyedu-02 test]# touch {1..500000}.txt-bash: /bin/touch: Argument list too long[root@oldboyedu-02 test]# echo {1..500000}.txt|xargs touch[root@oldboyedu-02 ~]# find / -type d -size +1M|xargs ls -lhddr-xr-xr-x. 25 root root 1.4M Feb 28 16:29 /drwxr-xr-x   2 root root  15M Feb 28 18:25 /oldboy/test[root@oldboyedu-02 ~]# rm -rf /oldboy/test/*-bash: /bin/rm: Argument list too long[root@oldboyedu-02 ~]# ls /oldboy/test/|xargs rm -rf如果还是不可以,就批量删除,rm -rf A*

1.10文件的三个时间

mtime modified time 文件的修改时间,文件的内容修改时间atime acces time 文件的访问时间,cat 文件的时间ctime change time 创建文件的时间 文件属性的改变时间,硬连接数,文件大小,权限等的修改时间查看文件的三个时间[root@oldboyedu01-nb log]# stat /oldboy/oldboy.txt   File: `/oldboy/oldboy.txt'  Size: 29          Blocks: 8          IO Block: 4096   regular fileDevice: 803h/2051d  Inode: 392658      Links: 2Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2019-02-22 05:34:11.855975925 +0800Modify: 2019-02-22 01:12:58.341993040 +0800Change: 2019-02-22 05:37:23.927977954 +0800[root@oldboyedu01-nb oldboy]# echo "test" >oldboy.txt [root@oldboyedu01-nb oldboy]# stat oldboy.txt   File: `oldboy.txt'  Size: 5           Blocks: 8          IO Block: 4096   regular fileDevice: 803h/2051d  Inode: 392658      Links: 2Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2019-02-22 05:34:11.855975925 +0800Modify: 2019-02-22 07:54:53.574968230 +0800Change: 2019-02-22 07:54:53.574968230 +0800[root@oldboyedu01-nb oldboy]# ln oldboy.txt oo[root@oldboyedu01-nb oldboy]# stat oldboy.txt   File: `oldboy.txt'  Size: 5           Blocks: 8          IO Block: 4096   regular fileDevice: 803h/2051d  Inode: 392658      Links: 3Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2019-02-22 05:34:11.855975925 +0800Modify: 2019-02-22 07:54:53.574968230 +0800Change: 2019-02-22 07:56:09.542959563 +0800[root@oldboyedu01-nb oldboy]# cat oldboy.txt test[root@oldboyedu01-nb oldboy]# stat oldboy.txt   File: `oldboy.txt'  Size: 5           Blocks: 8          IO Block: 4096   regular fileDevice: 803h/2051d  Inode: 392658      Links: 3Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2019-02-22 07:58:08.785926400 +0800Modify: 2019-02-22 07:54:53.574968230 +0800Change: 2019-02-22 07:56:09.542959563 +0800

2.权限讲解

2.1文件的rwx

对文件来说,rwx的含义:1.r读取文件内容2.w修改文件内容,只有w的情况下可追加内容到文件中,但是需要r的配合,修改后才能查看内容,验证是否正确3.x权限表示执行,只有x权限是不能执行脚本的,他需要r权限的配合。r权限[root@oldboyedu-01 oldboy]# chmod u=r alex.sh[oldboy@oldboyedu-01 oldboy]$ lltotal 4-r--r--r-- 1 oldboy oldboy 13 Feb 25 10:13 alex.sh[oldboy@oldboyedu-01 oldboy]$ echo "ls -ld /opt">alex.sh -bash: alex.sh: Permission denied[oldboy@oldboyedu-01 oldboy]$ ./alex.sh-bash: ./alex.sh: Permission deniedw权限[root@oldboyedu-01 oldboy]# chmod u=w alex.sh[oldboy@oldboyedu-01 oldboy]$ lltotal 4--w-r--r-- 1 oldboy oldboy 13 Feb 25 10:19 alex.sh[oldboy@oldboyedu-01 oldboy]$ cat alex.sh cat: alex.sh: Permission denied[oldboy@oldboyedu-01 oldboy]$ echo 'w'>>/oldboy/alex.sh [oldboy@oldboyedu-01 oldboy]$ /oldboy/alex.sh-bash: /oldboy/alex.sh: Permission denied[oldboy@oldboyedu-01 oldboy]$x权限[root@oldboyedu-01 oldboy]# chmod u=x alex.sh[oldboy@oldboyedu-01 oldboy]$ lltotal 4---xr--r-- 1 oldboy oldboy 15 Feb 25 10:25 alex.sh[oldboy@oldboyedu-01 oldboy]$ [oldboy@oldboyedu-01 oldboy]$ cat alex.sh cat: alex.sh: Permission denied[oldboy@oldboyedu-01 oldboy]$ echo "w">alex.sh -bash: alex.sh: Permission denied[oldboy@oldboyedu-01 oldboy]$ /oldboy/alex.sh bash: /oldboy/alex.sh: Permission denied[root@oldboyedu-01 oldboy]# chmod u=rx alex.sh[oldboy@oldboyedu-01 oldboy]$ lltotal 4-r-xr--r-- 1 oldboy oldboy 15 Feb 25 10:25 alex.sh[oldboy@oldboyedu-01 oldboy]$ /oldboy/alex.sh oldboyedu-01/oldboy

2.2目录的rwx

对目录来说,rxw权限的含义:r权限只能查看目录,即只能ls -ld查看该目录的信息w权限控制是否能在目录中删除,创建内容,需要x的配合x权限控制是否能够进入目录中,需要r的配合对目录来说:r 只有r权限时不能cd进入到该目录[oldboy@oldboyedu01-nb opt]$ cd etc/-bash: cd: etc/: Permission denied执行find命令时,不能列举出该目录下面的内容[oldboy@oldboyedu01-nb opt]$ find /opt/ -name "*"/opt//opt/etcfind: '/opt/etc': Permission denied/opt/rh执行ls命令时,只能看到该目录下的文件名,看不到文件属性[oldboy@oldboyedu01-nb opt]$ ls etc/ls: cannot access etc/sysconfig: Permission deniedsysconfig[oldboy@oldboyedu01-nb opt]$ ll etc/ls: cannot access etc/sysconfig: Permission deniedtotal 0d????????? ? ? ? ?            ? sysconfig有r和x权限时可以进入到该目录可以通过find命令查看到该目录下的内容可以通过ll命令查看到文件权限但是不能删除目录,修改目录名称,在目录中创建文件[oldboy@oldboyedu-02 oldboy]$ lltotal 8dr-xr-xr-x 2 oldboy oldboy 4096 Feb 26 08:29 alexdir--w-rwxrwx 1 oldboy oldboy    5 Feb 26 08:19 alex.sh[oldboy@oldboyedu-02 oldboy]$ find alexdir/alexdir/alexdir/luffy05alexdir/luffy04alexdir/luffy02alexdir/luffy01alexdir/luffy03[oldboy@oldboyedu-02 oldboy]$ rm -rf alexdir/luffy01rm: cannot remove 'alexdir/luffy01': Permission denied[oldboy@oldboyedu-02 oldboy]$ mkdir alexdir/testmkdir: cannot create directory 'alexdir/test': Permission denied只有wx权限时,可以进入目录,删除其中的文件,创建文件,但是不能查看里面有哪些内容[oldboy@oldboyedu-02 oldboy]$ lltotal 8d-wxr-xr-x 2 oldboy oldboy 4096 Feb 25 10:43 alexdir--w-rwxrwx 1 oldboy oldboy    5 Feb 26 08:19 alex.sh[oldboy@oldboyedu-02 oldboy]$ rm -rf alexalexdir/ alex.sh  [oldboy@oldboyedu-02 oldboy]$ rm -rf alexdir/*[oldboy@oldboyedu-02 oldboy]$ cd alexdir/[oldboy@oldboyedu-02 alexdir]$ llls: cannot open directory .: Permission denied[oldboy@oldboyedu-02 alexdir]$ touch test01[oldboy@oldboyedu-02 alexdir]$ rm -rf test01

2.3权限的计算

r===4w==2x===1-===0

2.4linux系统的默认权限

文件的默认权限是644(666-022)目录的默认权限是755(777-022)

2.5安全的网站设计

1.网址程序放在/app/blog下面网站需要通过一个虚拟用户登陆进来2./app/blog/ndd.jpg/app/blog/上传/lwang.jpg对于上传目录,文件644,目录755,用户 www www除了上传目录外,文件644,目录755,用户root root

2.6umask

文件系统中,文件和目录的默认权限是通过umask值设置的。文件的最大权限是666,目录的最大权限是777文件 666 022 644目录 777 022 755对于目录,777直接减去umask对于文件,666减去umask的值,如果umask某一位上面是奇数,减完umask奇数位需要+1/etc/profile中修改

2.7lsattr chattr

lsattr 查看属性chattr 设置属性+a只能追加+i无敌的,不可更改的[root@oldboyedu-01 oldboy]# lsattr alexdir/-------------e- alexdir/luffy05-------------e- alexdir/luffy04-------------e- alexdir/luffy02-------------e- alexdir/luffy01-------------e- alexdir/luffy03[root@oldboyedu-01 oldboy]# chattr +a alexdir/luffy01[root@oldboyedu-01 oldboy]# lsattr alexdir/luffy01 -----a-------e- alexdir/luffy01[root@oldboyedu-01 oldboy]# cat alexdir/luffy01[root@oldboyedu-01 oldboy]# echo "append">alexdir/luffy01  //追加内容也不行了-bash: alexdir/luffy01: Operation not permitted[root@oldboyedu-01 oldboy]# rm -rf alexdir/luffy01 rm: cannot remove 'alexdir/luffy01': Operation not permitted[root@oldboyedu-01 oldboy]# echo "append">>alexdir/luffy01 //只能追加内容到文件中[root@oldboyedu-01 oldboy]#+i参数[root@oldboyedu-01 oldboy]# chattr -a alexdir/luffy01[root@oldboyedu-01 oldboy]# chattr +i alexdir/luffy01[root@oldboyedu-01 oldboy]# lsattr alexdir/luffy01----i--------e- alexdir/luffy01[root@oldboyedu-01 oldboy]# echo "append">>alexdir/luffy01 -bash: alexdir/luffy01: Permission denied[root@oldboyedu-01 oldboy]# rm -rf alexdir/luffy01 rm: cannot remove 'alexdir/luffy01': Operation not permitted[root@oldboyedu-01 oldboy]# echo "append">alexdir/luffy01-bash: alexdir/luffy01: Permission denied

2.7特殊权限

2.7.1suid

(1) 任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限;(2) 启动为进程之后,其进程的属主为原程序文件的属主;权限设定:chmod u+s FILE... chmod u-s FILE...危险:所有用户运行命令的时候都相当于是root[root@oldboyedu-01 oldboy]# ll /usr/bin/passwd -rwsr-xr-x. 1 root root 30768 Nov 24  2015 /usr/bin/passwd例如:普通用户不能查看/var/log/messages可通过chmod u+s /bin/cat就可查看了

3.文件属性,权限,正则表达式

3.文件属性,权限,正则表达式
3.文件属性,权限,正则表达式

2.7.2sgid

默认情况下,用户创建文件时,其属组为此用户所属的基本组;一旦某目录被设定了SGID,则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组;权限设定:    chmod g+s DIR...    chmod g-s DIR...

3.文件属性,权限,正则表达式

2.7.3sticky

对于一个多人可写的目录,如果设置了sticky,则每个用户仅能删除自己的文件;粘滞位1777 /tmp目录任何人可以在目录里面创建文件(原来的权限是777)每个人只能管理自己的文件,其他人的处理不了权限设定:    chmod o+t DIR...    chmod o-t DIR...

3.文件属性,权限,正则表达式

3.正则表达式

3.1什么是正则表达式

通配符号表示文字内容提高效率支持正则表达式:linux三剑客 grep sed awk

3.2使用正则表达式的时候注意事项

正则表达式按照行处理禁止使用中文符号给grep,egrep配置别名加到/etc/profile中alias grep="grep --color=auto"alias grep="egrep --color=auto"然后source生效

3.3正则表达式和通配符

用途                                             匹配的内容                                支持的命令 通配符:用来匹配查找文件名  *.txt *.log 以.txt .log结尾的文件      大部分命令正则:在文件中匹配查找内容   包含oldboy的行                             linux三剑客

3.4正则表达式分类

基础正则basic regular expression(BRE) grep sed awk^    以某字符开头$    以某字符结尾.     前面字符出现一次*     前面的字符出现0次或多次[]    匹配[]内部的字符[^]  除了[]内部的字符扩展正则 extend regular expression(ERE)   grep -E/egrep sed -r awk+  前面字符出现1次或以上|   或者{}  前面匹配内容出现的次数的范围()  分组?  表示前面一个字符出现0次或1次
环境准备I am oldboy teacher!I teach linux.I like badminton ball ,billiard ball and chinese chess!my blog is http://oldboy.blog.51cto.comour site is http://www.etiantian.orgmy qq num is 49000448.not 4900000448.my god ,i am not oldbey,but OLDBOY!

3.5基本正则表达式

-A表示显示文件中隐藏的特殊字符grep -o显示匹配的过程. 任意一个字符,不包含空行\ 转义符号 脱掉马甲,打回原形\n 表示回车换行*前面一个字符出现0次多1次以上.*表示所有^$表示空行
1.显示出隐藏的字符[root@m01 opt]# cat  -A test I am oldboy teacher!$I teach linux.$$I like badminton ball ,billiard ball and chinese chess!$my blog is http://oldboy.blog.51cto.com$our site is http://www.etiantian.org$my qq num is 49000448.$$not 4900000448.$my god ,i am not oldbey,but OLDBOY!$[root@m01 opt]#

3.文件属性,权限,正则表达式

3.文件属性,权限,正则表达式
3.文件属性,权限,正则表达式

*前面一个字符出现了0次或1次以上

3.文件属性,权限,正则表达式

3.文件属性,权限,正则表达式
3.文件属性,权限,正则表达式
3.文件属性,权限,正则表达式
3.文件属性,权限,正则表达式
3.文件属性,权限,正则表达式

3.6扩展正则表达式

3.文件属性,权限,正则表达式

3.文件属性,权限,正则表达式

| 或者Linux正则表达式之问题三:[]与|区别都可以表示或者 [abc] a|b|c区别:[]基础正则,|扩展正则[]表示单个字符的或者  |表示三个字符的或者或多个字符的或者[a-z]                  oldboy|linux() 括号中的内容相当于一个整体,表示后向引用反向引用或后向引用sed,把你想要的内容先保护起来,然后再使用它

3.文件属性,权限,正则表达式

o{n,m} 前一个字符最少出现n次,最多m次 o{,m}前一个字符最多m次o{n,}前一个字符最少n次o{n}前一个字符恰好出现n次

3.文件属性,权限,正则表达式

转载于:https://blog.51cto.com/10983441/2411229

你可能感兴趣的文章
第三次作业
查看>>
新浪微博登录接口实例
查看>>
wcf技术剖析_会话
查看>>
AngularJS 指令的 Scope (作用域)
查看>>
gitlab的使用
查看>>
iOS 生成本地验证码
查看>>
找不到 javax.servlet.http.HttpServletResponse 和 javax.servlet.http.HttpServletRequest 问题解决...
查看>>
Flip Game(枚举)
查看>>
WebWorker与WebSocket实现前端消息总线
查看>>
Selector
查看>>
Unity 2018.3.1 SyncVar没有同步服务器变量
查看>>
Linux命令(2) - 查看目录和文件大小: du -sh
查看>>
python的一些常用标准库
查看>>
最短路径--Floyd、Dijkstra、Bellman、SPFA算法
查看>>
gunzip
查看>>
使用CAShapeLayer绘制小人
查看>>
6.用递归实现求数组中的任意次最值。
查看>>
清华大学MBA在职班第一学年第二学期课表
查看>>
公开课:如何成为一名高级系统运维工程师(架构师)?
查看>>
深入Hadoop节点部署的策略
查看>>