计算机基础及Linux基础

计算机基础与Linux入门

  • 计算机组成及功能

  • Linux常见发行版

  • Linux重要哲学思想

  • Linux文件系统层级结构及文件命名规则

  • 如何获取Linux命令的使用帮助

  • Linux常用命令及示例

1.1 计算机组成及功能

1.1.1 计算机的五大部件

计算机的主要组成部分有:

  • 1、CPU:运算器

  • 2、控制器、寄存器(内部存储)、缓存;

  • 3、存储器:内存,RAM;

  • 4、INPUT:下达指令,提供数据等;

  • 5、OUTPUT:输出数据加工后的结果;

其中:1和2都属于CPU的内部组件

1.2 Linux常见发型版本

  • 1、CentOS:从RedHat发展而来的发行版,由志愿者维护与RedHat完全兼容,目前已经被RedHat收购。

  • 2、Debian:一个强烈信奉自由软件,并由志愿者维护的系统。

  • 3、Fedora:是RedHat的社区版,会经常引入新特性测试。

  • 4、RedHat:有Redhat公司发行并维护。

  • 5、Ubuntu:一个非常流行的桌面发行版。

  • 6、SUSE:SUSE Linux原是以Slackware Linux为基础,并提供完整德文使用界面的产品。

1.3 Linux重要哲学思想

  • 1、一切皆文件(硬件设备也是通过文件表示)

    物理终端:  /dev/console

    虚拟终端: /dev/tty[1-6]

    串行终端: /dev/ttyS#

    伪终端: /dev/pts/#

  • 2、由众多目的单一的小程序组成,一个程序只做一件事,并且做好;

  • 3、组合小程序完成复杂任务;

  • 4、尽可能避免跟用户交互;

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

  • 6、提供机制,而非策略。

1.4 Linux文件系统层级结构及文件命名规则

文件是什么?众多文件如何有效组织起来?

  • 目录:目录是路径的映射

  • 文件:存储空间的一段流式数据,对数据可以做到按名存取;

  • Linux的文件系统:层级结构;有索引;

    Linux的文件系统成倒置的树状结构,如下:

/
|-- bin -> usr/bin
|-- boot
|-- data
|-- dev
|-- etc
|-- home
|-- lib -> usr/lib
|-- lib64 -> usr/lib64
|-- media
|-- mnt
|-- opt
|-- proc
|-- root
|-- run
|-- sbin -> usr/sbin
|-- srv
|-- sys
|-- tmp
|-- usr
`-- var

1.4.1 文件的路径表示

  • 绝对路径: 从根开始表示出的路径;

 [root@bj-1-140-node1 ~]# cd /etc/
  • 相对路径: 从当前位置开始表示出的路径;

 [root@bj-1-140-node1 etc]# cd sysconfig/

1.4.2 文件名使用法则

  • 1、严格区分字符大小写;

  • 2、目录也是文件,在同一个目录下,两个文件不能同名;

  • 3、支持使用除/以外的任意字符;

  • 4、最长不能超过255个字符;

1.4.3 用户家目录

用户的起始目录: 普通用户管理文件的位置;

普通用户Jerry的家目录就是/home/Jerry

1.5 如何获取Linux命令的使用帮助

Linux系统的命令分为外部命令与内部命令两大类

1.5.1 内部命令的使用帮助

内部命令使用help查看命令的使用方法;查看命令是内部还是外部命令通过type查看;

 [root@bj-1-140-node1 ~]# help cd

1.5.2 外部命令的使用帮助

外部命令的使用帮助可以有两种方式。

  • 1、命令自带简要格式的使用帮助

 [root@bj-1-140-node1 ~]# tree --help
  • 2、使用man手册获取命令帮助

命令格式:

 man [1-8] COMMAND

常用选项:

  -M /PATH/TO/SOMEDIR  到指定目录下查找手册并打开

man命令可以指定查看某个具体章节

SECTION:
    NAME: 功能性说明
    SYNOPSIS:语法格式
    DESCRIPTION: 描述
    OPTIONS:选项
    EXAMPLES: 使用示例
    AUTHOR: 作者
    BUGS:报告程序bug的方式
    SEE ALSE: 参考
    
SYNOPSIS:
    []:可选内容
    <>:必须提供的内容
    a|b|c:多选一
    ...:同类内容可出现多个

使用手册:压缩格式的文件,有章节之分

/usr/share/man 
    man1, man2, man3, ...
    man1:用户命令;
    man2:系统调用
    man3:C库调用
    man4:设备文件及特殊文件
    man5:文件格式(配置文件格式)
    man6:游戏使用帮助
    man7:杂项
    man8:管理工具及守护进程;

man命令打开手册以后的操作方法

翻屏:空格键,向文件尾部翻一屏;
b:向文件首部翻一屏;
Ctrl+d:向文件尾部翻半屏;
Ctrl+u:向文件首部翻半屏;
回车键:一次向文件尾部翻一行;
k:向文件首部翻一行;
G:跳转最后一行
#G:跳转至指定行,#号代表数字
文本搜索功能:
/关键词搜索指定字符串不区分大小写,从文件首部向尾部依次查找
或
    ?关键词从文件尾部向首部部依次查找
    n:与查找命令方向相同
    N:与查找命令方向相反
退出:
    q

1.5.3 应用程序自带的帮助文档

  • REDEME: 应用程序的相关信息

  • INSTALL: 安装帮助

  • CHANGES: 版本迭代时的改动信息

1.5.4 通过程序的官方文档获取帮助

通过查看获取官方站点上的"Document"

1.5.5 用好搜索引擎

Google搜索关键词:

如搜索某一类型文档可以在后面加上filetype:pdf 例如:centos7 filetype:pdf

也可以在指定站点搜索指定内容,例如:centos7  site:51cto.com

1.6 Linux常用命令使用

1.6.1 help

获取内部命令帮助

 [root@bj-1-140-node1 ~]# help cd

1.6.2 pwd

获取当前工作目录

 [root@bj-1-140-node1 ~]# pwd/root

1.6.3 file

查看文件类型

[root@bj-1-140-node1 ~]# file /etc/issue
/etc/issue: ASCII text
[root@bj-1-140-node1 ~]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), 
for GNU/Linux 2.6.32, BuildID[sha1]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped

1.6.4 basename

指定一个文件路径获取文件的基名

 [root@bj-1-140-node1 ~]# basename /etc/sysconfig/selinux 
 selinux

1.6.5 dirname

获取文件所在的目录名

 [root@bj-1-140-node1 ~]# dirname /etc/sysconfig/selinux 
 /etc/sysconfig

1.6.6 type

查看命令的类型是内部命令还是外部命令

 [root@bj-1-140-node1 ~]# type cd
 cd is a shell builtin
 [root@bj-1-140-node1 ~]# type tree
 tree is hashed (/usr/bin/tree)

1.6.7 cd

切换目录

命令格式

 cd  /PATH/TO/SOMEDIR

cd 不加任何参数时切换回家目录;bash中~表示家目录;

 cd ~  :切换回自己的家目录cd ~USERNAME :切换到指定用户家目录cd - :切换至上一次所在目录

cd相关的环境变量

 $PWD 当前工作目录$OLDPWD 上一次的工作目录

1.6.8 ls

list 列出指定目录下的内容

命令使用格式:
  ls [OPTION]... [FILE]...
    -a:显示所有文件,包括隐藏文件;
    -A:显示除.和..之外的所有文件;
    -l:显示文件的详细属性信息;
    -rw-------. 1 root root 1182 Dec  2 04:27 anaconda-ks.cfg
    -:文件类型
    rw-------:文件的权限分为三组
    rw-:文件属主的权限;
    ---:文件的属组的权限;
    ---:其它用户的权限(非属主、属组);
    1:数字表示文件被硬链接的次数;
    root:文件的属主;
    root:文件的属组;
    1182:文件的大小,单位是字节;
    Dec  2 04:27:文件最近一次被修改的时间
    anaconda-ks.cfg:文件名
    -h:将文件大小换算成人类可读的形式
    -d:查看目录自身的详细信息,并非目录中内容;
    -r:以逆序的方式显示文件;
    -R:递归显示;

示例

[root@bj-1-140-node1 ~]# ls
anaconda-ks.cfg
[root@bj-1-140-node1 ~]# ls -l
total 4
-rw-------. 1 root root 1182 Dec  2 04:27 anaconda-ks.cfg
[root@bj-1-140-node1 ~]# ls -lr /etc/sysconfig/
total 92
-rw-r--r--. 1 root root  644 Jun 16  2015 wpa_supplicant
-rw-r--r--. 1 root root  138 Aug 13  2015 svnserve
-rw-r-----. 1 root root  506 Nov 20  2015 sshd
lrwxrwxrwx. 1 root root   17 Dec  2 04:22 selinux -> ../selinux/config
-rw-r--r--. 1 root root    0 Jun 10  2014 run-parts
-rw-r--r--. 1 root root  196 Sep  8  2015 rsyslog
-rw-r--r--. 1 root root   12 Nov 21  2015 rsyncd
-rw-r--r--. 1 root root  755 Nov 20  2015 readonly-root
-rw-r--r--. 1 root root   15 Nov 21  2015 rdisc
-rw-r--r--  1 root root  159 May 31  2016 ntpdate
drwxr-xr-x. 2 root root 4096 Dec  4  2016 network-scripts
-rw-r--r--. 1 root root   22 Dec  2 04:27 network
-rw-r--r--. 1 root root  634 Nov 20  2015 netconsole
drwxr-xr-x. 2 root root    6 Nov 20  2015 modules
-rw-r--r--. 1 root root  200 Mar 18  2014 man-db
-rw-r--r--. 1 root root  180 Dec  2 04:26 kernel
-rw-r--r--. 1 root root 1460 Nov 21  2015 kdump
-rw-r--r--. 1 root root  903 Jul 14  2015 irqbalance
-rw-------. 1 root root 1974 Nov 20  2015 iptables-config
-rw-------. 1 root root 1988 Nov 20  2015 ip6tables-config
-rw-r--r--. 1 root root  798 Nov 20  2015 init
lrwxrwxrwx. 1 root root   17 Dec  2 04:23 grub -> /etc/default/grub
-rw-r--r--. 1 root root   72 Nov 20  2015 firewalld
-rw-------. 1 root root 1390 Jun 10  2014 ebtables-config
-rw-------. 1 root root  110 Jul 27  2015 crond
-rw-r--r--. 1 root root  150 Nov 20  2015 cpupower
drwxr-xr-x. 2 root root    6 Nov 20  2015 console
drwxr-xr-x. 2 root root   41 Dec  2 04:22 cbq
-rw-r--r--. 1 root root  429 Dec  2 04:27 authconfig

1.6.9 cat

文本文件查看工具,查看文件中的内容

 命令格式:
 cat [OPTION]... [FILE]...  
     -n:显示行号;  
     -E:显示文件尾部行结束符$;

示例

[root@bj-1-140-node1 ~]# cat -n /etc/fstab 
     1
     2#
     3# /etc/fstab
     4# Created by anaconda on Fri Dec  2 04:20:15 2016
     5#
     6# Accessible filesystems, by reference, are maintained under '/dev/disk'
     7# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
     8#
     9UUID=d7c087de-36be-468d-aa08-b0d203c80db0 /                       xfs     defaults        0 0
    10UUID=3f4c9e32-d1bc-472b-ae1b-04eab1745d7e /boot                   xfs     defaults        0 0
    11UUID=a6ff9119-a960-4896-8060-15c0f68c993a swap                    swap    defaults        0 0
[root@bj-1-140-node1 ~]# cat -E /etc/fstab 
$
#$
# /etc/fstab$
# Created by anaconda on Fri Dec  2 04:20:15 2016$
#$
# Accessible filesystems, by reference, are maintained under '/dev/disk'$
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info$
#$
UUID=d7c087de-36be-468d-aa08-b0d203c80db0 /                       xfs     defaults        0 0$
UUID=3f4c9e32-d1bc-472b-ae1b-04eab1745d7e /boot                   xfs     defaults        0 0$
UUID=a6ff9119-a960-4896-8060-15c0f68c993a swap                    swap    defaults        0 0$

1.6.10 echo

回显命令

 echo [SHORT-OPTION]... [STRING]...    
     -n:不进行换行;    
     -e:让转义符生效;    
     \n:换行符    
     \t:制表符(Tab键) 
 颜色控制:   
     [root@bj-1-140-node1 ~]# echo -e "\033[32;1mHello,World\033[0m"STRING
 可以使用引号,单引号和双引号都可以; 
     单引号:强引用,变量引用不执行 
     双引号:弱引用,比那里应用会执行

示例

 [root@bj-1-140-node1 ~]# echo -e "Hello\nWorld"HelloWorld
 [root@bj-1-140-node1 ~]# echo -e "\033[32;1mHello,World\033[0m"Hello,World

1.6.11 shutdown

关机或重启命令

 命令格式:
 shutdown [OPTIONS...] [TIME] [WALL...]  
     -h:halt 关机  
     -r:reboot 重启  
     -c:cancel 取消  
 TIME:  
     now 立即执行  
     hh:mm # 指定一个具体的时间  
     +m :在几分钟以后关机  
 WALL:可以指定关机或者重启时要发送的信息

示例

1.6.12 日期相关的命令

  • date 显示系统时钟

 显示日期时间:
     date [OPTION]... [+FORMAT]  
     FORMAT:格式符  
     %F:显示年-月-日  
     %T:显示小时:分钟:秒钟  
     %Y:年  
     %m:月  
     %d:日  
     %M:分钟 
     %H:小时  
     %S:秒  
     %s:从1970-01-01到命令执行的那一刻所经历的秒钟(unix元年)
     设定日期时间:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]  date 月日时分年.秒  date 120415492016.08
 [root@bj-1-140-node1 ~]# date
 Sun Dec  4 18:34:38 CST 2016
 [root@bj-1-140-node1 ~]# date +%F2016-12-04
 [root@bj-1-140-node1 ~]# date +%T18:34:45
 [root@bj-1-140-node1 ~]# date +"%F %T"2016-12-04 18:35:09
 # 设置系统时间
 [root@bj-1-140-node1 ~]# date 120418382016Sun Dec  4 18:38:00 CST 2016
  • hwclock 显示硬件时钟

 -c:把系统时钟设置为跟硬件时钟一样;-w:把硬件时钟设置为跟系统时间一样;
 [root@bj-1-140-node1 ~]# hwclock 
 Sun 04 Dec 2016 06:34:01 PM CST  -0.682422 seconds
  • cal 查看日历

[root@bj-1-140-node1 ~]# cal
    December 2016   
Su Mo Tu We Th Fr Sa
             1  2  3
 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

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

(0)
oranixoranix
上一篇 2016-12-04
下一篇 2016-12-04

相关推荐

  • 1017作业

    1 生产环境发现一台服务器系统时间产生偏差,造成服务异常,请帮忙校正 ##先分析硬件时间不对还是系统时间不对,如果是系统时间不对: [root@localhost ~]# hwclock -w [root@localhost ~]#  ##如果是硬件时间不对: [root@localhost ~]#…

    Linux干货 2016-10-18
  • 文件压缩,解压缩及归档

        在Linux的环境中,压缩文件的扩展名大多是:“*.tar, *.tar.gz, *.gz, *.Z, *.bz2, *.xz”,因为 Linux 支持的压缩指令非常多,且不同的指令所用的压缩技术并不相同,当然彼此之间可能就无法互通压缩/解压缩文件,当你下载到某个压缩文件时,自然就需要知道该文件是由哪种压缩指令…

    Linux干货 2016-08-18
  • 计算机组成与Linux基础

    一 计算机组成 冯诺依曼体系 计算机处理数据和指令一律用二进制表示 指令和数据不加混合存储在同一存储器中 顺序执行程序每一条指令 计算机硬件由运算器、控制器、存储器、输入设备以及输出设备组成 计算机组成部分 CPU:含有指令集,对程序进行运算和判断并分为两个主要单元分别为算术逻辑单元和控制单元。其中算术逻辑单元主要负责程序运算与判断,控制单元负责协调组件与个…

    Linux干货 2017-07-30
  • 士大夫

    士大夫

    2017-11-13
  • 【社招】【小米-北京】运维开发工程师

    【社招】【小米-北京】运维开发工程师 【工作地点】北京市海淀区安宁庄东路72号科利源大厦 【薪酬福利】15k-30k 期权奖励、六险一金、水果花茶、班车、健身房、食堂 【投递方式】邮件主题“岗位+姓名”发送至lipengcheng3@xiaomi.com   岗位职责: 提高系统运维的自动化,主要包括运维平台、PaaS、监控系统,自动化部…

    Linux干货 2017-07-28