linux

  1. 虚拟机网络的四种工作模式

    1. 桥接模式:虚拟机中的系统就像局域网中的一台独立的主机,它可以访问网内任何一台机器.
    2. NAT模式:让虚拟机借助NAT,通过主机网络访问公网,虚拟机不可以访问本地局域网.
    3. Host-only(仅主机)所有虚拟机可以相互通信,但虚拟机不能访问互联网
    4. Custom(自定义)自行定义虚拟机的网络连接方式.
  2. 管理员帐号为 root,提示符号是#.普通用户提示符号是$. su - root 切换到管理员帐号并切换到该帐号主目录.
    关机 shutdown.关机并重启 shutdown -r或者 reboot.关闭系统,关闭电源 power off.关闭系统不关电源 halt.

  3. 用户和组.
    用户.用户是私有帐号.用过UID来标识用户.
    每个用户拥有独立的文件目录,称为用户主目录,用户所有的文件都在此目录下.
    具有相似属性的多个用户分配到一个组,称为用户组,用GID标识.
    文件和目录的创建者默认成为该文件和目录的所有者,只有所有者才能修改文件的属性.
    所有用户资料存在 /etc/passwd文件中,对所有用户可读,每行代表一个账户数据,结构如下

     帐号名称:密码:UID:GID:用户名描述:主目录:默认shell
    

    帐号名称是唯一的,且区分大小写.帐号密码如果为X,标识经过shadow passwords保护,将/etc/shadow作为口令文件,只有超级用户有权读取.UID每个帐号唯一,1-499被系统用户使用.新用户默认从500开始.GID每个租唯一,保存在/etc/group文件中.主目录通常是 /home/username

  4. 普通用户,只能操作起拥有权限的文件和目录.只能管理自己启动的程序
    超级用户,拥有root权限,可以访问所有文件,资源.
    系统用户,与系统服务相关的用户,通常在安装过程产生,一般被应用和服务所使用,让这些服务有权去访问数据.

  5. useradd [options] 添加用户帐号命令
    passwd [options] 改变账户密码指令
    usermod [options] 改变用户属性指令
    userdel [options] 删除用户指令
    su [options] 切换用户指令

  6. 文件是具有名字的已租相关信息的有序集合,存放在外部存储区中,程序,数据,图片都可以是文件的内容.
    文件系统由文件和管理文件的软件组成.通常以磁盘分区划分,每个分区对应独立的文件系统,功能如下:

    1. 对文件增删改差,检索.
    2. 实施存储空间的分配,回收,重组.
    3. 对文件的共享,保密和保护措施.
    4. 提供文件访问接口.
      linux中文件是单树状结构,根目录为root,用/标识.文件可能存放在不同分区,磁盘上,当文件挂载到文件树中称为"挂在点"的目录上时,就成了该文件系统的一部分.
      linux启动时会先装载根文件系统,在根据配置文件/etc/fstab 的设置,逐个建立文件系统.
  7. 文件系统子目录内容
    1./root 引导系统必备文件,文件系统的装载信息,系统修复,备份工具.
    2./usr 通常操作中不需要进行修改的命令程序文件,程序库,手册和其他文档,常装载为只读.
    3./var 经常变化的文件.如日志,打印机目录.
    4./home 用户的主目录,存放用户数据.
    5./proc 系统启动后在内存中创建,包含内核虚拟文件系统和进程信息.
    6./etc 系统相关的配置文件.
    7./bin 引导过程必须的命令.
    8./dev 各类设备文件.
    9./tmp 运行过程中的临时文件.
    10./boot 引导装载程序要使用的文件,内核影像通常在该目录.
    11./mnt 临时文件系统的挂载目录,如U盘可在该目录下建立挂载点.
    文件分类
    普通文件:包含各种长度的字符串,包括文本文件,数据文件,可执行的二进制文件.
    目录文件:用于管理和组织系统中的打了文件,包括文件名,子目录,指针.
    符号链接文件:指向同一索引点的那些目录条目.以字母开头,->后指向连接的文件
    设备文件.linux把每个I/O设备看成一个文件.于普通文件处理方法一样.

  8. 文件权限.针对三种用户:文件拥有者用户.同组用户.其他用户.每个人分配rwx可读可写可执行,r表示只能读取,w表示可以打开并修改文件或者删除或新增目录中的文件,x表示允许将文件作为程序执行或在目录中进行查找或切换到该目录下.通过ls -lih 查看 如下, 291033 -rwxrw-r-- 1 neo neo 64 Feb 14 05:54 file.c
    1.291033 节点值
    2.第一个- 表示文件类型 -普通文件,d文件目录,l符号链接文件,c字符设备文件,b块设备文件
    3.rwx表示 可读,可写,可执行,分为三组,分别是拥有者权限,其他用户权限,同组用户权限
    4.1 文件的连接数,这个文件没有硬链接,所以是1
    5.第一个neo表示本文件属于 neo 这个用户
    6.第二个neo 表示本文件属于neo用户组
    7.64 文件大小,64字节
    8.Feb 14 05:4 文件最后访问时间
    9.file.c 文件名

     chmod type fileName/dirName  修改文件或目录权限
     chmod ugo+ r file.txt   把file.txt文件对所有用户添加 可读权限
    

    10.umask 命令指定在建立文件是预设的权限掩码.

     umask [-S]  maskcode  
     umask -S 显示当前掩码
    

    11.chown 改变某个文件或者目录的属主和属组.一般只有root用户有这个权限

     chown [options] user/group filename
     chown neo:users file.txt   把file.txt的拥有者设为users群组的neo用户
    

    12.chgrp 改变指定文件所属的用户组.需要用户是该文件的属主或者超级用户.

     chgrp [options] group filename 
     chgrp -R neo /home/abd    更改home/abd下所有文件的用户租为neo  -R 边上该目录下所有文件.
    
  9. 文件系统命令
    常用写法 命令名 [-选项] [--选项1] [参数1] [参数2]

     history 显示历史命令, man ls 获取外部命令的帮助, help  获取内部命令.
     cat [options] filename 打开某文件.  其中 more,less,head,tail 为阅读文件时使用
     grep  在指定的文件中查找指定的单词,并显示该行.  grep [-ptions]   filename
     sort 对指定文件的所有和进行排序并显示出来.  sort [-options] filename
     uniq 比较重复的行,并对其操作  uniq [-options] filename
     find 搜索文件,并执行指定操作.    find [起始目录] 选项 操作
     comm 比较两个文件.会列出仅在第一个文件的行,仅在第二个文件的行,两个都存在的行 comm [-123] filename1 filename2  -123 表示不列出哪些行.
     diff 列出两个文件的不同之处.
     cp 文件复制 cp[options] source dest
     mv 移动文件或者重命名文件 mv[options] source dest
     rm 删除文件rm [options] filename/dirname
     mkdir 创建目录 mkdir [options] dirname 
     rm [-p] dirname 删除目录
     ls 展示目录及信息   ls [option] filename/dirname
     cd 变换工作目录  .当前目录  ..上次目录 ~主目录
     pwd 显示用户当前所在目录
     文件链接方式:  1.符号链接,类似于快捷方式,建立一个符号连接文件,其内容是到实际文件的路径描述,符号连接文件和目标文件是两个独立党文件,有鸽子的i节点和数据块.2.硬链接,是将多个文件通过i节点物理地链接在一起.多个文件具有不同的文件名和同一个i节点,如同一个文件有多个别名.
     ln [options] source dist 
    
  10. 重定向和管道命令
    linux中输入输出设备都被作为文件看待.系统定义三个I/O文件,标准输入文件stdin,标注输出文件stdout,标注错误输出文件stderr.在Shell命令开始时,Shell会自动打开这个三个标注文件,并建立起文件与终端设备的连接.
    1.输入重定向,把命令的标准输入改变为指定的文件输入. 格式为 命令 <文件
    2.输出重定向,把命令的标准输出或标准错误输出重定向到指定文件中.
    格式 标准输出 命令 > 文件 会把文件清空在写入.
    附加输出 命令 >> 文件 会追加在文件末尾.
    3.管道 将一个程序或命令的输出作为另一个程序或命令的输入.可以把一些列命令连起来,形成一个管道线.
    格式 命令1 | 命令2 |命令3...
    4.vi编辑器. 输入 vi 进入命令方式,i(插入),a(追加),o(打开),s(替换),c(修改),r(取代) 进入输入方式,Esc退回命令模式. 在命令方式输入 :进入转义模式.

  11. 磁盘管理
    1.常见文件分期格式有 FAT16,FAT32,NTFS,Ext2,Ext3.linux有两中分期格式,主分区,交换分区.
    fdisk -l 查看所有分区
    fdisk firlname 创建分区
    mkfs 建立文件系统,会清楚之前的所有数据. 格式 mkfs [option] filesystem
    2.linux 文件系统只有一个根目录,创建文件后,需要把文件系统挂载后才能使用.挂载文件系统需要选择一个挂载点,挂载点就是要安装的文件系统的安装点.
    3.手工安装系统文件 格式 mount [options] devicename moutpoint 后两个参数是,要挂载的设备名称,挂载点文件 例如 mount -t ext3 /dev/hda3 /men/disk1 把hda3设备挂载到 disk1挂载点下,文件系统类型是 ext3.
    umount [option] mountpoint devicename 写在文件系统
    /etc/fatab 里的没行指令代表系统开机后自动执行的挂载命令.
    4.quota 命令可以指定为用户或群租实现磁盘配额管理.限制占用的磁盘块数或者拥有的文件数.
    quotacheck [options] 建立对用户和群组的配置文件 aquota.user和aquota.group
    edquota [options] user/group 修改用户或群组的磁盘配额.
    quotaon quotaoff 开启或关闭配额管理功能

  12. 进程管理
    linux是多用户多任务操作系统,可多个用户同一时间使用计算机系统,也可同时执行多个任务.
    进程是一个程序在自身的虚拟地址空间中的一次执行活动.
    进程程序区别:

    • 程序是动态指令集合,进程是程序单动态执行过程,它具有生命周期,动态的产生和消亡.
    • 进程是资源申请,调度和运行的单位,他使用系统中的运行资源.程序不占用系统运行资源.
    • 程序和进程是多对多关系,一个程序可由多个进程公用,一个进程可执行多个程序
      系统根据进程号PID区分进程,init是第一个进程,是唯一的一个由系统内核直接运行.新进程由旧进程通过fork()产生,旧进程是新产生进程的父进程.除了init进程,所有进程都有父进程.

    进程分类

    • 交互进程,由shell启动,可在前台,后台运行
    • 批处理进程,不予特定终端相关联,提交到等待队列中顺序执行.
    • 守护进程,linux启动时初始化,需要运行于后台的进程.

    进程状态,运行,就绪,睡眠(可中断,不可中断),暂停,僵死

    • 可执行(Runnable)包括运行和就绪两种状态,它或正在运行,或准备运行
    • 睡眠态(Sleeping)进程在等待某个资源,细分为不可中断(睡眠过程中忽略信号)和可中断(睡眠过程中如果有信号会被唤醒,处理完信号再次睡眠)状态.
    • 暂停状态(Stopped)由运行状态转换来,等待某种特殊的处理
    • 僵死态(Zombie)进程运行结束或因某些原因终止时,他将释放除PCB外所有资源.
   ps [option]     查看进程状态 
   jobs [option]     查看系统作业
   nice number command 指定要启动的进程优先级
   renice number PID 修改运行中进程优先级
   kill [-sign] PID 终止进程
   at [options] time  特定时间调用一个进程,只能执行一次
   配置cron文件命令,可以在特定时间执行进程,不限次数
   crontab [options] 配置corn文件
  1. shell
    1.通配符
    代表从他所在的位置开始的任何字符串. f标识匹配以f开头的任意字符串
    ?代表他所在位置上的单个字符
    []代表一个指定范围的字符,如 f[a-z]
    2.#代表shell注释. \表示转义字符
    shell脚本第一行通常放特殊字符串,告诉系统使用那个shell来执行,如果是#!,会以#! 后的字符作为执行该脚本的命令解释器的绝对路径 如 #! /bin/bash.
    可以使用./ 脚本文件名及参数或者 bash|tcsh|sh 脚本文件名及参数或 source|.脚本文件名及参数来执行
    3.shell 变量分环境变量,位置变量,预定义特殊变量

    • 环境变量 HOME:用户目录全路径名. PATH:定义一些目录路径,执行shell脚本时,会按PATH顺序搜索并执行搜到的第一个命令.PWD:当前所在位置的绝对路径SHELL:定义shell的解释器路径.
    • 位置变量 是一居出现在命令上参数的位置来确定的变量 #命令 参数1 参数2 .. 命令名对应$0 参数1对应$1
    • 预定义的特殊变量 $# 实际参数个数, $* 所有参数组成的字符串,$! 上一个后台命令的进程号,$?最近一条命令执行后的推出状态,$$ 当前进程号

    4.shel变量赋值
    read,读取一个命令到变量中. read name //读取输入到name中
    直接赋值 NAME=abd //把abd 赋值给NAME
    5.变量输出.引用变量时需要在变量名前加$符号.
    expr 算数命令. a= ' expr &a + 1 '
    let 算数命令 let x=x+1
    -b file,-c file,-r file 判断文件是否存在块设备,字符设备,是否只读
    -eq 等于,-ne 不等于,-lt 小于,-gt 大于
    -z,-n 字符串长度是否为0 -z s1 s1长度为0时值为真.
    -a,-0,! 二进制的与或非.
    6.表达式

      * if  表达式 then 命令表 else 命令表 fi 
      * if 表达式 then 命令表 elif 表达式 then 命令表 else 命令表 fi    //elif ==else if
      * case 表达式 in
          模式1|模式2 ) 命令表1 ;;   //可以多个模式,但以)结尾
          模式3|模式4 ) 命令表2 ;;   // 末尾为;; 标识该分支结束
          模式5 ) 命令表3 ;;
           esac    
       * select 变量 in 列表
          do 
            命令表
          done
       * while [表达式]
          do
          命令表
          done
        * for 变量 [in 列表]
          do
          命令表
          done
         * Until 
            命令表1
            Test 表达式  //条件为假时继续执行
            Do
            命令表2
            Done
     7.函数
        [function] 函数名
        {  命令表
            [return]
        }

14.网络配置

  • IP IPv4由4字节32位组成,网络位+主机位,例如,N标识网络位,H表示主机位,有如下组合N.H.H.H,N.N.H.H.N.N.N.H

你可能感兴趣的:(linux)