计算机相关简介和linux相关简介


一、计算机相关简介与linux的一些概念

计算机系统 由硬件(Hardware)系统和软件(Software)系统两大部分构成:

  • 硬件系统 :CPU(控制器、运算器),内存储器(RAM、ROM),外存储器(硬盘等),输入设备(键盘、鼠标等),输出设备(显示器等),其他设备相关设备。 
    软件系统 :系统软件(操作系统,数据库等),应用软件(例如office等用户应用程序)。

CPU (Central Processing Unit)中央处理器。由控制器和运算器构成,是整个计算机系统的大脑。


计算机(computer):是一种能够接收和存储信息,并按照存储在其内部的程序对海量数据进行自动、高速的处理,并输出结果的一种电子设备。


发展历史

  • 第一代计算机 (1946-1957)电子管时代
  • 第二代计算机 (1958-1964)晶体管时代
  • 第三代计算机 (1965-1970)集成电路时代
  • 第四代计算机 (1971-) 大规模集成电路时代

1946年,世界第一台计算机ENIAC(electronic numerical integrator and calculator)在美国宾州大学诞生。使用17468只电子管,占地170平米,重30吨,耗电174千瓦,耗资40多万美元。每秒可进行5000次加法或减法运算。


摩尔定律:Intel联合创始人戈登·摩尔1965年提出,每隔18-24个月,集成电路上可容纳的元器件数目和性能将提高一倍。


按规模划分计算机类型:巨型计算机、大型计算机、小型计算机、微型计算机。


服务器:是计算机的一种,网络中可客户端提供各种服务的高性能计算机。


服务器按应用功能可分为

  • web服务器,数据库服务器,邮件服务器,文件服务器等等。

服务器按外形分类: 
式服务器、机架服务器、刀片式服务器。


服务器的主要硬件构成 :电源、CPU、网卡、PCI、硬盘、风扇、内存、RAID卡,显卡、网卡等等。


服务器按CPU架构分类

  • 非X86服务器:使用RISC(精简指令集)或EPIC(并行指令代码)处理器。
  • x86服务器:CISC(复杂指令集)架构服务器。

服务器按CPU个数来分 :4路及以上服务器;2路服务器;1路服务器。


存储基础知识 

  • 用于存放数据信息的设备和介质,是计算机系统的外部存储,数据可长期驻留。
  • 存储设备:软盘、磁带、光盘、磁盘阵列等。
  • 存储网络: 

    • DAS(Direct Attached Storage)–直接连接存储
    • NAS(Network Attached Storage)–网络连接存储
    • SAN(Storage Area Networks)–存储区域网络

操作系统 

  • OS(operating system):实现硬件驱动、进程管理、内存管理、网络管理、安全管理、文件管理等功能。
  • OS分类:服务器OS、桌面OS、移动设备OS。

开发接口标准 

  • ABI:Application BinaryInterface,描述了应用程序和OS之间的底层接口。
  • API:Application Programming Interface,定义了源代码和库之间的接口。
  • POSIX:可移植操作系统接口。
  • 运行程序格式:
  • Linux:ELF,.so(shared object), .a

编程语言 

  • 低级语言:汇编等;功能,硬件驱动等
  • 中级语言:c语言等; 功能 系统级应用等
  • 高级语言:java,php等;功能应用级程序开发。

服务器三大操作系统 

  • windows;Linux;Unix

Linux起源 

  • 1984年RIchard Stallman发起GNU项目和自由软件基金会。
  • 1991年Linus Torvalds发布Linux内核

开源 :Open Source,软件和源代码提供给所有人,自由分发软件和源代码,能够修改和创建衍生作品。

  • 开源协议: 
    GPLv2,LGPL 
    Apache:apache 
    BSD:bsd 

linux哲学思想 

  • 一切皆文件:所有设备,通信接口,文件等等都抽象为文件。
  • 一个程序负责一项功能,多个小程序完成复杂任务。
  • 避免与用户交互,易于以编程化的方式实现特定功能。
  • 用文本文件保存配置信息。

端类型:terminal

  • 设备终端: 
    鼠标键盘显示器
  • 物理终端: 
    /dev/consle
  • 虚拟终端:tty 
    本地的字符界面 

    • =伪终端: 
      pst/[0,1,2,3],远程登录

交互式接口:启动终端后,在终端设备附加一个交互式应用程序

  • GUI:graphic user interface
  • gnome c 图形库gtk
  • kde c++ 图形库qt对面
  • xfce 轻量级桌面
  • CLI: comamnd line interface 
    sh bash csh tcsh ksh … 
    centos默认shell为bash(bourn again shell)

  • shell是linux系统用户界面,提供了用户与内核进行交互操作的一种接口。

  • shell是linux的一种命令解释器,负责解析用户提交的命令,找到对应路径下的程序,最终将结果反馈给用户。

Ctrl+c 强制关闭当前命令 
Ctrl+d 正常关闭当前命令,可实现快速注销。


“comand/弱引用,内部的命令会被替换name’ 
强引用,内部的命令等不会被替换 
command 或$(command)命令调用,直接调用命令的执行结果


manual man

  • man手册各章节信息: 
    1、用户命令 
    2、系统调用 
    3、c库调用 
    4、设备文件或特殊文件 
    5、配置文件格式 
    6、游戏帮助 
    7、杂项 
    8、管理命令 
    9、linux内核API


文件系统

  • 文件和目录被组织成单根倒置树结构 
    文件从根目录开始,用/表示 
    根文件系统:root filesystem 
    文件名严格区分大小写(标准的linux文件系统): 
    以.开头的文件为隐藏文件 
    路径分隔符 / 
    数据类型有两类 
    元数据:metadata:文件的各种属性,访问时间atime,修改时间mtime等等 
    数据:data:文件的真实存储内容 
    文件系统分层结构:LSB linux standard base 
    FHS:FILFsystem Hierarchy standard。 
    http://www.pathname.com/fhs/

文件名规则

  • 文件名最长255个字节 
    包括路径在内文件名最长4095节 
    蓝色–>目录 绿色–>可执行文件 红色–>压缩文件 浅蓝色–>链接文件 灰色–>其他文件 粉色–>套接字文件 
    除了斜杠和nul,所有字符都有效,但使用特效字符的目录名和文件不推荐使用,有些字符需要用引号来引用它们。 
    标准linux文件系统如ext4,文件名称大小写敏感。


    linux文件类型

    • -,f普通文件 
      l,链接文件 
      b,块设备文件 
      c,符号链接文件 
      p,管道文件 
      s,套接字文件 
      d,目录文件

文件系统结构

  • /boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader,grub)都存放于此目录 
    /bin:所有用户使用的基本命令:不能关联至独立分区,OS启动即会用到的程序 
    /sbin:管理类的命令,不能关联至独立分区,OS启动即会用到的命令, 
    /lib:启动时程序依赖的基本共享文件以及内核模块文件/lib/modudles 
    /lib64,专用于64位系统上辅助的共享库文件存放位置 
    /etc 配置文件目录 
    /home/username 普通用户家目录 
    /root 管理员的家目录 
    /media:便携式移动设备挂载点 
    /mnt 临时文件系统挂载点 
    /dev 设备文件及特殊文件存储位置 
    b:block device,随机访问 
    c:character device,线性访问 
    /opt 第三方应用程序的安装位置 
    /srv 系统上运行的服务用到的数据 
    /tmp 临时文件存储 
    /usr 全局共享只读数据存储路径 
    bin 保证系统拥有完整的功能提供的应用程序 
    sbin 
    lib 
    lib64 
    include c程序的开头文件 
    share:结构化独立的数据, 
    local:第三方应用程序的安装位置 
    bin,sbin,lib,lib64,etc share 
    /var:数据经常发生变化的目录存放地 
    cache:应用程序缓存数据目录 
    lib:应用程序状态信息数据 
    local:专用于为/usr/local下的应用程序存储可变数据; 
    lock:锁文件 
    log:日志目录及文件 
    opt:专用于为/opt下的应用程序存储可变数据 
    run:运行中的进程相关数据,通常用于存储进程pid文件 
    spool 应用程序数据池 
    tmp:保存系统两次重启之间产生的临时数据 
    /proc:用于输出内核与进程信息相关的虚拟文件系统 
    /sys:用于输出当前系统上硬件设备相关信息虚拟文件系统 
    /selinux:security enhanced linux,selinux相关的安全策略等信息的存储位置

文件通配符

  • *匹配零个或多个字符 
    ?匹配任何单个字符 
    ~ 当前用户家目录 
    ~username指定用户家目录 
    ~+当前工作目录 
    ~-前一个工作目录 
    [0-9]:匹配范围内的字符 
    [a-z]:匹配a-z,A-Z其中一个 
    [A-Z]:匹配A-Z,b-z其中一个,按 
    [^xxx]匹配指定范围外的字符

* man 7 glob*

  • [[:digit:]] 任意数字 
    [[:lower:]] 任意小写字母 
    [[:upper:]] 任意大写字母 
    [[:alpha:]] 任意大小写字母 
    [[:alnum:]] 任意数字或字母 
    [[:punct:]] 标点符号 
    [[:space:]] 水平或垂直空白字符 
    [[:blank:]] 水平空白字符 
    [[:print:]] 可打印字符 
    [[:cntrl:]] 控制字符,非打印字符 
    [[:graph:]] 图形字符 
    [[:xdigit:]] 十六进制字符

二、一些基础命令

注:某些命令可以不带选项参数而直接执行


cat – concatenate files and print on the standard out‐put。查看文本文件和打印至标准输出。 
cat [OPTION]… [FILE].. 
options: 
-E:显示行结束符 
-n:显示行号 

examples:
    cat /proc/cpuinfo:查看cpu信息(lscpu也可查看)
    cat /proc/partitions 查看分区信息
    cat /proc/meminfo 查看内存信息 (free也可查看)
    cat /proc/swaps 查看交换分区信息

uname:显示系统信息 
uname [OPTION].. 
options: 
-s:显示内核名称 
-n:显示主机名称 
-r:显示内核信息 


df:显示系统磁盘空间使用情况 
df [OPTION]… [FILE].. 
-a,–all:虚拟文件系统也一起显示 
-i,–inodes,显示inode使用情况而不是磁盘块使用情况。 
-h,–human-readable,单位转换 
..


whoami 显示当前终端的登录用户 
whoami [OPTION] 
options: 
–version:显示版本信息并回到输入命名时的shell环境。


tty:显示当前链接系统的终端名 
tty [OPTION]… 
–version:显示版本信息并回到输入命名时的shell环境。


who:显示所有登录到该系统的终端信息。 
who [OPTION]… [ FILE | ARG1 ARG2] 
-b:显示最近一次登录系统的时间 
-r:显示系统当前的默认运行级别 


w:显示登录系统的用户信息及其执行的操作 
w [options] user […] 
options: 
-s,–short:使用短格式,不显示登录时间等等 
-V,显示w命令的版本信息


shutdown:关机、重启、等 
shutdown [OPTIONS…] [TIME] [WALL…] 
options: 
-h:关机 
-r:重启 
-c:取消上述操作 
TIME: 
hh:mm:指定特定时间 
+mm/hh:指定当前时间推迟多少时间 
WALL: 
“告知各个用户即将关机的信息,自己决定写什么”


poweroff:关闭电源 
reboot:重启


file: 判定文件类型 
file [options] file


gedit /etc/gdm/custom.conf 
# “手动输入两行” 
[dameon] 
AutomaticLoginEnable=True 
AutomaticLogin=root 
[security] 
#通过上述操作可以自动进入系统而不用输入账号密码

runlevel:显示系统改变前和当前的默认运行级别

file:创建空文件


echo:显示文本信息 
echo [SHORT-OPTION]… [STRING].. 
echo LONG-OPTION

  • options: 
    -n,不进行换行 
    -E 不对转义字符进行转义 
    -e,使转义字符生效 
    \a 发出警告声 
    \e 退格键,将后面的字符退后一个 
    \n 换行且光标移动到行首 
    \r 回车,即光标移动至行首,但不换行 
    \t tab键位 
    \ 插入\字符 
    \onnn 插入nnn代表的八进制的ASCII字符 
    \xHH插入HH所代表的ASCII字符

    hostname:显示主机名

cat /etc/DIR_COLORS 可以查阅shell下一些颜色的设置


type command 查看命令是内部还是外部 
外部命令:有专门的文件路径,builtin 
内部命令:集成在shell内部


enable:查看和设定内部命令是否可用 
enable [options] [command] 
enable -n command 禁用内部命令 
enable command启用内部命令 
enable -n 查看禁用的内部命令列表


hash:查看hash缓存 
hash [options] [name] 
hash -l 显示hash缓存,可作为输入使用 
hash -d name 清除指定缓存 
hash -r 清除所有缓存 
hash -p path name :给hash缓存设置别名 
hash -t name 打印缓存中name的路径


which :显示shell命令的路径全名 
which [options] [–] programname […] 
-a:显示所有与name相关的命令路径 
–skip-alias 忽略别名


alias:定义与查看别面名 
定义别名:alias name=’comand’ 
取消别名:unalias name


ls:显示目录文件 
ls [options]..[file].. 
options: 
-a:显示所有文件包括隐藏 
-A:显示所有文件不包括.和.. 
-l:显示长格式信息,文件的相关属性 
-d:显示指定目录的信息,而不显示他的子目录信息。 
..


date:显示系统时间 
date [OPTION]… [+FORMAT]

  • options: 
    -d,–date=string 指定日期以显示时间 
    .. 
    FORMAT: 
    %A:完整的星期名称(e.g..,Sunday) 
    %a:简写的星期名称 (e.g..,Sun) 
    %F:完整的年月日 
    %T:完整的时分秒 
    %H:小时 
    %M:分钟 
    %S:秒 
    %y:简写的年 
    %Y:完整的年 
    %m:月 
    %d:日 
    … 
    example: 
    date MMDDHHMM[cc[yy]].[ss]

hwclock ,clock显示硬件时间 
-s, –hctosys 以硬件为基准设置系统时间 
-w, –systohc以系统时间为基准设置硬件时间


cal:显示日历


screen:(可以实现多个用户共同操作,需要建立在多个用户连接到同一主机的情况) 
建立新screen会话

  • screen -S [session] 
    加入screen会话: 
    screen -x [session] 
    退出并关闭screen会话: 
    exit 
    剥离当前screen会话 
    Ctrl+a,d 
    显示已打开的screen 会话 
    Ctrl -ls 
    恢复某screen会话 
    Ctrl -r [session]

whatis:显示命令的简短描述 
whatis [options] name


history:查看命令历史,保存你输入的命令历史

  • history [option] 
    -c:清空命令历史 
    -d:删除历史列表中指定的命令 
    #:显示最近的#条历史 
    -a: 追加本次会话新执行的命令列表至历史文件 
    -n:读取历史文件中未读过的行到历史列表 
    -r:读取历史文件附加到历史列表 
    -w:保存历史列表到指定的历史文件 
    -p:展开历史参数成多行,但不存在历史列表中 
    -s:展开历史参数成一行,附加在历史列表后

    登录shell时,加载~/.bash_history文件中的历史记录

调用上一个命令的最后一个参数 
!$ 
esc 松手 . 
alt 同时 .


一些快捷操作

  • ctrl + l 清屏,相当于clear命令 
    ctrl + o 执行当前命令,并重新显示本命令 
    ctrl + S 阻止屏幕输出,锁定 
    ctrl + q 允许屏幕输出,锁定 
    ctrl + c 终止命令 
    ctrl + z 挂起命令 
    ctrl + a 移动到命令行首 
    ctrl + e 移动到命令行尾 
    ctrl + f 按字符前移 右向 
    ctrl + b 按字符后移,左向 
    alt + f 按单词前移 右向 
    alt + b 按单词后移 左向 
    ctrl + u 从光标处删除至命令行首 
    ctrl + k 从光标处删除至命令行尾 
    Ctrl + w从光标处向左删除至单词首 
    Alt + d从光标处向右删除至字尾 
    Ctrl + d删除光标处的字符 
    Ctrl + h删除光标前的字符 
    Ctrl + y将删除的字符粘贴至光标后 
    Alt + c从光标处更改为首字母大写的单词 
     Alt + u从光标处更改为全部大写的单词 
    Alt + l从光标处更改为全部小写的单词 
    Ctrl + t交换光标处和之前的字符 
    Alt + t交换光标处和之前的单词 
    Alt + N提示输入指定字符后,重复显示该字符N次 
    注意:Alt快捷键较少使用,因为常常和编辑器冲突

pwd:显示当前所处的工作目录 
-P:显示真实物理路径 
-L:显示链接路径(默认)


cd 改变当前工作目录 
-P 切换到真实物理路径,而不是链接路径 
-在当前工作和前一次的工作目录之间切换 
~,回到家目录 
~username,回到指定用户的家目录 
PWD,存放当前工作目录的变量 
OLDPWD,存放上一次工作目录的变量


touch创建空文件或者修改timestap,默认三种类型时间戳都修改 
touch -a 仅改变atime和ctime 
-m 改变mtime和ctime 
-t stamp 修改时间戳 
CCYYMMDDhhmm.ss 
-c 如果文件不存在,则不创建文件


cp 复制文件和目录 
cp – copy files and directories 
cp [OPTION]… [-T] SOURCE DEST 
cp [OPTION]… SOURCE… DIRECTORY 
cp [OPTION]… -t DIRECTORY SOURCE…

  • options 
    -i 交互式 
    -r,-R递归复制 
    -d,不复制源文件,而仅仅复制符号链接本身 
    -a 归档,相当于-dR –preserv=all 
    –preserv[=ATTR_LIST] 
    mode:权限 
    ownership:属主属组 
    timestamp:时间戳 
    links 链接 
    xattr 隐藏属性 
    -p :=–preserv=mode,ownership,timestamp 
    -v:显示详细信息 
    -f:–force

    如果对一个目录拥有写权限,则可以对目录内的文件进行增加删除操作。

mv – move (rename) files 
mv [OPTION]… [-T] SOURCE DEST 
mv [OPTION]… SOURCE… DIRECTORY 
mv [OPTION]… -t DIRECTORY SOURCE… 
移动文件

  • options: 
    -i 交互式 
    -f 强制

rm – remove files or directories 
rm [OPTION]… FILE..

  • -i 交互式 
    -f 强制删除 
    -r 递归 
    –no-preserve–root

    > /some/file 在文件被其他进程占用的情况下,清空该文件内容,释放存储空间。

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

(0)
上一篇 2017-02-18 17:17
下一篇 2017-02-18 19:55

相关推荐

  • shell脚本编写-1练习题

    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小 #!/bin/bash echo “the hostname is:`hostname`” echo “the ip address is:`ifconfig | sed –n ‘2p’ |sed…

    Linux干货 2016-08-15
  • 用户组管理系列(二):权限设置

    1、权限简介    操作系统中每个文件都拥有特定的权限、所属用户和所属组。权限是操作系统用来限制资源访问的机制,在Linux中权限一般分为读(readable)、写(writable)和执行(excutable),分为三组。分别对应文件的属主(owner),属组(group)和其他用户(other),通过这样的机制来限制哪些用户、哪些组可…

    Linux干货 2016-08-05
  • 正则表达式字符集

    POSIX Description ASCII Unicode Shorthand Java [:alnum:] Alphanumeric characters [a–zA–Z0–9] [\p{L}\p{Nl}  \p{Nd}] \p{Alnum} [:alpha:] Alphabetic characters …

    Linux干货 2017-07-07
  • 一次完整的HTTP事务是怎样一个过程?

    声明:本文章中的说法仅是个人理解总结,不一定完全正确,但是可以有助于理解。 关于HTTP协议可以参考以下: HTTP协议漫谈 http://kb.cnblogs.com/page/140611/ HTTP协议概览 http://www.cnblogs.com/vamei/archive/2013/05/11/3069788.html 了解HTTP Heade…

    Linux干货 2015-03-10
  • 主流Linux发行版对比

      对服务器来说,没有最好的Linux发行版。一切都取决于企业的实际需求。 如今Linux已不再只是一款自由操作系统,它还承载了许多企业的核心应用。在对比流行的Linux发行版时,不仅要考虑有吸引力的功能集,还要关注系统的支持与服务。 服务器管理员担心操作系统的维护和支持周期。维护生命周期指的是Linux发行版持续提供产品补丁和更新的时间。支持方面…

    Linux干货 2016-10-31
  • Linux 基础(6)—— 权限

    修改所属人,所属组                文件的 r w x 权限            修改文件的权限chmod          umask &nb…

    2017-07-27