• 18 Linux之Python定制篇-Python开发平台Ubuntu


    18 Linux之Python定制篇-Python开发平台Ubuntu

    1. 《鸟哥的Linux私房菜 基础学习篇 第四版》1
    2. 《鸟哥的Linux私房菜 服务器架设篇 第三版》2
    3. 《韩顺平_2021图解Linux全面升级》3

    18.1 安装Ubuntu虚拟机

      在之前“Linux入门”一章中提到,Linux有各种各样的发行版,其中一个应用最广泛的发行版之一就是Ubuntu。Ubuntu是一个以桌面应用为主的开源GNU/Linux操作系统,支持x86、amd64 (即x64)和ppc架构,由全球化的专业开发团队(Canonical Ltd)打造。因为专业的Python开发者一般会选择Ubuntu这款Linux系统作为生产平台,并且Ubuntu的桌面非常漂亮,所以我们要学习如何使用Ubuntu平台。Ubuntu和CentOS都是基于GNU/Linux内核的,因此基本使用和Centos是几乎一样的,它们的各种指令可以通用,同学们在学习和使用Ubuntu的过程中,会发现各种操作指令在前面学习CentOS都使用过。只是界面和预安装的软件有所差别。

      Ubuntu的安装要比CentOS简单很多,为节省篇幅,具体安装过程可以查看我的CSDN博文“辅助笔记-安装Ubantu20.04.1虚拟机”,这里就不再赘述。

    18.4 Ubuntu的root用户

      安装ubuntu成功后,默认情况下时无法登root用户的,都是普通用户权限,并没有最高root权限。如果需要使用root权限时(比如切换系统镜像源),有下面两种方法:

    1. 方法一【最常用】:在命令前面加上sudo。但有时候会一直进行root权限操作,每条指令都加上sudo会感觉很麻烦。
    2. 方法二:首先设置root用户密码,然后在终端使用su命令直接切换到root用户。

    下面来一次演示这两种方法。

    方法一:在命令前面加上sudo
    下面直接给出终端的演示实例(在Ubuntu桌面右键选择“终端”):

    # 直接查看磁盘使用情况,权限不够
    lyl@ubuntu:~/桌面$ fdisk -l
    fdisk: 打不开 /dev/loop0: 权限不够
    fdisk: 打不开 /dev/loop1: 权限不够
    fdisk: 打不开 /dev/loop2: 权限不够
    fdisk: 打不开 /dev/loop3: 权限不够
    fdisk: 打不开 /dev/loop4: 权限不够
    fdisk: 打不开 /dev/loop5: 权限不够
    fdisk: 打不开 /dev/loop6: 权限不够
    fdisk: 打不开 /dev/loop7: 权限不够
    fdisk: 打不开 /dev/sda: 权限不够
    fdisk: 打不开 /dev/loop10: 权限不够
    fdisk: 打不开 /dev/loop9: 权限不够
    fdisk: 打不开 /dev/loop8: 权限不够
    fdisk: 打不开 /dev/loop11: 权限不够
    
    # 在指令前加上sudo即可查看
    lyl@ubuntu:~/桌面$ sudo fdisk -l
    [sudo] lyl 的密码: 
    Disk /dev/loop0:4 KiB,4096 字节,8 个扇区
    单元:扇区 / 1 * 512 = 512 字节
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    # 关于磁盘的更多内容略
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    方法二:使用su命令直接切换到root用户

      我们一般使用su命令来直接切换到root用户的,但是如果没有给root设置初始密码,就会抛出su : Authentication failure这样的问题。所以,我们需要首先给root用户设置一个初始密码:

    # 1. 设定root用户密码
    sudo passwd
    # 2. 切换成root用户
    su root
    # 3. 退出root并返回一般用户
    exit
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    下面是终端演示实例:

    lyl@ubuntu:~/桌面$ sudo passwd      # 1. 设定root用户密码
    [sudo] lyl 的密码: 
    新的 密码: 
    重新输入新的 密码: 
    passwd:已成功更新密码
    
    lyl@ubuntu:~/桌面$ su root          # 2. 切换成root用户
    密码: 
    
    root@ubuntu:/home/lyl/桌面# fdisk -l
    Disk /dev/loop0:4 KiB,4096 字节,8 个扇区
    单元:扇区 / 1 * 512 = 512 字节
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    # 关于磁盘的更多内容略
    # 可以看到,已经切换到root用户,可以直接使用root权限指令了。
    root@ubuntu:/home/lyl/桌面# exit    # 3. 退出root并返回一般用户
    exit
    lyl@ubuntu:~/桌面$ 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    【细节】终端的提示符:提示符$代表一般用户,提示符#代表root用户

    18.5 Ubuntu下开发Python

      之前提到,专业的Python开发者会选择Ubuntu作为开发平台。所以当Ubuntu安装好后,默认就已经安装好了Python的开发环境。可以使用python3来查看当前安装的python版本:

    lyl@ubuntu:~/桌面$ python3
    Python 3.8.2 (default, Jul 16 2020, 14:00:26) 
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> quit()
    
    • 1
    • 2
    • 3
    • 4
    • 5

    下面展示一个应用案例:
    【案例1】在Ubuntu下开发一个Python的“Hello,Python!”程序。

    lyl@ubuntu:~/桌面$ vi hello.py          # 1. 编写hello.py
    ###############################
    # vi编辑器输入i进入编辑模式,可以复制下面的代码,也可以自己敲:
    # 注意:vi新手先不要使用方向键、backspace等,自己敲一定要逐个字符敲对!
    print("hello,python!")
    ###############################
    lyl@ubuntu:~/桌面$ python3 hello.py     # 2. 运行hello.py
    hello,python!
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    注:Ubuntu预装的是vim tiny版本,默认情况下vi输入方向键会变成ABCD,解决方法可以参考“ubuntu下vi输入方向键会变成ABCD的解决方法”。后面会安装Vim编辑器,所以这个案例可以先将就一下。


    1. 《鸟哥的Linux私房菜 基础学习篇 第四版》 ↩︎

    2. 《鸟哥的Linux私房菜 服务器架设篇 第三版》 ↩︎

    3. 《韩顺平_2021图解Linux全面升级》 ↩︎

  • 相关阅读:
    C++ 观察者模式
    文献阅读-Robsut Wrod Reocginiton via Semi-Character Recurrent Neural Network
    [SWPUCTF 2021 新生赛]简简单单的逻辑-- 算法逆向
    常用的表单校验规则——邮箱/QQ/身份证号码/微信/电话/数字字母/整数/文本/密码等
    简述中台的常识
    使用grpcui测试ASP.NET core gRPC服务
    Serverless 架构下的 AI 应用开发
    七大基于比较的排序算法基本原理及实现(Java版)
    Vue学习之--------插槽【默认插槽、具名插槽、作用域插槽】(2022/8/30)
    springboot点餐微信小程序毕业设计源码221144
  • 原文地址:https://blog.csdn.net/weixin_46258766/article/details/132596947