Linux-04-file

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

25
Linux操作系统
符号链接
符号链接,与原文件不是同一个文件,但是符号链 接中文件的数据部分存放的是一个指向目标文件的 指针,可以通过一个符号链接来访问原文件。 建立符号链接的格式:ln -s 原文件名 符号链接名 用ls –l查看时,一个符号链接文件的第一个属性字 母为l,代表符号链接。 为一个文件增加一个符号链接,并不会增大原文件 的link counter,反之,删除符号链接也不会减少原 文件的link couter。如果原文件被删除,那么符号链 接仍然存在,但成为了一个无效的链接。
命令参数
-type -size -mtime -perm -user -o -newer
根据文件的类型 根据文件的大小 根据访问或修改的时间 根据文件的权限 根据文件的所有者 逻辑或运算 与参照文件比较查找
20
Linux操作系统
例如:
在硬盘中查找名字为README的文件: $ find / -name README -print
- rw-r-- r-- 1 tux drwxr-xr-x 2 tux system system 1081 Jun 13 11:32 file 512 Jun 13 11:32 dir
文件类型和权限 文件所属的用户
文件所属的组
文件大小(byte) 文件最后修改的时间
13
Linux操作系统
使用和管理文件
27
Linux操作系统
文件的权限
$ ls -l - rw-r-- r-- 1 limhai system drwxr-xr-x 2 limhai system
1081 Jun 13 11:32 file 512 Jun 13 11:32 man
文件和目录权限:
第一个rwx是文件或目录所属的用户的权限 第二个rwx是文件或目录所属的组的权限 第三个rwx是其他用户的权限
28
Linux操作系统
对普通文件而言,"r"代表可以阅读文件内容,"w"代 表可以修改或删除文件内容,"x"代表可以将文件作 为命令来执行(同时需要r权限)。 对目录文件而言,“r”代表可以列出目录所包括的文 件,“w”可以在目录内创建或删除文件(同时需要x 权限),“x”表明目录可以做为当前目录。 注意:能否删除文件跟文件所在的目录的w权限有关, 跟文件本身的权限无关
目录内容只有文件名和i-node编号
i-node表提供指针指向文件的数据块
23
Linux操作系统
硬链接
在Linux中,可以多个目录项对应同一个inode, 也就是一个文件可能有多个文件名。 一个文件的多个名字叫做文件的硬链接,简称 链接。 用ln命令可以创建硬链接,格式:
ln 原文件名 新链接名
6
Linux操作系统
查看当前目录 pwd (print working directory)
查看当前目录: $ pwd /home/tux 每个用户登录后,都有一个当前目录。所有的相对 目录,都是以这个目录为基准。
7
Linux操作系统
切换目录路径 cd (change directory)
22
Linux操作系统
目录和inode
文件名 i-node 4
目录内容 dir
file
数据块
10
i-node表
# 4 10 类型 目录 文件 模式 755 644 连接 2 1 用户 tux tux 组 system system 时间 Mar 28 06:45 Apr 26 20:59 大小 512 1081 loc
17
Linux操作系统
显示文件内容
常用命令:cat, more, less, head, tail, od, strings 命令:cat (concatenate)
作用:显示一个文件的内容
命令:more, less
作用:分屏显示一个文件的内容
命令:head,tail
作用:显示一个文件的前若干行或后若干行
$ cd /home/limhai $ mkdir -p newdir/dir2/dir3
10
Linux操作系统
删除目录 rmdir (remove directory)
删除/home/limhai/newdir 目录的方法:
$ rmdir /home/limhai/newdir $ cd /home/limhai
查找当前目录下所有以b开头的文件,并删除:
$ find . -name „b*‟ -exec rm {} \; 查找/tmp下所有属主为tux权限为777的文件,删除前询问:
$ find /tmp -user tux -perm 777 -ok rm {} \;
21
Linux操作系统
链接文件与inode
29
Linux操作系统
修改权限
设置文件权限用chmod 命令 修改权限有两种方式:
权限的字符表示
权限的八进制表示
chmod 命令用来修改文件和目录的访问权限,命令 语法:
常用选项:
-p:保持文件原来的属性 -R:如果被复制的对象有目录,加上-R就可以将该目录下的子目录 及子目录下的文件均复制到指定目录中。
15
Linux操作系统
移动文件 mv (move)
mv 命令用来修改文件名,命令语法:
$ mv 原文件名 目标文件名 例:$ mv myfile1 myfile2
普通文件 目录 特殊文件
3
Linux操作系统
普通文件即我们平时说的狭义的“文件”,往往是 一组特定数据的集合,像一张图片,一首MP3,一 部电影或一个文档等。 目录就是Windows中的“文件夹”,作用是存放其 他目录或文件,Linux将所有的文件都存放在各个目 录下,组成一棵目录树。 在Linux中,所有的设备都有文件与之对应,这些文 件就属于特殊文件。 以上三类在Linux中均称为文件,即广义上的“文 件”。
在Linux中对文件的操作主要有:创建、复制、移动 和删除一个文件或为一个文件改名,查看文本文件 的内容以及打印一个文件等。 创建空文件或修改文件的最新修改时间:touch
创建一个新文件:$ touch newfile 将文件file的最后修改时间设置为当前时间:$ touch file
14
26
Linux操作系统
硬链接 vs 符号链接
有二种情况下不可以建立硬链接的。 一是不能为目录建立硬链接,这是因为硬链接增加 了文件系统的复杂性,如果目录也支持硬链接,就 有可能建立出环状的目录结构。 二是不能为一个文件在不同卷,即不同的文件系统 上建立硬链接。 所有的情况都可以使用符号链接。
$ cd ..
$ pwd
/home
9
Linux操作系统
创建目录 mkdir (make directory)
• 创建/home/tux/newdir 目录的方法:
mkdir /home/tux/newdir 或
$ cd /home/tux
$ mkdir newdir -p选项,创建多层子目录
创建/home/limhai/newdir/dir2/dir3目录
• 从相对路径切换到/home/tux/doc目录
$ pwd /home/tux
$ cd doc
• 从绝对路径直接切换到/home/tux/doc目录
$ cd /home/tux/doc
8
Linux操作系统
• 用cd 命令直接切换到用户主目录
$ cd $ pwd
/home/tux
• 切换到上层目录
24
Linux操作系统
在文件的inode中,有一个记录文件链接个数的数字, 叫做link couter,一个文件有几个硬链接,这个link couter就是几。 如果使用rm命令删除文件的话,删除的其实是文件 的一个链接。如果一个文件的链接数大于1的话,系 统仅仅是删除相应的目录项,并将inode中的link counter减1,并不真正删除文件,只有当这个文件 的所有链接都被删除,即link couter变为0时,文件 才会被真正的不可恢复的删除。
命令:od,strings
作用:显示二进制文件的内容
18
Linux操作系统
查找文件 find
格式:
find path expression
功能:
find命令会按照搜索条件递归搜索给定路径的所有子目录树。 找到该文件后,可以对该文件执行一定的操作 (比如:显 示内容,删除等)
19
Linux操作系统
显示目录内容 ls (list)
列出目录下的文件。
-a 选项,列出目录下的所有文件,包括以“.”开头的隐藏文 件。
-R 选项,列出目录和其子目录下的文件。
-l 选项,详细列出目录下文件的详细信息。 -d 选项,列出某个目录文件的信息。
12
Linux操作系统
用ls -l命令查看文件的详细信息
每个文件都由三部分组成,即文件名、文件属性和 数据。 一个文件都有一个叫做inode的数据结构,其中存放 了文件的各种属性,如文件的主人,所在组,权限, 大小,最后访问时间等,另外还有指针指向数据块。 文件与inode是一一对应关系,每个inode有一个编 号,可以称做i-number。 inode中并不包含文件的名字。文件的名字存放在文 件所在的目录中。
5
Linux操作系统
使用和管理目录
Linux的目录结构是树状层次结构。其中有且仅有一 个根目录,标为“/”。根目录下包含其他的目录或 文件,而各目录中也可以包含子目录或文件。 如果一个目录以“/”起始,表示这个目录是从根目 录开始一级一级的表示,这样的表示方式叫做绝对 路径,如果一个目录不以“/”起始,表示这个目录 是从当前目录开始表示。
Linux操作系统
复制文件 cp (copy)
cp 命令用来复制文件,命令语法:
$ cp 原文件名 目标文件名 例:将/dir1/a复制到/dir2目录下,命名为b: $ cp /dir1/a /dir2/b
cp 命令复制多个文件到目录,命令语法:
$ cp 文件名1 文件名2 …… 目标目录名(最后的项目必须是目录) 例如:将a b 二个文件复制到newdir目录下 $ cp a b newdir/
Linux操作系统
四、文件与目录
百度文库
主要内容
Linux中文件的概念 使用和管理目录 使用和管理文件 链接文件与inode 文件的权限 Linux的目录结构 文件系统
2
Linux操作系统
Linux中文件的概念
在Linux中,一个文件是一组数据的集合,可以被理 解为一个字符流或字节流, Linux并不为文件设计内 部结构,而把文件都理解为无结构的数据集合。 在Linux中,“文件”这个概念包含了三类概念,即
4
Linux操作系统
Linux文件名
以大写字母、小写字母、数字和一些特殊符号组成。 不可以包含 * ? < > ( ) [ ] { } / \ | ' " ` & ; ! 等符号。 + - 可以出现在文件名中,但是不能作为文件名中的 第一个字母。 文件名中一般不应该包含空格。 更重要的是,Linux的文件名是大小写敏感的。 文件名没有扩展名的概念。 文件没有“隐藏”属性,文件名的第一个字母是“.” 的文件就是隐藏文件。
mv 命令移动文件,命令语法:
$ mv 文件名1 文件名2 …… 目标目录名 (mv命令可以移动多个文件,但必须最后的项目是目录)
例:mv myfile1 myfile2 newdir/
16
Linux操作系统
删除文件 rm (remove)
rm 命令用来删除文件和目录,命令语法:
$ rm 文件名1 文件名2 文件名3
$ rmdir newdir
rmdir命令删除的目录必须是空目录,若不是空目录, 必须先用rm 命令删除目录下所有文件。
$ rmdir -p /home/tux/newdir
-p 选项,将删除目录和子目录,即先删除newdir目 录,再删除tux目录,最后删除home目录
11
Linux操作系统
rm 命令删除后是不可恢复。
-i 选项,删除之前提示
-f 选项,强行删除,不作任何提示,包括删除有写保护文件
-r 选项,删除目录树,即目录和目录里的所有内容
例如:
删除当前目录下所有以file打头的文件,删除前先询问。
rm –i file*
删除目录doc,无论是否是空目录。 rm –rf doc/
相关文档
最新文档