Linux 目录^M编辑 和 chatt命令
1、写了一个Linux操作命令日志,出了点问题,生成了两个文件
查看详情,发现两个文件名字并不相同
删除第二个带换行的目录,开始使用复制粘贴,进不去文件夹,然后用数字键6上的^和英文大写M,也无法进入
发现此符号【^M】为非打印字符 “\r”,使用cat -v filename.txt,在终端中查找文件的非打印字符
解决方法:用CTRL+V+M,可以打出 history ^M ^M/
[root@var]# ll
drwxrwxrwx 4 root root 33 Aug 31 11:35 history
drwxr-xr-x 2 root root 6 Aug 31 10:49 'history'$'\r\r'
[root@iZbp15dzsx0qoknnftuyoeZ log]# lsattr history
history/ history^M^M/
2、删除的过程中,发现提示Operation not permitted,使用lsattr 目录,查看文件追加的属性
lsattr命令用于显示文件属性,发现该文件存在a属性,即:某个文件只能往里面追加数据,但不能删除,适用于各种日志文件
chmod: changing permissions of 'history'$'\r\r': Operation not permitted
[root@var]# lsattr log
-------------------- log/history
-----a-------------- log/history
chattr 命令用于改变文件属性
[root@var]# chattr -a history^M^M/
[root@var]# lsattr log
-------------------- log/history
-------------------- log/history
存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式
a:让文件或目录仅供附加用途。
b:不更新文件或目录的最后存取时间。
c:将文件或目录压缩后存放。
d:将文件或目录排除在倾倒操作之外。
i:不得任意更动文件或目录。
s:保密性删除文件或目录。
S:即时更新文件或目录。
u:预防意外删除。