linux操作系统 订阅
Linux,全称GNU/Linux,是一套免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年第一次释出,它主要受到Minix和Unix思想的启发,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、oracle linux等。 展开全文
Linux,全称GNU/Linux,是一套免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年第一次释出,它主要受到Minix和Unix思想的启发,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、oracle linux等。
信息
最新测试版本
5.8-rc1
最新版本
5.7.4
类    别
操作系统内核
特    点
免费、可靠、安全、稳定、多平台
更新时间
2020-04-12
创始人
林纳斯·托瓦兹
外文名
Linux
发布时间
1991年10月5日
发行版本
Debian、RedHat、Centos、Slackware、clearlinux.等
linux简介
Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善Linux,使其最大化地适应用户的需要。 [1]  Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux不仅仅是被网络运维人员当作服务器使用,Linux既可以当作服务器,又可以当作网络防火墙是Linux的 一大亮点。 [2]  Linux 具有开放源码、没有版权、技术社区用户多等特点 ,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低。尤其系统中内嵌网络协议栈 ,经过适当的配置就可实现路由器的功能。这些特点使得Linux成为开发路由交换设备的理想开发平台。 [3] 
收起全文
精华内容
下载资源
问答
  • Linux操作系统

    千次阅读 2020-06-30 22:47:36
    Linux操作系统认知1.1 操作系统(Operation System简称OS)1.2 Linux系统介绍1.3 文件系统1.4 Ubuntu使用2. Linux常用命令2.1 终端与命令行2.2 Linux常用命令2.2.1 帮助命令2.2.2 基础操作命令2.2.3 文件操作2.2.4 ...

    Linux 操作系统


    1. Linux操作系统认知

    1.1 操作系统(Operation System简称OS)

    • 定义

      操作系统是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。

      外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PfHr93kp-1593527446048)(./img/OS.png)

    • 操作系统功能

      1. 管理好硬件设备,为用户提供调用方法
      2. 是计算机中最重要的系统环境
      3. 管理各种其他的软件和程序的运行
      4. 对系统中文件进行管理
    • 操作系统分类

      1. 桌面系统:Windows ,macOS为主,图形界面良好用户群体大。
      2. 服务器系统:Linux,Unix为主,安全,稳定,费用低占有量大。windows占有率很低。
      3. 嵌入式系统:Linux为主,主要用于小型只能设备,如只能 手机,机器人等。

    1.2 Linux系统介绍

    • Linux 诞生

      1991 年 林纳斯(Linus) 就读于赫尔辛基大学期间,对 Unix 产生浓厚兴趣,林纳斯 经常要用他的终端 仿真器(Terminal Emulator) 去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件系统,这些在后来成为了 Linux 第一个内核的雏形,当时,他年仅 21 岁!林纳斯利用C做工具,编写了 Linux 内核,一开始 Linux 并不能兼容 Unix只适用于 386,后来经过全世界的网友的帮助,最终能够兼容多种硬件。

      外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cf19tIMO-1593527446052)(img/linus.png)

    • Linux系统特点

      • Linux是一款免费的操作系统
      • 支持多种平台
      • 支持多用户
      • 具有非常强大的网络功能
    • Linux 应用领域

      • Linux 服务器 : 目前是服务器系统中最广泛一种。

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y5cSSseW-1593527446055)(./img/server.jpg)]

      • 桌面应用: 新版本的Linux系统特别在桌面应用方面进行了改进,达到相当的水平

      • 嵌入式系统:由于Linux系统开放源代码,功能多样且具有极大的伸缩性,因此在嵌入式应用的领域有很广阔的应用市场。

    • Linux系统构成

      • 内核: Linux操作系统的核心代码,是Linux系统的心脏,提供了系统的核心功能,用来与硬件交互。

        Linux内核官网 : http://www.kernel.org

      • 文件系统:通常指称管理磁盘数据的系统,可将数据以目录或文件的型式存储。每个文件系统都有自己的特殊格式与功能

      • 命令解释器:它使得用户能够与操作系统进行交互,负责接收用户命令,然后调用操作系统功能。

      • 应用软件:包含桌面系统和基础的软件操作工具等。

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lXpXtPAc-1593527446061)(img/linux.jpg)]

    • Linux发型版本

      严格的来讲,Linux 只是一个系统内核,即计算机软件与硬件通讯之间的平台。一些组织或厂家将 Linux 内核与GNU软件(系统软件和工具)整合起来,并提供一些安装界面和系统设定与管理工具,这样就构成了一个发型套件,目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。

    1.3 文件系统

    • 定义

      文件系统是计算机操作系统的重要的组成部分,用于组织和管理计算机存储设备上的大量文件。

    • 文件系统结构

      • 熟悉的windows文件系统,分不同盘符

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g6jQET6r-1593527446065)(./img/win.png)]

      • Linux的文件组织中没有盘符。将根(/)作为整个文件系统的唯一起点,其他所有目录都从该点出发。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VQa0EPI9-1593527446069)(./img/Linux_f.png)]

    犹如一颗倒置的树,所有存储设备作为这颗树的一个子目录。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-51PIXsH1-1593527446071)(img/linux_fs.jpg)]

    • 普通文件和目录

      • 普通文件:包括文本,压缩包,音频视频等文件都是普通文件。
      • 目录:即文件夹,在Linux系统下多称之为目录。

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GfsS78pW-1593527446072)(./img/dir.png)]

    • 主要目录功能

    1. /bin目录
    
    ​  /bin目录包含了引导启动所需的命令或普通用户可能用的命令(可能在引导启动后)。这些命令都是二进制文件的可执行程序(bin是binary----二进制的简称),多是系统中重要的系统文件。
    
    2. /sbin目录
    
    ​  /sbin目录类似/bin,也用于存储二进制文件。因为其中的大部分文件多是系统管理员使用的基本的系统程序,所以虽然普通用户必要且允许时可以使用,但一般不给普通用户使用。
    
    3. /etc目录
    
    ​  /etc目录存放着各种系统配置文件,其中包括了用户信息文件/etc/ passwd,系统初始化文件/etc/rc等。linux正是因为这些文件才得以正常地运行。
    
    4. /root目录
    
    ​  /root 目录是超级用户的目录。
    
    5. /lib目录
    
    ​  /lib目录是根文件系统上的程序所需的共享库,存放了根文件系统程序运行所需的共享文件。这些文件包含了可被许多程序共享的代码,以避免每个程序都包含有相同的子程序的副本,故可以使得可执行文件变得更小,节省空间。
    
    6. /dev目录
    
    ​  /dev目录存放了设备文件,即设备驱动程序,用户通过这些文件访问外部设备。比如,用户可以通过访问/dev/mouse来访问鼠标的输入,就像访问其他文件一样。
    
    7. /usr文件系统
    
    ​  /usr 是个很重要的目录,通常这一文件系统很大,因为所有程序安装在这里。本地安装的程序和其他东西在/usr/local 下,因为这样可以在升级新版系统或新发行版时无须重新安装全部程序。
    
    8. /var文件系统
    
    ​  /var 包含系统一般运行时要改变的数据。通常这些数据所在的目录的大小是要经常变化或扩充的。
    
    9. /home
    
    ​  /home 普通用户的默认目录,在该目录下,每个用户拥有一个以用户名命名的文件夹。
    
    
    • 绝对路径和相对路径表达
      • 绝对路径:指文件在文件系统中以根目录为起始点的准确位置描述。例如“/usr/bin/gnect”就是绝对路径。最要的标志就是以 ‘/’ 作为路径描述的开头。
      • 相对路径:指相对于用户当前位置为起始点,对一个文件位置的逐层描述。例如,用户处在usr目录中时,只需要“games/gnect”就可确定这个文件。在相对路径描述时 . 表示当前目录, … 表示上一级目录。

    1.4 Ubuntu使用

    作为Linux发行版中的后起之秀,Ubuntu Linux在短短几年时间里便迅速成长为从Linux初学者到资深专家都十分青睐的发行版。由于Ubuntu Linux是开放源代码的自由软件,用户可以登录Ubuntu Linux的官方网址免费下载该软件的安装包。

    Ubuntu官网:https://ubuntu.com/

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4szkBLeU-1593527446074)(./img/ubuntu.png)]

    2. Linux常用命令

    • 学习目的
      1. Linux下有非常丰富的命令,可以用来完成大部分重要的Linux服务器操作维护功能,而且至今有些功能仍然通过命令操作比较方便。
      2. 实际工作中,大量服务器维护工作都是工程师通过远程控制来完成的,并没有图形界面,这时维护工作都需要通过命令来完成。
      3. 作为后端工程师,我们将来所写的代码都需要在服务器上运行,掌握基本的Linux 操作命令有助于我们将来对项目的部署和控制工作。

    2.1 终端与命令行

    • 终端 : 使用命令对Linux系统进行操作的窗口
    • 命令行:书写Linux命令的提示行

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UWWWGH6f-1593527446076)(./img/zd.png)]

    • 打开关闭终端方法
      • 点击图形界面终端图标,通过ctrl+alt +t ,shift+ctrl + t , shift+ctrl+n 都可以快速打开一个终端。
      • 通过图形界面关闭,或者在命令行输入exit。
    • 终端字体大小控制
      • 放大 摁住 ctrl 和 + 号 (不要忘了+号要使用shift)
      • 缩小 摁住 ctrl 和 - 号

    2.2 Linux常用命令

    • 命令格式

      command [-options] [parameter]
      
      说明:
      command:命令名称,一般为英文单词或单词的缩写
      [-options]:命令选项,辅助命令进行功能细化,也可以省略
      parameter:传给命令的参数,可以是0个或多个
      

    2.2.1 帮助命令

    command --help
    

    说明:

    显示 command 命令的帮助信息

    man command
    

    说明:

    • 查阅 command 命令的使用手册,摁q退出

    2.2.2 基础操作命令

    序号 命令 作用
    01 ls 查看当前文件夹下的内容
    02 pwd 查看当前所在文件夹
    03 cd [目录名] 切换文件夹
    04 touch [文件名] 如果文件不存在,新建文件
    05 mkdir [目录名] 创建目录
    06 rm [文件名] 删除指定的文件名
    07 cp 复制一个文件
    08 mv 移动一个文件
    09 clear 清屏
    • 部分命令细节说明
      • ls : -l 展示详细信息,-a展示隐藏文件(Linux下 . 开头的为隐藏文件)。
      • cd: 参数为绝对路径或者相对路径,直接cd表示回到主目录。
      • touch: 可以同时跟多个参数表示创建多个文件。
      • mkdir: -p选项可以创建层目录
      • cp:如果拷贝的是一个目录需要使用 -r ,同时这个命令有另存为的作用
      • mv: 即使移动目录页不需要选项,有重命名的作用。
      • rm:删除表示直接删除,无法找回,如果删除目录需要加 -r选项
      • clear:等同于ctrl-l,清空屏幕。

    小技巧: 使用Tab键可以自动补全文件名,目录名等信息

    • 通配符

      • 作用:对一类文件名称的书写进行简化,例如file1.txt、file2.txt、file3.txt……,用户不必一一输入文件名,可以使用通配符完成。
      通配符 含义 实例
      星号(*) 匹配任意长度的字符串 用file_*.txt,匹配file_wang.txt、file_Lee.txt、file_Liu.txt
      问号(?) 匹配一个长度的字符 用flie_?.txt,匹配file_1.txt、file_2.txt、file_3.txt
      方括号([…]) 匹配其中指定的一个字符 用file_[otr].txt,匹配file_o.txt、file_r.txt和file_t.txt
      方括号([ - ]) 匹配指定的一个字符范围 用file_[a-z].txt,匹配file_a.txt、file_b.txt,直到file_z.txt

    2.2.3 文件操作

    序号 命令 作用
    01 cat 文件名 查看文件内容、创建文件、文件合并、追加文件内容等功能
    02 head 文件名 显示文件头部
    03 tail 文件名 显示文件尾部
    04 grep 搜索文本 文件名 搜索文本文件内容
    05 find 路径 -name 文件名 查找文件
    06 file 文件名 查看文件类型
    07 wc 文件名 查看文件行数,单词数等信息
    08 diff 文件1 文件2 对比两个文件差异
    • 部分命令细节说明
      • head,tail : 选项-n,n表示一个数字,即可指定查看前n行或者后n行,不加选项默认查看10行。
      • grep : -n 用于显示行号,-i忽略大小写
      • wc : -c 表示查看多少字符,-l查看多少行,-w 查看多少单词。如果不加选项则显示这三项。
      • find:会从指定目录及其所有子目录中查询搜索文件。

    2.2.4 压缩解压

    序号 命令 作用
    01 zip ,unzip 将文件压缩为zip格式/将zip格式文件解压
    02 gzip,gunzip 将文件压缩为gz格式/将gz格式文件解压
    03 bzip2,bunzip2 将文件压缩为bz2格式/将bz2格式文件解压
    04 tar 对gz或者bz2格式进行压缩解压
    • 部分命令细节说明
      • zip: 用于常与windows交互的情况,-r选项可以压缩目录

        • zip test.zip filelist

        • unzip test.zip

      • gzip,bzip2:不常用,因为压缩或者解压后源文件就不再了,而且只能对一个文件操作

      • tar:-cjf 用于压缩bz2格式文件,-czf用于压缩gz格式文件,-xvf用于解压文件,兼容了gzip和bzip2命令的功能。

        • tar -czf file.tar.gz file1 file2

        • tar -xvf file.tar.gz

    2.2.5 权限管理

    序号 命令 作用
    01 sudo 放在一个命令前,表示使用管理员权限执行
    02 chmod 修改文件权限
    • 部分命令细节说明

      • sudo: 在打开终端第一次使用sudo时需要输入密码

      • chmod 在设置权限时,可以字母也可以使用三个数字分别对应 拥有者其他 用户的权限

      直接修改文件|目录的 读||执行 权限,但是不能精确到 拥有者||其他
      chmod  augo+/-rwx 文件名/目录名
      

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mtLBq0Vr-1593527446078)(./img/chmod.png)]

      例如:
      777 ===> u=rwx,g=rwx,o=rwx
      755 ===> u=rwx,g=rx,o=rx
      644 ===> u=rw,g=r,o=r

    2.2.6 显示展示命令

    序号 命令 作用
    01 echo 向终端打印内容
    02 date 显示当前时间
    03 df 显示磁盘剩余空间
    04 whoami 显示当前用户
    05 which 显示执行命令所在位置
    • 部分命令细节说明

      • echo : -n表示打印完成不换行

      • df: -h选项以M为单位显示,-T显示文件系统类型 ext4的为磁盘

      • which:命令也是一个程序,实际就是显示程序所在位置

    • 输出重定向

      重定向符 含义 实例
      > file 将file文件重定向为输出源,新建模式 echo “hello world” > out.txt,将执行结果,写到out.txt文件中,若有同名文件将被删除
      >> file 将file文件重定向为输出源,追加模式 ls /usr >> Lsoutput.txt,将ls /usr的执行结果,追加到Lsoutput.txt文件已有内容后
    • 管道

    管道可以把一系列命令连接起来,意味着第一个命令的输出将作为第二个命令的输入,通过管道传递给第二个命令,第二个命令的输出又将作为第三个命令的输入,以此类推。

    	ls | grep 'test'
    

    2.2.7 其他命令

    序号 命令 作用
    01 shutdown 关机或者重启
    02 ln 创建链接
    • 部分命令细节说明
      • shutdown:

        • shutdown -r now 立即重启

        • shutdown now 立即关机

        • shutdown +10 10分钟后关机

        • shutdown -c 取消关机计划

      • ln : 一般使用 -s 选项 创建软链接,相当于快捷方式,如果跨目录创建要使用绝对路径。

        ln -s  hello.py  hello
        

    3. Linux服务器环境

    3.1 vi编译器

    3.1.1 什么是vi

    vi是Linux操作系统中一个自带的编辑器。没有图形界面,只能编译文本内容,没有字体段落等设置,通过命令强大的命令完成一系列的编写工作。

    3.1.2 学习目的

    1. 在实际工作中,要对 服务器上的文件进行 简单 的修改,使用 vi 进行快速的编辑即可。
    2. 对一些配置文件的修改,需要一定的权限,这时vi编辑器是最佳选择。
    3. vi 编辑器在 系统管理、服务器管理编辑文件时,其功能不是图形界面的编辑器能比拟的。

    3.1.3 操作使用

    • 打开和新建文件
    $ vi 文件名
    
    如果文件已经存在,会直接打开该文件
    如果文件不存在,会新建一个文件
    
    • 工作模式

      1. 命令模式
        • 打开文件首先进入命令模式,是使用 vi入口
        • 通过 命令 对文件进行常规的编辑操作,例如:定位翻页复制粘贴删除……
        • 在其他图形编辑器下,通过 快捷键 或者 鼠标 实现的操作,都在 命令模式 下实现
      2. 底行模式 —— 执行 保存退出 等操作
        • 要退出 vi 返回到控制台,需要在末行模式下输入命令
        • 末行模式vi出口
      3. 编辑模式 —— 正常的编辑文字

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZlaLlb0h-1593527446079)(./img/ms.png)]

    • 进入编辑模式命令
    命令 英文 功能 常用
    i insert 在当前字符前插入文本 常用
    I insert 在行首插入文本 较常用
    a append 在当前字符后添加文本
    A append 在行末添加文本 较常用
    o 在当前行后面插入一空行 常用
    O 在当前行前面插入一空行 常用
    • 底行模式常用命令
    命令 功能
    w 保存
    q 退出,如果没有保存,不允许退出
    q! 强行退出,不保存退出
    wq 保存并退出
    • 命令模式常用命令

      • 1)光标移动
        | 命令 | 功能 |
        | :–: | ---- |
        | h | 向左 |
        | j | 向下 |
        | k | 向上 |
        | l | 向右 |

      • 2)行内移动
        | 命令 | 功能 |
        | :–: | ------------------------------ |
        | w | 向后移动一个单词 |
        | b | 向前移动一个单词 |
        | 0 | 行首 |
        | ^ | 行首,第一个不是空白字符的位置 |
        | $ | 行尾 |

        1. 行数移动
      命令 功能
      gg 文件顶部
      G 文件末尾
      :数字 移动到 数字 对应行数
    • 撤销和恢复撤销

    命令 功能
    u 撤销上次命令
    CTRL + r 恢复撤销的命令
    • 删除文本
    命令 功能
    x 删除光标所在字符,或者选中文字
    c 和移动命令连用,删除光标所在位置到指定位置内容
    cw        # 从光标位置删除到单词末尾
    c0        # 从光标位置删除到一行的起始位置
    cb       # 从光标位置删除到单词开头
    
    • 剪切、复制、粘贴
    命令 功能
    yy 复制一行,可以 nyy 复制多行
    dd 删除光标所在行,可以 ndd 复制多行
    p 粘贴
    • 替换
    命令 功能 工作模式
    r 替换当前字符 命令模式
    R 替换当前行光标后的字符 替换模式
    :%s/str/replace/g 替换str为replace 底行模式

    R 命令可以进入 替换模式,替换完成后,按下 ESC 可以回到 命令模式

    • 查找
    命令 功能
    /str 查找 str

    查找到指定内容之后,使用 n 查找下一个出现的位置

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GmI4Ruov-1593527446081)(img/vi.png)]

    3.2 添加用户

    3.2.1 基本概念

    • 用户:Linux操作系统可以有不同的用户,这是系统管理的重要一环,不同的用户有自己独立的空间内容。

    • 用户组:为了方便对用户管理,Linux操作系统使用用户组的概念。将不同的用户添加到对应的组中,可以方便用户设置权限的设置。

    • root用户:Linux系统中的root用户通常用于系统的维护和管理,对操作系统的所有资源具有所有访问权限,一般工作中不会使用root用户进行系统操作,防止一些误操作带来系统损坏。

    3.2.2 用户管理命令

    序号 命令 作用
    01 groupadd 组名 添加组
    02 groupdel 组名 删除组
    03 useradd -m 用户 -g 组 添加用户
    04 passwd 用户名 设置用户密码
    05 userdel -r 用户 删除用户
    06 su 用户 切换用户
    • useradd : -m 表示添加用户时添加主目录,-g表示选择用户所在组,如果不写默认会创建一个与用户同名的组。

      useradd -m levi
      
    • passwd : 设置密码,设置之后才能切换新用户登录

    • 设置密码后为新用户添加sudo权限,打开sudoers文件增加如下内容,然后 :w! 强制保存 :q 退出

      sudo vi /etc/sudoers
      

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SrmYnnbA-1593527446082)(./img/sudo.png)]

      passwd levi
      注意:1. 新创建的用户和密码信息存储在 /etc/passwd文件中
           2. 如果切换用户终端命令行只有一个$ 提示,则vi打开这个文件,将该用户对应的内容修改
      

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RCOQaRZg-1593527446084)(./img/user.png)]

    • userdel: 一般使用-r 彻底删除,如果删除失败说明刚刚使用了改用户,需要重启再删除。或者执行下面命令。

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ApNitUxb-1593527446085)(./img/deluser.png)]

    3.3 软件安装

    Linux下安装的软件包是 deb格式软件包。由于当时Linux系统中软件包存在复杂的依赖关系。因而,通常使用网络安装。

    作用 命令
    升级软件包 apt update
    安装软件 apt install
    卸载软件 apt remove --purge
    删除缓存的软件安装包 apt clean
    • 注意事项 : 安装软件包通常需要使用管理员权限。
    • 软件包下载位置:/var/cache/apt/archives
    sudo apt install sl   # 安装
    sudo apt remove --purge  sl  # 彻底卸载
    

    3.4 ssh服务

    ssh是一种安全协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全。在数据传输方面有很多应用。之前说到,实际工作中经常需要远程访问服务器,ssh就是通用的远程访问服务器的方法。

    • 安装启动

      • 安装ssh服务 : sudo apt install openssh-server

      • 查看ssh服务状态 : ps -e|grep ssh

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QdYweGDl-1593527446087)(./img/ssh1.png)]

      • 启动和关闭 :

        sudo service ssh start/restart/stop

    • 常用命令

    序号 命令 作用
    01 ssh 用户名@ip 登录远程主机
    02 scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径 远程复制文件
    1. ssh登录

      ssh  levi@192.168.100.5    # 登录
      exit                      # 退出
      

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hsERrXyj-1593527446089)(./img/ssh2.png)]

    1. scp拷贝

      
      # 注意:`:` 后面的路径写绝对路径
      scp  demo.py levi@192.168.100.5:/home/tarena
      
      # 把远程主目录下demo.py文件 复制到本地当前目录下
      scp  levi@192.168.100.5:/home/tarena/demo.py  .
      
      # 加上 -r 选项可以传送文件夹
      scp -r demo levi@192.168.100.5:/home/tarena/
      
      
    • ssh秘钥

      • 什么时候使用: 如果使用的客户端个人计算机是自己独有的计算机,经常通过ssh访问服务器,此时不想频繁输入密码,则可以使用秘钥处理。

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hnJ8qh78-1593527446090)(img/ssh.png)]

      • 使用方法

        1. 在个人计算机中生产秘钥对 : ssh-keygen  执行以后会在主目录下生成一个.ssh文件夹,其中包含私钥文件id_rsa和公钥文件id_rsa.pub。
        2. 在服务器主机上创建文件~/.ssh/authorized_keys,将信任的计算机的id_rsa.pub文件内容追加到服务器authorized_keys文件中,并修改其权限为777。
        

    3.5 终端启动Python服务

    在服务器中并没有pycharm这些集成编译工具,所有当我们最后将程序部署在服务器上执行时,往往需要通过终端运行python程序。

    1. 编写python程序在第一行增加解释器声明

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dm4e3YH8-1593527446092)(./img/1.png)]

    1. 修改文件的执行权限

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UucSBvra-1593527446093)(./img/2.png)]

    1. 执行代码

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IiHHbgfQ-1593527446095)(./img/3.png)]

    展开全文
  • Linux操作系统基础(完结)

    万次阅读 多人点赞 2016-03-09 21:00:45
    一、Linux操作系统概述 二、Linux操作系统安装 三、Linux文件系统及文件基础 四、Linux操作系统命令使用基础 五、Linux应用程序的安装与卸载基础 五、用户及进程 六、相关信息查询 七、网络配置 八、Linux...

    #摘要
    一、Linux操作系统概述
    二、Linux操作系统安装
    三、Linux文件系统及文件基础
    四、Linux操作系统命令使用基础
    五、Linux应用程序的安装与卸载基础
    五、用户及进程
    六、相关信息查询
    七、网络配置
    八、Linux应用程序的安装与卸载基础

    #一、Linux操作系统概述

    ##1、发展
    1991 Linus Linux 0.0.1版,代码为8K行。现在最新版本为4.1.4。Linux加入了GNU,整体基于GPL协议,允许开源、分享传播、修改。
    ##2、组成
    ###(1)keanel–内核:
    核心程序,用于管理硬件设备、系统的线程进程、内存、交换空间、文件系统、精灵进程(守护进程)等。主要实现系统程序与硬件之间的控制管理功能。
    ###(2)Shell:
    包裹在内核之外的人机交互界面,用于用户和内核之间打交道的功能,类似于windows的CMD。
    通过Shell将输入的命令与内核通讯,好让内核可以控制硬件开正确无误的操作工作。Shell有着不同的分类,比如Bourne shell(sh),Korn shell(ksh)、C shell (csh)、Bourne-again shell(bash)、tcsh。其中最常用的有csh和bash,其提示符如下:
    sh–Bash :#root $user
    csh–:#root %user
    ###(3)user application
    ###(4)Files System–文件系统,管理文件和目录
    ##3、Linux的特性:
    多用户、多任务(进程、线程处理),多平台,图形化界面(x-windows)、硬件低配置、通信与联网、应用程序的支持(编辑器、编辑工具、数据库、办公软件、图形处理、Internet应用、游戏)
    #二、Linux操作系统安装

    ##1、Linux的选择
    red hat:企业级的,已经开始收费(商用)。
    ubuntu:桌面开源的,比较纯正的Linux,android官方指定的编译操作系统,发展快、已支持ARM架构。
    ##2、安装Ubuntu Desktop
    ###安装前准备
    现在的PC机都可以满足要求。
    ###软件准备
    vmware:http://www.vmware.com/cn
    ubuntu:14
    ubuntu Desktop :桌面版
    ubuntu Server :服务器版
    Cloud Infrastructure :云版本
    ###安装方式
    windows install ,CD,USB
    ###下载镜像ISO
    在ubuntu官网下载即可
    ###安装VMware
    选择典型安装即可,正常安装即可。在需要输入激活码的时候,只需要在网上下载vm10keygen.exe就可以完成激活
    ###新建虚拟机
    选择ubuntu的镜像,正确配置用户名、密码。磁盘设置设置20G,内存1-2G,处理器2两个处理器
    ###开启虚拟机
    配置完成后,开启虚拟机,等待一定时间后就会看到开机登陆界面,其用户密码就是在建立虚拟机时候的密码。
    ###基本操作
    ctrl+alt F2~ 可以进入终端界面
    ctrl+alt F7 进入桌面界面
    ctrl+alt+t 文本编辑
    #三、Linux文件系统及文件基础

    ##1、文件系统概述
    文件系统用来组织计算机的文件和资料的系统,是操作系统封装的一个系统服务程序,实际是一个软件程序,用来存储和管理计算机文件和资料。
    文件系统分类如下:

    	磁盘文件系统:NTFS,EXT3
    	闪存文件系统:JFFS2,YAFFS
    	数据库文件系统:BFFS,WINFS
    	网络文件系统:NFS
    	虚拟文件系统:VFS(Proc)
    

    文件系统的功能:能定义文件的组织方式,文件的结构;提供建立和存取文件的环境(目录和文件)

    ##2、Linux文件系统及文件
    (1)EXT3:是一个日志方式的文件系统,系统中的每个文件都有索引,用户对文件的每个操作都会记录在日志中,形成一个任务队列。
    (2)SWAP:是交换分区的文件系统,类似于windows的虚拟内存,其实现的方式有以下两种:
    第一种是进行内存排列像内存池一样,进行优化;
    第二种是把硬盘上的空间模拟成内存。
    Swap是Linux 的虚拟内存,在安装时要设置好大小,一般设置为物理内存的两倍。
    (3)Linux属性:
    蓝色:目录文件
    绿色:可执行文件
    浅蓝色:链接文件
    红色:压缩文件
    灰色:其他文件
    这里写图片描述
    注:ls 查看目录,ls -l 查看长目录
    cd 转移目录
    pwd 常看当前目录
    (4)目录结构
    linux 的结构是由很多文件块区组成,与Windows分区不同。
    这里写图片描述
    目录
    应放置档案内容
    /bin
    系统有很多放置执行档的目录,但/bin比较特殊。因为/bin放置的是在单人维护模式下还能够被操作的指令。在/bin底下的指令可以被root与一般帐号所使用,主要有:cat,chmod(修改权限), chown, date, mv, mkdir, cp, bash等等常用的指令。
    /boot
    主要放置开机会使用到的档案,包括Linux核心档案以及开机选单与开机所需设定档等等。Linux kernel常用的档名为:vmlinuz ,如果使用的是grub这个开机管理程式,则还会存在/boot/grub/这个目录。
    /dev
    在Linux系统上,任何装置与周边设备都是以档案的型态存在于这个目录当中。 只要通过存取这个目录下的某个档案,就等于存取某个装置。比要重要的档案有/dev/null, /dev/zero, /dev/tty , /dev/lp*, / dev/hd*, /dev/sd*等等
    /etc
    系统主要的设定档几乎都放置在这个目录内,例如人员的帐号密码档、各种服务的启始档等等。 一般来说,这个目录下的各档案属性是可以让一般使用者查阅的,但是只有root有权力修改。 FHS建议不要放置可执行档(binary)在这个目录中。 比较重要的档案有:/etc/inittab, /etc/init.d/, /etc/modprobe.conf, /etc/X11/, /etc/fstab, /etc/sysconfig/等等。 另外,其下重要的目录有:/etc/init.d/ :所有服务的预设启动script都是放在这里的,例如要启动或者关闭iptables的话: /etc/init.d/iptables start、/etc/init.d/ iptables stop
    /etc/xinetd.d/ :这就是所谓的super daemon管理的各项服务的设定档目录。
    /etc/X11/ :与X Window有关的各种设定档都在这里,尤其是xorg.conf或XF86Config这两个X Server的设定档。
    /home
    这是系统预设的使用者家目录(home directory)。 在你新增一个一般使用者帐号时,预设的使用者家目录都会规范到这里来。比较重要的是,家目录有两种代号:
    ~ :代表当前使用者的家目录,而 ~guest:则代表用户名为guest的家目录。
    /lib
    系统的函式库非常的多,而/lib放置的则是在开机时会用到的函式库,以及在/bin或/sbin底下的指令会呼叫的函式库而已 。 什么是函式库呢?妳可以将他想成是外挂,某些指令必须要有这些外挂才能够顺利完成程式的执行之意。 尤其重要的是/lib/modules/这个目录,因为该目录会放置核心相关的模组(驱动程式)。
    /media
    media是媒体的英文,顾名思义,这个/media底下放置的就是可移除的装置。 包括软碟、光碟、DVD等等装置都暂时挂载于此。 常见的档名有:/media/floppy, /media/cdrom等等。
    /mnt
    如果妳想要暂时挂载某些额外的装置,一般建议妳可以放置到这个目录中。在古早时候,这个目录的用途与/media相同啦。 只是有了/media之后,这个目录就用来暂时挂载用了。
    /opt
    这个是给第三方协力软体放置的目录 。 什么是第三方协力软体啊?举例来说,KDE这个桌面管理系统是一个独立的计画,不过他可以安装到Linux系统中,因此KDE的软体就建议放置到此目录下了。 另外,如果妳想要自行安装额外的软体(非原本的distribution提供的),那么也能够将你的软体安装到这里来。 不过,以前的Linux系统中,我们还是习惯放置在/usr/local目录下。
    /root
    系统管理员(root)的家目录。 之所以放在这里,是因为如果进入单人维护模式而仅挂载根目录时,该目录就能够拥有root的家目录,所以我们会希望root的家目录与根目录放置在同一个分区中。
    /sbin
    Linux有非常多指令是用来设定系统环境的,这些指令只有root才能够利用来设定系统,其他使用者最多只能用来查询而已。放在/sbin底下的为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的指令。至于某些伺服器软体程式,一般则放置到/usr/sbin/当中。至于本机自行安装的软体所产生的系统执行档(system binary),则放置到/usr/local/sbin/当中了。常见的指令包括:fdisk, fsck, ifconfig, init, mkfs等等。
    /srv
    srv可以视为service的缩写,是一些网路服务启动之后,这些服务所需要取用的资料目录。 常见的服务例如WWW, FTP等等。 举例来说,WWW伺服器需要的网页资料就可以放置在/srv/www/里面。呵呵,看来平时我们编写的代码应该放到这里了。
    /tmp
    这是让一般使用者或者是正在执行的程序暂时放置档案的地方。这个目录是任何人都能够存取的,所以你需要定期的清理一下。当然,重要资料不可放置在此目录啊。 因为FHS甚至建议在开机时,应该要将/tmp下的资料都删除。
    注意:
    a)目录结构相关资料参考http://www.jb51.net/LINUXjishu/151820.html
    b) 目录的名称区分大小写

    #四、Linux操作系统命令使用基础

    ##1、命令行编辑与别名使用
    ###(1)命令格式
    $command [option(s)] [argument(s)]
    命令名 空格 选项 空格 参数
    注意:

    1. 在命令行中,每两个部分之间有空格分隔
    2. 每个命令行可使用的最多的命令字符是256个
    3. 命令区分大小写
    4. 不同的命令提示符使用分隔符号 “/”
    5. 命令中的参数/选项可以是多个,并且参数其实就是要传入命令程序主函数main的参数。
    6. 更多命令可以百度一下《Linux命令大全》介绍的很详细。
      ###(2)命令别名
      alias alias-name=‘value’ //建立别名
      unalias [-a][别名] 删除别名
      alias 可以列出别名列表
      这里写图片描述
      注意:以上此种方法只是局限于临时重命名,重启机器后就无效了,要想实现永久修改别名可以参考:http://blog.csdn.net/jiajianjunneusoft/article/details/6901625

    ##2、shell的特殊字符
    ###(1)通配符* ?[]

    * :通配0个或多个字符
    ? :通配任意单个字符
    [s] :通配某个范围内的任意一个字符
    比如:
    	cd Desktop
    	cd [A-D]es*
    	
    

    ###(2)一行执行多条命令
    一行执行多条命令:在命令与命令之间用“;”隔开

    cd ; ls
    
    

    ###(3)输入输出重定向
    ####a)输出重定向:>,>>
    > :将一个命令的输出放入文件中
    >> :输出重定向但不会把源文件覆盖,在原文件末尾追加
    将ls的输出结果输出给 sss.txt
    这里写图片描述
    用“>”的输出结果如下
    这里写图片描述
    然后再用“>>”做测试其结果如下
    这里写图片描述

    ####b)输入重定向:<
    下面再实现以下输入重定向:
    这里写图片描述
    ####c)管道符:|
    管道符“|”:将一个进程的输出作为另一个进程的输入

      输入命令 :
    	  ls -l /etc | cat
    	  
    

    这里写图片描述
    显示的结果如上图所示。
    ####c)其他:%,$,~
    % :作业控制,提示符等
    $ : 取某一列的值,取变量值等
    ##3、联机帮助、清屏与历史纪录命令
    ###(1)联机帮助

    	man name
    	man -k keyword
    
    按键 功能
    space 空格键 翻页
    Enter 回车键 翻行
    b 向前翻一屏或一页
    f 向后翻一屏或一页
    q 退出
    /string 查找前面符合string指定的信息
    n 查找下一个符合string指定的信息

    ####(2)清屏 clear
    ####(3)历史纪录 history(history -n)

    history :查看最近使用的命令,最多500条
    history n :曾经使用的最近n条命令
    !n    :执行最近第n条命令
    !!    :执行最近使用的第一条命令
    方向上键:执行上一条命令
    方向下键:执行下一条命令
    

    ##4、文件管理
    ###(1)查看文件目录
    a. pwd:显示当前工作目录
    b. cd [要改变的目录] :改变目录

    cd 	//回到当前用户主目录
    cd ~//回到当前用户主目录
    cd ~[用户名]  //进入指定用户主目录
    

    c. **ls **:列出当前目录的文件和子目录

    命令 作用
    ls 列出当前目录的文件和子目录
    ls -a 列出所有目录、子目录、文件、隐藏文件
    ls -R 列出从当前目录开始的子目录、文件并且一层层往下显示
    ls -F 列出文件、目录名并显示出文件类型
    ls -t 以修改时间为时间倒序来列出文件、子目录
    ls -l 以长列表格式显示文件、目录的详细信息

    d. file

    功能说明:辨识文件类型。

    语  法:file [-beLvz][-f <名称文件>][-m <魔法数字文件>…][文件或目录…]

    补充说明:通过file指令,我们得以辨识该文件的类型。

    参  数:
     -b  列出辨识结果时,不显示文件名称。
     -c  详细显示指令执行过程,便于排错或分析程序执行的情形。
     -f<名称文件>  指定名称文件,其内容有一个或多个文件名称呢感,让file依序辨识这些文件,格式为每列一个文件名称。
     -L  直接显示符号连接所指向的文件的类别。
     -m<魔法数字文件>  指定魔法数字文件。
     -v  显示版本信息。
     -z  尝试去解读压缩文件的内容。

    ###(2)创建和删除文件目录
    ####1、创建文件

    touch filename //创建文件
    /*
    文件名不存在,则创建一个新的空文件
    如果文件名存在,更新该文件的修改访问时间,内容不变
    */
    

    功能说明:改变文件或目录时间。

    语  法:touch [-acfm][-d <日期时间>][-r <参考文件或目录>][-t <日期时间>][–help]   [–version][文件或目录…] 或 touch [-acfm][–help][–version][日期时间][文件或目录…]

    补充说明:使用touch指令可更改文件或目录的日期时间,包括存取时间和更改时间。

    参  数:
     -a或–time=atime或–time=access或–time=use  只更改存取时间。
     -c或–no-create  不建立任何文件。
     -d<时间日期>  使用指定的日期时间,而非现在的时间。
     -f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
     -m或–time=mtime或–time=modify  只更改变动时间。
     -r<参考文件或目录>  把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同。
     -t<日期时间>  使用指定的日期时间,而非现在的时间。
     --help  在线帮助。
     --version  显示版本信息。

    ####2、创建目录
    功能说明:建立目录

    语  法:mkdir [-p][–help][–version][-m <目录属性>][目录名称]

    补充说明:mkdir可建立目录并同时设置目录的权限。

    参  数:
    -m<目录属性>或–mode<目录属性> 建立目录时同时设置目录的权限。
    -p或–parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录。
    –help 显示帮助。
    –verbose 执行时显示详细的信息。
    –version 显示版本信息。
    ####3、删除文件
    rm(remove)

    功能说明:删除文件或目录。

    语  法:rm [-dfirv][–help][–version][文件或目录…]

    补充说明:执行rm指令可删除文件或目录,如欲删除目录必须加上参数"-r",否则预设仅会删除文件。
    参  数:
     -d或–directory  直接把欲删除的目录的硬连接数据删成0,删除该目录。
     -f或–force  强制删除文件或目录。
     -i或–interactive  删除既有文件或目录之前先询问用户。
     -r或-R或–recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
     -v或–verbose  显示指令执行过程。
     --help  在线帮助。
     --version  显示版本信息。

    ####4、删除目录
    rmdir(remove directory)

    功能说明:删除目录。

    语  法:rmdir [-p][–help][–ignore-fail-on-non-empty][–verbose][–version][目录…]

    补充说明:当有空目录要删除时,可使用rmdir指令。

    参  数:
    -p或–parents 删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除。
    –help 在线帮助。
    –ignore-fail-on-non-empty 忽略非空目录的错误信息。
    –verbose 显示指令执行过程。
    –version 显示版本信息。

    ###(3)显示文件内容
    cat
    使用权限:所有使用者
    使用方式:cat [-AbeEnstTuv] [–help] [–version] fileName
    说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案)
    参数:
    -n 或 --number 由 1 开始对所有输出的行数编号
    -b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
    -s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
    -v 或 --show-nonprinting
    范例:
    cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
    cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。

    cat < /dev/stdin > 1.txt //利用输入重定向 CRTL+D 结束输入
    cat /dev/null > 1.txt   //输出重定向进行清空
    
    

    head:查找文件的前多少行

    head [-n] filename
    

    tail :查找文件的莫问多少行

    tail [-n] filename
    

    more: 分屏显示

    more filename
    

    ###(4)拷贝和移动文件目录

    cp 源文件 目标文件
    

    cp(copy)

    功能说明:复制文件或目录。

    语  法:cp [-abdfilpPrRsuvx][-S <备份字尾字符串>][-V <备份方式>][–help][–spares=<使用时机>][–version][源文件或目录][目标文件或目录] [目的目录]

    补充说明:cp指令用在复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,而最后的目的地并非是一个已存在的目录,则会出现错误信息。

    mv [源文件、目录] [目的文件、目录]
    

    功能说明:移动或更名现有的文件或目录。

    语  法:mv [-bfiuv][–help][–version][-S <附加字尾>][-V <方法>][源文件或目录][目标文件或目录]

    补充说明:mv可移动文件或目录,或是更改文件或目录的名称。

    参  数:
     -b或–backup  若需覆盖文件,则覆盖前先行备份。
     -f或–force  若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文 件或目录。
     -i或–interactive  覆盖前先行询问用户。
     -S<附加字尾>或
     --suffix=<附加字尾>  与-b参数一并使用,可指定备份文件的所要附加的字尾。
     -u或–update  在移动或更改文件名时,若目标文件已存在,且其文件日期比源文件新,则不覆盖目标文件。
     -v或–verbose  执行时显示详细的信息。
     -V=<方法>或
     --version-control=<方法>  与-b参数一并使用,可指定备份的方法。
     --help  显示帮助。
     --version  显示版本信息

    ###(5)文件目录权限

    1. 权限

    Linux系统中的每个文件和木兰路都有访问许可权限,用他来确定能过何种方式对文件和目录进行访问和操作。
    权限分类:
    r 读权限: 可以打开文件、目录读取查看;
    w 写权限 :对文件、目录可以编写更改;
    x 可执行 :对文件可执行(可执行文件)、对目录可查找该目录下的内容

    1. 没有权限

      Ls -l
      -rwxr(所有者) -xr(所在组) -x(其他人)
      读写操作对应
      | 文件类型 | 目录 | 文件 |
      | ------------- |:------------😐 :-----😐
      | 读操作 | 可以产看目录的内容(ls)|可以打开文件查看文件下的内容(cat、more、head、tail)|
      | 写操作 | 可以添加删除目录文件(rm、rmdir、mkdir) | 可以打开文件修改文件内容(vi、vim、cp) |
      |执行操作 | 可以进入该目录(cd) |可以执行文件或当成命令 |
      ####2. 权限所属对象
      文件所有者:生成文件或目录的当前人,权限最高,用u表示。
      文件所属用户组:系统管理员分配的的同组一个或几个人,用g表示。
      其他人对此文件的权限:除拥有者、用户组以外的人,用o 表示。
      所有人:包括拥有者,所属用户组、其他用户,用a表示
      ####3. 列表内容
      (1)chmod:修改文件目录的访问权限,修改权限的前提条件是在修改权限时具有可操作权限。
      (a)用字母表示权限
      Who(u、g、o、a)+cp(“=”设置权限“+”添加权限“-”删除权限)+permission(“r”读权限“w”写权限“x”操作权限)
      例如:
      chmod g=wr 1.c;
      chmod u+w,g-w,o=wr 1.c
      (b)用八进制数字表示权限
      r w x
      0 0 0 无权限
      1 1 1 有权限
      R:4,w;2,x:1
      例如
      Chmod 777 build 将build的权限成所有人rwx
      注意:在Ubuntu中建立的文件默认权限是664
      (2) Chown改变文件的所属者和所属组
      Chown [选项] 用户组或者
      (3)chgroup改变文件或目录所属组

    ###(6)查找文件
    1、Find:查找文件
    find path expression [action]
    find 的使用条件所查找的路径必须具有读权限。
    查找选项通过文件属性来查找
    -name 按照名字查询
    -user 按照用户(文件的属主)
    -size 按照文件的大小
    -mtime 按照最后一次修改时间
    -atime 按照最后一次访问时间
    -type 按照文件类型 f:file d:directory
    -perm :按照文件的权限
    例如:
    find . -user root
    177 find / -name b*
    178 find / -name b* -print
    179 ls
    180 ls;find . -name 1* -type f: -print
    181 ls;find . -name 1* -type f -print
    182 ls;find …/ -name 1* -type f -print
    183 ls;find …/ -name 1* -type f -print
    2、Locate
    locate
    功能说明:查找文件。

    语  法:locate [-d <数据库文件>][–help][–version][范本样式…]

    补充说明:locate指令用于查找符合条件的文件,它会去保存文件与目录名称的数据库内,查找合乎范本样式条件的文件或目录。

    参  数:
     -d<数据库文件>或–database=<数据库文件> 设置locate指令使用的数据库。locate指令预设的数据库位于/var/lib/slocate目录里,文件名为slocate.db,您可使用这个参数另行指定。
     --help  在线帮助。
     --version  显示版本信息。
    注意:对于新建的目录需要跟新数据库才能查看,updatedb
    ###(7)过滤和统计
    ####grep
    查出包含某些字符串的结果,对文件或输出结果进行过滤,对于大小写有一定 要求。

    grep [option] string filename
    
    

    补充说明:grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为“-”,则grep指令会从标准输入设备读取数据。
    -i 忽略大小写
    -v 反向匹配(查出不包含字符串的结果)
    这里写图片描述
    例1在1.c文件中查找含有in的语句
    下面写一条语句实现将该文件目录下含有“root”的语句存放在 ls_root.txt文档中
    实现如下图所示:
    这里写图片描述

    例2 在当前目录下建立test1.txt和test2.txt 文档,分别存“hello world (test1);”和“hello world from test 2”。
    列出当前目录下含有test的文件,然后将内容中含有“test2”的语句输出到result文件中。

    	touch result.txt
    	ls test*.txt | xargs grep test2 \
    	>  > result.txt  ; cat result.txt  
    	
    

    这里写图片描述
    注意: xargs :上一管道输出的结果为两个,作为下一管道的输入参数

    ####wc
    wc:统计文件或输出的结果

    wc [选项] 文件名
    - l 统计多少行
    - w 统计多少单词
    - c 统计多少个字符
    

    例:

    这里写图片描述

    例:显示当前目录先有多少个test开头的文档
    这里写图片描述

    #五、用户及进程

    ##1、日期时间进程查看
    a)date: 显示日期时间
    b)cal :显示日历
    cal 年份 月份
    ##2、进程查询
    ps 列出当前系统中运行的进程

    进程:能完成某项任务的程序。
    ps [选项]
    ps :列出自己当前终端下的相关进程

    这里写图片描述

    ps -e :列出当前正在运行的进程

    这里写图片描述

    ps -f :列出一个完成的进程列表形式

    这里写图片描述

    ps -U :查找某个用户的进程

    **-auwx :**列出一个完成的进程列表形式,与-f下的形式不同

    这里写图片描述
    ##3、用户管理
    ###a)su

    su 用户名 :切换账户

    ###b)sudo
    sudo :以管理员权限运行

    ##4、电源管理
    ###a)shutdown
    安全关闭或重启Linux系统,它在系统关闭之前给系统上的所有登陆用户提示一条警告信息。该命令还允许用户指定一个时间参数、可以是一个精确的时间、也可以是从现在开始的一段时间。
    精确时间的格式: hh:mm 表示小时和分钟,时间段由 + 和分钟数表示。系统执行该命令后会自动进行数据同步的工作
    功能说明:系统关机指令。

    语  法:shutdown [-efFhknr][-t 秒数][时间][警告信息]

    补充说明:shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作。

    参  数:
     -c  当执行"shutdown -h 11:50"指令时,只要按+键就可以中断关机的指令。
     -f  重新启动时不执行fsck。
     -F  重新启动时执行fsck。
     -h  将系统关机。
     -k  只是送出信息给所有用户,但不会实际关机。
     -n  不调用init程序进行关机,而由shutdown自己进行。
     -r  shutdown之后重新启动。
     -t<秒数>  送出警告信息和删除信息之间要延迟多少秒。
     [时间]  设置多久时间后执行shutdown指令。
     [警告信息]  要传送给所有登入用户的信息。
    ###b)reboot
    功能说明:重新开机。

    语  法:dreboot [-dfinw]

    补充说明:执行reboot指令可让系统停止运作,并重新开机。

    参  数:
    -d  重新开机时不把数据写入记录文件/var/tmp/wtmp。本参数具有"-n"参数的效果。
    -f  强制重新开机,不调用shutdown指令的功能。
    -i  在重开机之前,先关闭所有网络界面。
    -n  重开机之前不检查是否有未结束的程序。
    -w  仅做测试,并不真的将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件。

    ###c)halt

    功能说明:关闭系统。

    语  法:halt [-dfinpw]

    补充说明:halt会先检测系统的runlevel。若runlevel为0或6,则关闭系统,否则即调用shutdown来关闭系统。

    参  数:
    -d  不要在wtmp中记录。
    -f  不论目前的runlevel为何,不调用shutdown即强制关闭系统。
    -i  在halt之前,关闭全部的网络界面。
    -n  halt前,不用先执行sync。
    -p  halt之后,执行poweroff。
    -w  仅在wtmp中记录,而不实际结束系统。

    ##4、用户管理补充
    ###(1)用户密码要求
    用户的密码要求有6~8个字符,其中至少要包含2个字母、1个数字或特殊字符,而且不能与用户名相同,还要不同于以前的密码,至少要有三个字符不同与以前的密码。

    ###(2)修改密码命令
    passwd
    输入命令 passwd
    输入原密码 **********
    输入新密码
    确认新密码

    注意:在输入密码过程中机器是没有任何动作的
    ###(3)查找用户
    ####id
    查看用户ID(用户名)及其所属组ID(组名)
    ####user
    查看已经登陆到当前系统中的用户,只显示出用户名。
    ####who
    查看用户的详细信息
    ####who am i
    查看当前用户自己的信息
    ####whoanmi
    查看当前用户自己的用户名

    这里写图片描述

    #六、相关信息查询

    ##产看磁盘信息

    ###du

    显示磁盘使用摘要信息
    du 以Block为单位方式显示
    -k 以k字节方式显示
    -m 以m字节方式显示
    -s 显示当前目录下的内容总的占用磁盘的大小,以Block为单位
    以Block单位显示的数字是以k字节方式显示的数字的2倍,1k字节=2个Block
    这里写图片描述
    ###df

    显示整个文件系统的空间使用磁盘情况
    -k 以k字节方式显示
    这里写图片描述

    #七、网络配置

    ##1、ping
    查看当前机器与另一台机器的联通情况
    ping 主机名称或者主机的IP:向ping后面的主机发送数据包,若被ping的主机有回复则表示连通的。

    功能说明:检测主机。
    
    语  法:ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l<前置载入>][-p<范本样式>][-s<数据包大小>][-t<存活数值>][主机名称或IP地址]
    
    补充说明:执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
    
    参  数:
      -d   使用Socket的SO_DEBUG功能。
      -c<完成次数>   设置完成要求回应的次数。
      -f   极限检测。
      -i<间隔秒数>   指定收发信息的间隔时间。
      -I<网络界面>   使用指定的网络界面送出数据包。
      -l<前置载入>   设置在送出要求信息之前,先行发出的数据包。
      -n   只输出数值。
      -p<范本样式>   设置填满数据包的范本样式。
      -q   不显示指令执行过程,开头和结尾的相关信息除外。
      -r   忽略普通的Routing Table,直接将数据包送到远端主机上。
      -R   记录路由过程。
      -s<数据包大小>   设置数据包的大小。
      -t<存活数值>   设置存活数值TTL的大小。
      -v   详细显示指令的执行过程。
    

    这里写图片描述
    ##2、ifconfig
    查看和配置当前机器的网络参数信息

    ifconfig -a // 显示产看当前机器的IP、Netmask、Gateway等网络信息
    ifconfig eth0 up(down) //激活与关闭某个网络适配器
    ifconfig eth0 [ip address] netmask [address] //设置IP和子网掩码
    
    功能说明:显示或设置网络设备。
    语  法:ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<网络设备类型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]
    补充说明:ifconfig可设置网络设备的状态,或是显示目前的设置。
    参  数:
      add<地址>   设置网络设备IPv6的IP地址。
      del<地址>   删除网络设备IPv6的IP地址。
      down   关闭指定的网络设备。
      <hw<网络设备类型><硬件地址>   设置网络设备的类型与硬件地址。
      io_addr<I/O地址>   设置网络设备的I/O地址。
      irq<IRQ地址>   设置网络设备的IRQ。
      media<网络媒介类型>   设置网络设备的媒介类型。
      mem_start<内存地址>   设置网络设备在主内存所占用的起始地址。
      metric<数目>   指定在计算数据包的转送次数时,所要加上的数目。
      mtu<字节>   设置网络设备的MTU。
      netmask<子网掩码>   设置网络设备的子网掩码。
      tunnel<地址>   建立IPv4与IPv6之间的隧道通信地址。
      up   启动指定的网络设备。
      -broadcast<地址>   将要送往指定地址的数据包当成广播数据包来处理。
      -pointopoint<地址>   与指定地址的网络设备建立直接连线,此模式具有保密功能。
      -promisc   关闭或启动指定网络设备的promiscuous模式。
      [IP地址]   指定网络设备的IP地址。
      [网络设备]   指定网络设备的名称。
    

    111

    #八、Linux应用程序的安装与卸载基础


    ##1、Linux安装包
    Linux安装包的通常是tar的格式,同时也支持自己定义的格式。
    在redhat中软件安装包的格式通常是rpm
    在Ubuntu中软件安装包的格式通常是deb
    ##2、 安装包命名通用规则
    在Linux中常用的命名格式是:
    软件名称_版本号-修订版本号_体系架构.扩展名
    ##3、安装包的离线安装及卸载
    dpkg
    dpkg -i 安装
    dpkg -p 卸载
    源文件安装的过程:配置configure >> 编译make >> 安装 make install
    ##4、在线安装及卸载
    安装 :apt-get install
    卸载 :apt-get remove -purge

    #九、Linux系统VI的使用基础篇

    ##1、vim优势:
    a)所有Unix Like系统都会内置vi文本编辑器,其他的文本编辑器则不一定会存在;
    b)很多软件的编辑接口都会主动调用vi
    c)vi具有程序编辑能力,可以主动以字体颜色辨别语法的正确性,方便程序设计;
    d)程序简单编辑速度快。
    ##2、vi的模式:
    ###a)一般模式
    一般模式为默认模式,可以使用上下左右键移动光标,可以删除字符或删除整行,也可以复制、粘贴文件数据。
    ###b)编辑模式
    编辑模式中可以进行行删除、复制、粘贴等操作。但是无法编辑文件内容,需要按下“i I o O a A r R”等任何一个字母之后才会进入编辑模式,在屏幕的下端会有“INSERT”或者“REPLACE”,按“ESC”键可以退出编辑模式
    ###c)命令模式
    在一般模式中,按“:”“/”“?”三个中任何一个按钮,可以将光标移动到最下面一行,在这个模式当中可以提供查找数据的操作、读取、保存、等命令。
    退出保存“:wq”
    强制退出“:q!”

    展开全文
  • Linux操作系统基础

    万次阅读 多人点赞 2018-05-27 12:16:53
    Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机 Linux介绍 Linux出现于1991年,是...

    Linux简介

    Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机
    这里写图片描述

    Linux介绍

    Linux出现于1991年,是由芬兰赫尔辛基大学学生Linus Torvalds和后来加入的众多爱好者共同开发完成

    Linux特点

    多用户,多任务,丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,良好的用户界面,出色的速度性能
    开源

    CentOS

    • 主流:目前的Linux操作系统主要应用于生产环境,主流企业级Linux系统仍旧是RedHat或者CentOS
    • 免费:RedHat 和CentOS差别不大,基于Red Hat Linux 提供的可自由使用源代码的企业CentOS是一个级Linux发行版本
    • 更新方便:CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RedHat 那样需要花钱购买支持服务!

    Linux目录结构

    这里写图片描述

    • bin (binaries)存放二进制可执行文件
    • sbin (super user binaries)存放二进制可执行文件,只有root才能访问
    • etc (etcetera)存放系统配置文件
    • usr (unix shared resources)用于存放共享的系统资源
    • home 存放用户文件的根目录
    • root 超级用户目录
    • dev (devices)用于存放设备文件
    • lib (library)存放跟文件系统中的程序运行所需要的共享库及内核模块
    • mnt (mount)系统管理员安装临时文件系统的安装点
    • boot 存放用于系统引导时使用的各种文件
    • tmp (temporary)用于存放各种临时文件
    • var (variable)用于存放运行时需要改变数据的文件

    Linux常用命令

    命令格式:命令 -选项 参数

    如:ls  -la  /usr
    
    ls:显示文件和目录列表(list)

    常用参数:

    -l      (long)
    -a  (all)         注意隐藏文件、特殊目录.和..   
    -t      (time)

    Linux命令的分类

    内部命令:属于Shell解析器的一部分

    cd 切换目录(change directory)
    pwd 显示当前工作目录(print working directory)
    help 帮助

    外部命令:独立于Shell解析器之外的文件程序

    ls 显示文件和目录列表(list)
    mkdir 创建目录(make directoriy)
    cp 复制文件或目录(copy

    查看帮助文档

    内部命令:help + 命令(help cd)
    外部命令:man + 命令(man ls)

    操作文件或目录常用命令

    pwd 显示当前工作目录(print working directory)
    touch 创建空文件                                 
    mkdir 创建目录(make directoriy)
    -p 父目录不存在情况下先生成父目录 (parents)            
    cp 复制文件或目录(copy)
    -r 递归处理,将指定目录下的文件与子目录一并拷贝(recursive)     
    mv 移动文件或目录、文件或目录改名(move)
    
    rm 删除文件(remove)
    -r 同时删除该目录下的所有文件(recursive)
    -f 强制删除文件或目录(force)
    rmdir 删除空目录(remove directoriy)
    cat显示文本文件内容 (catenate)
    more、less 分页显示文本文件内容
    head、tail查看文本中开头或结尾部分的内容
    haed  -n  5  a.log 查看a.log文件的前5行
    tail  -F b.log 循环读取(follow)
    

    常用命令

    wc 统计文本的行数、字数、字符数(word count)
    -m 统计文本字符数
    -w 统计文本字数
    -l 统计文本行数
    find 在文件系统中查找指定的文件
    find /etc/ -name "aaa"
    grep 在指定的文本文件中查找指定的字符串
    ln 建立链接文件(link)
    -s 对源文件建立符号连接,而非硬连接(symbolic)
    
    top 显示当前系统中耗费资源最多的进程 
    ps 显示瞬间的进程状态
    -e /-A 显示所有进程,环境变量
    -f 全格式
    -a 显示所有用户的所有进程(包括其它用户)
    -u 按用户名和启动时间的顺序来显示进程
    -x 显示无控制终端的进程
    kill 杀死一个进程
    kill -9 pid
    df 显示文件系统磁盘空间的使用情况
    
    du 显示指定的文件(目录)已使用的磁盘空间的总
    -h文件大小以KMG为单位显示(human-readable)
    -s只显示各档案大小的总合(summarize)
    free 显示当前内存和交换空间的使用情况 
    netstat 显示网络状态信息
    -a 显示所有连接和监听端口
    -t (tcp)仅显示tcp相关选项
    -u (udp)仅显示udp相关选项
    -n 拒绝显示别名,能显示数字的全部转化成数字。
    -p 显示建立相关链接的程序名
    ifconfig 网卡网络配置详解 
    ping 测试网络的连通性 
    
    

    备份压缩命令

    gzip 压缩(解压)文件或目录,压缩文件后缀为gz 
    bzip2 压缩(解压)文件或目录,压缩文件后缀为bz2 
    tar 文件、目录打(解)包
    

    gzip命令

    命令格式:gzip [选项] 压缩(解压缩)的文件名
    -d将压缩文件解压(decompress)
    -l显示压缩文件的大小,未压缩文件的大小,压缩比(list)
    -v显示文件名和压缩比(verbose)
    -num用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6
    

    bzip2命令

    命令格式:bzip2 [-cdz] 文档名
    -c将压缩的过程产生的数据输出到屏幕上
    -d解压缩的参数(decompress)
    -z压缩的参数(compress)
    -num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6

    tar命令

    -c 建立一个压缩文件的参数指令(create)
    -x 解开一个压缩文件的参数指令(extract)
    -z 是否需要用 gzip 压缩
    -j 是否需要用 bzip2 压缩
    -v 压缩的过程中显示文件(verbose)
    -f 使用档名,在 f 之后要立即接档名(file)
    

    关机/重启命令

    shutdown系统关机 
    -r 关机后立即重启
    -h 关机后不重新启动
    halt 关机后关闭电源 shutdown -h
    reboot 重新启动 shutdown -r

    学习Linux的好习惯

    • 善于查看man page(manual)等帮助文档
    • 利用好Tab键
    • 掌握好一些快捷键

      ctrl + c(停止当前进程)
      ctrl + r(查看命令历史)
      ctrl + l(清屏,与clear命令作用相同)
      
    展开全文
  • Linux操作系统的诞生与其对现代信息世界的影响

    千次阅读 多人点赞 2020-05-19 11:12:11
    Linux操作系统在各领域迅速扩张的同时,开源社区也得到了快速发展。先后诞生了Git版本控制系统和GitHub开源项目托管平台,开源社区到达了前所未有新阶段。本文通过介绍Linux内核的诞生历程,分析Linux系统的各种...

    写在前面:大家好K。首先为你点进这篇有趣的文章点赞👍!这是一篇原创的Linux课的期末课程论文,资料来源已经写在文章末尾的”参考文献“中。文章在撰写过程中难免有疏漏和错误,欢迎你在下方留言指出文章的不足之处;如果觉得这篇文章对你有用,也欢迎你点赞和留下你的评论。更多内容请点进👉我的博客K。👈阅览。

    摘要:Linux是上个世纪九十年代诞生的一个操作系统内核,它在开源社区发布,经过几十年发展,从Linux内核衍生出了许多发行版本。当前,Linux各个完整的发行版本,已经广泛应用于不同的应用环境。在Linux操作系统在各领域迅速扩张的同时,开源社区也得到了快速发展。先后诞生了Git版本控制系统和GitHub开源项目托管平台,开源社区到达了前所未有新阶段。本文通过介绍Linux内核的诞生历程,分析Linux系统的各种优势和Linux当前在各个领域的发展情况,展现Linux系统对现代信息世界的巨大影响。

    关键词:Linux;开源;Git;Linux的应用


    1 Linux系统的诞生和初步发展

    1.1 Linux系统诞生的时代背景和灵感来源

    1991年9月17日,芬兰人利努斯·托瓦尔兹正式公布了以他名字命名的计算机操作系统内核Linux。当时没人会想到,这将成为软件开源运动的里程碑。

    1981年,IBM公司发布了风靡全球的微型计算机–IBM PC。之后的十年,微型计算机的操作系统一直都是由微软公司的磁盘操作系统DOS主宰。此时计算机硬件的价格虽然逐年下降,但是软件价格仍然很高。

    苹果公司的苹果公司的Mac OS操作系统可以说是当年性能最好的操作系统,但是价格高昂,很少人能轻易负担得起。

    除了这两家以外,当时还有UNIX系统也是一些消费者的选择之一。然而UNIX操作系统的经销商们把价格抬得极高,PC用户根本无法涉及,并且UNIX的源代码是被保护着不公开的。[1]

    面临着这么多的问题,这时计算机软件界出现了Minix操作系统。与此同时ST公司推出了一本描述Minix操作系统设计和实现原理的技术书。这本书写得非常详细,叙述有条有理。于是全世界的计算机爱好者几乎都开始阅读这本书,从中理解和学习操作系统的工作原理,包括后来的Linux操作系统的创始者,芬兰科学家利努斯·托瓦尔兹。

    利努斯·托瓦尔兹在大学期间,为了避免与同学争抢学校的公共计算机,于是便自己用圣诞节压岁钱和贷款买了一台386兼容电脑和Minix操作系统。他开始认真学习有关Intel 80386处理器的指令系统和其他硬件知识,还编制出了一个终端仿真程序。随着逐渐的使用和了解,他意识到Minix系统虽然很好,但它并不强大,只是一个用于教学目的的简单操作系统。考虑到Minix系统的诸多限制,他开始有了编制一个新操作系统的想法。

    1.2 Linux正式发布和发展情况

    到了1991年10月5日,利努斯在网上发布消息,正式宣布他自己开发的系统内核诞生了。他把代码放在当时芬兰最大的FTP网站上,并起名为Linux,含义是“Linus(利努斯)的Minix操作系统”。许多年后,人们才意识到Linux是软件开源运动的里程碑。

    到1994年发表Linux1.0的正式核心时, 大家要利努斯设计一只吉祥物。他突然想到小时候去动物园被一只企鹅追着满地打滚还被咬一口的往事。于是就把企鹅作为吉祥物。

    Linux凭借其最大的优势–开源和免费,逐步扩大了它在市场中的份额。任何人都可以免费地使用或者是修改其中的原始代码,并且Linux对于硬件配备的需求低廉。由于Linux是根据对Minix系统启发得来,而Minix系统又是类UNIX系统,所以Linux系统和UNIX系统很相似。并且Linux对UNIX系统的兼容性很好,从而对程序员来说,将软件从昂贵的UNIX系统移植到Linux系统上的工作量不大,Linux系统得以被许多程序员使用。同时Linux在设计过程中保留了UNIX系统以网络为核心的设计思想,因此其是一种性能非常稳定的网络操作系统。Linux与UNIX相比,Linux还拥有完整的软件管理工具,大大方便了程序员对软件的管理,Linux至此已经比UNIX受欢迎多了。

    早期的Windows不具备多用户模式,而Linux在多用户、多任务方面表现非常优秀,多用户模式不仅能够在Internet模式下给予良好支持,而且还能同时实现对多用户不同请求的同时响应,并针对32位以及64位多任务处理进行支持。尽管微软后来推出了Window NT,从本质上来讲,Windows NT目前已经在用户管理机制等多个方面远远落后于Linux。[2]并且Windows是闭源的软件,程序员更愿意用Linux系统来为硬件配置更高效更轻便的软件环境。

    正是Linux系统易安装、硬件要求低、免费和开源的特点,使得它在各大系统中脱颖而出。

    1.3 Linux系统的不足

    在外设方面,大多厂商没有专门适配Linux版本,Linux系统对某些USB以及PnP等设备并不能进行有效支持。这是Linux现在作为日常操作系统的劣势。

    各个Linux的发行版为了吸引更多新用户使用,纷纷推出了带有图形界面的Linux系统,尽管熟练的程序员更愿意使用Shell脚本来批量运行Linux命令,但是对于新手入门来说,缺少可视化的编程环境和工具来提高对编程的兴趣。[2]

    1.4 Linux系统在中国的现状

    至2020年,中国发展的Linux发行版,控制台的功能已经很大程度得到汉化。可以进行对中文汉字的输入和输出,并且在运行过程中的各种命令提示以及错误信息等都能够实现中文表达。[2]

    尽管我国开发出了国产的Linux发行版,安装上一些日常应用后能够摆脱对外国公司的操作系统的依赖。但是优秀的国产应用程序,特别是网络服务程序,还非常少见。这将是国产操作系统发展的重要方向。[2]


    2 开源社区的发展

    2.1 开源软件的定义

    开源软件是在开源协议下源代码可以被任意获取和修改的计算机软件,软件的作者在软件开源协议的规定下,保留部分权利,并允许任何使用者免费使用、修改和重新发布软件。与开源对应的闭源软件仅获取编译后的二进制可执行文件,只有软件作者拥有程序的源代码。[3]

    2.2 开发者将软件开源的需求和动机

    开发者在公司的工作内容如果简单而重复,这时对工作内容的不满足,但又因为各种原因不能全职地开发自己的项目,再加上开源拥有许多隐性利益如开发能力的提升和成就感,开发者会更愿意将自己的项目开源,让更多人来共同开发和使用自己的作品。

    2.3 开源社区对互联网行业的影响

    开源经历了三个大阶段,先后主要由个人、非营利组织和大企业来引领。

    开源软件如果没有合理管理,开源往往会因为资金枯竭、被其他开发者恶意修改发布而终止。此时,拥有良好的管理者来引领开源软件的发展就显得尤为重要。

    有持续资金的支持、严格的知识产权保护策略和组织对其科学合理的治理,才能造就出良好的开源生态。而往往只有大的组织和企业才有能力进行科学管理,大的组织和企业又能从开源软件中获益,如降低开发成本等,越来越多的企业拥抱开源,形成良性循环,这就吸引越来越多的开发者投入到开源事业中来。

    2.4 Git工具和GitHub平台的诞生

    Linus在1991年创建了开源的Linux,之后Linux系统不断发展,全世界热心的志愿者积极参与到Linux的建设中。在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给利努斯,然后由利努斯本人通过手工方式合并代码。尽管当时有CVS、SVN这些免费的版本控制系统,但是利努斯坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符。

    2002年后,Linux代码量已经十分庞大,不能再用手工方式来管理源代码了,此时一个商业公司BitMover愿意免费为Linux社区提供版本控制系统BitKeeper。但在2005年,因为Linux社区某些黑客试图破解BitKeeper协议,BitMover公司便收回了Linux社区的免费使用权。

    利努斯花了两周时间自己用C写了一个分布式版本控制系统Git。一个月之内,Linux系统的源码已经由Git管理了。Git迅速成为最流行的分布式版本控制系统。

    2008年,GitHub网站上线,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery、PHP、Ruby等。

    2.5 当前我国开源社区的发展情况

    最早我国开源社区的兴起,是为了解决Linux系统的汉化。我国早期通常是从开源社区中获得好处,使用开源软件降低了技术应用门槛,我国国产软件在此期间得以迅速发展。最近几年,我国互联网行业巨头,纷纷将自己的一些项目开源,为国际开源社区贡献中国力量。华为在Linux内核版本4.8至4.13开发周期中贡献度全球排名第15,仅次于甲骨文。同时,各大公司相继推出自主开发的开源项目,如阿里巴巴发布的开源服务框架Dubbo,百度发布的自动驾驶领域的阿波罗(Apollo)等开源软件。

    同时我国政府高度重视开源软件发展,发布多项政策,积极引导社会资源投入,促进开源模式不断成熟。如国务院印发的《“十三五”国家信息化规划》明确指出,支持开源社区创新发展,鼓励我国企业积极加入国际重大核心技术的开源组织,从参与者发展为重要贡献者。

    但是我国本土的开源社区有待发展提高,不足有一缺乏专业的开源软件基金会,二缺少有影响力的领军人物,三缺乏有影响力的开源项目,四尚未形成优良的开源生态。希望我国本土开源社区能够健康持续的发展。[4]

    2.6 小结

    开源是当代计算机技术发展引发的技术革命所带来的面向未来的方法上的创新,是以人为本的创新模式在软件行业的具体体现。但不是要将所有软件开源。在软件行业的发展进程中,开源和闭源各有优势,它们将长期共存,共同促进软件行业持续、健康、稳健的发展。[3]


    3 Linux在各领域中的具体应用

    Linux尽管在日常生活中不经常被提及,但是我们已经直接或间接地接触了Linux系统。

    3.1 Linux系统在服务器中的应用

    Linux因为自身拥有众多优秀特性加上免费开源,占据了服务器操作系统的半壁江山。大多数商业公司为了减轻操作系统对财务的负担,且为了特定环境下的特定需求,通常会修改Linux源代码并进行重新编译,提高运行效率和安全性,已经将Linux作为自己服务器的操作系统。

    因为Linux的网络模块非常优秀,以高速通信网络为载体的Linux集群在现在需要快速和大量计算的场景中应用广泛,如在信息服务、科学计算以及事务处理等方面,具有较强的优势,满足发展需求。以实际为例,科学计算集群的应用为人们提供了全新的模式,可以适应各种前高性能计算,处理大规模复杂的计算,常见的基因数据分析,实现高效的数据处理,以自身的科学计算编程环境为基础,发挥出函数库、数据库的优势,为人们提供优质的服务。[5]

    3.2 Linux系统在移动端的应用

    Android系统作为Linux在移动端设备的发行版,在与苹果iOS手机系统的竞争中,同样因为开源的优势,许多手机厂商在谷歌公司的带领下,共同开发Android系统,贡献自己的力量,同时开发出自己厂商的定制系统,Android系统迅速占领了大部分手机市场。

    3.3 Linux系统在嵌入式系统中的应用

    以往的8位单片机解决的问题相对单一,运算量不大,运算速度低,已经不满足现在需要高速运算的应用场景了。这时新一代的嵌入式系统应运而生。嵌入式系统有三个基本组成部分:嵌入式微处理器、嵌入式操作系统和在其上开发的应用程序。Linux操作系统拥有绝对的优势作为嵌入式操作系统。

    除了Linux系统免费和开源的特性外,Linux核心代码可以裁减到130多字节,这可以大大地降低开发产品的成本和适应嵌入式系统的发展趋势。同时,Linux核心代码采用移植性比较好的C语言编写,所以它可以很容易地移植到很多微处理器上。[6]


    4 总结

    Linux操作系统自诞生以来,优秀的性能和免费开源的特点,深得开发者喜欢。Linux操作系统的广泛使用代表着科技的一大进步,其在科学领域占据了十分重要的地位。目前,Linux操作系统还不完美,还有许多功能需要众多开发者来完善和创造。开源社区也存在不足,还有大量发展空间。但我们相信,随着不断发展,Linux社区和开源社区最终会形成一个完善的体系,并被服务于日常生活和各行各业中,帮助我们提高生活水平和各行业的工作质量。


    参考文献

    [1] 一侃人;. Linux是如何诞生的[J]. 电脑爱好者, 2012, (20): .
    [2] 张志朋;. Linux的特色及发展展望[J]. 中国管理信息化, 2020, (04): .
    [3] 何正方;梁宇;. 开源对软件行业发展的影响[J]. 软件, 2019, (07): .
    [4] 崔静;刘亭杉;. 国际开源软件发展对我国的启示[J]. 科技中国, 2020, (02): .
    [5] 李雪岩;. Linux集群在物探行业的应用现状及发展趋势探讨[J]. 信息技术与信息化, 2020, (03): .
    [6] 王成,刘金刚. 基于Linux的嵌入式操作系统的研究现状及发展展望[J]. 微型机与应用, 2004, (05): .

    展开全文
  • Linux操作系统介绍

    万次阅读 多人点赞 2018-01-09 18:12:34
    一. 什么是Linux? 1.什么是Linux: Linux是一款广泛应用在服务器上的操作系统。 2.什么是操作系统: 操作系统是硬件基础上的第一层软件, 应用...由于Linux多用户的特点,Linux操作系统广泛应用于服务器上。 二.
  • 趣谈linux操作系统

    千次阅读 2019-08-31 18:07:53
    学习掌握linux原理[包括Linux 操作系统的基础知识], 理论指导实践, 以期达到熟悉地在linux下工作. 2. 学习 2.1 测试 https://blog.csdn.net/william_n/article/details/103886154 ...
  • 深度探索Linux操作系统:系统构建和原理解析

    千次下载 热门讨论 2014-10-13 15:46:25
    深度阐释Linux操作系统原理的里程碑之作,由拥有超过10年研发经验的资深Linux专家撰写 以从零开始构建一个完整的Linux操作系统的过程为依托,宏观上全面厘清了构成Linux操作系统的各个组件以及它们之间的关系,微观...
  • linux操作系统的基本认识

    万次阅读 多人点赞 2018-10-10 12:58:29
    我刚开始学这个东西的时候也不太清楚,只是听别人说linux操作系统什么的。那linux到底是什么?我们来认识一下:  Linux是最知名和最常用的开源操作系统。作为一个操作系统,Linux是一个软件,位于计算机上的所有...
  • 了解Linux操作系统

    千次阅读 2017-07-05 14:59:05
    由于工作的需要,以后会经常跟Linux操作系统打交道。操作系统简称为OS。 (一)操作系统向上可以与应用程序交互,向下可以与设备的底层的硬件打交道,所以操作系统是一种呈上启下的一种特殊的软件。 简略的过程...
  • 带你简单了解Linux操作系统

    千次阅读 多人点赞 2020-09-05 09:50:07
    Linux操作系统简述 这里写目录标题Linux操作系统简述什么是操作系统?Linux操作系统Linux系统之父Linux为什么受欢迎?Linux发行版本Linux发行版选择建议CentOS-社区企业操作系统CentOS版本选择 什么是操作系统? ...
  • 1.2 Unix/Linux操作系统介绍 1.2.1 Unix家族 1.2.2Linux家族 1.2.3Linux的两类用户 1.2.4Linux的远亲 1.2.5Linux和Unix的联系 1.2.6Linux内核及发行版介绍 1.2.7Unix/Linux开发应用领域介绍 1.1 操作系统的...
  • Linux操作系统基础知识

    万次阅读 多人点赞 2018-06-05 10:42:57
    一.Linux操作系统的起源1.linux操作系统是一种类Unix操作系统,他的发展与Unix操作系统息息相关。2.Unix操作系统的发展(1)1969年,Unix系统的第一个版本由Ken Thompson在DECPDP-7计算机上实现,实现了一个文件系统...
  • Linux 操作系统!开篇!!!

    千次阅读 多人点赞 2020-07-02 13:02:38
    此篇文章主要会带你介绍 Linux 操作系统,包括 Linux 本身、Linux 如何使用、以及系统调用和 Linux 是如何工作的。 Linux 简介 UNIX 是一个交互式系统,用于同时处理多进程和多用户同时在线。为什么要说 UNIX,那是...
  • VMware虚拟机中安装 Linux 操作系统

    万次阅读 多人点赞 2019-05-25 23:12:56
    四、选择Linux操作系统,版本选择Red Hat Enterprise Linux 7 64位,点击下一步。 五、虚拟机名称可默认也可自行命名,安装位置依照自己喜好而定,点击下一步。 六、学习RHCSA时,处理器数量1个就够用了,然后点击...
  • Linux从0到1:安装Linux操作系统(超级详细版)

    万次阅读 多人点赞 2018-06-28 10:31:09
    分享一下安装Linxu操作系统的流程 安装虚拟机 首先自己进行Vmware workstation的安装,打开此软件进行以下步骤...操作系统类型,选择Linux centos 64 自定义虚拟机名称,和文件夹位置(建议D:\VM\Centos7-1-64...
  • 如何查看Linux操作系统版本

    万次阅读 2018-11-30 10:28:31
    ...如何查看Linux操作系统版本 1. 查看内核版本命令:   [root@tg ]# cat /proc/version  Linux version 3.10.0-693.2.2.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4....
  • Linux操作系统之操作命令大全

    万次阅读 多人点赞 2019-02-01 12:09:02
    文件操作命令 1.df 显示磁盘使用情况 2.du 显示文件系统使用情况 3.ls 显示目录 普通使用:ls ls -l ll 查看多个目录:ls / /ect 查看/ 和/etc下的文件 查看隐藏文件:ls -a  4.cd ...
  • Linux操作系统》基础

    千次阅读 2019-12-09 22:40:07
    1. Linux操作系统的核心程序由芬兰赫尔辛基大学的一名学生编写。 2. Linux操作系统是一款免费使用且可以自由传播的类UNIX操作系统,它支持、、多线程及多CPU,从其诞生到现在,性能逐步得到了稳定提升。 3. Linux...
  • Linux操作系统分类详解

    千次阅读 2017-08-11 10:38:57
    Linux 操作系统的发行版本可以大体分为两类 Redhat 和 Debian ; Redhat , 应该说是在国内使用人群最多的 Linux 版本 , 甚至有人将 Redhat 等同于 Linux 操作系统 , 而有些老鸟更是只用这一个版本的 Linux 操作系统 ;...
  • 常用Linux操作系统的发展历史

    千次阅读 2020-06-29 23:54:58
    Linux操作系统常见Linux操作系统的发展历史UbuntuUbuntu常用命令CentOSreadhat 常见Linux操作系统的发展历史 Ubuntu Ubuntu 的版本更新周期 桌面版和服务器版本更新的时间是 6 个月 Ubuntu 的版本支持时间 ...
  • linux操作系统学习心得

    千次阅读 2017-08-16 05:19:49
    经过这一段时间的学习,自己对Linux也有了一定的认识,今天这篇...第二篇:《Linux操作系统分析》之分析精简的Linux的内核中断和时间片轮询第三篇:《Linux操作系统分析》之跟踪分析Linux内核的启动过程第四篇:《Linu
  • VirtualBox安装linux操作系统

    千次阅读 2019-09-25 10:24:32
    有时,物理机并不能用于安装Linux操作系统,因为你还需要在Windows进行一些日常操作,或者硬盘上存了很多东西,怕有个闪失,得不偿失,可是又想领略Linux的魅力,或者说就是想敲几个Linux命令找找感觉, 最简单的方式...
  • Linux入门(一)认识Linux操作系统

    千次阅读 2019-01-10 20:55:05
    我们知道,我们日常使用的操作系统都是windows操作系统,个别经济条件好一点的使用IOS操作系统,而与他们并驾齐驱的就是Linux操作系统,它经常被用作服务器,所以我们日常很少去使用! Linux是一套免费使用和自由...
  • Linux操作系统的层次

    千次阅读 2018-03-29 13:28:06
    简单来说,Linux操作系统整体分为三层 最底层的硬件系统,包括CPU、内存、硬盘、网卡等; 硬件系统之上是内核,这是操作系统的核心,负责管理硬件系统,同时为上层的应用程序提供操作接口; 用户进程在这表示...
  • 如何查看Linux操作系统版本?

    万次阅读 2017-11-28 20:36:48
    参考地址:... 如何查看Linux操作系统版本? 1. 查看内核版本命令: $ cat /proc/version Linux version 2.6.32-358.el6.x86_64 (mockbuild@c6b8.bsys.dev.centos.org) (gcc version 4.4.7 2012031
  • Linux操作系统的启动过程

    万次阅读 2018-11-09 06:32:25
    本文主要介绍了Linux操作系统的启动过程,对于各个阶段的工作内容进行了说明。
  • Linux操作系统入门(1)

    万次阅读 多人点赞 2018-09-25 21:52:28
    Linux操作系统的诞生及其主要特性  Linux操作系统诞生于1991 年10 月5 日,这是第一次对外公布的时间,创始人林纳斯·托瓦兹。  Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。...
  • 嵌入式Linux操作系统简介

    千次阅读 2015-12-27 21:04:09
    嵌入式Linux操作系统介绍  嵌入式Linux操作系统,是个与生俱来的网络操作系统且成熟稳定。其为开源软件且源代码开放,不存在黑箱技术,按照GPL公约任何人都可以对它进行修改添加新的功能形成自己的产品。可以对...
  • 查看Linux操作系统版本

    千次阅读 2018-05-08 11:32:54
    参考地址:...amp;fps=1如何查看Linux操作系统版本?1. 查看内核版本命令:$ cat /proc/version Linux version 2.6.32-358.el6.x86_64 (mockbuild@c6b8.bsys.dev....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 224,882
精华内容 89,952
关键字:

linux操作系统

linux 订阅