linux文件及目录常用管理命令 目录存放着Linux的源代码( 四 )


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
passwd: /usr/share/man/man1/passwd.1.gz
whereis命令主要是针对/bin/sbin目录下的执行文件,以及/usr/share/man目录下的man文件,或者对几个特定的目录进行查找,因此速度较快 。可以使用whrereis –lwhereis查找的目录 。
[rootlocalhost ~]# whereis -l
whereis [ -sbmu ] [ -SBM dir ... -f ] name...
[rootlocalhost ~]#
6.2.2 find命令 。
Linux下find命令的作用是在目录结构中搜索文件,并执行指定的操作 。Linux下的find命令提供了相当多的查找条件,功能非常强大,所以find的选项也非常多 。本节将介绍find的选项功能和find的简单使用方法 。
语法格式如下:
find [查询路径][选项] [参数] [查询内容]
选项如下 。
-name:按照文件名称查找文件 。
示例如下 。
根据关键字查找 。例如,通过find命令搜索指定目录下的mysql文件文字 。
[rootlocalhost ~]# find / -name mysql
/usr/share/mysql
/usr/lib64/mysql
[rootlocalhost ~]#