系统目录结构(上,下)


  • ls 是列取系统目录文件的。list是全拼
  • 输入 ls /查看目录下面有什么

  • root就是root用户的家目录,每个用户都有家目录的,用来存一些配置文件和自己的一些东西。 如果想远程登录一个普通用户使用密钥认证,我们要在普通用户的家目录下创建一个.ssh/authorized_keys这样一个文件 我们可以使用命令 userdd +用户名创建一个普通用户, 然后可以在ls /home/用户名 下面创建.ssh/authorized_keys,这里home就是普通用户的家目录 和root不一样,(root可以理解为游戏GM,home可以理解为游戏玩家)在这里,authorized_keys这个文件必须创建在.ssh的目录下,这个途径是固定的。

  • tree命令用于以树状图列出目录的内容。 执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。 用yum工具安装它

-也可以只显示两层,只显示/和 /下面的目录 , 命令 tree --hep 用来显示tree下面的常用的选项


  • 这样看不太容易看明白,还有一个命令 man 用来显示一个文件的帮助文档(就是查询这个命令是干嘛的) 然后可以使用tree - L 2 指定查看2层,

  • 这样就可以看出来每个目录下面有哪些文件,比如常用的bin 我们常用的ls命令就是在bin下面 我们常用的几个 vi tree man 都是在 bin下面 为什么我们能执行命令,它其实就是一个文件,是因为有一个东西叫path
  • bin 和sbin 有什么区别,他们下面都是命令 其实是为了区分,sbin下面都是root用户的命令,普通用户没有权限用。普通用户用bin下的命令。(sbin就是超级用户的意思。)

  • boot是系统启动相关的一些文件,里面的grub 就是单用户模式, 下面的文件是一些系统启动的文件,如果删除了,就无法启动linux

  • dev是linux系统里面特有的设备文件,光盘,键盘 鼠标 的文件都在里面。黄颜色的文件都是设备文件。

  • etc是系统的配置文件所在的路径。 home就是用户家目录,lib 和lib64是存系统的库文件,

  • 很多命令依赖库文件,怎么看一个命令依赖哪一库,可以使用命令ldd /bin/ls/查看 这些库文件大部分都在lib64下,也有在lib下,

  • 这些绿色的文件就是库文件,不是绿色是软连接

  • media 是一个媒介目录,默认是空的(就相当于windows里面插入一个移动硬盘,会出现一个移动盘的磁盘,这个media就类似这个功能)
  • mut目录也类似于一个临时挂载的目录,也是默认空的(临时挂载回忆刚分区的时候的swp) 我们可以临时把光驱 新增加的硬盘 挂载在mut下面使用。
  • opt也是一个空目录,
  • proc是进程,系统启动的一些进程。

  • root就是root用户的家目录
  • run就是进程产生的一些临时文件,一关机就会消失的。
  • srv也是空的,srv也就是服务,这个目录下面会产生一些服务的文件。
  • sys是存系统内核的一些文件,一般平时我们是不会去动的。
  • tmp 是系统的临时目录 权限很大,任何用户都可以去写 去删。
  • usr是用户的一些文件,下面是用户用到的一些命令。
  • var会经常用到var /log 是存一些日志, var是一个很重要的目录,打交道比较多。

  • ls /usr/bin/ /usr/sbin /bin/ /sbin/ /etc/ /var/ /usr/local/ 是常用的命令 bin 和 sbin是存命令的,etc是存配置文件的, var是系统进程会存一些临时文件 /usr/local/是自己编译的一些服务会放在下面

ls命令


  1. ls -l 可以把这个文件的信息详细的列出来。第一列为权限,第二列表示多少个文件使用了相同的anaconda-ks.cfg,anaconda-ks.cfg 就是 存的这些信息,(第一列,第二列都是)会记录文件存在哪个区上面
  • root 是表示所有者是谁,linux认可一个文件,就会有一个所有者(也就是哪一个人哪一个文件所有。)
  • 不仅仅有所有者,还有所有组,第二个root 就是所有组,所有组下面有多个用户
  • 1422就是这个文件的大小, 可以用ls -lh 查看更详细的,h就是更人性化的显示。
  • 3月 21 就是创建的时间,
  • anaconda-ks.cfg 就是文件名
  • ls -i就是查看文件的anaconda-ks.cfg 号
  • 还有个ls- la 是查看这个文件的隐藏文件。. 开头的都是隐藏文件,目录 。每一个目录下面都有. 或者.. 当前的目录就是目录本身,就是root ,输入ls -ld /root/可以看出 和上面的一样,有三个目录,

  • 有三个目录anaconda-ks.cfg 号是一样的,分别是 ls -i /root/ ls -i . ls -i .ssh/ .. 所以数字是3 表示root里面有三个目录, 也可以变相的认为这个目录下面有几个子目录。

  • ls 还有一个经常用的 ls -lta t是时间的意思(time) 用ls -la做比较,你会发现 带t的命令,会以时间的顺序排序,时间从早到晚排列。

  • ls -ld /会把根目录下面的文件都列出来, 不加d 只会列出 根目录本身。

  • ls还有一些用法,可以用 man ls 来查看
  • 总结: ls的一些常用的方法, -l 列举详细信息, - i就是查询文件的anaconda-ks.cfg 号 -a就是查看全部的,包括隐藏的文件 -t 是按时间顺序排序。还有- h 可以变换单位。 还有- d 是列目录的时候只列目录本身。不列其他东西。
  • 还有用到ll 和ls -l 列举出来的一样,有什么区别呢,ll其实就是ls -l的一个别名,就是alias 也就是在显示的时候再加上颜色。比如用bin/ls/ 就没有颜色

文件类型


  • ls -la 最左侧说是文件的权限,实际上还有个第一位,用来表示文件的类型。d表示目录 -表示它是一个普通的文件,这种普通的文本文档 是可以用cat来查看的。但是带颜色的bin/ls 就无法查看了 是一个二进制文件。无法查看,是一个编译过的文件。(比如windows里面的.exe文件是查看不了的)

  • 还有特殊的,像之前解除的dev ×××的表示是c 是字符串设备 (比如鼠标键盘什么的) 还有湛蓝色的是l,表示的是软链接,相当于windows的一个快捷方式,说白了就是一个指向。真正的文件在蓝字后面的路径。
  • 还有b 是块设备,像光盘,磁盘都在这显示。
  • 还有这个粉色的,前面s 表示是通信的,进程和进程之间也是需要通信的,相互传一些数据,信号的。

  • 总结:d开头表示目录,- 表示文本文档, c是字符串设备, b是块设备,s表示通信 l表示软链接

alias命令

  • 我们用到的ls ll都是有别名的,可以用which来看, 发现有的是有alias 有的是没有的。alias表示命令加选项的组合形成的一个新的命令。 如果不想使用别名,可以使用绝对路径/usr/bin/ls / 这样就没有颜色了。

  • 不明白这个命令是干嘛的,就可以用which来查看,which是查看一个文件所在的路径的。 怎么查看alias的命令都有哪些,可以直接输入alias查看。

  • 之前提到一个概念 PATH 系统环境变量 可以用 echo $PATH查看, 它就是一系列的路径。 如果一个命令在目录下面, 输入就会生效,反之则不会。

  • 我们可以自定义一个命令,比如 alias yingxin 会提示没有这个命令,然后输入alias yingxin=‘ls -lha’ 再输入yingxin 你会发现他生效了 我们用which查看,发现它实际上还是 ls -lha 这才是真正的命令。 我们也可以取消掉他 输入指令 unalinas yingxin 取消掉,再输入yingxin 就没效了。