5.目录结构、文件类型与ls、alias命令

    tree是以树形显示目录,当然,这个命令事先并未安装,我们可以使用yum install -y tree去安装它,之后我们可以使用tree /看一下,这就是我们全部的文件树了,太多了!如果我们只想显示两层怎么办呢?想查看一个命令的用法我们有两种方法,一种是简单的,也就是tree --hep  这种方法不太直观,我们可以使用man来显示一个命令的帮助文档,让我们man tree一下~我们找到了-L选项来指定深度:tree -L 2 /就可以实现我们的想法了~我们可以看到根下面有很多文件夹,他们都是干什么的呢?

    /root我们已经接触过了,它实际上是root用户的家目录,我们每个用户都有家目录,我们用useradd test01来创建一个名叫test01的用户,然后/home/test01/就是这个用户的家目录。我们都知道,之前讲过想要使用密钥登陆到Linux,需在所使用的用户的家目录中创建/.ssh/authorized_keys,那么是什么规定的呢?我们可以找一下/etc/ssh/sshd_config文件,就是它!但是我们这里先不讲它。

    /bin实际上是/usr/bin的软链接,咱们平时用的命令就在这里,包括/sbin也就是/usr/sbin,存的都是咱们平时常用的命令。为什么我们直接敲命令它就可以运行呢?因为它们实质上都是文件!/bin/sbin有什么区别呢?它实质是为了区分自己,/sbin下的命令一般是root用户用的,普通用户无权限使用,普通用户使用/bin下的命令,当然/bin下的命令root用户也能用,谁让人家是root呢。

    /boot目录下是系统启动相关的文件,比如之前进单用户时用的grub。

    /dev是Linux系统中特有的设备文件,比如说光盘,硬盘,鼠标键盘,它们都在/dev里。

    /etc是Linux的一些配置文件所在的路径,比如说之前修改ip时使用的的网卡配置文件,还有刚刚提到的sshd_config,都在这里。

    /home是用户文件家目录。

    /lib以及/lib64这两个目录是存放系统库文件的,很多命令都依赖库文件,比如ls命令,库文件类似Windows中的dll文件,ldd可以查看一个命令所依赖的库文件,centos7不再提供32位,而在早期都是区分的,有什么区别呢?最大的识别的内存大小不同,32位只能识别3g多一些的内存,想要支持更大的内存就要使用64位的系统。

    /media媒介目录,默认为空,我们插一个u盘默认就会挂载到/media里。/mnt也是一个也是一个临时挂在目录,/opt也是空目录。

    /proc是系统启动的一些进程,它会生成pid,而每个进程都会有一个目录,目录里有一些文件,基本是一样的,我们可以查看一个不熟悉的进程的pid,然后通过pid查看进程文件夹里,具体的一些信息。

    /run是一些进程产生的临时文件,一旦关机便会消失。

    /srv,是空的,是service的缩写,所以会存放一些服务产生的文件。

    /sys存一些系统内核相关的文件

    /tmp是系统的临时目录,任何用户都可以对它里面的东西进行读写删除操作。

    /usr存放用户的一些文件,我们通常会把一些服务放在/usr下。

    /var/log下面会存放一些日志。

    

    ls命令,我们来完整的讲一下这个命令:
    ls -l 可以把文件详细信息列出,第一列表示权限,第二列表示有多少文件使用了相同的inode(可以使用ls -i 查看它的inode号),inode存放的其实就是ls-l查看到的文件的详细信息,也就意味着它记录着文件存在磁盘的哪一个区块儿,如果有两个文件使用了相同的inode,那就意味着这两个文件在磁盘上存放的位置是一样的,这实际上是我们后面讲到的概念-硬链接。第三列表明了此文件的所有者,在Linux系统中,任何一个文件都有所有者,第四列表明了此文件的所属组,第五列表明了文件的大小,单位是b(我们可以使用-h更人性化的显示大小)第六列表明了文件创建时间,最后一列是文件名,-a会显示当前目录中所有文件或目录,包括隐藏的。每一个目录下都会有一个.和一个...表示当前的目录,..表示上一级目录。ls -lta这个t表示时间,它可以将列出的项按时间先后排序,时间越早越在下面。ls -ld目录   不加d会将目录下面的列出,加上只会列出此目录本身。其他用法我们可以使用man ls查看,ll=ls -l   这就是alias别名,我们可以使用which ll看到ll别名的具体信息。
    我们补一个知识点,文件类型。我们查看文件信息时,第一列的第一位表示文件的类型。d表示目录,-表示普通文件,是可以使用cat命令查看的,带颜色则表示是被编译过的二进制文件,无法查看。c表示字符串设备,比如鼠标或者键盘等等,l开头表示软链接,相当于Windows的快捷方式,b是块设备,比如光盘或者磁盘,s表示socket文件,它是用来通信的,系统里有多个进程,多个服务,进程与进程之间,服务和服务之间也是需要通信的,他们之间通信有两种方式,一种就是tcp/ip,这是两个机器之间的,而同一台机器上则使用socket文件通信。
    接下来我们讲一下alias别名,我们可以使用which查看别名的详细信息,有的命令有alias,有的则没有,alias表示这个别名是这个命令加选项的组合形成的新命令,如何看系统所有的alias呢?直接用alias命令就好啦~这个命令也可以让我们来自定义若干个别名,alias abc=‘ls -lha’,在运行abc时就等于运行等于号后面的命令,unalias abc可以取消掉我们的别名~

转载于:https://my.oschina.net/Hamm/blog/1554180

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值