linux获取目录和文件名 readlink获取规范文件名 file命令获取文件类型 umask命令 stat命令 终端打印echo、printf、tee
- 2015-06-23 20:56:00
- admin
- 原创 2255
一、linux获取目录和文件名
获取目录:
dirname /root/readme.txt,输出/root
dirname readme.txt,输出点
获取文件名:
basename /root/readme.txt,输出readme.txt
basename /root/readme.txt .txt,输出readme
二、readlink获取规范文件名
readlink -f filename,文件名最后部分不必存在,前面所有部分必须存在
readlink -e filename,文件名所有部分必须存在
readlink -m filename,文件名所有部分不必存在
附注:以上三种情况,只要文件名包含软链接,软链接就一定会被解释。
三、file命令获取文件类型
通过文件系统测试、魔幻数字测试、语言测试三种测试决定文件具体类型;
四、umask设置初始文件和目录权限,只对当前shell生效
文件创建初始权限:666 - umask值
目录创建初始权限:777 - umask值
输出掩码:umask,输出0022
符号形式输出掩码:umask -S,输出u=rwx,g=rx,o=rx
生成可以做为输入的输出:umask -p,输出umask 0022
设置掩码:umask mode
五、stat查看文件和文件系统信息
查看文件信息:
[root@ebs-19233 ~]# stat file
File: "file"
Size: 0 Blocks: 0 IO Block: 4096 普通空文件
Device: fc01h/64513d Inode: 393271 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2015-06-23 20:40:30.155890841 +0800
Modify: 2015-06-23 20:40:30.155890841 +0800
Change: 2015-06-23 20:40:30.155890841 +0800
查看文件系统信息:
[root@ebs-19233 ~]# stat -f file
File: "file"
ID: 26d857402beb50b Namelen: 255 Type: ext2/ext3
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 7740671 Free: 7163094 Available: 6769891
Inodes: Total: 1966080 Free: 1885993
六、终端打印echo、printf、tee
echo输出任意ascii码:
echo -ne "\x30\x31\x32\x33\n",n不换行,e支持转义字符,输出0123
printf格式化输出:
printf "%02X\n" 15,输出0F
printf "\x30\x31\x32\x33\n",输出0123
tee拷贝输出到文件:
ps -ef | tee one.txt two.txt,同时输出内容到标准输出、one.txt、two.txt