Linux基础知识(3)——文件及其权限

linux系统结构

  • linux是一个倒树结构
  • linux中所有的东西都是文件
  • 最顶级目录是“/”, 即根目录
  • /目录以下为二级目录,这些目录都是系统装机时系统自动建立的
  • 二级目录的作用
    • /bin ——二进制可执行文件也就是系统命令
    • /sbin ——系统管理命令存放位置
    • /boot ——启动分区,负责系统启动
    • /dev ——设备管理文件
    • /etc ——大多数系统管理文件
    • /home ——普通用户的家目录
    • /lib ——32位系统库文件存放位置
    • /lib64 ——64位…
    • /media ——系统临时设备挂载点
    • /mnt
    • /run
    • /opt ——第三方软件安装位置
    • /proc ——系统信息
    • /root ——超级用户家目录
    • /srv,/var ——系统数据
    • /sys ——系统管理,主要是关于内核的
    • /tmp ——系统临时文件存放位置
    • /usr ——系统用户相关信息数据及用户自定义软件存放位置

文件

一.文件的寻址

绝对路径——文件在系统的真实位置,文件名字以“/”开头
相对路径——文件相对与当前所在位置的一个名字的简写,这个名字 不会以/开头,而且名字会自动添加pwd显示的值

例如:我现在的位置在/root/Desktop/,在它里面有一个目录red,则red目录的绝对路径是/root/Desktop/red/,相对路径是red/

二.文件的管理
1. touch 修改文件时间戳,我们通常用来建立文件

touch file ——创建文件

2. mkdir 建立目录

mkdir directory ——创建目录
-p ——上级目录不存在自动建立

3. rm 删除目录或文件

rm -f ——强行删除不提示
-r ——删除目录

4. cat | head | tail 查看文件内容

——cat 查看文件的全部内容
——head 查看文件的前几行
——tail 查看文件的后几行

5. vim 文本方式编辑文件

(具体使用见下一篇文章)

6. cd 切换工作目录

cd directory ——切换工作目录到指定目录
cd - ——切换工作目录到之前所在目录

cd ~ ——切换到自己的家目录
cd ~usernmae ——切换到指定用户家目录
cd .. ——进入到当前目录的上级目录

7. ls 列出目录或文件信息

ls ——列出当前目录内容
ls direcory|filename ——列出文件或目录内容
ls -d direcotry ——列出目录本身
ls -l filename|dorectory ——列出文件或目录里面内容的属性

ls -ld directory ——列出目录本身属性
ls -a ——显示目录中的所有内容,包括以”.”开头的隐藏文件

ls -R ——第归显示目录中的内容

8. cp 文件复制

cp是新建文件的过程
cp file file1 file2 … red ——把file file1 file2 复制到 目录red中

cp file test ——建立test文件模板为file
cp -r red blue ——复制目录

9. mv 移动或重命名

相同磁盘的mv是重命名,不同磁盘的mv是复制删除过程
mv file file1 dir ——移动file file1到目录dir中

mv 存在文件 不存在文件 ——重命名文件

mv dir/test . ——把dir中的test移动到当前目录 .代表当前目录

正则表达式

“*” 匹配0到任意字符
“?”匹配单个字符,几个?代表几个字符

[[:alpha:]] ###匹配单个字母
[[:lower:]] ###匹配单个小写字母
[[:upper:]] ###匹配单个大写字母
[[:digit:]] ###匹配单个数字
[[:alnum:]] ###匹配单个数字或字母
[[:punct:]] ###匹配单个符号
[[:space:]] ###匹配单个空格

例:假设有如图这样5个文件,文件名中分别有大小写字母,数字,特殊符号,空格。
匹配方式如下所示,用法都相似

{}表示不存在的或者存在的
我们通常在创建文件的时候可能会使用它们,可以一次性创建出大量的文件。
例如:

[]表示存在的
我们通常在删除文件的时候使用它们。

[a-C] ——a、A、b、B、c、C
[a-c] ——a、A、b、B、c

[1-3] ——1、2、3
[1456] ——1、4、5、6

[^abc]|[!abc] ——除了a并且除了b并且除了c

文件的权限

1.文件属性的查看

ls -l

- | rw-r–r–. | 1 | root | root | 0 | May 19 17:38 | file
1—–2——–3—–4——-5—–6———–7————8

  • 1.”-“:文件类型
    “-“——普通文件
    d ——目录
    c ——字符设备
    s ——套接字
    p ——管道
    b——快设备
    l ——连接
  • 2.”rw-r–r–”:文件读写权限
    rw-(所有人的权限)|r–(所有组的权限)|r–(其他人的权限)
  • 3.”1”:
    对文件:文件内容被系统记录的次数
    对目录:目录中文件属性的字节数
  • 4.”root”:文件所有人
  • 5.”root”:文件所有组
  • 6.”0”:文件内容的大小
  • 7.” May 19 17:38”:文件最后一次被修改的时间
  • 8.”file”:文件名字
2.文件普通权限
a.意义

rw- | r– | r–
-u—-g—-o
u:文件所有人对文件可以读写
g:文件组成员对文件可读
o:其他人对文件可读
u优先匹配,g次优先,o当u,g不匹配时匹配

rwx对文件对目录
r可以查看文件中的字符可以查看目录中文件的信息
w可以更改文件内字符可以在目录中添加删除文件
x可以运行文件内记录的程序动作可以进入目录中
b.字符方式修改该文件权限

chmod
可以用u|g|o直接进行“+”/“-”r|w|x用来添加相应位置上的权限
例如:file原来的权限是:rw-r–r–

chmod u+x,o-r file ——file用户添加x权限,其他人去掉r权限

c.数字方式修改该文件权限

在linux中
r=4,w=2,x=1
chmod 修改后权限值 file
如:chmod 777 file(777是最大权限)

3.文件所有人所有组的管理

chown username file|dir ——更改文件的所有人
chown username:groupname file|dir ——更改所有人所有组

chown -R username dir ——更改目录本身及里面所有内容的所有人
chgrp -R groupname dir ——更改目录本身及里面所有内容的所有组

4.系统默认权限的设定

从系统存在角度来说,开放权力越大,系统存在意义越高
从系统安全角度来说,开放权力越少,系统安全性越高
所以系统设定新建文件或目录会去掉一些权限
设定方式
umask ——查看系统保留权限默认为022
umask 077 ——修改该系统保留权限为077,此设定为临时设定,只当前shell中生效

永久设定方式:
(if后是普通用户umask;else后是超级用户umask )
vim /etc/bashrc ——shell

vim /etc/profile ——系统

以上两个文件umask设定值必须保持一致
source /etc/bashrc
source /etc/profile
让设定立即生效

5.特殊权限
  • 1.suid(4) ——冒险位
    只针对二进制可执行文件,
    文件内记录的程序产生的进程的所有人为文件所有人,和进程发起人身份无关

    设定方式:
    chmod u+s file
    chmod 4xxx file

  • 2.sgid(2) ——强制位

  • 3.sticky (1)——粘制位
    t权限:
    只针对与目录,当一个目录上有t权限,那么目录中的文件只能被所有人删除

设定方式:
chmod o+t dir
chmod 1777 dir

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值