Linux的基础知识

根目录和家目录

根目录:是Linux中最底层的目录,用"/"表示

家目录:当前用户所在的路径,用“~”表示,root用户的家目录和普通用户的家目录不一样,普通用户的家目录在/home路径下,每一个用户都有一个以自己用户名为名的文件夹,root用户的家目录是在/root路径下

Linux的基础知识_第1张图片

相对路径和绝对路径

  • 绝对路径:
    路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。

举个例子:绝对路径就是目标位置完整的路径,绝对路径都是从/开始的,Linux的根目录就是/,拿一个北京海淀区的例子,它的绝对路径就是/地球/中国/北京市/海淀区/复兴路/100号

  • 相对路径:

路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd ../man 这就是相对路径的写法。一般来说相对路径是以.或者./开头

举个例子:我现在在北京,这就相当于一个当前位于的文件路径

相对路径表示:./海淀区/复兴路/100号

文件基本属性

Linux的基础知识_第2张图片

其中,Linux中第一个字符表示文件的类型

  • d:目录文件

  • -:普通文件

  • l:链接文件

  • b:块文件

  • c:字符文件、

接下来的rwx,依次表示文件的读,写,执行权限,其中前3位代表该文件的拥有者的权限,中间3位表示和拥有者同组的其他用户的权限,最后3位表示除了前两种的其他用户的权限

然后第一个liaohaijin表示的是文件的拥有者,后一个liaohaijin是拥有者所在的组,然后是文件大小,修改时间

Linux的基础知识_第3张图片

Linux下的连接档

Linux下有两种连接档,其中一种是类似于win电脑的快捷方式,一种是通过文件系统的inode连接来产生的,类似于电脑的复制,但是不产生新文件,我们称之为硬连接

什么是inode

inode是用来存放文件信息的,每个文件都会有一个inode,并且这个inode号是唯一的,文件的内容都是inode来指定的,而不是文件名,就类似于之前讲的UID号和用户名之间的关系,当系统要访问文件时,inode就会被复制到内存,从而实现文件的快速访问,使用ls -i命令则可以看到inode号,-i参数为打印文件的inode号

什么是硬连接

硬连接只是一个新的链接到某个inode号码的记录而已,这个链接指向inode,系统并不给他重新分配inode

可以用ln命令来建立硬连接

格式:ln 源文件 目标文件

常用参数 -f无论目标文件是否存在都要创建连接

使用硬连接的优缺点

优点:方便,类似于win的复制,但是通常并不占用实际空间,而且不管我们是修改其中任何一个文件,产生硬连接的文件都会被修改,因为它们的inode是一样的

第二个优点是安全,防止误删除,我们不小心删除了一个文件,还可以通过剩下的连接来访问文件,除非全都被删除了

缺点:只能在同一个文件系统才可以创建硬连接(因为不同的文件系统管理方式 不同),而且目录之间不能创建硬连接(太复杂,现在还不支持)

什么是软连接

软连接类似于win上的快捷方式

可以用ln命令来建立软连接,格式:ln -s 源文件 目标文件(必须加上参数-s,使用ln如果不加任何参数的话,那就是硬连接,而且源文件要用绝对路径)-s为创建一个软连接(源文件用绝对路径)

软连接的两个文件的inode是不一样的,删掉源文件,连接的文件就不能打开了,软连接虽然没有硬连接的方式安全,但是限制较少,用的范围还是很广泛的

文件颜色

蓝色:文件夹,ls -l可以看到对应蓝色是目录

红色:压缩文件

绿色:可执行文件

白色:文本文件

红色闪烁:错误的符号链接

浅蓝色:符号链接

黄色:设备文件

灰色:其他文件

Linux目录结构

Linux整个目录是从/目录开始的

Linux的基础知识_第4张图片
Linux的基础知识_第5张图片

以下是对这些目录的解释:

  • /bin
    bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。

  • /boot:
    这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。

  • /dev :
    dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。

  • /etc:
    etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。

  • /home
    用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。

  • /lib
    lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。

  • /lost+found
    这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  • /media
    linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

  • /mnt
    系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

  • /opt
    opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

  • /proc
    proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
    这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

  • /root
    该目录为系统管理员,也称作超级权限者的用户主目录。

  • /sbin
    s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。

  • /selinux
    这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

  • /srv
    该目录存放一些服务启动之后需要提取的数据。

  • /sys

这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。

sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。

该文件系统是内核设备树的一个直观反映。

当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

  • /tmp
    tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。

  • /usr
    usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。

  • /usr/bin:
    系统用户使用的应用程序。

  • /usr/sbin:
    超级用户使用的比较高级的管理程序和系统守护程序。

  • /usr/src:
    内核源代码默认的放置目录。

  • /var
    var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

  • /run
    是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。

/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。

/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。

/boot,存放的是Bootloader程序,不要随便动里面的文件,缺少了可能导致Ubuntu崩溃无法运行

你可能感兴趣的:(Linux学习,Linux,操作系统)