linux基础知识散集

linux?一个操作系统,我们在使用,在研究的时候得弄懂一些基础性的东西!


本文是根据个人实践以及参考他人做出的总结,可能含十分不成熟的想法,仅供参考。如果你需要相关的关键资讯,请查看专业书籍或向专业人士资讯!


本文可考究度:85%,属于差不多的文章


1. 文件

1.1. 索引节点(inode)

‘1’

linux系统中,内核为每个文件分配一个唯一的索引节点(inode),其中包含文件的属性,可以想象其为一个指向文件具体存储位置的指针。访问文件的时候索引节点被复制到内存,系统通过索引节点(不是文件名)定位每个文件,从而实现文件的快速访问。

1.2. 文件目录

linux系统中,所有的文件与目录都是由根目录/开始,不是以/开头的就是相对路径;

1、“.”表示当前目录,也可以用“./”表示;

2、“..”表示上一级目录,也可以用“../”表示;

3、“~” 代表用户自己的宿主目录;

4、“/”处于Linux文件系统树形结构的最顶端,我们称它为Linux文件系统的root,它是Linux文件系统的入口。

1.3. 文件属性

例如:

1
2
3
4
5
6
7
skyqin@skyqin-PC:~/Documents/software/test$ ls -l
总用量 196
-rw-r--r-- 1 skyqin skyqin 103367 10月 15 20:11 155.jpg
-rw-r--r-- 1 skyqin skyqin 10716 10月 23 17:14 1HU354H-0.png
-rw-r--r-- 1 skyqin skyqin 67459 10月 15 20:12 240.jpg
-rw-r--r-- 1 skyqin skyqin 12154 10月 22 13:49 640.jpg
lrwxrwxrwx 1 skyqin skyqin 39 10月 24 20:16 hexo.sh -> /home/skyqin/Documents/software/hexo.sh

Linux/Unix 的档案调用者分为三类:档案拥有者u、群组g、其他o(全部a),可调用的权限也分为三类:读r、写w、执行x(全部X)。分配权限时使用+增加权限、-限制权限、=唯一设定权限。另外如chmod 777 文件名 的命令则是将所有者、群组、其他的权限用三位数表示,每位数的大小由权限大小决定:r=4,w=2,x=1 若用chmod 4755 filename可使此程序具有root的权限

具体可以参照命令lschmod理解

2. 环境变量

查看PATH的内容可用 echo $PASH 命令。

3. 链接

Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。

下面是一个链接操作示例:

1
2
3
4
5
6
7
8
skyqin@skyqin-PC:~/Documents/software/test/new$ ln 530.jpg 530hard
skyqin@skyqin-PC:~/Documents/software/test/new$ ln 530.jpg 530hard.jpg
skyqin@skyqin-PC:~/Documents/software/test/new$ ln -s 530.jpg 530soft.jpg
skyqin@skyqin-PC:~/Documents/software/test/new$ ls -il
总用量 104
3673275 -rw-r--r-- 3 skyqin skyqin 50013 10月 24 20:54 530hard.jpg
3673275 -rw-r--r-- 3 skyqin skyqin 50013 10月 24 20:54 530.jpg
3673277 lrwxrwxrwx 1 skyqin skyqin 7 10月 24 22:06 530soft.jpg -> 530.jpg

3.1. 软链接【或称符号链接(Symbolic link)】

……待完善……

4. 软件包管理

……待介绍……

4.1. snap

国内使用坑!!!网络连接太慢

  1. 简介

    ‘2’

    snap安装包是Canonical公司发布的全新的软件包管理方式,它类似一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立。所以使用snap包的好处就是它解决了应用程序之间的依赖问题,使应用程序之间更容易管理。但是由此带来的问题就是它占用更多的磁盘空间。

    snap应用可以安装同样一个软件的不同版本(比如一个安装Python 2.7,另外一个应用安装Python 3.3)而不造成任何的干扰.理论上一个snap应用可以安装到任何一个Linux的发行版上,因为它不依赖于操作系统及其发布版本.

    Snap的安装包扩展名是.snap,类似于一个容器,它包含一个应用程序需要用到的所有文件和库(snap包包含一个私有的root文件系统,里面包含了依赖的软件包)。它们会被安装到单独的目录;各个应用程序之间相互隔离。使用snap有很多好处,首先它解决了软件包的依赖问题;其次,也使应用程序更容易管理。

  2. 使用

    ‘3’

    参考上面链接,不做整理


1. https://blog.csdn.net/mengzuchao/article/details/80426316

2. https://www.linuxidc.com/Linux/2018-05/152385.htm

3. https://linux.cn/article-9415-1.html