1. 正常操作

1.1 环境说明

  • 系统环境:20.04.1-Ubuntu
  • 默认python版本:python3.8和python2.7 (直接执行python,使用的是python3.8,这是软链接设置的问题,下面会进行修改)
    hs@hs:/usr/bin$ python3.8 --version
    Python 3.8.10
    

1.2 下载安装你需要的python版本

sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa

# 不执行上面的三条命令,只执行下面这一条是无效的
sudo apt-get install python3.7

1.3 查看新的python文件位置

  • 查看默认安装位置, 位于 /usr/bin/python3.7
whereis python3.7  
> python3: /usr/bin/python3 /usr/bin/python3.7m /usr/bin/python3.8-config /usr/bin/python3.7 
> /usr/bin/python3.8 /usr/lib/python3 /usr/lib/python3.9 /usr/lib/python3.7 
> /usr/lib/python3.8 /etc/python3 /etc/python3.7 /etc/python3.8 /usr/local/lib/python3.7 
> /usr/local/lib/python3.8 /usr/include/python3.8 /usr/share/python3 
> /usr/share/man/man1/python3.1.gz

# 或者使用 下面的来查看当前本机含有的所有python也可以
ll /usr/bin/python*  # 查看现有的python

如下图所示:箭头左侧是 软链接/快捷方式的位置 右侧是其指向的位置/usr/bin/
在这里插入图片描述
因此可以看到,

  • 软链接是 水蓝色
  • 可执行文件是 绿色

关于文件颜色介绍,有兴趣的可以看看 第二部分 Linux中文件颜色和一些标志说明

1.4 修改软链接指向

先看一下ln命令的基本语法

ln [OPTION]... [-T] TARGET LINK_NAME
TARGET 目标(软链接指向的目标文件)
LINK_NAME  软链接的名称
也可以使用  -t, --target-directory=DIRECTORY 指定这个创建的软链接文件放在哪里
linux中,万物皆文件

注意:

  • 创建软链接/快捷方式的时候,默认情况下,请确保这个软链接没有被创建过(名称要以前不存在的,只能新建,不能覆盖)
  • ln命令无法将以前建立的软链接的指向做修改
  • 也就是说,如果想修改默认python这个软链接指向的python版本,需要先删除以前的旧软链接,再重新建立一个新的

进行以下操作:

# 查看当前已有的软链接(我的已经改过了,所以指向的就是python3.7)
ll /usr/bin/python*
(箭头左侧是 软链接/快捷方式的位置 右侧是其指向的位置)
lrwxrwxrwx 1 root root      34 Jan 25 09:36 /usr/bin/python -> /usr/local/python3.7/bin/python3.7  #已经设置好的软链接指向XXX
lrwxrwxrwx 1 root root      34 Jan 25 10:03 /usr/bin/python3 -> /usr/local/python3.7/bin/python3.7
lrwxrwxrwx 1 root root      16 Mar 13  2020 /usr/bin/python3-config -> python3.8-config*
-rwxr-xr-x 2 root root 5492720 Jan 15 18:42 /usr/bin/python3.7*  # 目标文件
-rwxr-xr-x 2 root root 5492720 Jan 15 18:42 /usr/bin/python3.7m*
-rwxr-xr-x 1 root root 5490488 Nov 26 20:14 /usr/bin/python3.8*
lrwxrwxrwx 1 root root      33 Nov 26 20:14 /usr/bin/python3.8-config -> x86_64-linux-gnu-python3.8-config*

# 删除旧的指向python3.8的软链接(直接删就行)
sudo rm -f /usr/bin/python
# 注意,上面python后面没有斜杠,表示删除的是软链接,而不是目录

# 创建新的指向python3.7的软链接
sudo ln -s /usr/bin/python3.7  /usr/bin/python3

如果总是失败,那么去usr/bin/目录下,看一下,看有没有之前创建过,但是由于操作失误,所以已经损坏的软链接(黑底红字的文件),把那种文件删除,再执行


2. Linux中文件颜色和一些标志说明

2.1 文件颜色对应的文件类型

以下是常见的一些颜色表示的文件类型

类型颜色
目录蓝色 Blue
一般可执行文件或可识别的数据文件绿色 Green
软链接/快捷方式(符号链接文件/Symbolic link file)水蓝色
设备 黑底黄字 \colorbox{Black}{\textcolor{Orange}{黑底黄字}}
图像文件粉红色 Magenta (Pink)
archive file归档文件(一般以压缩文件形式存在)红色
损坏的链接(软链接指向文件不存在) 黑底红字 \colorbox{Black}{\textcolor{Red}{黑底红字}}

另外,其实可以直接使用命令来查看当前的颜色配置,如下:

eval $(echo "no:global default;fi:normal file;di:directory;ln:symbolic link;pi:named pipe;so:socket;do:door;bd:block device;cd:character device;or:orphan symlink;mi:missing file;su:set uid;sg:set gid;tw:sticky other writable;ow:other writable;st:sticky;ex:executable;"|sed -e 's/:/="/g; s/\;/"\n/g')           
{      
  IFS=:     
  for i in $LS_COLORS     
  do        
    echo -e "\e[${i#*=}m$( x=${i%=*}; [ "${!x}" ] && echo "${!x}" || echo "$x" )\e[m" 
  done       
} 

上述信息可以在命令行中输入 man dir_colors查看,类似:
在这里插入图片描述
每个序号都代表一种颜色


参考:


2.2 一些示例

在这里插入图片描述

  • 图像文件(玫红色/粉红色)
  • 目录(蓝色)
  • 普通文件(黑字)

在这里插入图片描述

  • 归档/压缩文件(红色)

在这里插入图片描述

  • 带有sticky权限的目录(绿底黑字)

下面两个都是在usr/bin目录下找的
在这里插入图片描述

  • 块/字符设备(咖色底,黑色字),cd ./dev这个文件夹下基本全都是这种文件
  • 软链接/快捷方式(水绿色)
  • 可执行文件(绿色)

在这里插入图片描述

  • 属主setuid有效的文件(红底灰字)

2.3 ll -hF命令

> ll -hF
"
 -h, --human-readable
	print sizes in human readable format (e.g., 1K 234M 2G)

-F, --classify, --file-type
"

-F参数会在每个文件名后附上一个字符以说明该文件的类型,不加这个参数就没有。

  • “ * ”表示普通的可执行文件;
  • “ / ”表示目录;
  • “ @ ”表示符号链接;
  • “ | ”表示FIFOs;“ = ”表示套接字 (sockets) ;
  • 什么也没有则表示普通文件。
  • “->”表示左侧的软链接指向右侧的文件

其实这些文件颜色以及这个特定符号,可以配合,linux文件系统一起看,这样对linux的文件类型会理解的更深刻。参考:linux中文件类型说明

3. 其他—markdown语法文字加颜色

csdn不支持style标签,所以一些html的功能没有办法实现


Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐