Linux基础-文件操作及权限管理

基础介绍

在这里插入图片描述
在这里插入图片描述

文件类型

  • Linux用 EXT4系统 用/根目录 再分为几个部分 进行文件管理(目录即文件夹)
    分有 bin,etc,mnt,dev,home,root,usr,boot,lib,proc这些子目录存放的内容由系统决定.

  • Windows 用 NTFS 用盘符C,D,E等存放,存放内容由用户自己决定.

基本类型linux目录组织结构:倒状树
在这里插入图片描述
linux上一切皆文件:
linux文件类型:其实是一种文件属性,不是通过后缀名来区分的.
五种文件类型:

  • 普通文件: - 剩下的都是普通文件
  • 目录文件: d 文件夹
  • 链接文件: l 类似windows上的快捷方式
  • 管道文件: p 进程间通讯的时候的方式
  • 设备文件: 不太常用(所有的外部设备在机器上呈现的)
    分为–
    ===>>字符设备 c
    ===>>字符设备 b (磁盘)
    ===>>套接字 s (用于网络 全程socket)

权限

用户权限

linux是多用户的操作系统,可以运行多个用户同时登录工作,多用户工作时互不影响.

linux对于用户权限管理很严苛.linux上的文件针对不同的用户提供不同的权限.
权限是在文件上设置的,是文件的一种属性.(比如这个用户能操作这个文件,另一个却不能)

  • 一个文件对操作他的用户进行了分类:
    所有者 组用户 其他用户
    (怎么分的:用户本身就是按组分的)

  • eg:
    组一:stu1 stu3 stu5
    组二:stu4 stu6
    组一:stu1 stu6 atu7
    stu6创建一个文件,
    所有者:stu6,
    组用户:组三(这里看主组)
    其他用户:(只要不是组三里的成员以及stu6)stu 3,5,4

文件权限

在这里插入图片描述

文件权限;
rwx rwx rwx
代表 user group other
r: 读权限
w:写权限
x:可执行权限 -->普通文件(有可执行权限的不一定能执行,能执行的肯定有可执行权限)
可进入权限–>目录文件

在这里插入图片描述

所有用户都在家目录下面.在家目录下面也分了小组,如果有A,B,C三个组,A组里的成员在A里可以为所欲为,但是不要进入其他组里去.
用户分为:
超级管理员:root
普通用户:剩下的所有用户

子目录作用

  • 子目录作用:

  • bin: 系统命令对应的可执行文件.

  • pwd:显示当前位置的绝对路径.

  • ls:显示当前位置下的文件

  • etc:系统的配置目录

  • mnt:临时挂载点

  • dev:设备目录设备文件(接口)—把要访问的先弄到接口再给临时挂载点.

  • home:普通用户的家目录

  • root:root用户的家目录

  • usr:第三方插件的资源

  • boot:系统启动时需要的核心文件

  • lib:存放库(例如线程库)

  • proc:内存的映射,虚拟目录(如果系统关机了,这个里面的内容就没了,系统关机以后内存里的东西就没了,所以这里也就没了.)统计一些进程的统计信息.

基本操作

控制台目录及路径

  • 右键打开 open in terminal 打开控制台
  • cd / 切换到根目录
  • pwd 显示当前路径.但是绝对不会给你显示内容.
  • cd bin 从根目录/到bin里面去 这是相对路径.(从当前开始)
  • cd /dev 从bin到dev去 这是绝对路径.(从根目录开始)
  • ls -l:可以显示当前目录下的文件的属性信息
  • ls -a:显示所有的文件 (包括隐藏文件:文件名以"."开头的文件)
  • cd … 上一级目录
  • cd . 当前目录
  • cd ~ :用户的家目录 -》直接切换到当前用户的家目录
  • cd - :切换到上一次所在的位置,在两个路径之间快速切换
  • man ls 帮助 退出写q

文件操作

文件名:数字字母下划线,一般文件名之间不要出现空格,Linux大小写敏感

  • 文件操作------普通文件---------------目录文件
  • 创建-------touch file_name.*------mkdir dir_name
  • 删除---------rm file_name.* -------- rmdir dir_name 仅能删除空目录
  • rm -r dir_name 删除非空目录 -r是递归的手法

eg:touch cc.c 创建文件cc.c mkdir cc 创建文件夹

文件拷贝 :

  • 针对普通文件
    cp path1/file_name.* path2 将路径1下面的文件拷贝到路径2
    cp path1/file_name.* path2/file_name2.* 将路径1下面的文件拷贝到路径2下并重命名
  • 针对目录文件(文件夹)
    不但要拷贝目录本身,要把目录里的文件都得拷过去,所以使用递归
    cp -r path1/dir_name path2

剪切/重命名

mv path1/file_name.* path2 剪切
mv path1/file_name.* path1/file_name2.* 重命名
mv path1/file_name.* path2/file_name2.* 剪切并重命名

修改文件属性

文件类型 文件权限 链接数 所有者 组用户 文件大小 最后修改时间 文件名

  • 可修改的:文件名 组用户 所有者 文件权限
    修改所有者: chown newuser file_name.*
    修改组用户: chgrp group file_name.*
    以上两个只有root用户能够执行命令

  • 修改权限: chmod
    u:所有者
    g:组用户
    o:普通用户
    a:所有的用户

  • 1.字符方式:

  • chmod u/g/o/a +/-/= rwx(子集) 为某个用户加上或者减去一个权限
    eg: chmod g+w passwd 给passwd的组用户加上写权限
    chmod u+w,g+w passwd 给passwd的所有者以及组用户加上写权限
    chmod u=x passwd 给passwd的所有者的权限直接改成x

  • 2.数字方式:

  • r w x 0—7 n的范围
    0 0 0 说明这三个权限都没有
    1 0 0 -->4
    0 1 0 -->2
    0 0 1 -->1
    chmod nnn file_name.*
    eg:
    6 可读可写
    666 分别指定 所有者,组用户,普通用户

文件编辑:
对目录文件–编辑文件本身 创建/修改/删除
文本文件 --> .c .cpp .h .java .py .sh

查看文件内容:文本文件
文件压缩
文件查找

猜你喜欢

转载自blog.csdn.net/sunshine612/article/details/86489240