Loading

Linux 操作笔记--基础

1-1.文件类型

在 Linux 操作系统中,一共有 7 中文件类型,这 7 中类型是根据文件属性进行划分的,而不是根据文件后缀划分的。

  • -: 普通的文件,在 Linux 终端中没有执行权限的为白色,压缩包为红色,可执行程序为绿色字体
  • d: 目录 (directory), 在 Linux 终端中为蓝色字体,如果目录的所有权限都是开放的,有绿色的背景色
  • l: 软链接文件 (link), 相当于 windows 中的快捷方式,在 Linux 终端中为淡蓝色 (青色) 字体
  • c: 字符设备 (char), 在 Linux 终端中为黄色字体
  • b: 块设备 (block), 在 Linux 终端中为黄色字体
  • p: 管道文件 (pipe), 在 Linux 终端中为棕黄色字体
  • s: 本地套接字文件 (socket), 在 Linux 终端中为粉色字体

1-2.用户类型

在 Linux 中有三大类用户: 文件所有者 , 文件所属组用户 , 其他人 , 我们可以对同一个文件给这三种人设置不同的操作权限,用于限制用户对文件的访问。

  • 文件所有者
    Linux 中的所有的文件都有一个所有者,就是文件的主人
  • 文件所属组
    文件的主人属于哪个组,这个文件默认也就属于哪个组
    用户组中可以有多个用户,这些组中的其他用户和所有者的权限可以是不一样的
  • 其他人
    这个用户既不是文件所有者也不是文件所属组中的用户,就称之为其他人
    其他人对文件也可以拥有某些权限

1-3.文件权限

Linux 中不同的用户可以对文件拥有不同的操作权限,权限一共有四种: 读权限 , 写权限 , 执行权限 , 无权限。

  • 读权限:使用 r 表示,即: read
  • 写权限:使用 w 表示,即: write
  • 执行权限:使用 x 表示,即: excute
  • 没有任何权限:使用 - 表示

1-4.硬链接计数

硬链接计数是一个整数,如果这个数为 N (N>=1),就说明在一个或者多个目录下一共有 N 个文件,但是这 N 个文件并不占用多块磁盘空间,他们使用的是同一块,如果通过其中一个文件修改了磁盘数据,那么其他文件中的内容也就变了。每当我们给给磁盘文件创建一个硬链接(使用 ln),磁盘上就会出现一个新的文件名,硬链接计数加 1,但是这新文件并不占用任何的磁盘空间,文件名还是映射到原来的磁盘地址上。

1-5.其他属性

  • 文件大小 —> 单位是字节
  • 如果文件是目录显示为 4096, 这是目录自身大小,不包括目录中的文件大小
  • 文件日期:显示的是文件的修改日期,只要文件被更新,日期也会随之变化
  • 文件名:文件自己的名字(没啥可解释的)
    -- 如果文件类型是软连接会这样显示: link -> /root/file/test, 后边的路径表示快捷方式链接的是哪个磁盘文件

2-1.cd命令-路径切换

cd $dir_name

  • 目录名:使用相对路径 / 绝对路径都可以,该路径必须是一个有效路径

  • 特殊的目录:
    ..: 表示当前目录的上一级目录,使用 cd .. 或者 cd ../ 都可以
    . : 表示当前目录,使用 . 或者./ 都可以,cd . 不会切换目录

  • 进入家目录:
    cdcd ~cd /home/$user_name

  • 在临近的两个目录之间切换:
    cd -

2-2.ls命令--文件列表

  • ls [args] - 查看当前目录
  • ls [args] $dir_name - 查看指定目录
  • ls [args] $file_name - 查看指定文件信息
  • args 参数说明
    -a - all的意思,显示所有文件(包含隐藏文件)
    -l - list的意思,显示详细信息列表,包括:文件类型、文件所有者权限、文件所属组权限、其他人权限、硬链接计数、文件所有者、文件所属组、文件大小、文件修改时间、文件名
    例如:d rwx rwx r-x 5 user1 users 4096 Jan 15 18:00 pictures
    -h - human的意思,即命令说人话,文件大小以换算好的单位显示,更加直观
    -F - 显示目录后缀,即在目录名后面显示一个/,以示区分文件与目录表现形式

3-1. 创建

  • 创建单层目录:mkdir $new_dir_name
  • 创建多层目录:mkdir -p /home/user1/a_dir/b_dir

3-2.删除

rm [args] $[file_name or dir_name]
参数:

  • -i - 删除时进行信息提示
  • -r - recursion,递归删除,用于删除非空文件夹
  • -f - force,强制删除,无提示,直接删除且无法恢复,慎用

3-3.复制

  • 复制文件
    cp $src_file_path $dest_file_path - 目标路径文件存在则覆盖
  • 复制目录
    • cp -r $src_dir $dest_dir
      • -r,代表递归拷贝,
      • 目标路径目录不存在,则src_dir拷贝过去,命名为dest_dir目录
      • 目标路径目录存在,则拷贝到目标目录之下
    • cp A/a.txt B - 复制A目录的a.txt文件到B目录
    • cp -r A/* B - 复制A目录下的所有文件到B目录

3-4.移动

  • 文件移动
    mv a.txt B - 文件a.txt移动到目录B中
    mv A B - 目录A移动到目录B中,B必须是目录且必须存在
  • 文件改名
    mv a.txt b.txt - 同级目录中,a.txt改名为b.txt
    mv a_path b_path - a_path和b_path都存在,则覆盖b_path文件,a_path删除,剩下b_path文件

3-5.查看内容

  • cat - cat $file_name

  • more - more $file_name

    • more比cat要高级一点,可以翻屏方式查看文件
    • 快捷键有:
      • 回车 - 显示下一行
      • 空格 - 向下滚动一屏
      • b - 向上滚动一屏
      • q - 退出more
  • less - less $file_name

    • 快捷键有:
      • b - 向上翻页
      • 空格 - 向后翻页
      • 回车 - 显示下一行
      • 上下键 - 上下滚动
      • q - 退出
  • head - head $file_name

    • head默认显示文件的前10行内容
    • head -20 $file_name - 指定显示文件头部的前20行内容
  • tail - tail $file_name

    • 默认显示文件的后10行内容
    • tail -30 $file_name - 指定显示文件末尾的最后30行内容

4-1.链接

链接分两种类型:软链接和硬链接

linux文件系统之-inode,它是文件和目录的唯一标识,每个文件和目录必有inode/i节点,linux操作系统区分文件或目录只通过节点来区分
inode -> 可比喻成内存地址,而文件名 -> 可看作该内存地址的引用
1个inode可以对应多个文件名

软链接:ln -s 源文件 目标文件
硬链接:ln 源文件 目标文件

  • 软链接可以理解成快捷方式,它和windows下的快捷方式的作用是一样的
  • 硬链接等于cp -p 加同步更新,且源文件硬链接计数+1
  • 软链接文件的大小和创建时间和源文件不同
  • 硬链接文件的大小和创建时间和源文件一样
  • 删除源文件,软链接失去指向的文件会找不到源文件,如果后期相同路径下再创建同名文件,软链接会指向此文件
  • 删除源文件,硬链接文件毫无影响,等同于删除了一个引用或映射关系
  • 修改源文件,硬链接文件内容也会跟着同步改变,同理修改硬链接文件,源文件内容也会同步改变
  • 在创建软链接的时候, 命令中的 源文件路径建议使用绝对路径,这样才能保证创建出的软链接文件在任意目录中移动都可以访问到链接的那个源文件
  • 硬链接和软链接不同,它是通话文件名直接找对应的硬盘地址,而不是基于路径,因此 源文件使用相对路径即可,无需为其制定绝对路径
  • 目录是不允许创建硬链接的

4-2.文件权限

文件权限是针对文件所有者 , 文件所属组用户 , 其他人这三类人而言的,对应的操作指令是 chmod。设置方式也有两种,分别为文字设定法和数字设定法。
文字设定法是通过一些关键字 r, w, x, - 来描述用户对文件的操作权限。
数字设定法是通过一些数字 0, 1, 2, 4, 5, 6, 7 来描述用户对文件的操作权限。

  • 文字设定法
    语法格式:chmod who [+|-|=]mod 文件名

    • who:
      • -u - user,文件所有者
      • -g - group,文件所属用户组
      • -o - other,其他
      • -a - all,以上三类人,u+g+o
    • +|-|=:
      • + - 添加权限
      • - - 去除权限
      • = - 覆盖权限
    • mod:
      • 权限类型
      • r - read,读
      • w - write,写
      • x - execute,执行
      • - - 没有权限
  • 文字设定法示例:
    chmod u=rx b.txt
    chmod o+wx b.txt
    chmod g-rx b.txt
    chmod a=rwx b.txt

  • 数字设定法
    语法格式:chmod mod 文件名

    • mod:
      • 权限描述, 所有权限都放开是 7
      • 4 - read,读
      • 2 - write,写
      • 1 - execute,执行
      • 0 - 没有权限
    • 分解说明:
      chmod 567 a.txt
      5->6->7依次代表文件所有者权限数字表示、文件所属组用户权限数字表示、其他人权限数字表示
      5 = 4 + 1,代表可读可执行
      6 = 4 + 2,代表可读可写
      7 = 4 + 2 + 1,代表可读可写可执行
  • 文字设定法示例:
    chmod u=rx b.txt
    chmod o+wx b.txt
    chmod g-rx b.txt
    chmod a=rwx b.txt

posted @ 2022-07-26 00:14  MrSu  阅读(109)  评论(0编辑  收藏  举报