Linux文件概述及简单操作

一、Linux文件简述

1、一切都是文件

在Linux中,一切都是文件是指:

  • 所有数据以及设备都是以文件形式存在的,包括数据、目录、进程、驱动、磁盘等……因此在Linux中对这些文件的操作,都可以用fopen()、fclose()、fwrite()、fread()进行处理,这样做屏蔽了硬件的区别,为用户提供了统一的接口。

之所以能够实现这样,是因为Linux用到了虚拟文件系统,这就是Linux一切都是文件的由来。


2、Linux文件分类

大多数人在刚接触Linux操作系统时,看到 1.txt 会认为该文件是一个文本文件,看到 1.pdf 会认为这是一个PDF文件,而看到 1.exe 会认为这是一个可执行文件。

这是Windows文件的分类规范,采用文件后缀的形式对文件进行分类,但是在Linux中并不是这样的Linux中文件没有后缀,所谓的后缀也只是文件名的一部分,不代表文件的属性(但是为了直观显示文件用途以方便使用,建议创建文件时加上必要的“后缀”)。

在Linux中,所有的文件分为以下几类:

  1. 普通文件(xxx.xxx)
    文件属性:-(file)
  2. 目录(/usr/ /home/)
    文件属性:d(dictionary)
  3. 字符设备文件(键盘等)
    文件属性:c(character device)
  4. 块设备文件(一号硬盘:/dev/hda1)
    文件属性:b(block device)
  5. 套接字文件(进程通信)
    文件属性:s(socket)
  6. 管道文件(……)
    文件属性:p(pipe)
  7. 符号链接文件(软链接文件)
    文件属性:l(symbolic link)

3、Linux文件属性

Linux中,文件属性由10个字符组成,如:-rw-rw-r--,使用ll 或 ls -l查看文件属性:
在这里插入图片描述
将这10个符号分为4组,除第一组是一个字符外,其余三组都是三个字符,且均由“rwx”组成,不存在该权限则用“-”代替。其中:

  1. r:读(读取、查看)
  2. w:写(管理、更改)
  3. x:执行

可执行文件示例:
在这里插入图片描述
分别介绍各组含义:

  1. 第一组:文件类型
    “-” 代表普通文件
  2. 第二组:文件所有者权限
    “rw-” 代表文件所有者对文件可读、可写、不可执行
  3. 第三组:同用户组权限
    “rw-” 代表同用户组用户对文件可读、可写、不可执行
  4. 第四组:其他用户权限
    “r–” 代表其他用户对文件只可读,不可写和执行

二、普通文件操作

介绍以下几条命令:

  1. 创建(touch)
  2. 修改(chgrp、chown、chmod)
  3. 编辑(vi、vim、gedit)
  4. 移动(mv——move)
  5. 复制(cp——copy)
  6. 删除(rm——remove)

逐一举例:

1、创建文件

touch fileName
在这里插入图片描述

2、修改文件

2.1、修改文件所有者

chown userName fileName
在这里插入图片描述

2.2、修改文件所在用户组

chgrp groupName fileName
在这里插入图片描述

2.3、修改文件权限

chmod permissionValue fileName

其中权限值是这样计算的:

  • 将三组权限都看做一组二进制数,一组rwx为一组二进制数,有该权限则为1,无该权限则为0,算出其对应的十进制数,将三组都算出来,即为权限值。

例如:-rw-rw-r--

  • 第一组权限 rw- 值就为 6
    第二组权限 rw- 值也为 6
    第二组权限 r-- 值为 4
    因此该文件的权限值为 664
  • 如果要将该文件的其他用户权限改为无任何权限,即读、写、执行都为0,那么其属性值就为 660。

演示:
在这里插入图片描述

3、编辑文件

vi/vim/gedit fileName

其中 vi 是终端编辑,vim 和 gedit是图形化界面编辑。
在这里插入图片描述

4、移动文件

mv fileName newName
在这里插入图片描述
重命名操作为可选,也可以用该功能进行文件的重命名。

5、复制文件

cp fileName newName

复制文件与移动文件类似。
在这里插入图片描述

6、删除文件

rm fileName
在这里插入图片描述
rm -f fileName 为强制删除。

三、目录文件操作

介绍以下几条命令:

  1. 切换目录(cd)
  2. 查看当前路径(pwd)
  3. 列出该目录下所有文件(ls)
  4. 以树形递归列出该目录下所有文件(tree)
  5. 创建目录(mkdir)
  6. 删除目录(rmdir)

注:目录中,. 代表当前目录,.. 代表父目录,~ 代表当前用户目录(home)

逐一举例:

1、切换目录

cd path
在这里插入图片描述
cd ..:退回上一目录
在这里插入图片描述
cd ~:切换至当前用户目录
在这里插入图片描述

2、查看当前路径

pwd
在这里插入图片描述

3、列出目录下所有文件

ls
在这里插入图片描述

4、树形递归列出目录下所有文件

tree path:path可选,默认为本目录
在这里插入图片描述

5、创建目录

mkdir dirName
在这里插入图片描述

6、删除目录

6.1、删除空目录

rmdir dirName
在这里插入图片描述
当使用该指令删除非空目录时提示目录非空:
在这里插入图片描述

6.2、删除非空目录

rm -rf dirName

其中 :
-r 表示向下递归删除
-f 表示强制删除,不做提示

可选择性地添加参数。
在这里插入图片描述

发布了88 篇原创文章 · 获赞 121 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43968080/article/details/103655824