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

相关推荐

  • 引导加载程序grub的使用详解

    引导加载程序grub的使用详解 为运行于虚拟机上的CentOS 6添加一个新硬件,提供两个主分区 为硬盘建两个主分区;并为其安装grub 为硬盘的第一个主分区提供内核和ramdisk文件;为第二个分区提供rootfs 为rootfs提供bash、ls、cat程序以及所依赖的库文件 为grub提供配置文件 将新的硬盘设置为第一启动项并能够正常启动目标主机 1.…

    Linux干货 2017-09-04
  • 封装和结构及set

    封装|set

    Linux干货 2017-10-09
  • 马哥教育网络班20期+第二周课程练习

    linux 中一切皆文件,我们所做的一切都是和文件打交道。   文件分为两部分:元数据和数据           元数据: 即真实数据的属性。可用 stat  命令查看       &nbs…

    Linux干货 2016-06-23
  • 创建CA

    创建CA和申请证书 创建私有CA: 首先在CA服务器端创建CA。 先去看openssl的配置文件: /etc/pki/tls/openssl.cnf 一般我们不会去更改这个配置文件,但是要去看一下。我们是根据这个文件创建的CA. 这个文件里是openssl的配置文件,我们打开后只观察与CA有关的文件。   在文本中可以看出一个主机中可以有多个CA,…

    2017-07-28
  • bash功能特性六 bash操作环境

    一、bash查找命令的顺序     1、以相对路径或绝对路径执行的命令;     2、由alias找到该命令来执行;     3、由bash内置的命令来执行;     4、通过$PATH这个变量的顺序找到的第一个命令来执…

    Linux干货 2015-04-22
  • 程序员的相关笑话(二)

    从前,有一个牧羊人,他有很多的羊。一天他赶着他的那群羊到了一条公路边上。突然,有一辆保时洁急驶过来,上面坐着一个年轻人人,穿着Armani的衣服,和Cerutti的皮鞋,Ray-Ban的太阳眼镜,TAG-Heuer的手表,以前Versace的领带。 他走到牧羊人面前问牧羊人:“如果我能说出你有多少只羊,你能给我一只吗?” 牧羊人看了看他那一大群数都数不过来的…

    Linux干货 2016-07-10