Linux基础知识汇总

最近在复习嵌入式Linux的基础知识,为了巩固学习,我决定写一篇博文,方便自己的同时也方便他人。

 

一、什么是Linux?

这里需要从贝尔实验室的UNIX说起。

1969年,AT&T公司的贝尔实验室与MIT合作开发的Unix,旨在创建一个用于大型、并行、多用户的操作系统。

Unix的推广是从校园走进企业

那时候的版本主要有两个:

AT&T System V ——就是俗称的“系统5”

Berkley Software Distribution (BSD)

下面是Unix家庭树👇

 Linux是一种操作系统。

1991年,芬兰赫尔辛基大学的学生Linus Torvals为了能让在家的PC机使用跟学校一样的操作系统开始编写了类UNIX.

1991.8.25,Linus就在comp.os.minix新闻 组中首次发布了一个Linux内核的公共版 本。

最初Linus编写的程序只适用于Intel386处理器,且不能移 植。由于人们的鼓励,继续编写可移植的Linux系统。

之后,就有越来越多的计算机爱好者、程序员通过网络参 与到Linux系统的不断完善之中。通过社区、邮件列表、 论坛、WIKI等。

  1. Linux可以做什么?

①个人桌面系统

  • 管理桌面(菜单、图标、窗口等)
  • 听音乐、看视频
  • 使用文字处理、电子表格等办公软件
  • 浏览网页、发送电子邮件
  • 网络聊天
  • 玩游戏等等

②系统服务器

  • 连接Internet网络
  • 使用Linux作为防火墙、路由器和DHCP服务器来保护和管理专用网络
  • 运行WEB服务器(Apache、MySQL和PHP)
  • 运行邮件服务器(使用exim或其他邮件传输代理)
  • 运行打印服务器(使用CUPS)
  • 运行文件服务器(使用FTP、samba、NFS)

③嵌入式系统

嵌入式以应用为中心以计算机技术为基础,并且软硬件可裁剪,适用于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统

二、为什么Linux如此出色?

它有出色的特性:

  • 自由、免费、开源
  • 无需不停的重新引导
  • 在不干扰其他服务器的情况下启动或停止服务
  • 软件的可移植性
  • 可下载的应用程序——绿色软件
  • 没有隐藏在代码或寄存器中的设置
  • 成熟的桌面系统:GNOME、KDE、X Window
  • 不受病毒的困扰

三、Linux操作系统的组件👇

 Linux内核

内核是Linux系统的最底层,提供了系统的核心功能并允许进程以一种有序的方式访问硬件。

用于控制进程、输入、输出设备、文件系统操作、管理内存。

不需要用户参与,系统自动完成

Linux内核支持多用户、多任务模式运行

多用户:同时有多个用户访问系统

多任务:某个时刻有多个程序运行

Linux内核是为特定硬件构建的

能够支持Linux的主要的CPU架构 I386/ ARM/PPC/MIPS

下载内核地址👇

http://www.kernel.org (内核官方网站)

wget http://kernel.org/pub/linux/kernel/...

wget http://kernel.org/.../.../linux-*.bz2.sign

gpg –verify linux-2.xx.tar.bz2.sign

tar jxvf linux-2.xx.tar.bz2  ftp://166.111.8.229/ (教育网内)
                  
                     

四、Shell命令

 Shell是一个命令行解释器,它使得用户能够与操作系统进行交互

shell类型:Bourne Shell(最早的Shell)、C Shell、Ksh、Z Shell

实用程序:

  • 图形用户界面(GUI)——X window、KDE、GNOME
  • 管理程序(控制中心):设置桌面系统的外观、功能、行为、感觉等
  • 应用程序:Linux中可以安装的应用程序有很多很多。Openoffice、firefox、Gaim、XPlay等
  • 编辑工具:包括用来创建专业接口的应用程序和库的编辑应用程序GCC,Java Elcalisp
  • 配置服务器

shell就是我们的控制终端,贝壳,shell主要起到保护内核与解析用户控制指令的作用        
  想查看Ubuntu系统的shell是什么类型:
    me@ubuntu:~$ echo $SHELL
    /bin/bash
    me@ubuntu:~$ ll /bin/sh
    lrwxrwxrwx 1 root root 4 Dec 13 22:22 /bin/sh -> dash*
    me@ubuntu:~$

shell命令格式: 命令    选项   参数
                       ls    -al    filename
             普通   ls         显示当前文件夹下面的文件与文件,不显示隐藏文件或这文件夹
                       ls    -a   显示所有的文件夹文件夹,包括隐藏的
                       ls    -l   显示当前文件夹下面的文件与文件的详细信息,一表格形式显示                   
                       ls    -l    文件名
                       ls    -l    文件夹名   

                                                                  /etc/netplan
        命令行提示符:me                @            ubuntu        :             ~                $
                    登录的用户名称        分隔符        主机名字    分隔符        目录名           权限
                                                                        ~是主目录的缩写        $--普通用户权限
                                                                            /home/me        #--超级管理员权限 root
普通用户权限  :只能操作自己的文件
超级管理员权限 :能操作所有人的文件

五、vim—老牌文本编辑工具

vi——Linux编辑器

vi是Linux中最基本的编辑器,虽然不像图形 界面编辑器那样美观,没有使用鼠标那样方便。 但vi编辑器在系统管理、服务器配置工作中永远都 是无可替代的。一旦图形桌面系统崩溃,vi也许就 是惟一可以依靠的编辑器了。

①vi—开始编辑

新增(append)

--a 从光标所在位置后面开始新增资料,光标后的资料随新增资料向后移动。

--A 从光标所在列最后面的地方开始新增资料

插入(insert)

--i 从光标所在位置前面开始插入资料,光标后的资料随新增资料向后移动

--I 从光标列的第1个非空白字符前面开始插入资料

开始(open)

--o 在光标所在列新增1列并进入输入模式

--O在光标所在列上方新增1列并进入输入模式

②vi—删除与修改

x         删除光标所在位置

dd        删除光标所在行

r        修改光标所在字符,r后接着要修正的字符

R        进入取代状态,新增资料会覆盖原来资料,直到按【ESC】回到指定模式下为止

s        删除光标所在字符,并进入输入模式

S        删除光标所在列,并进入输入模式

③vi—退出命令

<:q>        不保存退出

<:q!>        不保存强制性退出

<:w>        保存编辑

<:w filename>        存入文件filename中

<:w! filename>        强制性存入文件filename中

<:wq>(<:x>)        保存并退出

④vi—光标移动命令

<b>        移动到当前单词的开始

<e>        移动到当前单词的结尾

<w>        向前移动1个单词

<h>        向前移动1个字符

<j>        向上移动1行

<k>        向下移动1行

<l>        向后移动1个字符

⑤vi—改变与替换操作命令

<r>        替换光标所在的字符

<R>        替换字符序列

<cw>        替换1个单词

<ce>同<cw>        

<cb>        替换光标所在的前1字符

<c$>        替换自光标位置至行尾的所有字符

<C>同<c$>

<cc>        替换当前行

⑥拷贝与粘贴命令

</yw>         将光标所在单词拷入剪贴板

<y$>           将光标至行尾的字符拷入剪贴板

<Y>同 <y$>     

<yy>         将当前行拷入剪贴板  

 <p>         将剪贴板中的内容粘贴在光标后

<P>        将剪贴板中的内容粘贴在光标前

六、流行的两种软件包管理机制

 最初,基于Linux系统的开发者在完成应用程序开发后,将 很多二进制文件发给用户,用户使用之前需要将很多程序 逐个安装。

 因此,Debian Linux首先提出“软件包”的管理机制—— Deb软件包,将应用程序的二进制文件、配置文档、 man/info帮助页面等文件合并打包在一个文件中,用户使 用软件包管理器直接操作软件包,完成获取、安装、卸载、 查询等操作。

 随即,Redhat Linux基于这个理念推出了自己的软件包管 理机制——Rpm软件包。当然,Redhat采用了自己的打包 格式生成Rpm包文件,由Rpm包管理器负责安装、维护、 查询,甚至是软件包版本管理。不过,由于Redhat Linux系 统的普及,Rpm软件包被广泛使用。甚至出现第三方开发 的软件管理工具,专门管理Rpm格式的软件包。

 随着Linux操作系统规模的不断扩大,系统中软件 包间复杂的依赖关系,导致Linux用户麻烦不断。

 Debian Linux开发出了APT软件包管理器。

检查和修复软件包依赖关系

 利用Internet网络帮助用户主动获取软件包

 APT工具再次促进了Deb软件包更为广泛地使用, 成为Debian Linux的一个无法替代的亮点

6.1 软件包的类型

Debian包文件包含了二进制可执行文件、库文件、配置文 件和man/info帮助页面等文档。通常Debian包文件的后缀为 “.deb” ,因此称为“Deb软件包” 。Ubuntu有两种类型的 软件包:二进制软件包(deb)和源码包(deb-src)

 二进制软件包(Binary Packages):它包含可执行文件、库文件、 配置文件、man/info页面、版权声明和其它文档。

 源码包(Source Packages):包含软件源代码、版本修改说明、构 建指令以及编译工具等。先由tar工具归档为.tar.gz文件,然后再打 包成.dsc文件。

在用户不确定一个软件包类型时,可以使用file命令查看文件类型。例 如下面命令用于证实一个软件包的文件类型是否是Deb软件包文件

wdl@UbuntuFisher:~$ file g++_4.1.2-9ubuntu2_i386.deb g++_4.1.2-9ubuntu2_i386: Debian binary package (format 2.0)

6.2 软件包的命名

6.3 软件包的优先级

6.4 

七、软件源

7.1 根据软件包的开发组织对该软件的支持程度,以及遵从的开源程度,划分为如 下四类:

核心(Main)官方维护的开源软件,是由Ubuntu官方完全支持的软件, 包括大多数流行的、稳定的开源软件,是Ubuntu默认安装的基本软件包;

公共(Universe)社区维护的开源软件,是由Ubuntu社区的计算机爱 好者维护的软件,是Linux世界中完全自由和开源部分,包括了绝大多数的开 源软件。这些软件都是以“Main”中的软件包为基础,编写而成,因此不会与 “Main”软件包发生冲突。但是这些软件包没有安全升级的保障。用户在使用 Universe软件包时,需要考虑这些软件包存在的不稳定性;

受限(Restricted)官方维护的非开源软件,是专供特殊用途,而且 没有自由软件版权,不能直接修改软件,但依然被Ubuntu团队支持的软件;

多元化(Multiverse)非Ubuntu官方维护的非开源软件,是指那些非 自由软件,通常不能被修改和更新,用户使用这些软件包时,需要特别注意版 权问题

7.2 根据软件包的必要性和安全性,将软件包从另一个角度划分为四类:

安全更新(Security): 稳定的、安全的软件包,是必须要安装的;

最新更新(Updates): 最新完成的更新软件包,建议安装的;

推荐更新(Proposed):提前释放出的更新,处于alpha测试阶段的软件包;

修补性更新(Backports):在Ubuntn旧版本中部分地添加新功能,该类软件包无任何技术支持

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值