Linux基础

计算机组成和功能

按照Von Neumann的理解 [1],计算机分为以下几部分:

    输入 (Input Device, 用于提供给计算机待处理的数据)

        e.g. 键盘,…

    CPU (Central Processing Unit, 用于处理输入数据)

        控制单元 (Control Unit, IR+PC, 存放当前系统状态)

        运算逻辑单元 (Arithmetic/Logic Unit, 算数)

    记忆 (存1和0的)

        e.g. 硬盘,RAM, …

    输出 (输出系统状态或运算结果等)

        显示器,纸带, …

 

实际上的计算机需要其他辅助硬件组件,如供电模块,主板等。具体可参见Wikipedia [2]

 

[1] Von Neumann architecture, https://en.wikipedia.org/wiki/Von_Neumann_architecture

[2] Computer hardware, https://en.wikipedia.org/wiki/Computer_hardware

Linux发行版

debian

    Knoppix

        便携式OS, 提供较广的硬件支持

    ubuntu (African word, "humanity to others", 更好的语言支持)

        Mint 更注重用户体验,提供多媒体解码支持,等

Gentoo

    有叫 Portage 的软件包管理系统

slackware (Goal: 方便使用,稳定)

    openSUSE (Software und System-Entwicklung, 提供更好的开发者体验)

    Arch

        pacman 软件包管理系统

        ABS, arch build system

Fedora

    RHEL

    CentOS (免费版,国内用得多

 

各发行版详细信息: http://distrowatch.com/

Linux发行版大图: https://en.wikipedia.org/wiki/Linux_distribution

Linux哲学思想并描述

  • 一切皆文件

    IO设备有对应文件,RAM有对应文件,就连进程都有对应文件(夹)。一切皆文件意味着OS运行更透明,定制更灵活

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

    高复用性

    减少重复开发

  • 尽量避免与用户交互(自动化)

    程序设计时避免用户交互,以后需要交互可再加。但若是开始就搞成需要用户交互,之后想自动化往往会变得很丑陋

  • 使用文本文件保存配置信息

    方便用简单脚本读写

    高可读性

Linux系统上命令的使用格式, 常用指令

使用格式:

    [path]command [parameters]

        e.g. /bin/ls -l

    [path]为命令所在路径名,若command在$PATH (echo "$PATH") 中可省略

ifconfig

    查看本机网络接口信息(ip, MAC, etc)

[root@CentOS68 1]# ifconfig
    eth0      Link encap:Ethernet  HWaddr 00:0C:29:71:B3:79 
              inet addr:192.168.153.128  Bcast:192.168.153.255  Mask:255.255.255.0
              inet6 addr: fe80::20c:29ff:fe71:b379/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:52659 errors:0 dropped:0 overruns:0 frame:0
              TX packets:101141 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:11545520 (11.0 MiB)  TX bytes:9622411 (9.1 MiB)
     
    lo        Link encap:Local Loopback 
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:10 errors:0 dropped:0 overruns:0 frame:0
              TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:512 (512.0 b)  TX bytes:512 (512.0 b)

echo

    输出参数到标准输出

[root@CentOS68 1]# echo "PATH=$PATH"
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

tty

    输出当前terminal

[root@CentOS68 1]# tty
/dev/pts/0

startx

    打开图形界面

    [root@CentOS68 1]# startx & 就不试了

export

    管理环境变量

[root@CentOS68 1]# export some_var=123
[root@CentOS68 1]# export -p | grep some_var #-p 显示所有
declare -x some_var="123"
[root@CentOS68 1]# export -n some_var #-n 删除
[root@CentOS68 1]# export -p | grep some_var
[root@CentOS68 1]#

pwd

    显示当前路径

[root@CentOS68 ~]# pwd
/root
[root@CentOS68 ~]# cd ..
[root@CentOS68 /]# pwd
/

history

    管理最近运行过的指令历史

[root@CentOS68 /]# history
    1  help history
    2  history
[root@CentOS68 /]# history -d 1 #删除第一条历史记录
[root@CentOS68 /]# history
    1  history
    2  history -d 1
    3  history
[root@CentOS68 /]# history -c #清空加载的历史记录
[root@CentOS68 /]# history
    1  history

shutdown

    关机 重启等

[root@CentOS68 /]# shutdown -r 5 'System will shut down after 5min'& #五分钟后重启机器
[1] 4600
[root@CentOS68 /]#
Broadcast message from root@CentOS68
        (/dev/pts/0) at 10:33 ...
 
The system is going down for reboot in 5 minutes!
System will shut down after 5min
 
[root@CentOS68 /]# shutdown -c
shutdown: Shutdown cancelled
[1]+  Done                    shutdown -r 5 'System will shut down after 5min'
[root@CentOS68 /]# shutdown -r 5 'System will shut down after 5min'&
[1] 4605
[root@CentOS68 /]#
Broadcast message from root@CentOS68
        (/dev/pts/0) at 10:34 ...
 
The system is going down for reboot in 5 minutes!
System will shut down after 5min
 
[root@CentOS68 /]# shutdown -c 'no way' #取消
shutdown: Shutdown cancelled
[1]+  Done                    shutdown -r 5 'System will shut down after 5min'
[root@CentOS68 /]#
Broadcast message from root@CentOS68
        (/dev/pts/0) at 10:34 ...
 
no way
[root@CentOS68 /]#

poweroff / reboot

    关机/重启

hwclock 管理硬件时钟
date 管理系统时钟
[root@CentOS68 /]# date
Sun Sep 25 10:40:22 PDT 2016
[root@CentOS68 /]# date 09260940 #改系统时间
Mon Sep 26 09:40:00 PDT 2016
[root@CentOS68 /]# hwclock #不影响硬件时钟
Sun 25 Sep 2016 10:42:35 AM PDT  -0.173872 seconds
[root@CentOS68 /]# hwclock -s #设置系统时间为硬件时钟
[root@CentOS68 /]# date #变回来了
Sun Sep 25 10:42:47 PDT 2016
[root@CentOS68 /]# hwclock --set --date="9/22/16 09:00:00" #改硬件时钟
[root@CentOS68 /]# hwclock #硬件时钟变了
Thu 22 Sep 2016 09:00:05 AM PDT  -0.094523 seconds
[root@CentOS68 /]# date #不影响系统时间
Sun Sep 25 10:44:49 PDT 2016
[root@CentOS68 /]# hwclock -w #设置硬件时钟为系统时间
[root@CentOS68 /]# hwclock #变回来了
Sun 25 Sep 2016 10:44:59 AM PDT  -0.266375 seconds

Linux帮助信息

内置命令: help <command>

外部命令:

    <command> –help

    man <command>

        文档储存在/usr/share/man

        压缩格式的文件,有章节之分

        /usr/shared/man/man1, man2, …

            1: 用户命令 (ls

            2: 系统调用 (open, read

            3: C库调用 (exec

            4: 设备文件及特殊文件 (mouse, console

            5: 文件格式 (/etc/crontab

            6: 游戏使用帮助

            7: 杂项 (ISO…

            8: 管理工具 (arp

    info <command>

    在线文档

    /usr/share/doc/command-version/

    有时存有些许文档

Linux发行版基础目录命名法和功能规定

/
├── bin #一般命令
├── boot #开机相关
├── dev #设备
├── etc #配置
├── home #一般用户home folder
├── lib #库
├── lib64 #64位库
├── media #挂载的移动存储
├── mnt #其他挂载点
├── opt #Optional软件
├── proc #系统进程相关 基于内存的文件系统
├── root #root用户home folder
├── sbin #系统命令
├── srv #服务数据
├── sys #设备相关 基于内存的文件系统
├── tmp #临时文件
├── usr #全局共享只读文件
│   ├── local #一般用于安装本地第三方文件
└── var #可变文件
    ├── log #日志
    ├── www #本地静态页面

原创文章,作者:b_stick,如若转载,请注明出处:http://www.178linux.com/49241

(0)
b_stickb_stick
上一篇 2016-09-27
下一篇 2016-09-27

相关推荐

  • Linux入门(二)

    linux基础命令及应用     shutdown:关机命令         -r:重启         -h:关机    &nb…

    Linux干货 2016-08-02
  • 一个“蝇量级” C 语言协程库

    协程(coroutine)顾名思义就是“协作的例程”(co-operative routines)。跟具有操作系统概念的线程不一样,协程是在用户空间利用程序语言的语法语义就能实现逻辑上类似多任务的编程技巧。实际上协程的概念比线程还要早,按照 Knuth 的说法“子例程是协程的特例”,一个子例程就是一次子函数调用,那么实际上协程就是类函数一样的程序组件,你可以…

    Linux干货 2016-08-15
  • Linux常用命令

    马哥教育网络班22期第四周课程练习 linux常用命令介绍(2) linux权限及命令组合使用示例 1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 ~]# cp -r /etc/skel /home/tuser1 &amp…

    Linux干货 2016-09-19
  • Shell脚本编程之入门基础(二)if、case的使用

    Shell编程之条件选择和条件判断   一、条件选择(if)与条件判断(case)的对比: if语句:是选择执行,if语句可嵌套。 if条件选择使用格式 单分支 双分支 多分支 if 判断条件;then 条件为真的分支代码 fi if 判断条件; then 条件为真的分支代码 else 条件为假的分支代码 fi if CONDITION1; the…

    Linux干货 2016-08-15
  • 第七周小练习

    1.创建一个10G分区,并格式为ext4文件系统 (1)要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl (2)挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳 fdisk /dev/sdb n p 1 +10G w mke2fs -t&nbs…

    Linux干货 2017-01-05
  • mitaka版本openstack网络之open vSwitch

    作者:【吴业亮】 博客:http://blog.csdn.net/wylfengyujiancheng 一、硬件配置及服务拓扑1. controller节点:一块网卡2. 网络节点:四块网卡。3. 计算节点:三块网卡 controller节点1. 运行 neutron数据库2. 运行消息队列服务3. 运行认证。4. 运行OpenStack计算nova相关网络…

    2018-01-22