linux获取目录和文件名 readlink获取规范文件名 file命令获取文件类型 umask命令 stat命令 终端打印echo、printf、tee

2015-06-23 20:56:00
admin
原创 2255
摘要:linux获取目录和文件名 readlink获取规范文件名 file命令获取文件类型 umask命令 stat命令 终端打印echo、printf、tee

一、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

发表评论
评论通过审核之后才会显示。