python全栈100天学习笔记day32linux概述及基础命令(代码片段)

Vax_Loves_1314 Vax_Loves_1314     2022-11-30     319

关键词:

Linux概述

Linux是一个通用操作系统。一个操作系统要负责任务调度、内存分配、处理外围设备I/O等操作。操作系统通常由内核(运行其他程序,管理像磁盘、打印机等硬件设备的核心程序)和系统程序(设备驱动、底层库、shell、服务程序等)两部分组成。

Linux内核是芬兰人Linus Torvalds开发的,于1991年9月发布。而Linux操作系统作为Internet时代的产物,它是由全世界许多开发者共同合作开发的,是一个自由的操作系统(注意自由和免费并不是同一个概念,想了解二者的差别可以点击这里)。

Linux系统优点

  1. 通用操作系统,不跟特定的硬件绑定。
  2. 用C语言编写,可移植性强,有内核编程接口。
  3. 支持多用户和多任务,支持安全的分层文件系统。
  4. 大量的实用程序,完善的网络功能以及强大的支持文档。
  5. 可靠的安全性和良好的稳定性,对开发者更友好。

Linux系统发行版本

  1. Redhat
  2. Ubuntu
  3. CentOS
  4. Fedora
  5. Debian
  6. openSUSE

基础命令

Linux系统的命令通常都是如下所示的格式:

命令名称 [命名参数] [命令对象]
  1. 获取登录信息 - w / who / last/ lastb

    [root ~]# w
     23:31:16 up 12:16,  2 users,  load average: 0.00, 0.01, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     pts/0    182.139.66.250   23:03    4.00s  0.02s  0.00s w
    jackfrue pts/1    182.139.66.250   23:26    3:56   0.00s  0.00s -bash
    [root ~]# who
    root     pts/0        2018-04-12 23:03 (182.139.66.250)
    jackfrued pts/1        2018-04-12 23:26 (182.139.66.250)
    [root ~]# who am i
    root     pts/0        2018-04-12 23:03 (182.139.66.250)
    [root ~]# who mom likes
    root     pts/0        2018-04-12 23:03 (182.139.66.250)
    [root ~]# last
    root     pts/0        117.136.63.184   Sun May 26 18:57   still logged in   
    reboot   system boot  3.10.0-957.10.1. Mon May 27 02:52 - 19:10  (-7:-42)   
    root     pts/4        117.136.63.184   Sun May 26 18:51 - crash  (08:01)    
    root     pts/4        117.136.63.184   Sun May 26 18:49 - 18:49  (00:00)    
    root     pts/3        117.136.63.183   Sun May 26 18:35 - crash  (08:17)    
    root     pts/2        117.136.63.183   Sun May 26 18:34 - crash  (08:17)    
    root     pts/0        117.136.63.183   Sun May 26 18:10 - crash  (08:42)    
    
  2. 查看自己使用的Shell - ps

    Shell也被称为“壳”或“壳程序”,它是用户与操作系统内核交流的翻译官,简单的说就是人与计算机交互的界面和接口。目前很多Linux系统默认的Shell都是bash(Bourne Again SHell),因为它可以使用tab键进行命令和路径补全、可以保存历史命令、可以方便的配置环境变量以及执行批处理操作。

    [root ~]# ps
      PID TTY          TIME CMD
     3531 pts/0    00:00:00 bash
     3553 pts/0    00:00:00 ps
    
  3. 查看命令的说明和位置 - whatis / which / whereis

    [root ~]# whatis ps
    ps (1)        - report a snapshot of the current processes.
    [root ~]# whatis python
    python (1)    - an interpreted, interactive, object-oriented programming language
    [root ~]# whereis ps
    ps: /usr/bin/ps /usr/share/man/man1/ps.1.gz
    [root ~]# whereis python
    python: /usr/bin/python /usr/bin/python2.7 /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz
    [root ~]# which ps
    /usr/bin/ps
    [root ~]# which python
    /usr/bin/python
    
  4. 清除屏幕上显示的内容 - clear

  5. 查看帮助文档 - man / info / help / apropos

    [root@izwz97tbgo9lkabnat2lo8z ~]# ps --help
    Usage:
     ps [options]
     Try 'ps --help <simple|list|output|threads|misc|all>'
      or 'ps --help <s|l|o|t|m|a>'
     for additional help text.
    For more details see ps(1).
    [root@izwz97tbgo9lkabnat2lo8z ~]# man ps
    PS(1)                                User Commands                                PS(1)
    NAME
           ps - report a snapshot of the current processes.
    SYNOPSIS
           ps [options]
    DESCRIPTION
    ...
    
  6. 查看系统和主机名 - uname / hostname

    [root@izwz97tbgo9lkabnat2lo8z ~]# uname
    Linux
    [root@izwz97tbgo9lkabnat2lo8z ~]# hostname
    izwz97tbgo9lkabnat2lo8z
    [root@iZwz97tbgo9lkabnat2lo8Z ~]# cat /etc/centos-release
    CentOS Linux release 7.6.1810 (Core)
    

    说明:cat是连接文件内容并打印到标准输出的命令,后面会讲到该命令;/etc是Linux系统上的一个非常重要的目录,它保存了很多的配置文件;centos-release是该目录下的一个文件,因为我自己使用的Linux发行版本是CentOS 7.6,因此这里会有一个这样的文件。

  7. 时间和日期 - date / cal

    [root@iZwz97tbgo9lkabnat2lo8Z ~]# date
    Wed Jun 20 12:53:19 CST 2018
    [root@iZwz97tbgo9lkabnat2lo8Z ~]# cal
          June 2018
    Su Mo Tu We Th Fr Sa
                    1  2
     3  4  5  6  7  8  9
    10 11 12 13 14 15 16
    17 18 19 20 21 22 23
    24 25 26 27 28 29 30
    [root@iZwz97tbgo9lkabnat2lo8Z ~]# cal 5 2017
          May 2017
    Su Mo Tu We Th Fr Sa
        1  2  3  4  5  6
     7  8  9 10 11 12 13
    14 15 16 17 18 19 20
    21 22 23 24 25 26 27
    28 29 30 31
    
  8. 重启和关机 - reboot / shutdown

    [root ~]# shutdown -h +5
    Shutdown scheduled for Sun 2019-05-26 19:34:27 CST, use 'shutdown -c' to cancel.
    [root ~]# 
    Broadcast message from root (Sun 2019-05-26 19:29:27 CST):
    
    The system is going down for power-off at Sun 2019-05-26 19:34:27 CST!
    [root ~]# shutdown -c
    
    Broadcast message from root (Sun 2019-05-26 19:30:22 CST):
    
    The system shutdown has been cancelled at Sun 2019-05-26 19:31:22 CST!
    [root ~]# shutdown -r 23:58
    Shutdown scheduled for Sun 2019-05-26 23:58:00 CST, use 'shutdown -c' to cancel.
    [root ~]# shutdown -c
    
    Broadcast message from root (Sun 2019-05-26 19:31:06 CST):
    
    The system shutdown has been cancelled at Sun 2019-05-26 19:32:06 CST!
    

    说明:在执行shutdown命令时会向登录系统的用户发出警告,可以在命令后面跟上警告消息来替换默认的警告消息,也可以在-h参数后通过now来表示立刻关机。

  9. 退出登录 - exit / logout

  10. 查看历史命令 - history

    [root@iZwz97tbgo9lkabnat2lo8Z ~]# history
    ...
    452  ls
    453  cd Python-3.6.5/
    454  clear
    455  history
    [root@iZwz97tbgo9lkabnat2lo8Z ~]# !454
    

    说明:查看到历史命令之后,可以用!历史命令编号来重新执行该命令;通过history -c可以清除历史命令。

python全栈100天学习笔记day34linux用户管理及文件系统(代码片段)

用户管理创建和删除用户-useradd/userdel。[roothome]#useraddhellokitty[roothome]#userdelhellokitty-d-创建用户时为用户指定用户主目录-g-创建用户时指定用户所属的用户组创建和删除用户组-groupadd/groupdel。说明:用户组主要是为了方便对一... 查看详情

python全栈100天学习笔记day44web表单介绍及使用(代码片段)

表单的应用我们继续来完成上一章节中的项目,实现“用户注册”和“用户登录”的功能,并限制只有登录的用户才能为老师投票。Django框架中提供了对表单的封装,而且提供了多种不同的使用方式。首先添加用户模... 查看详情

python全栈100天学习笔记day31操作系统发展史

说明:本文中对Linux命令的讲解都是基于名为CentOS的Linux发行版本,我自己使用的是阿里云服务器,系统版本为CentOSLinuxrelease7.6.1810。不同的Linux发行版本在Shell命令和工具程序上会有一些差别,但是这些差别是很小... 查看详情

python全栈100天学习笔记day41django深入理解框架(代码片段)

深入模型在上一个章节中,我们提到了Django是基于MVC架构的Web框架,MVC架构追求的是“模型”和“视图”的解耦合。所谓“模型”说得更直白一些就是数据(的表示),所以通常也被称作“数据模型”。在实... 查看详情

python全栈100天学习笔记day46导入导出excel报表和配置日志(代码片段)

...表=多样的格式+动态的数据有很多的三方库支持在Python程序中写Excel文件,包括xlwt、xlwings、openpyxl、xlswriter、pandas等,其中的xlwt虽然只支持写xls格式的Excel文件&#x 查看详情

python全栈100天学习笔记day46导入导出excel报表和配置日志(代码片段)

...表=多样的格式+动态的数据有很多的三方库支持在Python程序中写Excel文件,包括xlwt、xlwings、openpyxl、xlswriter、pandas等,其中的xlwt虽然只支持写xls格式的Excel文件&#x 查看详情

python全栈100天学习笔记day47django中间件使用(代码片段)

中间件的应用实现登录验证我们继续来完善投票应用。在上一个章节中,我们在用户登录成功后通过session保留了用户信息,接下来我们可以应用做一些调整,要求在为老师投票时必须要先登录,登录过的用户可以... 查看详情

python全栈100天学习笔记day47django中间件使用(代码片段)

中间件的应用实现登录验证我们继续来完善投票应用。在上一个章节中,我们在用户登录成功后通过session保留了用户信息,接下来我们可以应用做一些调整,要求在为老师投票时必须要先登录,登录过的用户可以... 查看详情

python全栈100天学习笔记day36关系型数据库及mysql(代码片段)

关系数据库入门关系数据库概述数据持久化-将数据保存到能够长久保存数据的存储介质中,在掉电的情况下数据也不会丢失。数据库发展史-网状数据库、层次数据库、关系数据库、NoSQL数据库。1970年,IBM的研究员E.F.Codd... 查看详情

python全栈100天学习笔记day40mongodb安装配置及应用(代码片段)

MongoDB概述MongoDB简介MongoDB是2009年问世的一个面向文档的数据库管理系统,由C++语言编写,旨在为Web应用提供可扩展的高性能数据存储解决方案。虽然在划分类别的时候后,MongoDB被认为是NoSQL的产品,但是它... 查看详情

python全栈100天学习笔记day48前后端分离开发入门(代码片段)

前后端分离开发入门在传统的Web应用开发中,大多数的程序员会将浏览器作为前后端的分界线。将浏览器中为用户进行页面展示的部分称之为前端,而将运行在服务器,为前端提供业务逻辑和数据准备的所有代码统称... 查看详情

python全栈100天学习笔记day48前后端分离开发入门(代码片段)

前后端分离开发入门在传统的Web应用开发中,大多数的程序员会将浏览器作为前后端的分界线。将浏览器中为用户进行页面展示的部分称之为前端,而将运行在服务器,为前端提供业务逻辑和数据准备的所有代码统称... 查看详情

python全栈100天学习笔记day39nosql入门及redis概述(代码片段)

NoSQL入门NoSQL概述如今,大多数的计算机系统(包括服务器、PC、移动设备等)都会产生庞大的数据量。其实,早在2012年的时候,全世界每天产生的数据量就达到了2.5EB(艾字节,1EB≈1018B1EB\\approx10^18B1EB... 查看详情

python全栈100天学习笔记day35linux系统软件安装shell编程及配置服务工具(代码片段)

使用包管理工具yum-YellowdogUpdaterModified。yumsearch:搜索软件包,例如yumsearchnginx。yumlistinstalled:列出已经安装的软件包,例如yumlistinstalled|grepzlib。yuminstall:安装软件包,例如yuminstallngin 查看详情

python全栈100天学习笔记day43django静态资源与ajax请求(代码片段)

静态资源和Ajax请求基于前面的知识,我们已经可以使用Django框架来完成Web应用的开发了。接下来我们就尝试实现一个投票应用,具体的需求是用户进入应用首先查看到“学科介绍”页面,该页面显示了一个学校所开... 查看详情

python全栈100天学习笔记day45cookie和session介绍及使用(代码片段)

Cookie和Session实现用户跟踪如今,一个网站如果不通过某种方式记住你是谁以及你之前在网站的活动情况,失去的就是网站的可用性和便利性,继而很有可能导致网站用户的流式,所以记住一个用户(更专业的... 查看详情

python全栈100天学习笔记day45cookie和session介绍及使用(代码片段)

Cookie和Session实现用户跟踪如今,一个网站如果不通过某种方式记住你是谁以及你之前在网站的活动情况,失去的就是网站的可用性和便利性,继而很有可能导致网站用户的流式,所以记住一个用户(更专业的... 查看详情

python全栈100天学习笔记day37mysql详解(sql语句基本操作含索引视图存储过程)(代码片段)

SQL详解基本操作我们通常可以将SQL分为三类:DDL(数据定义语言)、DML(数据操作语言)和DCL(数据控制语言)。DDL主要用于创建(create)、删除(drop)、修改(alter)数据库中... 查看详情