首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

Shell脚本学习笔记(十)--文件操作

作者:  时间: 2011-03-23

文件操作

取得目录内容

ls

getconf ARG_MAX 

判断文件是否存在

判断文件是否存在

建立文件

建立一般文件:

建立文件

1 使用转向输出:> text.txt

2 配合空命令: :> test.xtx   可以增加script移植性,有时候使用“>文件”会造成语法错误

3 建立隐藏文件: :> .test.txt

4 使用touch命令: touch test.txt

5 建立文件时指定初始化的内容: echo 'hello' > test.txt

6 利用ln命令,建立另一个文件的复本:ln test1.txt test2.txt

删除文件

1 rm.test.txt

2 rm -i test.txt  会询问是否删除

3 rm -f test.txt  不询问是否删除,直接删除

建立目录:

mkdir test

mkdir -m 711 test    -m指定目录权限值0711

mkdir -m 700 .test   隐藏目录

mkdir -p t1/t2/t3  多级目录。可以和-m一起使用

删除目录:

rmdir test

rmdir -p t1/t2/t3  多层空目录

rm -Rf test  非空目录

建立区块设备文件

建立字符设备文件

建立FIFO文件

建立Socket文件

建立符号链接文件

取得文件属性

linux中每个文件有13个属性:设备编号,inode编号,文件模式,连接文件数量,文件拥有者编号,文件隶属群组编号,设备标识符,文件大小,取用文件的时间atime,修改文件内容的时间mtime,改变文件模式的时间ctime,区块大小,配置区块数

stat -f /dev/sda1

stat 文件

适用于文件的格式代码

适用于文件系统(即分区)的格式代码

chattr  lsattr 命令用法:

chattr +属性代码 文件

chattr =属性代码 文件

chattr -属性代码 文件

lsattr 文件

可用的属性代码

chattr: 对设备不适当的 ioctl 操作 while reading flags on sleep.sh    对U盘文件操作时出了这样的问题,应该是文件系统设置的问题吧。

对比文件差异

diff 与 patch命令

搜寻文件内容

grep -q 关键词 文件  -q表示搜索时不产生任何信息

建立临时文件

mktemp命令

例子

大小写文件名互换

转换编码

总之,还是要熟悉这些shell命令的用法,多查手册多实践吧,一下记住似乎是不大可能的事。。