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

Liunx基础--1

  • 基础介绍
  • 文件类型
  • 权限
    • 用户权限
    • 文件权限
  • 子目录作用
  • 基本操作
    • 控制台目录及路径
  • 文件操作
    • 文件拷贝 :
    • 剪切/重命名
    • 修改文件属性
    • 普通文件编辑
    • 查看文件内容
    • 文件查找
    • 文件压缩

基础介绍

Linux基础1-文件操作及权限管理_第1张图片
Linux基础1-文件操作及权限管理_第2张图片

文件类型

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

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

基本类型linux目录组织结构:倒状树
Linux基础1-文件操作及权限管理_第3张图片
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

文件权限

Linux基础1-文件操作及权限管理_第4张图片

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

Linux基础1-文件操作及权限管理_第5张图片

所有用户都在家目录下面.在家目录下面也分了小组,如果有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 分别指定 所有者,组用户,普通用户

普通文件编辑

普通文件编辑:
1.针对文本 例如 .c .cpp .h .java .py .sh
2.文件最终都是要在磁盘上存储的,但是计算机所用的都是数字信号,所以在计算机存的都是二进制文件的方式.
3.给word里编辑内容,这个时候并没有写到磁盘上,是写在内存里的,只有保存了才会写到磁盘上.

vi/vim
vi main.c 编辑main.c 这个文件(这个文件存在)或者新建这个文件(这个文件不存在)

  • 三种操作模式:
    命令模式—完成文本的批处理,删除拷贝等以及光标的快速切换
    插入模式(编辑模式)----插入内容
    末行模式----保存退出另存为,文本设置等

刚进入是命令模式

  • 1.命令模式---->到插入模式
    有四个插入指令在键盘操作:
    a --在光标之后插入内容
    i --在光标位置插入内容
    o—在光标下一行 插入内容
    O—在光标上一行 插入内容

  • 2.插入模式---->命令模式
    用左上角的esc键

  • 3.命令模式—>末行模式
    : ? /

  • 末行模式的操作:
    :q 退出编辑
    :w 保存文本
    :wq 保存并退出
    :w new_file 另存为
    :q! 强制退出(这里是不保存强制退出)
    搜索string
    ?string 向上搜索
    /string 向下搜索
    替换
    :1,$s/oldstring/newstring/g 全文替换

  • 命令模式下对光标快速移动的命令:
    1.shift +6 移动到行头
    2.shift +4 移动到行尾
    3.shift +g 移动到文本最后一行
    4.gg 移动到文本的第一行
    5.num + shift + g 移动到num行
    6.ctrl + f ctrl +b 翻页

  • 命令模式下对文本的批处理:
    1.dd 删除一行
    2.n +dd 删除n行(光标所在的往下的n行被删除掉)
    3.yy 拷贝
    4.n + yy 拷贝n行
    5.p 粘贴
    6.u 撤销
    7.d shift + g 删除光标到文件尾的内容
    8.d gg 删除光标到文件头的内容
    9.d num shift + g 删除光标某一行的内容
    10.shift+c 删除光标到行尾的内容,并且进入编辑模式
    11.r+ new_char 光标定位在这个字符上 按r再加自己想替换的字母
    12.cc 删除光标所在的行,并且进入编辑模式
    13.cw 删除一个单词并且进入编辑模式 (用符号或者空格来区分这个单词)
    14.shift+r 进入替换模式

查看文件内容

  • cat file_name 将文件所有内容打印到终端界面上
    more file_name 在终端界面上分屏显示文件内容
    less file_name 打开文件查看器,内容并不会在终端上打印
    head -n file_name 查看文件前n行内容
    tail -n file_name 查看文件尾前n行内容

文件查找

  • find 加上
    -size
    -user
    -group
    -time
    -perm 权限

文件压缩

  • tar 打包/解包
    打包 tar cf mytar.tar filelist(文件列表)
    解包 tar xf mytar.tar

  • gzip 压缩/解压
    压缩 gzip mytar.tar —>mytar.tar gz
    解压 gzip -d mytar.tar gz

  • 一步完成压缩:
    tar zcf mytar.taz filelist
    一步解压:
    tar zxf mytar.taz

tar选项部分:
c 创建包文件
f 指定目标为文件而不是设备
x 从包中释放内容
t 仅仅显示包中的内容而不释放
v 显示过程
z GNU版本之后加入的选项,直接完成压缩功能,或者直接解压压缩包.

Linux基础1-文件操作及权限管理_第6张图片Linux基础1-文件操作及权限管理_第7张图片

你可能感兴趣的:(Linux)