Linux文件与目录管理 目录存放着Linux的源代码( 四 )
5.2 文件隐藏属性命令:chattr、lsattr
5.2.1 chattr命令是设置文件隐藏属性的命令 。
语法格式如下:
chattr [+ - ][参数] [文件]
参数如下 。
+:增加某一个特殊参数 , 其他原本存在参数不动 。
-:移除某一个特殊参数 , 其他原本存在参数不动 。
a:当设置a后 , 这个文件将只能增加信息 , 不能修改、删除信息 , 只有root才能设定这个参数 。
i:当设置i后 , 该文件“不能被删除、改名、设置链接 , 也无法定稿或新增信息” , 可增加系统安全性 , 只有root能设置该属性 。
常见的属性是a和i , 且很多属性只有root才能设置 。
[rootlocalhost tmp]# touch attrtest<==创建attrtest文件
[rootlocalhost tmp]# chattr +i attrtest<==给attrtest文件赋上i的权限
[rootlocalhost tmp]# rm attrtest<==删除attrtest
rm:是否删除普通空文件 "attrtest"?Y<==是否删除 , 设置为Y(是)
rm: 无法删除"attrtest": 不允许的操作<==删除失败
[rootlocalhost tmp]# chattr -i attrtest<==给attrtest文件去掉上i的权限
[rootlocalhost tmp]# rm attrtest<==删除attrtest
rm:是否删除普通空文件 "attrtest"?Y<==是否删除 , 设置为Y(是)
[rootlocalhost tmp]#<==没有任何错误 , 表示删除成功
在上述例子中用touch attrtest命令创建了一个attrtest文件 , 并用chattr +i attrtest命令给attrtest文件赋上i的权限 , 然后用rm attrtest命令删除attrtest文件 。此时rm发出提示rm: cannot remove ‘attrtest’ : Operation not permitted不允许执行删除操作 , 只有通过chattr –i attrtest命令减去attrtest文件的i权限后才能删除attrtest文件 。
5.2.2 lsattr命令是显示文件隐藏属性的命令 。
语法格式如下:
lsattr [参数] [文件]
参数如下 。
-a:显示隐藏属性 。
-d:如果接的是目录 , 则仅显示目录本身的属性而不是目录内的文件名 。
-R:连同子目录的文件一起显示 。
[rootlocalhost ~]# cd /tmp<==切换目录到/tmp
[rootlocalhost tmp]# touch xuedao<==创建文件名为xuedao
[rootlocalhost tmp]# chattr +ai Sxuedao<==为xuedao文件设置属性
[rootlocalhost tmp]# lsattr xuedao<==显示xuedao文件隐藏的属性
--S-ia-------e- xuedao<==xuedao文件属性结果
[rootlocalhost tmp]#
5.2.3 文件类型:file
文件基本信息 , 属于哪类文件 , 如文件属于ASCII、data或者binary等 。显示文件的类型是ASCII的纯文字文件 。
[rootlocalhost ~]# file ~/.bashrc
/root/.bashrc: ASCII text
显示passwd的文件信息 , 例如文件的suid权限、兼容Intel x86-64的硬件平台、使用Linux核心2.6.18的动态方法库连接等 。
[rootlocalhost ~]# file /usr/bin/passwd
/usr/bin/passwd: setuid ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
六、查找命令和文件
6.1 查找指定命令所在路径的命令:which
which命令能够根据PATH这个环境变量所规范的路径 , 查询执行文件的文件名 。
语法格式如下:
which [参数] [命令]
参数如下 。
-a:将所有由PATH目录中可以找到的命令均列出 , 而不止第一个找到的命令名称 。
示例如下 。
6.1.1 查询ifconfig命令的完整文件名 。
[rootlocalhost ~]# which ifconfig
/sbin/ifconfig
6.1.2 用which命令搜索ls命令的文件路径 。
[rootlocalhost ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
6.1.3 查询history命令的完整文件名 。
[rootlocalhost ~]# which history
/usr/bin/which: no history in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
最后一个应用中查找history这个常用命令 , 是因为history是bash内建命令 , 而which默认查找PATH内规范的目录 。
6.2 查找文件的文件名命名:whereis、find
6.2.1 whereis命令 。
用于在一些特定的目录中查询指定命令路径 。
语法格式如下:
whereis[参数] [文件]
参数如下 。
-b:只查找binary格式的文件 。
-m:只查找在说明manual路径下的文件 。
示例如下 。
①查找ifconfig的文件名 。
[rootlocalhost ~]# whereis ifconfig
ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
②只查询在man里面的passwd文件 。
[rootlocalhost ~]# whereis -m passwd
推荐阅读
- 晋江春季茶王赛报名启动 参与可获神秘礼品
- 浅析泡茶之手法与心法
- 汽车启动时起动机与自动大灯同时工作,会对汽车有不好的影响吗?
- GPS导航和GPS定位仪与GPS定位器的区别在哪?
- 探析中国茶叶市场的未来与发展
- 恒峰科技,与茶农共生共荣 炒茶难中觅商机
- 半夏的功效与作用都有哪些
- 探索茶文化创意产业的发展与路径
- 品茶大讲堂,知名茶人与您起来品茗鉴茶
- 探析福鼎白茶制作技艺的历史现状与传承保护