初学linux知识巩固

 

自2011/7/21,我们已经开课了三天,讲课大概流程如下:
 
计算机基础知识介绍:
1.       什么是操作系统:
答:软件使用的平台(Platform)
2. 系统硬件的架构类型(Arch):
答:X86,X86_64,arm(手机),ppc,MIPS(龙芯),UltraSparc,Power,安腾
3.       世界上第一台电脑概况:
答:1946年2月15日,世界上第一台通用数字电子计算机ENIAC研制成功
4.       计算机之父:
答:冯·诺伊曼(Neumann,John von)
5.       计算机五大定律:
答:运算器,控制器,存储器,输入设备,输出设备
    ※ 运算器、控制器:
CPU:
时钟周期:统一计算机整体工作节拍
CPU针脚负责功能的输入
32bit:最大支持4G内存,PAE(32bit cpu扩展):64G
64bit:512G(决定CPU寻址能力)
缓存(造价高):缓存的大小对CPU的速度有着极大的影响
Ps:“微码 Microcode): 也叫做微程序,镶嵌在芯片当中。”
     存储器:
内存:
CPU从内存中读取数据
分类:SD、DDR
6.       总线(BUS)类型:
答:PCI,ISA,EISA,ATA,SATA,SCSI
7.       批处理:
答:多个作业同时存储在磁带上(做完一件进行下一件
Ps:脱机处理:提高设备利用率
8.       分世系统:
答:多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源
 
 
计算机历史讲解:
关键词列举:
美国三家公司:GE,AT&T的Bell(park)实验室,麻省理工学院MIT
Ken研发系统Unics→Unix
Dennis开发B语言→C语言(Dennis+Ken)
TCP/IP诞生于BSRG(Unix)
Microsoft:取得Unix研发出来Xenix
DEC(公司):VAX→VMS(操作系统)
             VMS+微软=windowsNT
                       Window2000
             OS2+微软=windows visit
Andrew的学生Linus写出Linux
Linus: 2.0→2.2→2.4→2.6→3.0
官方网站: www.kernel.org
麻省理工学院(MIT):Stallman倡导自由(Free),GNU
GNU运动:GPL(宣言)General Public License(公源)
运动下的产果:gcc,emacs
 
关于linux的系统分类:
Linux发行商
Redhat,suse,debian,slackware,gentoo(编译成二进制的方法不同)编译好的二进制系统
 
Redhat
6.0~9.0→转交给Fedora现在为15
Redhat Enberprise 3.0     4.0     5.0    6.0
Ps:linux遵循GPL,所以redhat是靠服务和补丁进行收费的
官网:www.redhat.com
 
CentOS:和redhat完全兼容的一个版本
Ps:社区版的redhat
 
SUSE(三个大学生创造的)
被厂商收购
 
Debian
自发维护 灵活度自由性最好的版本
   Ubuntu基于Debian
 
Slackware:自己编译软件
Gentoo: 编译好的框架
              --------slackware 和gentoo 建议在linux 上有一定造诣的人使用
 
 
LFS:Linux From Scratch
教你从零构建Linux
              --------专业人士使用
 
 
Linux哲学思想:
1.       一切皆文件
2.       短小,且目的单一的程序组成
3.       将多个短小的程序串联起来,可以完成复杂任务。
4.       尽量避免捕获用户接口(交互)
5.       通过文本文件保存软件的配置信息
Shell:
GUI(图形用户界面)Xwindow(协议)
     Gnome(c语言开发)
     KDE(C++)
     Xface
CLI(字符界面)
     BShell
     Cshell
     Kshell(商业版融合了B和C)
     Bashell
     Zshell
 
Linux特性:
具有多个终端,可以多用户同时使用。
           终端:
                虚拟终端
                图形终端
                伪终端(即为图形界面下)
           Ps:终端之间可以快速切换:
               su(Switch User)
                 半切换:su 【arguments】
               完整切换:su –l 【arguments】
                         Ps:-l可以简写,不添加argument表示切换到管理用户
字符界面下:
$代表普通用户
#代表管理用户
Ps:任何一个用户登陆系统每时每刻都在某个目录当中
 
Linux命令:
命令格式简化特性:
并且全称命令不存在,所以linux命令相对比较严格,必须准确输入
如:passwd(在linux中为更换密码)
            password却是无效命令
命令格式:
        Command【options】【arguments】
Options(选项):转换命令执行方式
       短选项:-l,-h    -lh(组合)
       长选项(完整选项,不能组合):--help,--long
Ps:选项和选项之间用ps隔开。   
             arguments:命令作用对象
 
内部命令(无实体):不会有二进制文件
外部命令:对应的可执行二进制文件
Ps:如何区分命令:which(查看是否具有二进制),type
 
帮助命令的命令介绍:
man,info command(命令的开发人,年代等),--help(针对大部分外部命令),help(内部命令使用),whatis ls(带有命令的简单说明,命令在man手册中的章节,配合man使用)
     man手册章节:
1.       普通的用户命令
2.       系统调用
3.       库调用
4.       特殊文件
5.       文件格式(文件语法说明)
6.       游戏
7.       杂项
8.       管理类命令
 
Linux系统路径:
     相对路径:从当前路径下开始
     绝对路径:从根开始
 
linux下的目录:
/bin(二进制):存放必要的命令文件
/sbin:存放系统管理命令文件(只有管理员才有权限)
/boot:引导目录(存放内核以及启动所需文件
/dev(device):设备文件目录(存放设备文件
/etc:配置文件目录(存放系统的配置文件
/home/USERNAME:用户主目录,存放用户信息
/root:管理员用户
/lib(library):库文件(存放必要的运行库
/media,/mnt:额外文件系统的挂载目录
/misc:备用目录
/tmp:临时文件目录
/opt:可选目录(存放第三方软件
/usr:第三方软件,额外的管理命令,帮主信息都存放在此文件下
/var:系统产生的常变换文件,如:打印机,邮件等假脱机目录
/proc:内核(中正在使用的参数)映像的映射(存放存储进程和系统信息
/sys:内核中硬件信息的映射
/srv:特定的服务器软件(临时目录
 
Linux下的时间划分:
     系统时间
     硬件时间
 
Linux下的用户划分:
      用户(User):权限的集合,一种凭证
         验证方法:刷卡,密码(用户名对应UID“一个数值”供系统识别),指纹。。。
                         加密方法:
                                  对称加密
公钥加密
单向加密:提取数据的特征值
                                           (雪崩效应:输入两次失误后,将会导致输出错误
                                           (定长输出:密码加密后长度是个定值 md5(128定长输出) sha1(160bit)
 
系统用户:1~499(通常不允许登录系统
普通用户:500~65534
特殊用户(nobody):相当与windows上的来宾账号。
                   Id一般为-1,65535或者65536
 
    组:可以理解为一种容器,可以存放用户
          组也是权限的集合
          和用户是集成关系(用户拥有组权限
          组ID:GID
          组密码:可以让外围用户临时加入组
      
       以下我们用UID代表用户,GID代表组:
       UID,GID范围:(0~65535)
       root的id永远为0
       ps:用id(命令)来查看id
私有组(基本组):任何用户必然会属于某一个组
共有组(附加组):
Ps: /etc/passwd 存放用户账号
/etc/shadow 存放用户密码
/etc/group 存放组账号
/etc/gshadow存放组密码
 
 
安全上下文:
权限、特权、访问令牌、完整性等级等等都包含在其中
 
目录,文件权限:
属主:即属于主用户的权限
属组:即属于组中的权限
其它:即所有人对此文件或者目录的使用权限
表示方法及具体权限:
         文件:
读(r):查看
写(w):修改
执行(x):让文件运行
目录:
读:查看ls
写:能建新文件
执行:cd,ls-l
 
无权限 ---:000:0
执行权限 --x:001:1
写权限 -w-:010:2
写,执行权限 -wx:011: 3
读权限 r--:100:4
读,执行权限 r-x:101:5
读,写权限 rw-:110:6
读,写,执行权限rwx:111:7
 
变量:
1.     本地变量(用户自定义变量):

 

            只能在当前SHELL环境下获得赋值,进入子SHELL就不能获得赋值了
2.     环境变量:
          在任何地方都可以访问的变量
3.     特殊变量:
     特殊变量:$?
             echo $?
             0 代表命令执行正确
             1-255代表命令执行错误
4.     位置变量
      定义 :位置变量表示$0,$1,$2,....$9
$0 $1 $2 $3 $4
脚本名 A B C D
向脚本中使用位置参数;
向系统命令传递参数;
 
BASH的命令别名:
不具有永久性,重启后失效
如果要永久有效则需将命令保存在目录或则文件当中
对全局有效的保存:/etc、 profile = /etc/profile.d/*    ,/etc/bashrc
对局部有效的保存: ~/.bash_profile,~/.bashrc,~/.bashe_logout
 
profile类 :
       设置环境变量
       运行用户登录要执行的一些命令
bashrc类:
       设置别名
       设置本地变量
 
 
Shell分类:
交互式登陆 shell:
           以一个用户的身份输入命令执行
非交互式登陆 shell:
           shell不与你进行交互,而是读取存放在文件中的命令 ,并且执行它们。当它读到文件的结尾,shell也就终止了。
 
Shell的输入输出重定向,管道:
Shell的输入重定向:
       是指不使用系统提供的标准输入端口,而进行重新的指定。
Shell的输出重定向:
       是指不使用系统提供的标准输出端口,而进行重新的指定。
管道符:
        将输出的命令作为结果输入下一行命令
正则表达式:
在普通的情况下,一个正则表达式看上去就是一个普通的查找串。
.:匹配任何单个字符 r.t:rat,rut,r t
$:匹配行结束符 weasel$:He`s aweasel
^:匹配行的开始 ^When in:When in the course of human events
*:匹配0或n个正好在它之前的那个字符。 。*:任意数量的任何字符。
\:引用符 列出的特殊字符当做普通字符进行匹配 $:\$
[]:匹配括号中的任何一个字符 r[aou]t:rat,rot,rut
[c1-c2]:括号中使用连字符置顶字符区间 [0-9]可以匹配0~9任何数字字符
                                  [A-Za-z]可以匹配任何大小写字母
[^c1-c2]:排除,即补集。[^269A-Z]:匹配除了2、6、9和所有大些字母之外的任何字符。
+:匹配1或n个正好在它之前的那个字符。9+:9,99,999等
{i,j}[0-9]{4,6}匹配连续的任意4,5,6个数字字符

你可能感兴趣的:(linux,职场,休闲,linux知识巩固)