初识Linux

本文对计算机组成及其功能、Linux的发行版、以及Linux的哲学思想进行了简单的介绍;同时对Linux系统中常用的基础命令以及如何获取帮助信息进行了详细的说明。

计算机的组成及其功能

什么是计算机?

计算机就是通过输入设备(键盘、鼠标等),将用户输入的数据经过中央处理单元(即CPU)计算和处理之后,将结果通过输出设备(显示器)展现给用户的设备

计算机组成?

由计算机的定义或者功能可知,计算机由三大部分组成:输入设备、中央处理单元(即CPU)、输出设备,为了提高计算机处理效率,计算机还需要内存作为数据暂时存放数据的空间,以提高数据处理效率;

  • 输入设备:将需要处理的数据输入到计算机里的介质,常见的输入设备有:键盘、鼠标等;
  • 中央处理单元:即我们常说的计算机的CPU,CPU可看作计算机的大脑,一切的数据运算和管理均在CPU中进行,为计算机中最重要的部分;CPU根据功能可分为两部分组成:
  • 算数逻辑单元:主要负责所有数据运算;
  • 控制单元:协调各组建和单元之间的工作;
  • 内存:存放输入数据:输入设备将需要处理的数据暂存在内存中,以供CPU读取处理;存放输出数据:CPU处理完成的数据也暂时存放于内存中,再由内存传输到输出单元
  • 输出设备:将按要求处理完成的数据呈现出来的介质。例如:屏幕,打印机等

认识Linux发行版

Linux发行版是指将GNU组织发布的源码源文件进行编译后的二进制文件,更具有普适性,目前Linux有三大主流发行版:

  • Debian:是目前唯一由社区维护的Linux发行版,其中Ubuntu为大家所熟知,就是Debian的一个分支,这类发行版是没有商业公司支持的,适合个人学习或者研究使用;
  • Slackware:比较熟知的Liux发行版为S.U.S.E,其中SLES为企业版,S.U.S.E以界面华丽美观著称;
  • redhat系列:CentOS、Fedora为其大家所熟知发行版本

Linux哲学思想

一切皆文件:

Linus系统几乎把所有资源系统均抽象为文件形式,甚至包括硬件设备,通信接口等;

  • Linux中硬件设备:几乎所有硬件设备文件均在/dev目录下,例如:/dev/disk、/dev/sda等
  • Linux文件系统:Linux文件系统采用倒置树状结构,如下图所示:1.1 例如:/dev/pts/ptmx :最左侧/:表示倒置树状结构最高层,为根目录;其他的/:表示Linux文件系统中路径分隔符

    文件路径表示方法绝对路径:从根目录/开始,例如:/etc/passwd/; 相对路径:从当前位置开始表示出的路径

    文件使用法则: 1. 严格区分大小写; 2. 目录也是文件,在同一路径下,不能出现同名文件; 3. 文件名使用除/以外的任意字符; 4. 最长不能超过255个字符

由众多功能单一的程序组成

一个程序只用于做一件事,而Linux完成一件复杂工作需要组合很多个小程序;

Linux系统的目标是以编程的方式实现自动化任务,尽量避免跟用户交互,故对于Linux系统来说,图形化界面仅仅是Linux操作系统的一个应用程序而已;

Linus系统使用文本文件保存配置信息:一般的配置文件在/etc目录下 例如:/etc/ntp.conf 即为与ntp服务相关的配置文件,使用文本文件保存该配置信息。

Linux系统命令使用

通用格式

COMMAND OPTIONS ARGUMENTS
其中:OPTIONS:指定命令的运行特性;ARGUMENTS:命令的生效对象

常用命令介绍

ifconfig

  1. 功能:用来查看或者设置网络接口的ip地址
  2. 语法规则:ifconfig [interface]
    ifconfig interface [aftype] options | address ...
  3. 举例:ifconfig eth0/lo:查看eth0/lo接口的ip地址及网卡其他属性,如该网卡的最大传输单元MTU,该网卡发送和接收数据包情况等 1.2

echo

回显命令
例如:echo $? 可以回显上一条命令的指令结果,0为正常执行
echo $SHELL 可查看接口程序

tty:查看当前的终端设备

startx

启动图形化界面,图形化界面为F7,使用ctrl+alt+F[1…6]切换终端

export

  1. 功能:设置或者显示环境变量,在设置环境变量时,只对当前shell生效
  2. 语法规则:export [-fnp][变量名称]=[变量设置值]
  3. OPTIONS: -f  代表[变量名称]中为函数名称。
    -n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
    -p  列出所有的shell赋予程序的环境变量。
  4. 举例:export PATH=$PATH:/tmp 使用回显命令echo $PATH 可看到/tmp已被加入到当前shell的环境变量PATH中,而并未被加入其它shell中

pwd

  1. 功能:以绝对路径的方式显示当前工作目录的名称
  2. 语法规则:pwd [OPTION]...

history

  1. 功能:记录执行过的命令
  2. 语法规则:
    history [-c] [-d offset] [n]
    history -anrw [filename]
    history -ps arg [arg...]
  3. OPTIONS
    history [n] n为数字,列出最近的n条命令;
    -c:将目前shell中的所有history命令消除;
    history [-raw] histfiles:
    -a 将目前新增的命令写入histfiles, 默认写入~/.bash_history;
    -r 将histfiles内容读入到目前shell的history记忆中;
    -w 将目前history记忆的内容写入到histfiles
  4. 举例:
  1. shell > history
  2. 34 14-10-28 16:19:24 ll
  3. 35 14-10-28 16:19:26 vim test
  4. 36 14-10-28 16:19:33 ll
  5. 37 14-10-28 16:19:34 ll

显示3行:

  1. shell > history 3
  2. 1032 14-11-02 16:10:41 history
  3. 1033 14-11-02 16:10:46 history |more
  4. 1034 14-11-02 16:11:15 history 3

使用! 执行历史命令。 ! number 执行第几条命令 ! command 从最近的命令查到以command开头的命令执行 !! 执行上一条

  1. shell > !1046
  2. history 3
  3. 1045 14-11-02 16:22:38 head ~/.bash_history
  4. 1046 14-11-02 16:35:37 history 3
  5. 1047 14-11-02 16:35:48 history 3
  6. shell > !!
  7. history 3
  8. 1046 14-11-02 16:35:37 history 3
  9. 1047 14-11-02 16:35:48 history 3
  10. 1048 14-11-02 16:35:52 history 3
  11. shell > !head
  12. head ~/.bash_history
  13. #1414484377
  14. cd update/
  15. #1414484377

shutdown

  1. 功能:关机或重启系统
  2. 语法规则: shutdown [OPTION]... TIME [MESSAGE]
  3. OPTIONS:
    -r:在系统关闭之后重启
    -h:halt暂停
    -c:取消关机

poweroff

  1. 功能:关机
  2. 语法规则: poweroff [OPTION]...
  3. OPTIONS:
    -f:–force,强制执行操作
    -v:–verbose,输出详细信息

reboot

  1. 功能:重启
  2. 语法规则: 同poweroff

日期时间相关命令:

在Linux系统中,系统启动时从硬件读取日期和时间信息,读取完成后,就不再与硬件相关联。与日期相关的命令如下:

date
  1. 功能:查看系统时钟
  2. 语法规则:
    date [OPTION]... [+FORMAT]
    date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
    以给定的格式显示当前时间,或是设置系统日期
  3. 举例: 时间输出:
  1. [root@root ~]# date “+%Y-%m-%d”
  2. 2018-01-14
  3. [root@root ~]# date “+%H:%M:%S”
  4. 13:13:59
  5. [root@root ~]# date “+%Y-%m-%d %H:%M:%S”
  6. 2018-01-14 13:14:19
  7. [root@root ~]# date “+%Y%m%d %H:%M:%S”
  8. 20180114 13:14:58
  9. [root@root ~]# date -d today
  10. Tue Feb 19 13:10:38 CST 2013
  11. [root@root ~]# date -d now
  12. Tue Feb 19 13:10:43 CST 2013
  13. [root@root ~]# date -d tomorrow
  14. Wed Feb 20 13:11:06 CST 2013
  15. [root@root ~]# date -d yesterday
  16. Mon Feb 18 13:11:58 CST 2013

时间设置: 我们一般使用“date -s”命令来修改系统时间, 比如将系统时间设定成2011年7月13日的命令:date -s 07/13/2011 将系统时间设定成11点12分0秒的命令:date -s 11:12:00

注意: 这里说的是系统时间,是linux由操作系统维护的。 在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。

如果要确保修改生效可以执行如下命令。 clock –w, 强制把系统时间写入CMOS

clock,hwclock
  1. 功能:显示与设定硬件时钟
  2. 举例: hwclock命令与clock命令是一个东西

[root@linuxidc.com~]# type -a hwclock
hwclock is /sbin/hwclock
hwclock is /usr/sbin/hwclock
[root@linuxidc.com~]# ls -l /sbin/hwclock /usr/sbin/hwclock
-rwxr-xr-x 1 root root 34096 2012-01-07 /sbin/hwclock
lrwxrwxrwx 1 root root 18 08-13 00:14 /usr/sbin/hwclock -> ../../sbin/hwclock

[root@linuxidc.com~]# type -a clock
clock is /sbin/clock
[root@linuxidc.com~]# ls -l /sbin/clock
lrwxrwxrwx 1 root root 7 08-13 00:14 /sbin/clock -> hwclock

显示硬件时钟

[root@linuxidc.com~]# hwclock
2011年11月06日 星期日 21时09分28秒 -0.134840 seconds
[root@linuxidc.com~]# hwclock -r
2011年11月06日 星期日 21时09分33秒 -0.469123 seconds
[root@linuxidc.com~]# hwclock –show
2011年11月06日 星期日 21时09分45秒 -0.127548 seconds

修改日期并同步到硬件时钟

[root@linuxidc.com~]# date
2011年 11月 06日 星期日 21:11:57 CST
[root@linuxidc.com~]# date 11062112 <== 格式 mmddHHMM,即 月日时分
2011年 11月 06日 星期日 21:12:00 CST
[root@linuxidc.com~]# hwclock -w
[root@linuxidc.com~]# hwclock
2011年11月06日 星期日 21时12分13秒 -0.648818 seconds

注:要使系统时间准确,最好还是使用ntp方式。 使用ntpdate命令从网络同步时间,再同步到硬件时钟
ntpdate命令是使用NTP协议来从网络同步时间的命令。NTP=Network Time Protocol 网络时间协议。

[root@linuxidc.com~]# ntpdate 0.rhel.pool.ntp.org
6 Nov 21:17:55 ntpdate[4829]: step time server 123.146.124.28 offset -1.025258 sec
[root@linuxidc.com~]# date
2011年 11月 06日 星期日 21:17:59 CST
[root@linuxidc.com~]# hwclock -w

获取帮助

查看命令类型:

type COMMAND:可查看内置或者外部命令。 要想获取帮助,首先要弄清楚该命令为内部还是外部命令

内部命令:

help COMMAND

外部命令

  1. 命令自带简要格式的使用帮助:COMMAND –help
  2. 使用手册:man,manual的简写,位于/usr/share/man
    • 使用规则:man COMMAND
    • man page组成部分:NAME:简短的命令、数据名称说明;SYNOPSIS:简短的命令执行语法简介;DESCRIPTION:较为完整的说明
    • man手册章节说明:
      man 1:用户在shell环境中可以操作的命令或可执行文件;
      man 2:系统内核可调用的函数与工具等;
      man 3:常用的函数与函数库,大部分为c函数库
      man 4:设备文件及特殊文件的说明
      man 5:配置文件或者是某些文件的格式
      man 6:游戏使用帮助
      man 7:杂项,惯例与协议等,例如Linux文件系统、网络协议等说明
      man 8:管理工具及守护进程,系统管理员可用的管理命令
      man 9:内核kernel有关的文件
    • 查看:whatis COMMAND 查看某个命令在哪些章节存在,前提是必需要创建whatis数据库才行,因为其执行过程是查询数据库进行的。
    • 创建或更新数据库:makewhatis
  3. info COMMAND:获取命令的在线文档
  4. 参考自带帮助文档:/usr/share/doc其中
    README:程序的相关信息
    INSTALL:安装帮助
    CHANGES:版本迭代时的改动信息
  5. 主流发行版的官方文档:http://www.redhat.com/doc等
  6. 程序的官方文档:官方站点上的documents
  7. 搜索引擎

 

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

(0)
小小珊susan小小珊susan
上一篇 2018-01-14 14:08
下一篇 2018-01-14 16:50

相关推荐

  • 01day-计算机与操作系统基础

    第1章 计算机基础 1.1 什么是计算机 计算机是个笼统的概念,泛指一切计算功能的机器。这样扯的话,以前的算盘也是计算机了。我们现在的计算机应该称作电子计算机,我天朝人民称为电脑。听说谷歌在研究量子计算机,完全不懂是什么玩意。 一不小心在百度百科看到还有光子计算机,生物计算机,吓我一跳,赶紧复制链接过来,自己慢慢看《百度百科—-计算机》 &nbs…

    Linux干货 2016-06-29
  • 马哥教育网络班21期-第二周课程练习

    第二周课程练习 1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示?     1.1 目录管理类命令:cd,pwd,ls,mkdir,rmdir,tree          1.1.1 cd:主要功能是改变当前目录,…

    Linux干货 2016-07-04
  • iptables基础详解

    一.iptables基础认知二.iptables使用格式  一.iptables简介   1.Iptabels是与Linux内核集成的包过滤防火墙系统,几乎所有的linux发行版本都会包含Iptables的功能。如果 Linux 系统连接到因特网或LAN、服务器或连接 LAN 和因特网的代理服务器, 则Iptables有利于在 …

    2017-05-03
  • yum总结之概述篇

    前言 一个linux菜鸟往往因为对与linux安装软件的复杂而望而却步,特别是从windows到linux的用户肯定表示接受不了。确实linux下装软件想做到win下下一步下一步完成目前来说是不可能的。 linux下软件安装有3种方法:   一种是源码安装,需要用户自己手动编译,另一种是RPM包(RedHat Linux Packet M…

    Linux干货 2016-03-01
  • 磁盘管理的补充及扩展

    磁盘管理的补充及扩展 挂载点和/etc/fstab(配置文件) 使用mount命令挂载为临时挂载开机重启后就会自动卸载,为了永久挂载必须写在配置文件中! 配置文件系统体系  被mount、fsck和其它程序使用  系统重启时保留文件系统体系  可以在设备栏使用文件系统卷标  使用mount  -a 命令挂载/etc/fstab中的所有文件系…

    Linux干货 2016-08-30
  • N28-第四周博客作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。

    2、编辑/etc/group文件,添加组hadoop。

    3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。

    4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。

    5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。

    6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;

    7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;

    8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;

    9、找出/etc/passwd文件中的一位数或两位数;

    10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;

    11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;

    12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;

    13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

    Linux干货 2017-12-26