linux命令之文件操作(三)

查看文件类型

file

如果你想要知道某个文件的基本类型,例如究竟文件时属于 ASCII 或者是 data 文件,或者是 binary 类型, 且其中有没有使用到 共享库(share library) 等等的信息,就可以利用 file 这个命令来查看。

例子:

[root@VM-0-14-centos ~]# 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

以上可以看出passwd这个命令是一个可执行文件,是一个64位的程序。

[root@VM-0-14-centos ~]# file /etc/passwd
/etc/passwd: ASCII text

这里可以看到这个passwd是一个ASCII文本文件,我们看看是否是这样:

[root@VM-0-14-centos ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
saslauth:x:499:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
foo:x:500:500::/home/foo:/bin/bash
jack:x:501:501::/home/jack:/bin/bash
rock:x:502:502::/home/rock:/bin/bash
sheep:x:503:505::/home/sheep:/bin/bash
[root@VM-0-14-centos ~]# 

再来看看这个文件:

[root@VM-0-14-centos profile.d]# file colorls.sh
colorls.sh: ASCII English text

同样,sh结尾的也是一个ASCII文件

[root@VM-0-14-centos profile.d]# cat colorls.sh 
# color-ls initialization

#when USER_LS_COLORS defined do not override user LS_COLORS, but use them.
if [ -z "$USER_LS_COLORS" ]; then

  alias ll='ls -l' 2>/dev/null
  alias l.='ls -d .*' 2>/dev/null


  # Skip the rest for noninteractive shells.
  [ ! -t 0 ] && return

  COLORS=

  for colors in "$HOME/.dir_colors.$TERM" "$HOME/.dircolors.$TERM" \
      "$HOME/.dir_colors" "$HOME/.dircolors"; do
    [ -e "$colors" ] && COLORS="$colors" && break
  done

除了用file之外,也可以通type命令加t参数来查看,不过信息没有file这么详细,这个命令可以告诉你这是否为一个别名、关键字、函数、还是文件。

[root@VM-0-14-centos profile.d]# type -t /usr/bin/passwd
file
[root@VM-0-14-centos profile.d]# type -t /etc/passwd
[root@VM-0-14-centos profile.d]# 
[root@VM-0-14-centos profile.d]# type -t printf
builtin
[root@VM-0-14-centos profile.d]# type -t ls
alias

可以看到,在查看信息方面,type -t没有file那么详细。

查看文件的隐藏属性

在linux系统中的文件,除了一般的属性,还有一些隐藏属性。虽然是隐藏属性,但有些还是挺经常用的。先看看有哪些隐藏属性。

A:这个属性主要是用来控制atime的,即访问时间,当这个属性被设置之后,那个时间就不会被修改了,一般来说,这个属性没啥影响,但对于吞吐速度(i/o)较慢的机器,这个还是有用的,可以避免频繁写入磁盘,提高磁盘的访问速度。

S:这个主要用来同步把文件写入磁盘的。我们知道,linux在文件被修改后,并不会马上写入磁盘,这样可以提高系统的速度,当你配置了这个属性,文件的修改,就会同步写入磁盘。如果数据重要的话,这个可以开启。

a:同样都是a,小a跟大A不一样,小a是控制文件写入的,当文件配置了这个属性,文件将不能被修改,只能够写入,这个属性一般用户无法配置,只有root用户才能够配置,这个属性对于安全性很有帮助。

c:这个属性是用来控制文件压缩的,当这个配置之后,在读取文件时就会自动解压,在存储的时候就会自动压缩,这么做肯定会影响速度,除非你的磁盘空间很小,否则这个一般都不用吧。

d:这个属性用来控制是否能被dump软件来备份,如果配置了,那么dump就不回备份这个文件。

i:这个属性是用来做访问控制的,一旦配置了,那么这个文件将不可以被删除、改名、创建软连接,也不能新增数据,这个属性也只能由root来配置。这个属性对于安全来说,很有用。

s:这个属性是用来控制文件是否完全被删除的。通常,我们删除文件的时候,并没有真正的把文件删除掉,一旦这个属性配置了,那么文件将会从硬盘完全删除。这个要小心用,有时候误删除了,还可以恢复。

u :这个属性和相反,配置了这个属性,不会实际删除文件。

lsattr查看文件隐藏属性

lsattr [-adR] 文件或目录
选项与参数:
-a :将隐藏文件的属性也显示出来;
-d :如果后面的参数是目录,仅列出目录本身的属性,里面的内容的属性则不列出来;
-R :连同子目录的属性也一并列出来。

chattr修改文件隐藏属性

 chattr [+-=][ASacdistu] 文件或目录名称
选项与参数:
+   :添加某一个特殊属性,其他原本存在属性则不动。
-   :移除某一个特殊属性,其他原本存在属性则不动。
=   :将属性配置为后面的那串参数。
[root@VM-0-14-centos ~]# lsattr
-------------e- ./bbb
-------------e- ./aaa~
-------------e- ./aaa

[root@VM-0-14-centos ~]# chattr +i aaa
[root@VM-0-14-centos ~]# lsattr
-------------e- ./bbb
-------------e- ./aaa~
----i--------e- ./aaa

[root@VM-0-14-centos ~]# chattr -i aaa
[root@VM-0-14-centos ~]# lsattr
-------------e- ./bbb
-------------e- ./aaa~
-------------e- ./aaa

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值