Shell脚本学习笔记(十)--文件操作
文件操作
取得目录内容
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命令的用法,多查手册多实践吧,一下记住似乎是不大可能的事。。