Linux基础知识

Linux是什么?

想要了解linux,我们就需要先介绍一下计算机。什么是计算机
计算机的功能和组成部分?

计算机是什么呢?它是一种能接收和存储信息 ,并按照存储在其内部的程序对海量数据进行自动、高速地 处理,然后把处理结果输出的现代化智能电子设备。

它的基本功能就是接收用户输入的指令,通过CPU的数学与逻辑单元运算处理后,产生或者存储成有用的信息。

计算机一般分几个等级:超级计算机(SuperCompuer)、大型机(Mainframe Computer)、小型机(MiniComputer)、微机(Microcomputer)。我们通常所说的计算机就是指Microcomputer,又称为个人计算机。

通过计算机的功能可以看到,计算机必须要有以下几部分组成:

输入单元:如鼠标、键盘、扫描仪等。
中央处理器(CPU):含有运算器、控制器、寄存器、缓存。
输出单元:如显示器、打印机等。

通常我们的计算机系统是由硬件系统软件系统两部分组成的 ,我们上面介绍了硬件系统的组成部分,那么我们在来介绍一下软件系统
软件系统又分为“系统软件”和“应用软件”。
应用软件分为:通用软件和专业软件
系统软件一般就指的是我们通常所说的操作系统

计算机操作系统一般是有核心(kernel)和其提供的接口工具组成的,而我们的Linux就是操作系统的核心,它和众多的GNU自由软件一起组成了GUN/Linux操作系统。

那么开篇提到的Linux是什么呢?
由上可见我们的Linux就是一个操作系统最底层的核心及其提供的核心工具,而且是一个开源的操作系统。
因为我们的Linux是开源的,任何人可获取源码,可执行这个核心程序并对他进行修改,并且这个因为早期的linux都是由黑客工程师开发维护,并没有考虑到一般用户的能力,因此,很多商业公司或非盈利的团体就将Linux核心(含公具)与可运行的软件整合起来,加上自己具有创意的工具程序,让用户直接安装、管理Linux系统,这就有了Linux的发行版。Linux开发的时候就使用了POSIX规范,并为了让软件开发商和硬件开发人员有章可循,就有了LSB(Linux Standard Base)和FHS(File system Hierarchy Standard)的诞生,因此Linux各大版本提供的工具和创意上有所不同,但架构上都是类似的。
Linux发行版:(因为发行的公司和团体众多,有数百种之多,我们只介绍几种)

  1. Debian系列:Debian是社区类Linux的典范,1993年lan Murdock 创建
    • ubuntu:是基于Debian的unstable版本加强而来,它是一个拥有 Debian所以的优点,以及自己所加强的优点的近乎完美的Linux桌面系统
    • mint:是基于ubuntu的发行版
    • knopix:第一张Debian的自启动运行光盘
  2. Slackware系列:1993年7月16日由创立者和开发领导者Patrick Volkerding发布,是力图成为“UNIX风格”的Linux发行版本
    • S.u.S.E:来自德国,是欧洲最流行包
    • OpenSUSE:是一个新版本,基于社区,完全开源
  3. RedHat:也称为RedHat系列,它包括:
    • Redhat 9.0:
      RedHat Enterprise Linux: 也就是RedHat 企业版RHEL,收费
    • CentOS: Community ENTerprise OS(RHEL的社区克隆版本,免费)
    • Fedora Core:由RedHat桌面版本发展而来的免费版本
  4. Gentoo:最年轻的发行版,能吸收它之前所以发行版的优点
  5. ArchLinux::基于KISS原则,针对i686的CPU做了优化,以.tar.xz格式打包并由包管理器进行跟踪维护,特别适合动手能力强的linux

Linux的哲学思想:

  1. 一切皆文件。
    • 把几乎所有的资源(包括硬件设备,通信接口等)全部抽象为文件形式,也就是说所有的资源在Linux上以文件形式存在。
  2. 由众多的功能单一的程序组成。一个程序只做一件事情,并做好。组合小程序完成复杂的任务。
    • 一条命令是完成一个任务,这些小程序彼此独立,代码简单,目的明确。多个单独的小程序组合以完成复杂任务,这样便于排错,也让程序运行的更完美
  3. 尽量避免跟用户交互。
    • 易于用编程的方式实现任务的自动化,一个程序开始运行,就不需要用户进行任何操作
  4. 使用文本文件保存配置文件
    • 使用简单的文本编辑就能完成配置

Linux命令的格式:

  • ~]# COMMAND [OPTIONS…] [ARGUMENTS…]
    COMMAND :发起一个命令
    OPTIONS:指定命令的运行特性
    ARGUMNTS:命令的作用对象

Linux常用的命令介绍:

  1. ifconfig命令:查看活动接口的IP地址;或ip addr list
    ifconfig [-v] [-a] [-s] [interface]如:1
  2. echo命令:回显;是一个内建命令
    echo [SHORT-OPTION]… [STRING]…
    如: [root@bogon ~]# echo “hello”

    • -n:不进行换行
    • -e:让转义符生效
      \n:换行
      \t:制表符
      \b:退格键
      “ ”:弱引用,变量会替换
      ’ ‘:强引用,变量不会替换
      例:2
  3. tty命令:查看当前的终端设备
    tty [OPTION]…
    物理终端:/dev/console
    虚拟终端:/dev/tty#[1,6]
    串行终端:/dev/ttyS#
    伪终端: /dev/pts/#
  4. startx命令:启动图形界面的命令
    startx [ [ client ] options … ] [ — [ server ] [ display ] options … ]
  5. export命令:内建命令,设置shell变量导出属性
    export [-fn] [name[=value] …] or export -p
    修改环境变量值得方法:

    • ~]# explort 变量名=“值”
      例:export
  6. pwd命令:显示当前工作目录
    pwd [OPTION]…
  7. history命令:查看或者设置命令历史相关参数
    history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg…]

该命令所对应的几个环境变量:

  • HISTSIZE:命令历史记录的条数
  • HISTFILE: ~/.bash_history 命令历史文件的存放位置
  • HISTFILESIZE:命令历史文件记录历史的条数

该命令的常用选项:

  • -d:删除历史命令中的指定命令
  • -c:清空命令历史
  • -a:手动追加当前会话缓冲区的命令历史至历史文件中
  • -w:把历史文件列表中的命令加至历史文件中
  • -r:从文件读取命令 历史至历史列表中
  1. shutdown命令:关机命令
    shutdown [OPTIONS…] [TIME] [WALL…]

    常用选项:

    • -r:reboot重启
    • -h:halt 关机
    • -c:chancle取消关机
      TIME:
      – now:立刻
      – +m:相对时间表示法,从命令提交开始后多久后
      – hh:mm:绝对时间表示,指命令具体时间
  2. poweroff命令:关机命令      poweroff [OPTIONS…]
  3. reboot命令:重启命令           reboot [OPTIONS…]
  4. hwclock命令:修改时钟包括系统时钟和硬件时钟      hwclock [function] [option…]
    用法:

    • -s:–hctosys 以硬件时间为准来修改系统时间
    • -w:–systohc 以系统时间为准来修改硬件时钟
  5. date:
    显示时间 date [OPTION]… [+FORMAT]

    • %F: 按照指定格式显示
    • %D: 直接显示日期 mm/dd/yy
    • %H:显示小时,如:00…23
    • %M:显示分钟
    • %S:显示秒
    • %s:从1970年1 月1日到现在所经历过的秒数
    • %m:显示月份
      date

设置时间 date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]

  • MM:月份
  • DD:几号
  • hh:小时
  • mm:分钟
  • CC:两位年份
  • CCYY:4位年份
    如:设置系统时间为2015年12月21日15点40分40秒

date2

Linux如何获取命令帮助:

获取命令帮助信息时,内部命令和外部命令获取方式是有区别的

  • 内部命令:help COMMAND
  • 外部命令:
    1. COMMAND –help 或 COMMAND -h
    2. 使用手册:man COMMAND
    3. 信息页 info COMMAND
    4. 程序自带的帮助文档
    5. 程序的官方文档
    6. 发行版的官方文档
    7. Google 搜索

man帮助文档手册页位置:/usr/share/man;
man有8个章节:man1-man8;那么这8个章节是如何划分的呢?
如何查询命令所属章节,我们使用 whatis COMMAND或者man -k COMMAND

  1. 用户命令章节,所有用户都可以使用
  2. 系统调用命令章节
  3. c库调用
  4. 设备及特殊文件
  5. 配置文件的格式及相关参数
  6. 游戏
  7. 杂项
  8. 管理命令

Linux文件系统

Linux系统在安装完成以后,会产生一些固定的目录,来存放一些用户容易识别的固定文件。Linux所识别的第一个被称为与跟直接关联的文件系统,我们称之为根文件系统。
上文中我们提到过LSB和FHS,LSB是Linux的一个组织,它定义了发行版基础目录名称命名法则及公用规定,这种标准叫做FHS,文件系统层级标准。
Linux的基础目录有哪些呢?
我们可以通过~}# ls / 来看以下根下的文件:

ls

  • /boot: 系统引导启动时要加载的静态文件;kernel,initramfs(initrd),grub等
  • /bin: 所有用户可用的基本命令程序文件;
  • /sbin: 供系统管理使用的工具程序;
  • /dev: 存储特使文件或设备文件;
  • /etc: 系统文件的配置文件,只能为静态;
  • /home: 普通用户的家目录统一存放位置;
  • /lib: 为系统启动或根文件系统上的应用程序提供共享库,以及为内核提供内核模块;
  • /lib64: 64位系统特有的存放64位共享库的路径;
  • /media: 便携式移动设备挂载点;
  • /mnt: 临时文件系统挂载点;
  • /opt: 附加应用程序的安装位置;
  • /root: 管理员的家目录;
  • /srv: services简写,当前主机为服务提供的数据;
  • /tmp: 为那些会产生临时文件的程序提供的用于存储临时文件的目录;
  • /usr: 全局共享的只读数据路径;
  • /var: 存储常发生变化的数据路径;
  • /proc:基于内存的虚拟文件系统,用于为内核及进程存储其相关信息;
  • /sys: sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理Linux设备提供了一种统一模型的接口;

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/98050

(0)
夜风夜风
上一篇 2018-05-10
下一篇 2018-05-10

相关推荐

  • 挂载

    转载

    Linux笔记 2018-04-29
  • Linux 基础

    Linux 基础 一.计算机组成及其功能 当今计算机采用冯·诺依曼架构,必须具备的五大基本组成部件,包括: 1.输入数据和程序的输入设备 2.记忆程序和数据的存储器 3.完成数据加工处理的运算器 4.控制程序执行的控制器 5.输出处理结果的输出设备 计算机基本组成结构图 二.Linux的发行版,不同发行版之间的联系与区别 1.Linux 严格来说Linux是…

    2018-05-12
  • 详细说明进行管理工具htop、vmstat等相关命令,并举例

    htop命令: 选项: -d #:指定延迟时间间隔 -u UserName:仅显示指定用户的进程 -s COLUME:以指定字段进行排序 htop -u root -d 10 PID:进程ID USER:用户名 PRI:优先级 NI:nice值 VIRT:Size in memory of the total program size RES:所使用的物理内…

    2018-06-15
  • CentOS系统/boot/下的文件恢复

    如果不小心删除了/boot/下的所有文件,不知道恢复的具体步骤,请您看这里!

    2018-05-11
  • xDroid——一款能够让Android应用程序运行在Linux中的软件

    Linux的生态环境,长久以来一直困扰着广大Linux爱好者。
    虽然Linux具有显著的稳定性、安全性和健壮性优势,但它对使用者计算机水平的高门槛要求,以及应用开发回报慢的问题,始终限制了应用开发者在Linux上的积极投入,由此带来了Linux环境下应用程序少、开发工具少、使用不方便等诸多问题。
    怎么能让Linux向Android一样,拥有数量众多的应用呢?

    Linux笔记 2018-07-02

评论列表(1条)

  • 马哥教育
    马哥教育 2018-05-16 20:33

    命令可以用专门的命令格式写。