每天努力一点点,坚持下去 ------ 博客首页

Linux 基础知识

Linux概念:

  • 简单点说,linux就是一个(开源的)操作系统,和windows、mac的os x 一样。

  • Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIXUNIX的多用户、多任务、支持多线程和多CPU的操作系统。

Linux 本身只是操作系统的内核。内核是使其它程序能够运行的基础。它实现了多任务和硬件管理,用户或者系统管理员交互运行的所有程序实际上都运行在内核之上。其中有些程序是必需的,比如说,命令行解释器(shell),它用于用户交互和编写 shell 脚本。 Linux 没有自己去开发这些应用程序,而是使用已有的自由软件。这减少了搭建开发环境所需花费的工作量。实际上,他经常改写内核,使得那些程序能够更容易地在 Linux 上运行。许多重要的软件,包括 C 编译器,都来自于自由软件基金 GNU 项目。GNU 项目开始于 1984 年,目的是为了开发一个完全类似于 UNIX 的免费操作系统。为了表扬 GNU 对 Linux 的贡献,许多人把 Linux 称为 GNU/Linux(GNU 有自己的内核)。

Linux内核主要功能

  • 与计算机硬件进行交互,实现对硬件对编程控制和接口操作,调度对硬件资源对访问,并为计算机上的用户程序提供一个高级的执行环境和对硬件对虚拟接口
  • 按功能模块分为:
  • 进程调度
    • 文件管理
    • 内存管理
    • 进程间通信和网络接口

Linux的特点

  • Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux不仅仅是被网络运维人员当作服务器使用,它还被当作服务器,甚至当作网络防火墙,这是Linux的一大亮点。 
  • Linux具有开放源码、没有版权、技术社区用户多等特点,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低。尤其系统中内嵌网络协议栈,经过适当的配置就可实现路由器的功能。这些特点使得Linux成为开发路由交换设备的理想开发平台。
  • 可靠性高
  • 良好的可移植性良好的开放性
    • Linux是世界上唯一能够在嵌入式设备、个人计算机、服务器、小型机甚至大型机上运行的操作系统
  • 强大的网络功能
    • 可以充当应用服务器、文件服务器、打印服务器、邮件服务器、新闻 服务器等
  • 强大的数据库支持支持多种文件系统支持多用户
    • 支持Oracle、Sqlite、Sybase、DB2、MySQL、PostgreSQL
  • 不像是windows会有CDF盘,只有一个根路径,/ : 代表linux最顶级的根目录(相当于【我的电脑】)。

  • 树状结构,/为最高的根目录

  • root:root用户的个人文件夹(家目录)

  • bin:存放多数用户可用的命令

  • boot:存放启动文件和配置信息,系统启动时会用

  • dev:存放设备文件,/dev/hdc代表光驱

  • etc:存放服务配置文件

  • home:其他用户的家目录

  • lib:存放程序运行所需要的库文件

  • media:可移动设备的挂载目录

  • mnt:设备挂载目录

  • usr:用户程序存放目录

  • var:存放经常改动的数据文件

  • tmp:存放临时文件

/ home : 这个目录是所有用户的家目录,[ 末尾是~ ]说明是在家目录里面。

连接服务器:IP、账号、密码。

Windows:xshell、crt

mac: crt

设置环境变量

  • 简单的说计算机在执行命令的时候是在环境变量找对应的命令的位置的。如果不正确设置环境变量就不能正确使用相应的命令

  • Linux中系统变量是在/etc/profile目录下的,用户的环境变量则在用户的家目录下的.bash_profile文件中,系统环境变量会在开机的时候全部加载,用户的环境变量之后在用户登录时加载

  • 比如说没有mysql命令,我们的mysql客户端是在/opt/lammp/bin目录下,那就可以把/opt/lammp/bin加入到/etc/profile就可以使用mysql命令了 export LAMPP=/opt/lampp/bin,然后再source /etc/profile 重新加载一下就可以生效了

Shell编程

  • 什么是shell

    • Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。
    • Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
  • Shell有两种执行命令的方式:

    • 交互式(Interactive):解释执行用户的命令,用户输入一条命令,Shell就解释执行一条。

    • 批处理(Batch):用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令。

常见的几种shell

  • Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本。

  • Unix/Linux上常见的Shell脚本解释器有bash、sh、csh、ksh等,习惯上把它们称作一种Shell。我们常说有多少种Shell,其实说的是Shell脚本解释器。

  • bash

    • bash是Linux标准默认的shell,bash由Brian Fox和Chet Ramey共同完成,是BourneAgain Shell的缩写,内部命令一共有40个。
  • sh

    • sh 由Steve Bourne开发,是Bourne Shell的缩写,sh 是Unix 标准默认的shell。
  • cshksh

    • csh 是Linux比较大的内核,它由以William Joy为代表的共计47位作者编成,共有52个内部命令。该shell其实是指向/bin/tcsh这样的一个shell,也就是说,csh其实就是tcsh
  • ash等等

  • 注意:bash是 Bourne Again Shell 的缩写,是linux标准的默认shell ,它基于Bourne shell,吸收了C shell和Korn shell的一些特性。bash完全兼容sh,也就是说,用sh写的脚本可以不加修改的在bash中执行。


虚拟机网络模式

NAT模式,特点:虚拟机可以访问外网,但与主机不互通

网桥模式:又叫桥接模式,特点:既可以访问外网又可以与主机互通,模拟出独立的网卡

                                           缺点:容易占用主机独立IP,IP不够用时容易出现冲突

Internal模式  特点:相当于在主机和虚拟机之间构建的一个局域网,虚拟机可以访问外网

Host-only模式  又叫主机模式,比较复杂,主机可以访问虚拟机


 

VirtualBox下载路径:https://www.virtualbox.org/wiki/Downloads

Linux-镜像下载链接:

http://mirrors.aliyun.com/deepin-cd/20/deepin-desktop-community-1002-amd64.iso

posted @ 2020-12-28 22:19  他还在坚持嘛  阅读(96)  评论(0编辑  收藏  举报