5.1Linux文件
- 文件
广义:一切皆文件 狭义:磁盘文件
Linux中文件是一个字符流序列:
1)普通文件(文本文件、可执行文件)
2)目录
3)磁盘、键盘、打印机、网卡等设备
2.文件的成分
1)索引节点(i结点):
文件的信息:文件权限、文件主、文件大小、存放位置、建立日期等。
文件使用的一个标识符,同一个文件有相同的inode号。
2)数据:文件的实际内容。
Eg:
查看文件的i节结号:ls -i
3.文件名
1)文件名最长可多达255个字符,除斜线/和空字符以外,文件名可以包含任意 的ACSII字符
2)避免使用特殊字符:;、|、>、<、 ” 、`、$、!、%、&、 *、?、\、 (、)、[、]、空格、制表符或者其他的控制字符。
3)习惯上允许使用“_”“.”来区别文件的类型;同类文件应使用同样的后缀 或扩展名。
4)文件名区分大小写。
5)以圆点“.”开头的文件名是隐含文件,必须使用ls –a 才能在屏幕上显示。
4.创建文件?查看文件?编辑文件?
1)vi filename (vi编辑器的基本用法)
2)cat > filename (输入输出重定向)
3)touch 命令
【功能】更新一个文件的访问和修改时间,如果没有对应文件则新建该文件。
【格式】touch 文件或者目录路径
【实例】touch f1.sh
5.查看文件的属性
1)ls –l f1.sh // 查看文件的属性,参照“第三讲如何敲shell命令”中的内容
//-l选项:以长格式来显示文件的详细信息。
6.rm 命令
【功能】删除文件与目录。
【格式】rm [选项] 文件名
【选项】-f 文件名 不提示直接删除,强制删除
-r 目录名 递归删除目录文件
【实例】rm f1.sh
5.2Linux系统的目录结构
1.Linux的目录
1)文件目录:用于标识系统中的文件及物理地址,提供给检索文件使用。
2)文件目录项 包含:文件名、i结点号。
2.Linux的目录结构
3.文件系统层次结构标准(FHS)
1)/ : linux 系统目录树的起点。
2)bin :命令文件目录,也称二进制目录。
3)boot:存放系统的内核文件和引导装载程序文件。
4)dev:设备文件目录,存放所有的设备文件,例如cdrom为光盘设备。
5)etc:存放系统配置文件,如password文件。
6)home:包含系统中各个用户的主目录,子目录名即为各用户名。
7)lib :存放各种编程语言库。
8)media:系统设置的自动挂载点,如u盘的自动挂载点。
9)opt:表示可选择的意思,有些软件包会被安装在这里。
10)usr:最大的目录之一,很多系统中,该目录是作为独立的分区挂载的,该目 录中主要存放不经常变化的数据,以及系统下安装的应用程序目录。
11)mnt:主要用来临时挂载文件系统,为某些设备默认提供挂载点。
12)proc:虚拟文件系统,该目录中的文件是内存中的映像。
13)sbin:保存系统管理员或者root用户的命令文件。
14)var:通常保存经常变化的内容,如系统日志、邮件文件等。
15)root:系统管理员主目录。
5.3文件路径
1.文件路径:文件在文件系统中的位置
1)当前工作目录
2)绝对路径:从/目录开始直到目标文件或者目录的路径
【例】f1.sh的文件路径可以写成:/home/user/f1.sh
3)相对路径:相对路径是指从当前所在 的目录出发,直到目标文件或者目录 的路径。
2.文件在文件系统中的位置
表示目录的特殊符号:
1)~ 表示用户的主目录
2). 表示当前目录
3)… 表示上一级目录。 Linux根文件系统的树形结构示意图
【例】假设当前所在的工作目录/home之下,
相对路径的写法就是:user/f1.sh
错误/写法:user/f1.sh ×
5.4文件类型
1.一切皆文件
1)普通文件(-)
常规文件,包含各种长度的字符串。
内核对这些数据没有进行结构化,只是有序的字节序列
文本文件 :信件、脚本等
数据文件:电子表格、数据库等
可执行的二进制文件:linux系统所提供的各种命令
2)目录文件(d)
目录也称为文件夹,是一类特殊的文件;
每个目录的第一项:表示目录本身,并以.为文件名。
每个目录的第二项:表示该目录的父目录,用…表示。
3)设备文件(c、b)
设备文件除了存放在文件节点中的信息外,它们不包含任何数据。
设备文件通常在/dev 目录下:
、字符(character)设备:键盘、终端、打印机和鼠标。
、块(block)设备:硬盘、光盘等。
4)链接文件(I)
Linux具有为一个文件起多个名字的功能,称为链接。
5)套接字文件(s)
6)管道文件§
2.file命令
【功能】确定指定文件类型
【格式】file 文件名 [文件名…]
【实例】 file *
查找指定类型的文件
find 命令
【功能】根据指定路径和表达式查找所匹配的文件或者目录。
【格式】find [路径…] [表达式]
【实例1】find /dev -type [f d b c s p l ] [-ls] [|wc -l]
【实例2】find /dev -type d –ls //查/dev目录下的目录文件
【实例3】find /dev -type d –ls |wc –l //查/dev目录下的目录文件有多少个?
5.5目录的操作命令
1.mkdir命令
【功能】新建目录
【格式】mkdir [选项] [目录名] Linux操作系统 3 目录操作命令
【实例1】新建目录dir1
mkdir dir1
【实例2】同时创建2个目录
mkdir dir2 dir3
【实例3】递归生成目录dir4、dir5
即dir4是当前目录的子目录,而dir5又是dir4的子目录
mkdir –p dir4/dir5
【实例4】对生成的目录指定权限:744(111 100 100)
mkdir –m 744 dir6
2.cd命令
【功能】更改当前目录 (执行和读权限)
【格式】cd [目录路径] Linux操作系统 6 目录操作命令
【实例】
cd /etc //切换到/etc目录下,可以是绝对路径、相对路径
cd //移到自己的主目录,适合于任何用户及任意目录下直接回到 用户主目录下
cd ~ //移动到主目录下
cd … //上移一层目录
3.rmdir命令
【功能】删除空目录
【格式】rmdir [选项][目录路径] Linux操作系统 7 目录操作命令
【实例】 rmdir dir1 //删除空目录
rmdir dir4 //非空目录, dir4目录下还有目录(dir5)或者文件要用 “rm –r”
同时删除dir3 dir2
5.6文件的复制、移动
1.cp命令
【功能】复制文件或者目录
【格式】cp [选项] 源文件或者目录路径 目标文件或者目录路径
【实例1】将文件m1复制为f1(f1不存在)
mkdir dir1 //创建新目录
cd dir1 //切换目录到dir1
cat > m1 //创建m1 文件内容为m1
cp m1 f1
cat f1 // 查看f1的内容和m1一致
【实例2】将文件m1复制为f1(f1存在,内容为m1)
cat > m2 //创建m1 文件内容为m2
cp m2 f1 //
cat f1 //f1内容被m2内容覆盖
【实例3】将文件m3复制为f1,如果f1文件已经存在,则备份原来的f1文件。
cat > m3 //创建m3的内容为m3
cat f1 //查看f1的内容
cp –b m3 f1 //备份的文件名为f1~;查看文件内容的变化。
【实例4】将当前目录(dir1)下的所有文件(不包含目录)复制到test目录中
cd …
mkdir test //在user目录下创建目录test
cd dir1
cp ./ * /home/user/test //将当前目录下的所有文件(不包含目录)复制 到test目录中
【实例5】复制目录test的所有内容到dir1中
cp -a test dir1 //复制目录
2.mv命令
【功能】移动或重命名文件或者目录。
【格式】mv [选项] 源文件或者目录路径 目标文件或者目录路径
【实例1】将文件名从f1变成f2
touch f1
mv f1 f2
【实例2】将目录dir4 改名为dir5
mkdir dir4
mv dir4 dir5
【实例3】将以m开头命名的多个文件移到dir4目录中(剪切)
mv m* dir4
5.7文件的查找、检索与排序
- find命令
【功能】从指定路径开始向下搜索满足表达式的文件和目录。
【格式】find [路径] [表达式] [操作]
注:当前目录用.号表示
【实例1】
【实例2】
【实例3】
大于1M的文件
等于10k的文件
大于100k小于200k
【实例1】
在指定home目录中查找文件为user的文件
【实例2】
在指定home目录中查找文件的所属组为user的文件
【实例3】
按照权限查找
文件名为f1开头的文件
修改权限啊
-mtime(Modification time):文件内容(内容数据)修改时间
-ctime(Change time):文件属性(权限)修改时间
-atime(Access time):文件被读取时间
-mtime n:n为数字,意义为在n天之前的一天以内被更改过的文件。
-mtime +n:列出n天之前(不含n天本身)被更改过的文件
-mtime -n:列出n天之内(含有n天本身)被更改过的文件
查找3天之内修改过的文件
a:连接俩个条件都要满足
-o表示或
!表示非
2. grep命令
【功能】从指定文本文件或者标准输出中查找符合条件的字符串,默认显示其 所在行的内容。
【格式】grep [选项] 字符串 [文件…]
【实例1】在passwd文件中检索root字符串
grep root /etc/passwd
cat /etc/passwd | grep root
3. sort命令
【功能】对文件进行排序与合并
【格式】sort [选项][文件列表]
【实例1】
【例】把当前目录下的所有文件按文件由大到小进行排序
ls –l |sort –n –r –k 5
4.总结