正文:看一下服务器的版本
cat /proc/version
我创建了一个test文件夹,并在其中创建了两个文件,
ls -il
第一列为文件的节点编号,第二列为文件的类型及各用户组的权限(属主,用户组,其他用户),第三列为链接数1,第四列和第五列分别是所有者和所属组别,第六列为大小0,后面的日期+文件名不多说。
现在我为其创建一个hard links(中文称作硬链接)
ln test1 test3
再次查看,发现有两个相同的节点编号51308245,且其链接数变为了2。解释:硬链接是源文件的一个硬复制,它们在目录文件中的入口项指向的是同一个i节点,只有当硬链接的全部链接被删除掉才能够释放此节点,硬链接文件必须在同一个文件系统中,目录不能建立硬链接。
如果对Linux的命令有什么不了解的地方,可以使用man ln进行查看,man为manual的缩写,后接相关的命令,例如对ln的命令不了解,man ln
现在来测试一下symbolic links的建立(准确的说应该是符号链接,原文为symbolic)
ln -s test2 test4
可以看到链接数仍为1,节点编号不同,可以简单的类比成我们平时电脑中的快捷方式,即运行了test4其实就是运行了test2。
看到这里,我们就可以稍微明白一些Linux服务器上的/bin,/sbin和/usr/bin,/usr/sbin目录了。
ls -il /bin
bin目录实际是/usr/bin的快捷方式,这也是为什么我在bin目录里面创建一个文件或文件夹,/usr/bin里面也会同步多出相应的文件,反之亦然。
关于Linux服务器使用源码编译安装python,写一篇备注。为什么需要编译安装,因为python一门解释型语言,可以参考下廖雪峰的博客中关于python的教学。另外,并非只有python源码可以这样进行安装,所有源码编译的程序都可以按照此步骤来进行。
python官网www.python.org
在下载选项中,我们选择Source code,至于选择Gzipped source tarball或者XZ compressed source tarball,就目前的我看来,并没有区别,都可以正常安装,不知道百度上说千万不要选择XZ compressed source tarball版本是什么意思?目前还没去查相关的区别。只是如果选择XZ文件需要其他的解压方式。
我以Python-3.8.5.tgz(Gzipped source tarball)为例,解压出来文件大致如下:
感兴趣的也可以去阅读下README的帮助文档,我们可以使用如下命令查看帮助文档,至于为什么要加./才能运行该命令,明明我就在这个目录下啊?我的理解是环境变量中的一些python,mkdir等命令都可以直接使用,这是Linux服务器为了防止混淆做的设置。
./configure --help
例如,我想将其安装到/usr/local/python38下面
./configure --prefix=/usr/local/python38 --enable-optimizations
运行完成之后,并没有开始安装,只是软件开始配置和检查,也可称之为编译前准备。此时我们再进行编译
make
编译安装:
make install
或者编译和编译安装一次性解决,&&和||命令的使用还是挺简单的。
make && make install
完成之后,我们进入到/usr/local目录下面
使用如下命令进行测试
/usr/local/python38/bin/python3.8
# 返回如下,则安装成功
Python 3.8.5 (default, Jan 5 2021, 12:01:51)
[GCC 8.3.1 20190507 (Red Hat 8.3.1-4)] on linux
安装完成之后我们可能会看到如下警告(python38):
按照上面的进行设置即可。或者像我一样建立一个软连接,后面有坑再来填,坑踩得多了,也就熟了。
ln -s /usr/local/python38/bin/python3.8 /usr/bin/python38
ln -s /usr/local/python38/bin/pip3.8 /usr/bin/pip38
PS: 查看系统环境变量命令 echo $PATH
https://www.jianshu.com/p/54c0e6a1da99