复习_文件

一、使用者与群组

1、文件拥有者

由于linux时隔多人多用户的系统,所以每个文件都有自己的拥有者,当设置了合适的权限之后,该文件就只有文件拥有着可以查看,从而防止不必要的人看到自己的文件。

2、群组

简单点说,就是一个共享文件可以属于一个群组,这个群组包含几个用户,这几个用户可以查看这个文件,而这个群组以外的用户不可以查看这个文件。

3、其他人

其他人需要得到这个群组里的人认同之后才可以查看这个共享文件。

4、linux用户身份与群组记录

用户身份信息记录在/etc/passwd文件中,密码记录在/etc/shadow中

所有组名都记录在/etc/group中

#############################################################

二、文件权限

1、文件属性

[root@server1 ~]# ls -al

total 1416

dr-xr-x---.  8 root root    4096 Dec 10  2016 .

dr-xr-xr-x. 25 root root    4096 Aug 11 17:11 ..

-rw-------.  1 root root   13830 Aug 11 02:01 .bash_history

-rw-r--r--.  1 root root      18 May 20  2009 .bash_logout

-rw-r--r--   1 root root     202 Sep 17  2016 .bash_profile

-rw-r--r--.  1 root root     176 Sep 23  2004 .bashrc

drwx------   3 root root    4096 Oct  1  2016 .cache

drwx------   3 root root    4096 Oct  1  2016 .config

-rw-r--r--.  1 root root     100 Sep 23  2004 .cshrc

-rw-------   1 root root      55 Sep 17  2016 .lesshst

drwxr-xr-x   2 root root    4096 Sep 11  2016 .lftp

...........

ls命令显示文件的名称与相关属性

7个字段分别代表的含义:

权限 链接数 拥有者 群组 文件大小 文件最后修改时间 文件名

权限字段(共十个字符):

第一个字符:表示文件的类型

d :目录

- :普通文件

l :链接文件

b :存储设备文件

c :串行端口设备文件,如键盘,鼠标

接下来的字符三个为一组,一共三组,且均为rwx,r代表可读,w代表可写,x代表可执行,如果是-则表示没有权限。rwx也可以用数字表示,r为4,w为2,x为1,所以rwxrwxrwx也可以表示为777(4+2+1)

第一组为文件拥有者的权限

第二组为同群组的权限

第三组为其他非本群组的权限

如:-rwxr-xr--

分成四部分:- rwx r-x r--

这是一个普通文件,拥有者的权限为可读可写可执行;同群组用户的权力为可读可执行,但是不可写;其他人的权力为可读。

#######################################################

三、如何改变文件属性与权限

1、chgrp :改变文件所属群组

[root@server1 home]# ls -l

total 8

drwx------ 6 hadoop hadoop 4096 Dec 10  2016 hadoop

drwx------ 2 test   test   4096 Dec 10  2016 test

[root@server1 home]#

test文件所属的群组为test

改变群组为user

[root@server1 home]# groupadd user ##首先user这个群组得存在

[root@server1 home]# chgrp user test/

[root@server1 home]# ls -l

total 8

drwx------ 6 hadoop hadoop 4096 Dec 10  2016 hadoop

drwx------ 2 test   user   4096 Dec 10  2016 test

[root@server1 home]#

可以看见test的群组已经变为user

###################################

2、chown :改变文件拥有者

chown [-R] 用户名称 文件或目录 ##-R表示把目录里的文件都同时修改

chown [-R] 用户名称:组名 文件或目录

test的拥有者改为user1

[root@server1 home]# useradd user1 ##用户必须存在

[root@server1 home]# chown user1 test

[root@server1 home]# ls -l

total 12

drwx------ 6 hadoop hadoop 4096 Dec 10  2016 hadoop

drwx------ 2 user1  user   4096 Dec 10  2016 test ##test的拥有者变为了user1

drwx------ 2 user1  user1  4096 Aug 11 18:12 user1 ##创建新用户的同时会生成该用户的家目录

[root@server1 home]#

 

[root@server1 home]# chown test:test test ##将test的拥有者和群组同时改为test

[root@server1 home]# ls -l

total 12

drwx------ 6 hadoop hadoop 4096 Dec 10  2016 hadoop

drwx------ 2 test   test   4096 Dec 10  2016 test

drwx------ 2 user1  user1  4096 Aug 11 18:12 user1

[root@server1 home]#

#############################################################

3、chmod :改变文件的权限,SUID、SGID、SBIT等等的特性

可以使用数字修改,也可以使用rwx修改

u=owner=rwx=4+2+1

g=group=rwx=4+2+1

o=others=---=0+0+0=0

如:

[root@server1 home]# chmod 777 test

[root@server1 home]# ls -l

total 12

drwx------ 6 hadoop hadoop 4096 Dec 10  2016 hadoop

drwxrwxrwx 2 test   test   4096 Dec 10  2016 test

drwx------ 2 user1  user1  4096 Aug 11 18:12 user1

[root@server1 home]# chmod 754 test

[root@server1 home]# ls -l

total 12

drwx------ 6 hadoop hadoop 4096 Dec 10  2016 hadoop

drwxr-xr-- 2 test   test   4096 Dec 10  2016 test ##rwxr-xr--=4+2+1|4+0+1|4+0+0=754

drwx------ 2 user1  user1  4096 Aug 11 18:12 user1

[root@server1 home]#

通过字符修改

[root@server1 home]# chmod u=rwx,go=rx test

[root@server1 home]# ls -l

total 12

drwx------ 6 hadoop hadoop 4096 Dec 10  2016 hadoop

drwxr-xr-x 2 test   test   4096 Dec 10  2016 test

drwx------ 2 user1  user1  4096 Aug 11 18:12 user1

[root@server1 home]#

      | u

      | g   | +(增加) | r   |

chmod |     | -(减少) | w   | 文件或目录

      | 0   | =(设定) | x   |

      | a

####################################################################4

4、权限对文件爱你的重要性

r(read) : 可读取此一文件的实际内容

w(srite) : 可以编辑、新增或者是修改该文件的内容,但不能删除

x(execute) : 该文件具有可以被系统执行的权限

######################################################

5、权限对目录的重要性

r : 表示具有读取目录结构列表的权限,也就是可以用ls命令查看这个目录里的内容

w : 建立新的文件与目录

    删除已经存在的文件与目录(不论该文件的权限为何)

    将已存在的档案或目录进行更名

    搬移该目录内的文件、目录位置

x : 目录不可以被执行,所以这里的x表示用户能否进入该目录成为当前目录的用途

当开放目录给任何人浏览时,应至少要给予r或x权限,w需视情况而定

 

例:用root的身份在所有人都可以和工作的/tmp目录中建立一个名为testing的目录,该目录的权限为744,且目录拥有者为root。另外,在testing目录下再建立一个空的文件testing。

[root@server1 ~]# cd /tmp/ ##进入tmp目录

[root@server1 tmp]# mkdir testing

[root@server1 tmp]# ls -l testing/ ##-l只能查看文件的属性,而testing是一个空目录

total 0

[root@server1 tmp]# ls -ld testing/

drwxr-xr-x 2 root root 4096 Aug 13 01:11 testing/ ##-d可以查看某个目录的属性,可以看到现在testing的权限是755,群组和其他人的权限为可读,可进入,不可增删改移

[root@server1 tmp]# chmod 744 testing/

[root@server1 tmp]# ls -ld testing/

drwxr--r-- 2 root root 4096 Aug 13 01:11 testing/ ##将testing的权限改为群组和其他人可读不可进入,不可增删改移

[root@server1 tmp]# touch testing/testing ##再testing目录里建立一个文件testing

[root@server1 tmp]# cd testing/ ##

[root@server1 testing]# ls -l

total 0

-rw-r--r-- 1 root root 0 Aug 13 01:19 testing ##权限为644,即拥有者可读可写不可执行,群组和其他人只可读

[root@server1 testing]# chmod 600 testing

[root@server1 testing]# ls -l

total 0

-rw------- 1 root root 0 Aug 13 01:19 testing ##将文件的权限改为只有拥有者可读可写

[root@server1 tmp]# ls -ald testing/testing

-rw------- 1 root root 0 Aug 13 01:19 testing/testing ##目录和文件的拥有者和群组都是root

[root@server1 tmp]# ls -ld testing

drwxr--r-- 2 root root 4096 Aug 13 01:19 testing

[root@server1 tmp]#

[root@server1 tmp]# su - test ##切换到普通用户

[test@server1 ~]$

[test@server1 ~]$ cd /tmp/

[test@server1 tmp]$ ls -ld testing/ ##其他人具有读权限,所以可以查看

drwxr--r-- 2 root root 4096 Aug 13 01:19 testing/

[test@server1 tmp]$ cd testing/

-bash: cd: testing/: Permission denied ##其他人没有x权限,所以会提示进入这个目录被拒绝

[test@server1 tmp]$

[test@server1 tmp]$ exit ##退出登陆

logout

[root@server1 tmp]# chown test testing/ ##将testing目录的拥有者改为test用户

[root@server1 tmp]# ls -ld testing/

drwxr--r-- 2 test root 4096 Aug 13 01:19 testing/

[root@server1 tmp]# su - test

[test@server1 ~]$ cd /tmp/testing/

[test@server1 testing]$ ls -l

total 0

-rw------- 1 root root 0 Aug 13 01:19 testing ##可以查看testing文件了

[test@server1 testing]$ rm testing

rm: remove write-protected regular empty file `testing'?

[test@server1 testing]$ ls -l

total 0

-rw------- 1 root root 0 Aug 13 01:19 testing

[test@server1 testing]$ rm testing

rm: remove write-protected regular empty file `testing'? y ##询问是否删除

[test@server1 testing]$ ls -l

total 0 ##test用户可以删除testing文件

[test@server1 testing]$

###########################################################################

四、文件种类与扩展名

1、普通文件:准文本文档、二进制文件、数据格式文件(具有特定格式的文件)

2、目录文件(d)

3、链接文件(l):相当于windows底下的快捷工具

4、设备文件:块设备文件(b,硬盘软盘等)、字符设备文件(c,鼠标键盘等)

5、资料接口文件(s):通常用在网络上的数据承接

6、数据传送文件(FIFO,pipe管道):主要解决多个程序同时存取一个文件造成的错误问题

#######################################################

文件扩展名:

*.sh:脚本或批处理文件

*.Z,*.tar,*.tar.gz,*.zip,*.tgz:经过打包的压缩文件

*.html,*.php:网页相关文件

五、目录结构

1)linux系统结构是倒树型

2)/bin ##binary,二进制可执行文件,即系统命令

/sbin ##system binary,系统管理命令存放位置,仅root用户可执行

/boot ##启动分区,负责系统启动

/dev ##设备管理文件

/etc ##大多数系统管理文件,即系统的配置

/home ##普通用户的家目录

/lib ##library,32位系统库文件存放位置

/lib64 ##library64,64位系统库文件存放位置

/media、/mnt,/run ##系统临时设备挂载点

/opt ##第三方软件安装位置

/proc ##系统信息

/root ##超级用户的家目录

/srv,/var ##系统数据

/sys ##系统管理,主要是关于内核的

/tmp ##系统临时文件存放位置

/usr ##系统用户相关信息数据及用户自定义软件存放位置

3)系统文件路径

绝对路径(absolute paths):文件在系统的真实位置,文件名字以‘/’开头

相对路径(relative paths):文件相对与当前所在位置名字的一个简写,不会以‘/’开头,并名字会自动添加‘pwd’的值

4)有关路径涉及的命令

pwd ##print name of current/working directory,显示当前系统的位置

ls ##list directory contents,列出目标文件

  -a ##list all

  -l ##列出文件属性

  -s ##列出文件大小

  -R ##递归列出

  -d ##指定目录本身

cd ##change the current directory,进入目标目录

  ~ ##回到当前用户家目录

  ~ username ##进入指定用户家目录

  .. ##进入之前系统所在目录

  .. ##进入当前目录的上一级

touch ##新建文件

mkdir ##建立目录

mkdir -p ##递归式建立目录

cp 被复制文件 目的地

  -r ##递归复制

mv 被移动文件 目的地 ##移动文件或重命名

mv 老名字 新名字 ##把test/file移动到当前目录

eg:mv test/file .

rm ##删除

  -f ##强制删除文件

  -fr ##强制递归删除目录

vim filename ##编辑文件

i键进入insert模式

文件编辑完成后按esc退出到浏览模式

:wq 进行保存退出

注意:当vim非正常关闭文件时,再次编辑会出现提示,

解决问题:删除隐藏文件.filename.swp

3、通配符

* ##匹配0~任意个字符

? ##匹配任意单个字符

~ ##(the current working home directory)当前用户的家目录File: /home/kiosk/Desktop/study/day02

~user ##匹配到user的家目录

~+ ##匹配到当前工作目录,和‘.’作用相同。

~- ##匹配到当前目录之前所在目录,和‘-’作用相同

[abc] ##有a或b或c

[!abc] ##除了含有a或b或c

[^abc] ##除了含有a或b或c

[[:alpha:]] ##表示单个字母

[[:lower:]] ##表示单个小写字母

[[:upper:]] ##表示单个大写字母

[[:alnum:]] ##表示单个字母或数字

[[:punct:]] ##表示单个字符,除数字、字母、空格之外的符号

[[:digit:]] ##表示数字

[[:space:]] ##表示单个空格

#################################################################33

08/13/2017 02:13:51 AM

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值