Linux基础知识入门

涉及内容:
计算机组成、发行版介绍、哲学思想、基本命令介绍、命令帮助使用、系统基本目录名和功用介绍

计算机组成及其功能

计算机系统由硬件(Hardware)和软件系统(Software)两部分组成;

计算机硬件:

包括:cpu、存储器、输入设备、输出设备、网卡、电源等其它硬件设备;

cpu

  • 组成:运算器、控制器、寄存器、缓存
  • 功能:是中央处理器,是整个计算机系统中最重要的部分

存储器
内存:RAM(Random Access Memory)

  • 功能:它与cpu进行数据交换,是一个高速缓存。计算机的所有程序都运行在内存中

输入设备

  • 代表:键盘、鼠标
  • 功能:下指令,提供数据等

输出设备

  • 代表: 显示器、音响
  • 功能: 输出数据加工的结果

计算机软件:

一般包含:操作系统和应用软件;

操作系统:通用的软件程序
功能:硬件驱动管理、进程管理、内存管理、网络管理、安全管理、文件管理 等等

应用软件:如:Office办公软件
功能:用来解决某类问题而开发的


Linux的发行版

发行版由来:GNU 提供的各种程序都是源码,发行商把GNU的这些源码程序编译成二进制,然后打包对外提供,这就是发行版。

著名发行版:

  • RedHat
    • RedHat Enterprise Linux (简称为RHEL)
      • Centos
      • Oracle Enterprise
    • Fedora Core (桌面版)
  • Debian (以社区方式运行)
    • Ubuntu
      • mint
    • knopix(安全著称)
  • slackware
    • S.u.S.E(界面美)
      • SLES(企业版)
      • OpenSUSE
  • Gentoo
  • ArchLinux

Linux版本号

内核版本号由三部分组成:

  • major(主版本号)
  • minor(次版本号)
  • release(修正号,修复bug)

发行版-版本号:

  • RHEL: 5.x, 6.x, 7.x
  • Debian: 8.x
  • OpenSuSE: 13.x

开源协议

主要分类:

  • GPL
  • LGPL
  • BSD
  • Apache

Linux的哲学思想

  1. 一切皆文件(把几乎所有资源统统抽象为文件形式,包括硬件设备、通信管道等) ;
  2. 由众多功能单一的程序组成,一个程序只做一件事,并且做好;
  3. 尽量避免和用户交互,易于以编程的方式实现自动化任务;
  4. 使用文本文件保存配置信息,文本是最易于实现的非常底层数据接口表现形式,使用文本编辑器就能进行编辑操作;

Linux命令使用格式和基本命令使用

命令的语法通用格式:
命令 [选项] [参数]
COMMAND OPTIONS ARGUMENTS

COMMAND介绍

命令分为两类:

  1. 内部命令:由shell程序自带的命令
  2. 外部命令:独立的可执行程序文件,文件名即命令名

查看命令类型(是内部还是外部):
type COMMAND

OPTIONS介绍

作用:指定命令的运行特性

选项有两种表现形式:

  • 短选项:
    • 如果同一命令同时使用多个短选项,多数可以合并: -l -d = -ld
  • 长选项:
    • 长选项不能合并
    • 有些选项可以带参数,此称为选项参数

AGGUMENTS介绍

  • 命令的作用对象,命令对什么生效;
  • 不同的命令的参数是不一样的;
  • 有些命令可以同时带多个参数,多个之间使用空白字符隔开

基本命令使用

ifconfig

功能:查看IP地址信息
示例:1

echo

功能:回显命令

2

选项:

  • -n: 不进行换行

3
加上 -n 选项,代表不换行

  • -e:使转义符生效

加上-e 选项,使转义符 \n 生效(\n代表换行操作)

引用:

  • 强引用,变量引用不执行替换;
    echo ‘ ‘
  • 弱引用,变量引用会被替换;
    echo ” “

5

tty

功能:查看终端类型
终端分类:

  • 物理终端:控制台:console;
  • 虚拟终端 tty:虚拟终端默认有6个,使用ctrl+Alt+F[1-6]来进行切换;
  • 图形终端:
    • centos6 上使用 ctrl+Alt+F7打开;
    • centos7 在哪个虚拟终端启动图形,即位于哪个虚拟终端上;
  • 串行终端 ttyS:不需要用到显卡,利用主板上的串口;
  • 伪终端 pty
    通过远程连接或是图形终端上模拟出来一个命令输出接口;

终端设备文件为:

  • 物理终端: /dev/console
  • 虚拟终端: /dev/tty#[1,6]
  • 串行终端: /dev/ttyS#
  • 伪终端: /dev/pts/#

6

startx

功能:在虚拟终端上使用该命令打开图形终端

export

功能:为环境变量赋值;
作用域:为当前shell进程和其子进程;
赋值方法有两种:
(1) export name=value
(2) name=value; export name

查看当前定义号的环境变量: export

pwd

功能:显示当前工作目录的路径;

7

history

功能:显示命令历史列表;

history 是shell的内部命令

涉及到的几个环境变量:

  • HISTSIZE
    shell进程可保留的命令历史的条数;
    echo $HISTSIZE
  • HISTFILE
    持久保存命令历史的文件的保存位置;
    echo $HISTFILE
  • HISTFILESIZE
    命令历史文件的大小;
    echo $HISTFILESIZE
  • HISTTIMEFORMAT
    历史命令时间显示:
    HISTTIMEFORMAT="%F %T"
  • HISTCONTROL
    控制命令历史记录的方式;
    它的值有

    • ignoredups: 忽略重复的命令
    • ignorespace: 忽略以空白字符开头的命令
    • ignoreboth: 以上两者同时生效

修改HISTCONTROL变量的值:NAME=’VALUE’
如:HISTCONTORL=ignorespace
注:仅对当前shell有效

选项:

  • -c:清空内存中的历史命令;
  • -d #:删除指定位置的历史命令;
    如:删除序号为23的历史命令:
    history -d 23
  • -r:读取历史命令文件,将内容追加到命令历史列表中;
  • w:将当前历史命令写入到历史命令文件中并追加到历史命令列表中

如:显示最近的10条命令:
history 10

调用历史命令列表中的命令:

  • !#:再次执行历史列表中的第 # 条命令;
  • !-#:再次执行历史列表中倒数第 # 条命令;
  • !!:再次执行上一条命令;
  • !STRING:再次执行历史列表中最近一个以 STRING开头的命令;
  • !STRING:p:打印历史列表中最近一个以 STRING开头的命令,但不执行;

调用上一条命令的参数:

  • 调用上一条命令的最后一个参数,两种方法:
    • esc + .
    • !$
  • 调用上一条命令的第一个参数: !^

shutdown

功能:关机、重启命令
语法:shutdown [OPTIONS…] [TIME] [WALL…]
选项:

  • -h: halt 关机
  • -r: reboot 重启
  • -c: cancel 关机取消

TIME:

  • now
  • hh:mm
  • +m

WALL:
显示出要指定的信息,如果不指定会有默认信息显示出来

shutdown -h now
shutdown -r +5 “hello system is going reboot”
shutdown -c

poweroff

功能:关机命令

reboot

功能:关机并重启命令

date

时钟说明:
在Linux中有硬件时钟与系统时钟等两种时钟。
硬件时钟是指主机板上的时钟设备;
系统时钟则是指kernel中的时钟;
当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。

功能:显示系统日期和时间;
语法:date [OPTION]… [+FORMAT]
用法:
date 显示日期和时间
date +%F 显示日期
date +%Y 显示年份
date +%m 显示月份
date +%d 显示哪天

date +%T 显示时间
date +%H 显示小时
date +%M 显示分钟
date +%S 显示秒

date +%s (从1970-01-01 00:00:00(Unix元年)到命令执行那刻经过的的秒数)

date +%F-%T 显示日期和时间
date +%Y-%m-%d-%H-%M-%S 指定格式显示日期和时间

日期和时间设定:
date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]
顺序为:月、日、小时、分钟、年、秒
如: 设定时间:2015年12月08日 18点15分32秒
date 120818152015.32

hwclock

功能:调整时间命令,和clock命令一样;
语法:hwclock [function] [option…]
功能:

  • -s – -hctosys 以硬件为准,把系统调整为与硬件时钟相同;
  • -w – -systohct以系统为准,把硬件时间调整为与系统时钟相同;

hct 代表硬件,sys 代表系统
to之前是准的,后面要以前面为准;

查看硬件时间:
hwclock

把系统时钟调整为与硬件时钟相同:
hwclock -s

把硬件时间调整为与系统时钟相同
hwclock -w


获取命令的使用帮助

  1. 内部命令使用帮助
    help COMMAND
  2. 外部命令的使用帮助
    COMMAND --help
  3. 使用man手册: manual
    man COMMAND
  4. 命令的在线文档帮助
    info COMMAND
  5. 很多应用程序会自带帮助文档
    • README:程序的相关信息
    • INSTALL:安装帮助
    • CHANGES: 版本迭代的改动信息
  6. 主流发行版官方文档
    如:http://www.redhat.com/doc
  7. 程序官方文档
    官方站点上的 Document

man 手册介绍

man手册页存放在/usr/share/man目录中;

组成部分:

  • NAME:功能性说明
  • SYNOPSIS: 语法格式
    • []: 可选项
    • |: 选其中之一
    • {} 分组,辅助标识符
    • <> 必须提供的内容
    • … 同类内容可出现多个
  • DESCRIPTION: 描述
  • OPTIONS: 选项
  • EXAMPLES: 使用示例
  • AUATHOR: 作者
  • BUGS: 报告程序bug的方式
  • SEE ALSO: 参考

man手册的章节之分

章节之分的序号含义:
1:用户命令
2:系统调用
3:C库调用
4:设备文件及特殊文件
5:文件配置格式(配置文件格式)
6:游戏
7:杂项
8:管理工具及守护进程

man的使用方法

man COMMAND
它会自动从第一章节到最后去寻找,并显示出来;

可以自己指定查看某个章节:
man # KEYWORD

到指定目录下查找命令手册并打开:
man -M /PATH/TO/SOMEDIR”

通过命令 whatis 可以查找某个命令共有几个章节:
whatis passwd

8

查看man手册内容的操作方法

1. 翻屏快捷键:

  • 空格: 向文件尾翻一屏
  • b:向文件首部翻一屏
  • Ctrl+d:向文件尾部翻半屏
  • Ctrl+u:向文件首部翻半屏
  • 回车键:向文件尾部翻一行
  • k:向文件首部翻一行
  • G:跳转至最后一行
  • 1G:跳转至文件首部
  • #G::跳转至指定行

2.文件搜索:

  • /keyword: 从文件首部向文件尾部依次查找;
  • ?keyword::从文件尾部向文件首部依次查找;

n: 与查找命令方向相同
N:与查找命令相反

3. 退出

  • q: quit

Linux发行版的基础目录名称和功用介绍

多数Linux版本采用FHS (Filesystem Hierarchy Standard) 这种文件组织形式;
FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理;
FHS采用树形结构组织文件;

目录树结构

  • /bin
    供所有用户使用的基本命令程序文件
  • /sbin
    系统管理员使用的工具程序
  • /boot
    引导加载器必须用到的各静态文件,kernel, inittramfs(initrd),grub等
  • /dev
    存储特殊文件或设备文件
    设备有两种类型:

    • 字符设备(线性设备,有时序)
      数据交换是以字符为单位进行的。如显示器
    • 块设备(随机设备,随机访问)
      把abc打包成一个块进行交换。如硬盘
  • /etc
    系统程序的静态配置文件
  • /home
    普通用户的家目录的位置;
    一般每个普通用户的家目录默认为此目录下,与用户同名 :/home/USERNAME;
    它是可选项;
  • /root
    管理员的家目录可选项
  • /lib
    为系统启动或根文件系统上的应用程序(/bin 和 /sbin)提供共享库,以及为内核提供内核模块;
    libc.so* : 动态链接的C库;
    ld*: 运行时链接器/加载器;
    modules: 用于存储内核模块的目录
  • /lib64
    64位系统特有的存放64位共享库的路径;
  • /media
    为便携性设备提供的挂载目录;
  • /mnt
    其它文件系统临时挂载点;
  • /opt
    附加应用程序的安装位置;
    第三方非关键性应用程序存放地;
    可选项;
    现在一般都不用了;
  • /srv
    当前主机为服务提供的数据;
  • /tmp
    为那些会产生临时文件的程序提供的存储临时文件的目录;
    可供所有用户执行写入操作;
    有特殊权限;
  • /usr (全局共享只读资源)
    全局共享的只读数据路径;
    层下目录有:
    bin,
    sbin,
    etc,
    lib,
    lib64,
    include(C程序头文件),
    share(命令手册页和自带文档等架构特有的文件存储位置),
    local(另一个层级目录),
    X11R6 X-Windows程序的安装位置
    src 程序源码文件的存储位置
  • /usr/local
    让系统管理员安装本地应用程序;
    也通常用于安装第三方应用程序;
    内在组织结构和 /usr 一样,也有 bin,sbin,etc,lib,man,share,src,include层下目录;
  • /var
    存储经常发生变化的数据的目录,如日志;
    层下目录有:
    cache,lib,local,lock,log,opt,run,spool,tmp
  • /proc
    基于内存的;
    虚拟文件系统,用于为内核和进程存储其相关信息;
    后续调优使用比较多;
    它们多为内核参数,如参数:net.ipv4.ip_forward, 虚拟为 net/ipv4/ip_forward,存储在 /porc/sys/, 因此其完整路径为: /proc/sys/net/ipv4/ip_forward
  • /sys
    sysfs 虚拟文件系统提供了一种比 proc 更为理想的访问内核数据的途径;
    主要作用在于为管理Linux设备提供了一种统一模型的接口;
    设计较新的一种虚拟的基于内存的文件系统;

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

发表评论

登录后才能评论

评论列表(1条)

  • 马哥教育
    马哥教育 2018-05-14 17:17

    希望可以看一下别的同学的版本,排版不是太漂亮,希望可以再接再厉,继续保持

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1823388528@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班