day02  

①.回顾

SHELL的概念:用户和内核之间进行命令传递的通道

分为:GUI:Graphic User Interface
Windows--->桌面

Linux ---> Gnome   KDE   Xface

.dll 动态链接库  共享库  不能自己运行,需要其他程序调用

    无执行入口

.so 共享对象  Linux的共享库

      CLI:Command Line Interface

sh  bash  csh  tcsh  tsh  zsh 

 

IDE:集成开发环境  集合编码、编译、调试于一体的工具

 

Linux的登陆机制

使用用户ID --UID作为用户登陆系统的唯一凭证

由于计算机是一种资源,拥有UID就意味着对系统的访问

 

一般把资源的拥有和使用分为两种权限即认证和授权

所谓的认证机制 Authentication 识别或鉴别合法用户的过程,常见的是密码认证,而对资源的使用和访问则需要相关权限。为了系统的安全一般还有审计系统来监督每个用户的操作是不是合法---Linux的日志系统。

 

Terminal终端的命令提示符

管理员root

普通用户

一般的命令组成  COMMAND  [OPTION]  ARGUMENTS

命令        选项      参数(命令作用的对象)

短选项 -字母  可组合

长选项 --单词  单独使用

 

具体的命令是不同的,要掌握常用的命令的使用!!

②.常用命令详解1

 

ls命令--list 列出指定路径下的文件信息

目录:也是文件,路径映射  在Linux里一切皆文件

路径:从指定起始点到目的地所经过的位置 

对于现代的操作系统而言不可能在硬盘上放置文件,然后一个个的检索查询,它是依靠文件系统(file system)实现文件的层次化管理。对于Linux来说,它的文件管理一般被称为树状结构。分支节点即为目录,里面可以包括文件,而叶子节点就是不可再分的文件。而对于众多的发行版而言,有FHS标准进行了约束。

当前目录current directory:又叫工作目录 working directory

绝对路径----/开始进行查找

相对路径----相对当前目录进行查找


        wKioL1XbROXjqkz4AABUIqgLT9E668.jpg

pwd 命令 :显示当前目录的路径

printing working directory

        wKiom1XbQtCTeiKiAAG_MN5gbIU409.jpg

ls -l  长格式显示某目录下的文件信息

  ll 为它的命令别名

Linux的文件类型

-:普通文件

d:目录

b:块设备文件 block

c:字符设备文件 character

l:符号链接文件  软件链接

p:命令管道 pipe

s:套接字 socket

  

Linux的文件权限

9位  每3位为一组  rwx(读  写  执行)

文件硬链接次数

属主

属组

文件大小(字节)

时间戳(最近一次被修改的时间)

Linux的时间戳有三个:

最近访问的时间  access

最近修改的时间  modify  文件内容被修改

最近改变的时间  change  记录的是文件的元数据 meta data

            wKioL1XbRSrQSY0iAAEORoeLRF4330.jpg

文件名

 

ls 

-h  单位转换 以K为单位

-a  all全显示,显示以.开头的隐藏文件     

  . 代表当前目录  ..代表当前目录的父目录

-A  显示全部文件但不包括 .  .. 

-d  显示目录的自身属性

-i   显示文件的inode号   index node --->inode号 文件系统中的重要概念

-r   逆序显示文件

-R  递归显示  很占用内存

 

 

cd命令  change directory 切换目录

无选项   切换到当前用户的家目录 home directory  ~

cd ~USERNAME  求换到指定用户的家目录中

cd -  在当前目录和上一次目录中切换

 

type命令  显示指定命令属于Linux的哪种命令类型

Linux的命令类型  bash的内置命令和外部命令(可执行二进制)

配置which 命令进行查找

        wKiom1XbQ0ai7RLQAAE2RsFznko061.jpg

环境变量:PATH 命令查找的路径

 

clear命令  Ctrl + l

printenv命令 打印系统环境、属性信息  PATH  冒号隔开

env命令  这里很多很重要的系统属性信息

                wKioL1XbRf3xqboDAALF2FKpWHg144.jpg


hash命令  命令缓存记录器  命令的命中次数

        wKiom1XbQ-igBGDtAACRRIuont0422.jpg

计算机中的缓存机制:缓存为王,实现系统的加速

哈希算法完成命令的缓存,键值对使得查找的效率永远为O1)级

不用理解内部的细节,只要知道还算法可实现无论从多大的数据中找出一个数据的时间或效率是一样的。

date命令  时间管理    time命令

Linux的时间管理机制:

计算机中晶体振荡器来记录时间

主板上有个纽扣电池来维持时间的持续 rtc

NTP:network time protocol  网络时间协议

Linux中有两个时间,一个为硬件时钟,即主板上的时间,一个是系统时钟,为软件记录的,它是独立运行,互不干扰的。

clock 命令    hwclock命令  查看硬件的时间

wKioL1XbRf2hXjuCAAEAXqI_g0k493.jpg

             hwclock - query and set the hardware clock (RTC)

hwclock -r or hwclock --show

hwclock -w or hwclock --systohc

hwclock -s or hwclock --hctosys

hwclock -a or hwclock --adjust

 

cal命令

cal         日历

cal 2012     年历

cal 12 2012  月历

 

重要技能:获得命令的帮助信息

type 锁定命令的是内部shell命令还是外部命令

内部shell命令:help COMMAND

外部命令     :大多数外部命令支持  COMMAND --help

命令手册     :man COMMAND

在线文档     :info COMMAND  主要是命令的发展历史

/usr/share/doc 有各个命令的帮助文件,这是man查看的基础

当使用man内部命令时,可列出bash的保证,但内部命令使用help COMMAND 更为简单快捷

在帮助手册中,若有乱码使用export LANG=en


man手册是分章节的

使用whatis命令,可以查看命令在man手册中的章节摘要信息

man n COMMAND  查看第n章命令的帮助信息

1.用户命令  在/bin  /usr/bin  /local/usr/bin

2.系统调用

3.库调用

4.特殊文件(设备文件)  man 4 tty

5.文件格式   man 5 /etc/passwd  解析配置文件的语法

6.游戏

7.杂项

8.管理命令 在/sbin   /usr/sbin  /local/usr/sbin

man手册章节中各个段的含义:

1.NAME  

2.SYNOPSIS   用法说明

3.DESCRIPTIONS 

4.OPTION

5.FILES  此命令的配置文件

6.BUGS

7.EXAMPLES

8.SEE ALSO

man命令查看时的操作

翻屏操作  下一屏  space空格键

          上一屏  b

    行操作    下一行  enter回车键

              上一行  k键      或是上下箭头键

    查找操作  /keyword    ?keyword  n键后一个   N键前一个

 

file命令

wKiom1XbQ-jz5ITLAACcpHOQl_0420.jpg

windows中的可执行文件格式为PE

Linux中可执行文件的格式为ELF

 

    ③.Linux的文件系统目录介绍

 

    rootfs 根文件系统

    bin  boot  dev  etc  home  lib  lib64  lost+found  media  misc  mnt 

     net  opt  proc  root  sbin  selinux  srv  sys   tmp  usr  var  

 

/boot   系统启动相关的文件

vmlinuz  内核     initrd     grubbootloader

/dev  设备文件(硬件)

块设备:随机访问  磁盘、硬盘 block

字符设备:线性访问  按字符访问  显示器 鼠标

设备访问入口   主设备号(major)   次设备号(minor)

/ect  系统配置文件

/home 用户的家目录,每个用户通常都有默认的家目录  /home/USERNAME

/root  root用户的家目录   生产环境中很少使用root进行操作,很危险

/lib  /lib64   库文件及内核模块文件    

/lib/modules  静态库 .a   相对的就是动态库 .so 共享对象

共享库原理:内存中加载一份,其他程序可直接使用

静态库:程序自管理,独有

lost+found  文件系统自我保护使用的目录

/media  挂载点目录  移动设备挂载使用    

/mnt    挂载点目录  额外临时文件系统

  挂载操作把设备文件和文件系统中的某个目录关联起来

/misc  杂项

/opt 可选目录  早期用于第三方的软件安装,目前很少使用

/proc  伪文件系统,内核映射文件  

/sys   伪文件系统,跟硬件设备相关的属性映射文件

/tmp  临时文件目录   该目录下所有用户都有权限进行操作,而该目录下的文件在一个月内无访问会被自动删除

/var  可变化的文件目录, 随着系统的运行该目录会越来越大

     该目录下有lock 锁文件  mail 邮件转存的目录    run 进程号目录   tmp 临时目录

/bin  可执行文件存放的目录,用户命令

/sbin  可执行文件  系统命令  s--super

  /bin    /sbin   与系统启动有关

/usr   /usr/bin   /usr/sbin  /usr/lib   与系统运行有关

      /usr/local/bin   /usr/local/sbin   /usr/local/lib   第三方软件安装有关


通用操作系统内核的功能:

文件管理

目录管理

运行程序

设备管理

软件管理

进程管理

网络管理

 

Linux常用命令2

Linux的文件命令规则:像一个人取名字即可

1) 文件名长度不能超过255个字符

2) 不能使用/当文件名的一部分,除此无限制

3) 严格区分大小写

 

mkdir命令  创建空目录    tree命令  查看目录树

-p 可多层创建目录

-v 返回创建过程

例: mkdir -pv /x/y/z

 mkdir -pv /mnt/test/{x/m,y}

 mkdir -pv /mnt/test2/{a,d}_{b,c}

rmdir命令  删除空目录  

-p 删除多层空目录

        wKiom1Xmn53SVa66AADv0mwaqfY139.jpg

文件管理类命令:

touch命令  创建一个空文件 或是改变一个文件的时间戳 

touch a.txt

-a   仅仅修改文件的访问时间

-m  仅仅修改文件的修改时间

-t   指定时间   use [[CC]YY]MMDDhhmm[.ss] instead of current time

stat命令  查看文件的文件属性状态

    最近一次访问时间   access

    最近一次修改时间   modify

    最近一个改变时间   change

  修改访问时间和修改时间都会影响改变时间

    wKiom1Xmn-fyP2vdAARUNgFH3qw992.jpg

保存文件:

在文件编辑器中  另存为即可

ACSII 码是美国国家标准信息交换码  128个字符

由于计算机只能识别0101的二进制,但是人类需要可编辑编码来实现与人类文字对于的字符,这就出现了编码。gb2312是中国字符集,gbk

 

7bit 可实现2^7=128,依靠着7bit的变化,标准化了一套符合美国的编码方式就是ACSII

由于国际化的需要,不同国家的文字均需要一个统一的编码标准这就出现了Unicode编码。

 

rm命令

-i  interactive 交互   现在使用的rm命令是 rm -i alias 原版命令 \rm

-f  force 强制删除

-r  递归

一般在操作服务器的时候不要使用root登陆,而要使用一般用户操作,不然使用例如rm -r /  就会出现不可逆转的事故  一般是由于输入手误造成

 

cp命令 

复制一个文件或多个文件或目录到另一个目录中

cp SRE() DESC(目的)

-r  递归

-f  强制

-p  保留文件的原有属主、属组、时间戳等信息复制

-a  归档复制  所有信息均保留

 

cp /etc/passwd /tmp/

cp /etc/passed /etc/inittab /prot/cpuinfo /tmp/

复制链接文件时,默认复制的是链接文件指向的那个本体文件

-P  保留原来的链接属性

-L  不保留原来的链接属性,也是cp的默认动作

例:cp /etc/{passwd,inittab.rc.d/rc.sysinit} /tmp   支持花括号展开

 

 mv命令 移动文件或文件夹

mv  src  desc

mv -t desc  src

其他同上

         install 命令