弱电智能化系统后台服务器之Linux系统常见命令解析

 提示:点击图片可以放大

----预想在linux 下安装一些应用  则先得熟悉linux---类似于windows得先熟悉系统后才学习软件的安装 

-----------老男孩运维视频教程-------
1.SAS 硬盘(结合SATA与SCSI的优点)---数据备份不提供读写
2.SATA:容量大速度慢价格便宜
3.SSD:固态硬盘
------------命令--------------------
--------------------指令------------------
   #指令 【选项】 【操作对象】
    一个指令可以包含多个选项  
    一个指令可以包含多个操作对象
    例如:需要让张三买一瓶水和餐巾纸
相对路径:参照物一般就是当前路径
        相对路径的写法:"./ " [当前目录下] "../ "[上一级目录下]
ls 用法
    ls 选项 路径
    ls -l 路径  表示以详细的列表进行展现
    ls -la 显示所有文件和文件夹以及隐藏文件
    ls -lh 
    在linux 系统中隐藏文件一般以“.”
cd 用法
    #cd 路径
linux 系统中有一个特殊符号“~”  表示当前用户的家目录
      cd ~
mkdir  创建目录
    语法:mkdir 路径 【路径是可以文件名称也可以是包含名称的一个完整路径】
          mkdir ~/KHG 在家目录下创建KHG的文件夹名称
          mikdir -p 路径   mikdir -p /yunwei/a/b/c  在yunwei 下创建b目录  在b目录下创建C 目录
 touch 
        创建文件
        语法:touch 文件路口  【路径可以是文件名也可以是包含名称的一个完整路径】
        touch 创建多个文件 touch 1 2  3
cp (copy)
        复制文件/文件夹到指定位置
        语法:cp  被复制的文档路径  文档被复制到的路径
        cp /home/b/linux /home/a/linux
        当使用cp命令进行文件夹复制的时候需要添加选项’-r‘ 【-r 递归复制即把文件夹或者文件夹里面的文件全部复制】
        否则目录被忽略 例子:cp -r 路径
        例子:cp /etc/passwd ~/   复制/ect/passwd 至家目录 
mv (move)
    mv 需要移动的文档路径  需要保存的位置的路径  类似为windos的剪切
    在linux 中重命名也是mv 其实就是原地移动然后再改名即可
     
rm(remove) 移除/删除文档
   rm 选项 需要移除的文件路径  不带选项则会提示
     -f (force强制)  强制删除
     -r (表示递归) 删除文件夹或者删除目录   rm -rf (强制删除)
* 通配符 
    意思任意字符 linux * 表示以linux 开头后续字符

vim ()
     一款文本编辑器类似于 Windows Notepad++
     vim 文件的路径(不是文件夹的路径)
     作用打卡一个文件(可以存在也可以不存在)

输出重定向
     一般命令的输出都会显示再终端中,但是有时候需要将一些命令的执行结果想要保存再文件中
     进行后续分析统计,则这时候需要使用输出重定向技术
     >  : 表示覆盖输出,会覆盖原来的文件内容
     >> : 追加输出,不会覆盖原始文件内容,会在原始内容的末尾添加
     # 正常执行的指令 > 或者>> 文件的路径
     例子:ls -la > ls.txt

cat
    作用一:有直接打开一个文件的功能
    语法:cat 文件的路径  cat /home/b/linux.txt
    作用二:cat 可以多文件进行合并
    语法:cat 待合并的文件路径1 待合并的文件路径2 ...待合并的文件路径N  >[输出重定向]合并之后的文件路径


----------------------------进阶指令-------------------------------------------
df
   作用:查看磁盘空间
   df -h : 类似ls -h 以可读性较高的形式查看磁盘空间
   mounted :挂载

Filesystem 【类似于windows分区】Size  Used Avail Use% Mounted on
/dev/mapper/vg_centos-lv_root   18G  3.7G   13G  23% /              //挂载到根目录下
tmpfs                          931M  376K  931M   1% /dev/shm      // tmpfs挂载到dev/shm下面
/dev/sda1                      485M   35M  426M   8% /boot  
/dev/sr0

free:
    查看内存使用情况
    语法:free -m  m表示以Mb为单位
head
    作用:查看一个文件的前n行,如果不指定n,则默认显示前10行
    语法:head -n 文件路径 [n 表示数字]  head -5 install.log

tail
    查看一个文件的末n行 如果不指定,则默认显示后10行
    tail -n 文件路径
    通过tail查看文件的动态变化【不能是自己手写的东西】
    tai -f 文件路径  【一般用来看系统的日志比较多】
   
less
    作用:查看文件,以较少的内容进行输出,按下辅助功能键【数字+回车 空格键 或者上下键】查看更多
    语法:less 需要查看的文件路径
wc
    作用:统计文件内容信息(包括行数/单词数/字节数)
    语法:wc -lwc 需要统计的文件路径
             -l (lines)行数 (常用)
             -w (words) 单词数
             -c (byte)  字节数 

date
    重点命令
    作用:操作时间日期(读取/设置)
    语法:date  输出形式:2018年3月15日 周六 15:22
    语法:date +%F (等价于#date "+%Y-%m-%d") 输出形式 2018-03-15
    语法3:date "+%F %T"  //要读取则必须设置+

clear/ctr+L
    作用:清楚终端中已经存在的命令和结果
    语法:clear 或者 clear L
    注意:该命令并不是真正的清除了之前的信息,而是把之前的信息隐藏到了最上面


---------------管道[重要]----------------------------------------------------
管道符:|     【100%使用】
  作用:管道一般一般用于“过滤” ‘特殊’ “拓展处理”
  语法:管道不能单独使用,必须需要配合前面所讲的指令来一起使用,起辅助作用。
  过滤案例:需要通过管道查询出根目录下包含'y'字母的文档名称
        ls/|grep[过滤] y   以管道作为分界线,前面的命令有个输出,作为grep的过滤的输入,然后再输入。
                           (管道前面的输出作为后面的输入)  “/表示根目录”

  特殊用法案例:通过管道的操作方法来实现less的等价效果  cat 路径 |less
  扩展处理:使用学过的命令来统计目录下的总个数  ls /|wc -l
 
----------------------------------高级指令--------------------------------------
hostname :
        作用:操作服务器的主机名(读取/设置)
        语法1:hostname       输入完整的主机名
        语法2:hostname | -f  输出当前主机(域名)

id:
       作用:查看一个用户的一些基本信息(用户的id  用户组的id 附加组的id【一个用户可能属于多个组】  不指定则默认为当前用户)
       语法:id 默认显示当前执行该命令的用户的基本信息
       语法:id  用户名     :显示指定用户的基本信息
       环境变量一般是存放的是一堆的路径
       验证用户信息:通过/etc/passwd   例子:cat /etc/passwd
       验证用户组信息:通过文件/etc/group   例子:cat /etc/group
      
whoami
    作用:显示当前登陆的用户名 一般用于shell 脚本,用于获取当前操作的用户名方便记录日志
    用法:whoami


ps -ef(重点指令)
    作用:产看服务器的进程信息 
--------------执行结果如下参数解释----------------------------------------------
    UID :该进程执行的用户 id
    PID :进程ID
    PPID: 该进程的父级进程id  如果一个程序的父级进程找不到,该程序进程为僵死进程
    C :cpu的占用率
    STIME:该进程的启动时间
    TTY:终端设备,发起该进程的设备识别符号  如果显示? 则表示不是由终端发起的进程
    TIME  表示进程的执行时间
    CMD:表示该进程的名称或者对应路径 

过滤进程(100%使用的命令)
    ps -ef |grep 进程名称  //ps -ef | grep firefox 
 同时可以产看软件的配置文件的位置
w:
 12:17:37   up  1:35,        2 users,        load average: 0.06, 0.03, 0.00
 系统时间   系统运行了多久   当前连接的用户      负载      1分钟  5分钟  15分钟
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
neilwang tty1     -                10:43    1:16m  0.12s  0.12s login -- neilwang
neilwang pts/0    10.10.20.59      11:01    0.00s  0.16s  0.13s sshd: neilwang [priv]

top
   作用:主要用于查看服务器的进程占的资源      类似于windows 资源管理器的性能
   语法:top
   输出结果解释:
               PID:进程id
               PR:进程的优先级
               VIRT:虚拟内存    申请500MB 实际使用300MB 此时的虚拟内存500MB
               RES :常驻内存    申请500MB 实际使用300MB 此时的长驻内存300MB
               SHR :共享内存    实际使用320MB 但是其中还包含对其他进程的调用开销则需要口扣除。
               S: sleep (睡眠状态) R (run )运行状态     
    在运行top的时候,可以按下方便的快捷键
        M :表示将结果按照内存从高到低进行降序排列
        P : 表示将结果按照CPU从高到低进行降序排列
        1(阿拉伯数字1):当服务器拥有多个CPU的时候可以使用来展开显示各个CPU的详细信息

du -sh
    作用:查看目录的真实大小
    语法:du -sh 目录路径
    选项含义:
        -s:summaries 只显示汇总的大小
        -h:表示以较高可读性的形式进行显示
                 
find :
    作用:用于查找文件   类似于windows 查找
    -name :按照文档名称进行搜索
    -type :按照文档的类型进行搜索【文档类型:“-”表是文件,“d”表示文件夹】
    语法:find 路径范围 选项 选项的值
    案例:find /-name linux.txt 根目录下的linux
    案例:find /etc -name 搜索ect目录下所有*文件 

service(重点)
    作用:用于控制一些软件服务启动/停止/服务
    语法:service 服务名  start/stop/restart
    案例:service httpd start 启动apache

kill(重点)
    作用:杀死进程
    语法:进程 PID
    killall :进程名称

ifconfig
    作用:获取网卡信息
    语法:ifconfig
    
reboot
    作用:重新启动计算机 
    语法1:reboot  重启
    语法2:reboot -w  模拟重启  但是不重启


shutdown
    作用:关机 (慎用)
    语法:shutdown -h now (立即关机) 或者 shutdown -h 15:25  定时关机
    取消关机计划:针对centos 7之前版本  ctrl+c
                  针对centos 7之后额版本 shutdown -c
    其他关机命令:init 0
                  halt
                  poweroff

uptime:
    作用:输出计算机的持续在线时间(从开机以来到现在的时间)
例子:uptime
 13:39:58 up 9 min,  2 users,  load average: 0.00, 0.05, 0.05
windows(systeminfo)

uname:
    作用:获取计算机操作系统的相关信息 
    语法1:uname
    语法2:uname -a (类型/全部主机名/内核版本/发布时间/开源计划)
   
netstat -tnlp
    作用:查看网络连接状态
    语法格式:netstat -tnlp
            选项说明:t:表示只列出tcp协议的连接
                      n:表示将地址从字母组合转化为ip地址,将协议转化为端口号
                      l:表示过滤出 start(状态)  列中其值为listen(监听)的连接
                      p:表示显示发起连接的进程PID和进程名称
man
   作用:manual(手册--包含了全部linux全部命令手册)
   语法:man 命令  (退出按q)
   例子:man cp


du -sh /usr/*
 作用查看目录大小的命令 du -sh /*
/var/log/messages
    作用:修改linux 的最大文件打开数量,系统的默认位置
 
产看占用端口8080的进程
 ss -lntup |grep 8080
 nmap -p8080
运维工程师的认识
 数据不能丢
 网站7*24运行
 提升用户体验

编辑器有自己的命令----类似于windows的其他软件也有自己命令一样

linux  一切皆文件的精神所以需要操作linux 就需要编辑

-------------------------vim 编辑器之神----vim编辑器---------------------------------
    vim:(可以视为vi的升级版)
         重点学习:移动光标/模式切换/删除/查找/替换/复制/粘贴/撤销等基础操作
        
    sublime:(编辑器)

vim的三种模式:(大众的认知)
    命令模式: 【打开文件默认模式】 不能对文件进行直接编辑,可以输入快捷键进行一些操作(删除行/复制行/移动光标)
    编辑模式:(输入模式)可以对文件进行内容编辑
    末行模式: 可以在末行输入命令对文件进行操作(搜索/替换/保存/退出)
vim 打开文件的方式(4种要求掌握前三种)
    #vim 文件路径 作用是打开指定的文件
    #vim +数字 文件路径   作用:打开指定文件且将光标定位到指定行(数字)
    #vim +/关键字 文件路径 作用:打开指定的文件,且高亮显示关键字
    #vim 文件路径1 文件路径2 文件路径3 作用:同时打开多个文件

:q 退出vim 

    vim +10 passwd 光标移至10行
    vim +/login passwd   高亮login


--------------------------命令模式-----------------------
   注意:打开文件的第一个看到的模式
   光标移动到行首:
                按键:shift+6 或者 ^ (6为大键盘上的6不是小键盘的6)
   
   光标移动到行尾:           
                按键:shift+4 或者 $  (4为大键盘上的6不是小键盘的4)
  
   光标移动到首行:           
                按键:gg
   光标移动到末行:           
                按键:G
   翻屏
                按键:向上翻屏 ctrl+b 或者pageup
                按键:向下翻屏 ctrl+f 或者pagedown

正则表达式:*:表示以
            ^: 表示开始
            $:表示结尾

复制
    不能单独使用:配合粘贴命令使用
    1.复制光标所在行:
       按键:yy(复制)
       粘贴:想要粘贴的地方按下p(paste)键
    2.复制光标所在行为准(包含当前行),向下复制指定行数
       按键:数字yy (复制)  数字表示向下复制的行数
       粘贴:想要粘贴的地方按下p(paste)键
    3.可视化选择
       按键:ctrl+v (复制部分块)按下上/下/左/右方向按键选择需要复制的块 再按下yy 
             找到想粘贴的地方按下p 键

剪切
    不能单独使用:配合粘贴命令使用
    剪切/删除光标所在行
          按键:dd (delete)(删除之后下一行上移)
          dd  严格意义上说是剪切指令  但是如果剪切了不粘贴那就是删除的效果
    剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定的行
         按键:数字dd (删除之后下一行) 
    剪切/删除光标所在的当前行,但是删除之后的下行不上移动
        按键:D 当前行会变为空行

撤销与恢复
    撤销:  输入:u (undo)
    恢复: ctrl r



----------------------扩展光标的快速移动-----------------------------
  1.快速将光标移动到指定行
     按键:数字G
  2.以当前光标为准向上/向下移动n行
     按键:数字+方向键 (上下)
  3.以前当前光标为准向左/向右移动n字符
     按键:数字+方向键(左右)
  4.末行模式下快速移动方式
     输入:再按数字


---------------------模式间的相互切换--------------------------------
 末行模式下快速移动方式
    1.按键”:”由命令模式进入末行模式  按:"esc" 2次或者1次 或者删除“:”退出末行模式
    2.保存操作:
        作用(保存):保存文件输入“:w" (write)
        作用(另存为):”:w 路径“
    3.退出vim  
        输入:”:q"
    3.保存并退出
        输入:wq
    4.强制(!)
        输入:q! 强制退出
    5.调用外部命令
         末行模式下输入:!外部命令
    6.搜索/查找
        输入:/关键字
        例如:我想再passwd 文件中搜索 sbin 关键词  则sbin
        在搜索结果中切换上/下一个结果:N/n  (next)
    7.取消高亮
       nohl【no highlight】
    8.替换
       :s/搜索的关键词/新的内容 (string replace)  ---替换光标所在行的第一组替换内容
       :s/搜索的关键词/新的内容/g                 ---替换光标所在行的全部替换内容
       :%s/搜索给的关键词/新的内容              ----替换所有行的第一个符合条件的内容----
       :%s/搜索给的关键词/新的内容/g              ----替换整个文档符合条件的内容----
      
      %:表示整个文件
      g: 表示全局(global)
    9.显示行号----【临时显示】
       :set nu 【set number】
       : set no nu 不显示行号

    10.扩展命令:使用vim 同时打开多个文件 
       查看当前已经打开得文件名称:files
         %a: a=active  活跃表示正在打开得窗口
         #:表示上一个打开的文件
         
        切换文件的方式:
          1.输入:open 已经打开的文件名
          2.通过其他命令来切换上一个文件/下一个文件
             输入:bn 切换到下一个(back next)
             输入:bp 切换到上一个文件 (back prev)  
  末行模式下:输入/查找内容


----------------------------编辑模式----------------------------------
必须在命令模式下进入编辑模式:
    i:在命令模式下按i进入编辑模式
       在光标所在字符前开始插入(insert)
    a:在命令模式下按a进入编辑模式             
       在光标所在字符后开始插入(afer)
    【编辑模式下最好不要使用小键盘】
    退出按esc
实用小功能
    代码着色:
        显示:syntax on  (在末行模式下)
        关闭:syntax off (在末行模式下)
vim中计算器的使用
    当我们在编辑文件的时候突然需要使用计算器去计算一些公式,此时需要用计算器
    ,vim自身集成了一个简易的计算器
        进入编辑模式----按下ctrl+r -----输入= ------此时光标会变到最后一行
        输入要计算内容


---------------------------------------扩展项目----------------------
vim的配置(重点)
    vim 编辑器也是有配置文件的
       配置有三种情况
       a.在文件打开时候末行模式下输入的配置(临时)
       b.个人配置文件(~/vimrc---如果没有可以自行新建)家目录下
          1.新建好个人配置文件之后进入编辑
          2.在配置文件中来进行配
            比如显示行号:set nu
           
       
       c.全局配置文件(vim自带 /etc/vimrc)
       如果个人配置于全局配置文件产生冲突下应该以谁为准??
       答案:如果针对同一个配置项,个人配置文件中存在则以个人为准,
             如果个人中不存在该项配置则以全局为准。

异常退出
    便在编辑文件之后并没有正常去wq(保存退出),而是遇到突然
    
    解决办法:将交换文件删掉(在原始文件前面有个.后面有个swp------passwd的交换文件为
               .passwd.swp)
别名机制
    作用:相当于创建一些属于自己的自定义命令
    例如:windows 下采用cls 进行清理屏 ,linux 下进行清屏为clear 没有此命令
          简单命令cls,所以采用别名机制(类似于宏定义)进行创出cls
          别名依靠一个别名映射文件:~/.bashrc 【家目录下.bashrc】
          注意:如果想新创造的命令生效,需要要重新登陆当前账户或者执行 source ~/.bashrc
退出方式
    除了:q 或者wq 命令外  另外一个命令为:x
        x :是 q 于wq 的命令联合体【保存退出】
        切记:不要用大写的X
       

----------------------------linux 自有服务(1)---------------------------------
    自有服务:不要用户独立安装软件服务,linux 自有的服务
    运行模式:运行级别
    在linux 中存在一个进程init (initualize--初始化) 进程id 是1(启动后的第一个进程)
    init 进程存在一个对应的配置文件 :inittab(系统运行级别配置文件/etc)
        #在配置文件中是注释的意思
         0---表示关机级别(不要将默认的运行级别设置成为0)
         1---表示单用户模式
         2---表示多用户模式,不带NFS(network file system)
         3---多用户模式,完整的多用户模式
         4---没有被使用的模式(保留模式)
         5---完整的图形化界面模式
         6---重启级别(不要将默认的运行级别设置成为0)

        与该级别相关的几个命令:
            #init0 表示关机
            #init3  表示切换到不带桌面模式
            #init5  表示切换到图形界面
            #init6  重启电脑
            init指令需要超级管理员权限。
            其实都是调用的init 进程 ,将数字(运行级别)传递给进程
            进程去读配置文件执行对应的操作
           
        设置模式为永久模式(命令行)
            将/etc/inittab文件中的initdefault值设置为3,然后重启操作系统。
           
--------------------------------用户与用户组管理-----------------------------------
    每个用户账号都拥有一个唯一的用户名和各自的秘密
  用户账号的添加/删除/修改及用户密码的管理
  用户组的管理

    注意三个文件【系统自带的文件】
  etc/passwd  存储用户的关键信息
  etc/group   存储用户的关键信息
  etc/shadow  存储用户的密码信息
   
    添加用户
        语法:#useradd 选项  用户名
        常用选项
                :-g  表示指定用户的用户组 选项的值可以是用户组的ID,也可以是组名
                : -G  表示指定用户的用户附加组
                : -u  (uid)用户id (QQ号) 可以自己设置id.系统默认会从500之后的顺序分配
                       id ,如果不想使用系统分配,可以自己自定义。
                :-c   comment 注释
         注意:在不添加选项的时候,执行useradd之后会执行一系列的操作
                a.创建同名的家目录
                b.创建同名的用户组
        创建用户张三:【不带选项】

                 useradd zhangsan
                 验证:1.cat /etc/passwd
                       2.ls /home   验证zhangsan是否在家目录(centos 在创建号用户之后随之产生一个同名的家目录)
                 扩展:认识passwd文件
                      用户名:秘密:用户ID:用户组ID 注释: 家目录 :解释器shell
                      用户名:创建新的用户名称,后期登陆是需要输入
       密码:  此密码一般都是X ,表示密码占位
       用户ID :用户的识别符号(类似QQ号)
                      用户组:有户所属的组的组id
                      注释: 解释用户的作用
                      家目录:用户登陆进入系统之后默认位置
                      解释器shell: 表示等待用户进入系统之后,用户输入指令之后,该解释器会用户的
                                   的命令传递给内核处理。
        
        案例:添加选项创建lisi,让lisi属于501主组,附加组500,自选账号666
              useradd -g 501 -G 500 -u 666 lisi
              查看主组在etc/passwd下进行查看
              查看附加组在etc/group下进行查看

             
      
------------------------------修改用户---------------------
1.语法:#usermod 选项 用户名
       usermod:user modify  修改用户
       常用的选项:
               -g:上同
               -G:上同
               -u:上同
               -l: 表示修改用户名
案例
    修改lisi用户的主组为501,附加组502
        usermod -g 501 -G 502 lisi

案例
    修改lisi用户的用户名,改为wanger
    #usermod -l wanger(属于选项值) lisi
 #usermod -l 新的用户名  旧的用户名
  
      

2.设置密码
    linux 不允许没有密码的用户登陆到系统,因此前面创建的用户都处于锁定状态
 需要设置密码后才能进行登陆到系统
 
 语法 #passwd 用户名
         在设置密码时候没有任何提示,确保两次密码一致就可以.
   设置密码之后在shadow 文件中又体现,但是加密的。
   设置完成后可以登陆账号(切换)
          #su 【用户名】 如果用户名不指定则默认为超级管理员 su=swith user
  切换用户注意事项:
   a.从root 往普通用户切换不需要密码,但是反之则需要密码
   b.切换用户之后前后的工作路径是不变的
   c.普通用户没法访问root用户家目录,反之可以
        

3.删除用户
 语法:#userdel 选项 用户名
   userdel:user delete
    常用选项
  -r:表示删除用户同时,删除其家目录
  注意:已经登陆的用户不能进行删除,没有登陆的可以删除,如何解决不能登陆。
     直接kill进程,然后再进行删除用户
  提示:所有跟用户操作的命令(除了passwd外)只有root超级管用有权限执行,因为
     用户改密码有权限
 


-----------------------------用户组管理---------------------------------------------
1.每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。
 文件结构
  用户组:密码:用户组ID :组内用户名
        密码:X表示占位符号,虽然用户组可以设置密码,但是大多数情况下不设置密码
  组内用户名:表示附加组是该组的用户名称
  
  
2.用户组的添加
 语法:#groupadd 选项 用户组名
    常用选项:
   -g:类似用户添加里面的”-u“ 表示选择自己设置一个定义不得用户组ID数字,
    如果不指定则默认从500之后递增。
 案例:使用groupadd指令创建一个新的用户组:
     

3.用户组编辑
 语法:#groupmod 选项 用户组名
 常用选项:
   -g:类似用户添加里面的”-u“ 表示选择自己设置一个定义不得用户组ID数字.
   -n:类似于用户修改”-l“ 表示设置新的用户组名称
           

4.用户组删除
  #groupdel
        注意:当如果需要删除一个组,但是这个组是某个用户的主组时则不允许删除,如果
  确实需要删除,则先移除组内所有用户
 

---------------------------网络设置-----------------------------------------------------
网卡配置文件:/etc/sysconfig/network-scripts
 ONBOOT :是否开机启动
 BOOTPROTO:ip 地址分配方式  DHCP 表示动态分配
    HWADDR:硬件地址mac

网卡后续需要重启网卡操作
    方式一:service network restart
    在有的版本中可能没有service命令来进行操作,但是有一个共性的目录/etc/init.d这个
 目录中放着很多服务的快捷方式----重启网卡的另一个方式
  #etc/init.d/network restart
    扩展:如果修改网卡的配置文件,但是文件目录层次较深,此时可以在浅目录中创建一个快捷方式,
    方便以后查找。
        语法:ln -s 原始文件的路径 快捷方式的路径   创建一个快捷方式
            在家目录下创建一个网卡的快捷方式
            ln -s /etc/sysconfig/network-scripts/ifcfg-eth0 ~/ifcfg-eth0

扩展项目
 重启单个网卡
  #ifdown:网卡名   停止某个网卡
        #ifup:   网卡名   开启某个网卡
提示:在实际工作时候不要随意禁用网卡

---------------------------------------------------文件传输----------------------------
filezila:文件传输软件
  
-------------------------
设置主机名称:
   hostname
   hostname -f
   临时设置主机名:需要切换用户使之生效
   hostname:设置的主机名  
   永久设置主机名:(需要重启)
 找到文件/etc/sysconfig/network
        修改hostname为自己想该的主机本
  修改linux服务器的hosts文件,将主机名指向本地
    etc/hosts     
  FQDN :1.不设置FQDN会造成开源服务器软件则无法启动或者报错 
               2.方便记忆
      3.不设置会影响本地的解析

chkconfig:
  类似于windows下的开机启动项目管理服务
  在linux下不是所有的软件安装完成后都有开机启动服务,有的需要自己去添加
  除此之外还可以查看和删除
    #chkconfig --list           【开启启动服务器查询】
        其中:0-----6 表示系统级别下开机状态
            例如:httpd 在3级别下为关闭 则表示在3启动形似下默认开机不启动
        删除服务:
           chkconfig --del 服务名
  例如:chkconfig --del httpd (删除开机服务后)

添加开机启动服务
    #chkconfig --add 服务名
    备注:首先你得先保证他是个能正常的可以运行的服务
        chkconfig --add httpd

设置服务在某个级别下开机启动/不启动【重点命令】
    语法:#chkconfig --level (连在一起的启动级别35)服务名on/off
  设置httpd服务在3,5级别下开机启动
   chkconfig --level 35 httpd on
    后期的一些软件服务可以设置为开机启动项目

ntp服务
    作用:主要是对于计算机的时间同步管理操作
    时间是对服务器来世很重要
 同步服务器的方式有2个:一次性同步(同步) 通过服务自动同步
    一次性同步:
             #ntpdate 时间服务器的ip地址或者域名
    设置时间同步服务
        服务名:ntpd
        启动ntp服务
            service ntpd start   或者 /etc/init.d/netp start
        设置ntp服务开机启动
        #chkconfig --list |gerp ntpd  //查看该服务开机启动状态
        #chkconfig --level 35 ntpd on //开启ntpd 开机启动服务
---------------防火墙服务---------------------------------------
防火墙的作用:防范一些网络攻击,有硬件防火墙/软件防火墙
防火墙选择性的进行通过从而保证网络安全
iptables服务
在centos6.5中防火墙有一个名称:iptables
在centos7.0中防火墙有一个名称:firewalld
查看iptables是否开机启动
     1.产看进程
     2.chkconfig --list grep iptables
iptables服务的启动/重启/关闭
     service  iptables start/stop/restart(方式一)
     /etc/init.d/iptables start/stop/restart (方式二)
3.产看iptables的状态(规则)
  services iptables status
iptables -L -n    [-L:表示列出规则   -n:表示将单词表达形式改为数字显示]
4.简单设置防火墙规则

解释项目:A=add  -p (协议) 
允许80端口通过
 iptables:主命令
                -A:add
   INPUT:进站请求
               OUTPUT :出站请求
-p:protocol 指定协议
--dport:指定端口号
-j:指定行为结果 允许(accept )/禁止(reject)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
添加完成后保存操作 /etc/init.d/iptables save   否则重启后就没有该规则---


-------------------------------rpm管理--------------------------------------
作用:类似于windows 电脑管家的软件管理产品,主要作用是对linux
          的软件包进行查询/卸载/安装
查询:
       #rpm -qa |grep 关键词   查询某个软件
       选项:-q:查询,query
                  -a:全部  all
例子:rpm -qa |grep firefox   查看linux 上是否安全firefox

卸载:
rpm -e 关键字 : 卸载某个软件 
         rpm -e firefox 卸载火狐
  如果想卸载一个软件,但是该软件与别的软件有依赖关系时则会提示无法卸载,当存在依赖关系时候又不想去解决这个依赖问题时候可以采用下属方法
#rpm -e 软件包名  --nodeps【没有依赖关系】  

安装:
    想要安全软件,和windows一样需要先找到安装包
软件包的获取方式:1.去官网去下载  2.不介意老版本的话,可以从镜像文件中读取出来
以光盘文件为例:
   #lsblk (list block devices) 产看块状设备信息【光盘/U盘/硬盘】   

Name :名称
Size:设备大小
Type:类型
MountPoint:挂载点(类似于windows下盘符/windows自动分配盘符)
扩展:光盘的挂载和解挂
       解挂:umount
       语法:#umount 当前设备的路径
       此时相当于U盘在windows上已经被弹出了,但是没有拔下USB接口
       挂载光盘:
        语法:mount   设备的原始地址  要挂载的位置路径
        设备原始地址:地址统一在/dev下,然后根据大小确定具体name值,拼凑在一起组成原始地址
        例如:/dev/sr0
        要挂载的位置路径:建议放在mnt,一般都放在mnt

以上备注:光盘挂载成功
安装软件的命令:
   #rpm -ivh  文件路径/软件包完整名称
                  -i:install
                  -v:进度条
                  -h:以#号形式显示进度条
yum history
    yum 安装包历史记录

----------------------------------------------cron/crontab计划任务(重点)----------------------------------------
计划任务的作用:操作系统不可能24小时都有人在值守操作,有些时候想在指定的时间点去执行任务(例如每天夜里02:15分重启Apache或者清理垃圾),此时可以交给计划任务程序去执行。
语法:#crontab 选项
                          常用选项:
                           -l :list  列出指定用户的加互任务列表
                           -e:edit 编辑指定用户的计划任务列表
                           -u:user 指定的用户名,如果不指定则表示为当前用户
                           -r:remove 删除指定用户的计划列表
编辑计划任务(重点)
计划任务的规则语法格式,以行为单位,一行则为一个计划
分  时  日  月  周  需要执行的命令
例:想要每天0点0分执行reboot指令 :0 0 * * * reboot【命令】
      分取值范围:0--59
      时取值范围:0--23
      日取值范围:1--31
      月取值范围:1--12
      周取值范围:0--6  0表示星期天
四个符号:
        *:表示取值范围中的每一个数字
        -:连续区间表达式   想要表达1到7 则可以写成1-7
        /:表示每多少个 例如没10分一次,则可以在分的位置写为*/10
      ,:表示多个不连续的取值,比如想在1点,2点,6点执行,则可以在时的位置写1,2,6
问题一:
每月1,10,22日的4:45重启network服务
45 4 1,10,22 * * service network restart
问题二:每周,周日的1:10重启network服务
10 1 * * 6,0  service network restart
问题三:每天18:00--23:00之间每隔30分中重启network服务
*/30 18-23 * * *  service network restart
问题四:每隔两天的上午8点到11点的第3和第15分钟执行一次重启
3,15  8-11  */2  *  *  reboot

crontab权限问题
  本身是任何用户动可以创建自己的计划任务,但是超级管理员可以通过设置
  某些用户不允许设置计划任务(配置文件位于/etc/cron.deny),配置文件
  的写法为里面写用户名,一行一个【类似添加黑名单】
  vim /etc/cron.deny         (deny---拒绝)
  #yw  /*禁止yw(该用户)进行计划任务类似于黑名单*/
  
  还有一个配置文件:(白名单)
  /etc/cron.allow    (本身不存在,自己创建)
  
  注意:白名单的有限级别高于黑名单,即如果一个用户同时存在于黑名单及白名单
     则为默认允许创建计划任务
  
--------------------------linux 权限管理-------------------------------------------
 1.权限操作与用户及用户组是兄弟操作
    总述:linux 系统一般将文件可存/取访问的身份分为三个类别:owner/group/others,且
  3种身份各有read/write/execute等读/写/执行权限
  执行权限:一般都是对于脚本文件
  
    2.身份介绍
  owner身份(文件的所有者,默认为文档的创建者)
  Group身份(与文件所有者同组的用户)
  others身份(其他人,相对于所有者)

  
linux 的权限介绍
    1.要设置权限,就需要知道一些文件的基本属性和权限的分配规则,在linux中,ls 命令
 常用来查看文件的属性,用于显示文件的文件名和相关属性
 #ls -l 路径  【等价于ll】
 drwxr-x---
 10位字符表示含义:
 第1位:d:表示文件夹/目录,'-'表示文件,’l'表示软连接或者快捷方式
 第2-4位:文件所有者权限【rwx】第2位取值有 r(表示可读) 与 -(表示不可读)
   w(表示可写) 与 -(表示不可写)  x(表示可执行) 与 -(表示不可执行)
 第5-7位数:表示与所有者同在一个组的用户权限
      r-x:文件所属用户组权限
    第8-10位数:
            ---:其他人对这个文件的权限

------------------权限设置---------------------------
 语法:chmod 选项  权限的模式  文档
     常用选项:-R 递归设置权限(当文档类型为文件夹的时候)
  权限模式:就是该文档需要设置的权限信息
  文档:可以是文件,也可以是文件夹,可以是相对路口,也可以是绝对路径
  注意点:如果想要给文档设置权限,操作者要么是root用户,要么是文档所有者
 字母形式:
     选项  字母  接受
   谁    u   用户


    给谁设置:
  u:表示所有者身份owner(user)
  g:表示给所有者同组用户设置(group)
  o:表示给其他用户设置权限(other)
  a:表示给所有人设置权限(all)
     如果不指定设置权限的时候,则默认给所有人设置权限
 权限字符:
  r:读
  w:写
  x:执行
 权限分配:
  +:表示给具体用户新增权限(相对于当前)
  -:表示删除用户的权限 (相对于当前)
  =:表示将权限设置为具体的值(注重的是)
 例如:需要给anaconda-ks.cfg文件(-rw--------)设置权限,要求所有者拥有全部权限
    组用户拥有读和执行权限,其他用户只读权限
    chmod u+x,g+rx,o+r anaconda-ks.cfg
    chmod u=rx,g=rx,o=r anaconda-ks.cfg
    chmod a+x  或者chmod a=x   或者chmod +x

数字形式:经常会在一些技术性王爷上看到类似chmod 777 a.txt
        读:r   4
  写:w   2
  执行:x 1
  可读可写可执行:最大权限    7=4+2+1
  没有任何权限:0
          
注意事项:
         在linux系统中,如果要删除一个文件,不是看文件有没有对应的权限,
  而是看文件所在文件夹/目录是否有写权限,如果有才可以删除
  
  
-----------------------属主与属组的设置----------------------------
    属主:所属的用户(文件的主人)
    属组:所属的用户组
    这两项信息在文档创建的时候会使用创建者的信息(用户名/用户所属的主组名称)
    如果有时候去删除某个用户,则该用户对应的文档的属主于属组就需要去修改了
 作用:更改文档的所属用户
 语法:chown username 文档路径 
       chown -R username 文档夹路径
 案例:将root用户创建的oo目录,所有者改为test
       chown -R test /home/oo     (chang own)
 
 作用:更改文档的所属用户组
       chgrp -R groupname  文档的路径/R 表示递归【目录情况下使用】
 如何通过一个命令实现既可以更改所属用户,也可以修改所属用户组呢?
        语法:chown  选项(-R) username:groupname  文档路径 

  
---------------扩展知识点--------------------------------
 问题:reboot/shutdown/init/halt user管理  在普通用户身上都操作不了
    但是有些特情况下有需要执行权限,又不可能让root用户把自己的密码告诉给
    普通用户,怎么操作!!可以使用sudo 命令(switch user do)
    sudo可以让管理员(root)事先定义某些特殊命令谁可以执行
    默认sudo中是没有除了root之外的用户规则,需要使用则需要先配置
    sudo配置文件:/etc/sudoers
    配置sudo文件请使用"#visudo"  打开之后使用的方法于vim用法一致
    配置普通用户的权限
    root   ALL=(ALL)    ALL
    root 表示用户名 如果是用户组则写成“%组名”
    ALL表示允许登陆的主机(地址白名单)
    (ALL):表示以谁的身份执行  all表root身份
    ALL:表示当前用户可以执行的命令,多个命令可以使用逗号“,”分隔
 
 在添加好对应的规则之后就可以切换用户,切换到普通用户test,会提示权限不够
 此项要想要使用刚才的规则,则以一下命令将进行:
 sudo 需要执行的命令
 
 普通用户怎么查看自己有那些权限呢
  #sudo -l
  sudo 不是任何linux 分支都有  常见的centos 于ubuntu存在sudo 命令
  sudo 不是任何linux 分支都有  常见的centos 于ubuntu存在sudo 命令
   
 netstat -an (-a:表示全部 -n表示转化为数字)
  netstat -ntlp 
 traceroute 作用是查找当前主机与目标之间的网关(路由器可能会响应 也可能会不响应)
 
 
 shell中默认的shell 是/bin/bash ,流行的shell有ash /bash/ksh/csh/zsh等
 不同的shell 都有自己的特点及用途
 csh:52个内部命令
 ksh:52个内部命令
 tcsh:csh 的增强版本
 nologin:表示用户不允许登陆到操作系统
    bash:大多数linux系统默认使用shell        
 
shell 入门
 代码规范:
  #!/bin/bash (指定告知系统当前这个要使用的解释器的路径)
   shell 相关指令
  文件的命名规范:
   文件名.sh:.sh是shell文件的后缀
   
 使用流程
  1.创建.sh文件     touch/vim
  2.编写shell代码   按语法即可
  3.执行shell脚本   脚本必须有执行权限  chomd a+x .sh
  案例:创建test.sh 使用第一个shell脚本程序,输出hell world
   touch test.sh
   vim test.sh
   #!/bin/bash
   输出命令:#echo 123
 输出内容如果包含字符和符号(不含变量),则需要用引号包括起来,如果是纯数字则可以包括
   也可以不包括
   注意:在执行test.sh的时候一定要写成./test.sh 而不是test.sh,运行其他二进制的程序也是
   一样,直接写成test.sh,linux 系统会去PATH里面寻找没有叫test.sh的,而只有/bin,/sbin
   ,/usr/bin,/usr/sbin 等在PATH里面,不得当前目录通常不在PATH里面,所以写成test.sh
   是找不到命令得,要用.test.sh 告诉系统说,就在当前目录找;或者直接在根目录下进行(/root/test.sh)
   
   
   

           

接收用户输入(重点)
 1.语法:read -p 提示信息  变量名
   read -p:表示用户输入
   提示信息:
   变量名:提示信息的值赋给变量
   案例:编写一个脚本test6.sh 要求执行之后提示用户输入文件的名称
    然后自动为用户创建该文件
           
删除变量(了解)
 语法:unset 变量名
    案例:定义变量b=20,在输出b的值,随后删除b,最后在输出b 
  
     
         
        
1.mv=move 
实验:把/data目录移动到root下
解答:mv /data /root/
echo:打印输出内容;配合>或>>可以为文件覆盖及追加内容。
cat :查看文件内容  例如:cat oldboy.txt
绝对路径:从根/开始的路径
相对路径:不从(/根)开始的路径。

linux下重命名文件或文件夹使用mv既可实现。
例子:①将一个名为abc.txt的文件重命名为1234.txt
[root@station90 root]#mv abc.txt 1234.txt

2.rm=remove (删除) 删除目录或者文件  rm -f()强制删除 rm -fr(删除目录--生产环境少用)
3.find : find /bin -type f  查看bin目录下属于f的文件类型的内容(面试必考5星级命令)
4.find /data -type f -name "neilwang.txt" -exec rm {} ; 删除data目录下文件neilwang.txt的文件
3.特殊字符 :| 管道
4.mkdir 创建目录  ---mkdir /data 创建一个data目录  echo neilwang >/data/neilwang.txt
  连续创建目录:mikdir -p /data/test 
 
 
5.rind /data -type f -name "txt" |xargs rm -f  :删除data目录下的.txt的所有文件
6.find 查找 -type 文件类型(file) d(directory) c(character)


------------------find结合xargs删除原理详解及案列练习-----------------------
1.多在使用中记忆
2.grep (过滤的内容) -v 排除内容 例子:grep -v oldboy test.txt
3.sed -n '20,30p' ett.txt 
4.# uname -a   查看当前操作系统版本

-------------------linux各个文件夹的作用------------------------------------
/  根目录
  包含了几乎所的文件目录。相当于中央系统。进入的最简单方法是:cd /。
 
/boot  引导程序,内核等存放的目录
 这个目录,包括了在引导过程中所必需的文件。在最开始的启动阶段,通过引导程序将内核加载到内存,
 完成内核的启动(这个时候,虚拟文件系统还不存在,加载的内核虽然是从硬盘读取的,但是没经过Linux
 的虚拟文件系统,这是比较底层的东西来实现的。然后内核自己创建好虚拟文件系统,并且从虚拟文件系统
 的其他子目录中(例如/sbin 和 /etc加载需要在开机启动的其他程序或者服务或者特定的动作(部分可以由
 用户自己在相应的目录中修改相应的文件来配制。如果我们的机器中包含多个操作系统,那么可以通过修改这
 个目录中的某个配置文件(例如grub.conf来调整启动的默认操作系统,系统启动的择菜单,以及启动延迟等参数。
 
/sbin  超级用户可以使用的命令的存放目录
 存放大多涉及系统管理的命令(例如引导系统的init程序,是超级权限用户root的可执行命令存放地,普通用
 户无权限执行这个目录下的命令(但是有时普通用户也可能会用到。)我们要记住,凡是目录sbin中包含的都是root权限才能执行的。
 
 
/bin  普通用户可以使用的命令的存放目录
 系统所需要的那些命令位于此目录,比如ls、cp、mkdir等命令;类似的目录还/usr/bin,/usr/local/bin等等。
 这个目录中的文件都是可执行的、普通用户都可以使用的命令。作为基础系统所需要的最基础的命令就是放在这里。

/lib  根目录下的所程序的共享库目录
 此目录下包含系统引导和在根用户执行命令时候所必需用到的共享库。做个不太好但是比较形象的比喻,
 点类似于Windows上面的system32目录。理说,这里存放的文件应该是/bin目录下程序所需要的库文件的存放地,
 也不排除一些例外的情况。类似的目录还/usr/lib,/usr/local/lib等等。
 
/dev 设备文件目录
 在Linux中设备都是以文件形式出现,这里的设备可以是硬盘,键盘,鼠标,网卡,终端,等设备,
 通过访问这些文件可以访问到相应的设备。设备文件可以使用mknod命令来创建;而为了将对这些
 设备文件的访问转化为对设备的访问,需要向相应的设备提供设备驱动模块(一般将设备驱动编译之后,
 生成的结果是一个*.ko类型的二进制文件,在内核启动之后,再通过insmod等命令加载相应的设备驱动之后,
 我们就可以通过设备文件来访问设备了。一般来说,想要Linux系统支持某个设备,需要 相应的硬件设备,支持硬件的驱动模块,以及相应的设备文件。
 
/home  普通用户的家目录
 在Linux机器上,用户主目录通常直接或间接地置在此目录下。其结构通常由本地机的管理员来决定。通常而言,
 系统的每个用户都自己的家目录,目录以用户名作为名字存放在/home下面(例如quietheart用户,其家目录的
 名字为/home/quietheart。该目录中保存了绝大多数的用户文件(用户自己的配置文件,定制文件,文档,数据等),

/root  用户root的$HOME目录
 系统管理员(就是root用户或超级用户)的主目录比较特殊,不存放在/home中,而是直接放在/root目录下了。
 
/etc 全局的配置文件存放目录。
 系统和程序一般都可以通过修改相应的配置文件,来进行配置。例如,要配置系统开机的时候启动那些程序,
 配置某个程序启动的时候显示什么样的风格等等。通常这些配置文件都集中存放在/etc目录中,所以想要配置
 什么东西的话,可以在/etc下面寻找我们可能需要修改的文件。
 1. /etc/rc或/etc/rc.d或/etc/rc?.d
 启动、或改变运行级时运行的脚本或脚本的目录。
2. /etc/passwd
 用户数据库,其中的域给出了用户名、真实姓名、用户起始目录、加密口令和用户的其
 他信息。
3. /etc/fdprm
 软盘参数表,用以说明不同的软盘格式。可用setfdprm 进行设置。更多的信息见setfdprm
 的帮助页。
4. /etc/fstab
 指定启动时需要自动安装的文件系统列表。也包括用swapon -a启用的s w a p区的信息。
5. /etc/group
 类似/etc/passwd ,但说明的不是用户信息而是组的信息。包括组的各种数据。
6. /etc/inittab
 init 的配置文件。
7. /etc/issue
 包括用户在登录提示符前的输出信息。通常包括系统的一段短说明或欢迎信息。具体内
 容由系统管理员确定。
8. /etc/magic
 “file”的配置文件。包含不同文件格式的说明,“file”基于它猜测文件类型。
9. /etc/motd
 motd是message of the day的缩写,用户成功登录后自动输出。内容由系统管理员确定。
 常用于通告信息,如计划关机时间的警告等。
10. /etc/mtab
 当前安装的文件系统列表。由脚本(scritp)初始化,并由mount 命令自动更新。当需要一
 个当前安装的文件系统的列表时使用(例如df 命令)。
11. /etc/shadow
 在安装了影子(shadow)口令软件的系统上的影子口令文件。影子口令文件将/etc/passwd
 文件中的加密口令移动到/etc/shadow中,而后者只对超级用户(root)可读。这使破译口令更困
 难,以此增加系统的安全性。
12. /etc/login.defs
 login命令的配置文件。
13. /etc/printcap
 类似/etc/termcap ,但针对打印机。语法不同。
14. /etc/profile/etc/csh.login、/etc/csh.cshrc
 登录或启动时bourne或c shells执行的文件。这允许系统管理员为所有用户建立全局缺省环境。
15. /etc/securetty
 确认安全终端,即哪个终端允许超级用户(root)登录。一般只列出虚拟控制台,这样就不
 可能(至少很困难)通过调制解调器(modem)或网络闯入系统并得到超级用户特权。
16. /etc/shells
 列出可以使用的shell。chsh 命令允许用户在本文件指定范围内改变登录的shell。提供一
 台机器f t p服务的服务进程ftpd 检查用户s h e l l是否列在/etc/shells 文件中,如果不是,将不允
 许该用户登录。
17. /etc/termcap
 终端性能数据库。说明不同的终端用什么“转义序列”控制。写程序时不直接输出转义
 序列(这样只能工作于特定品牌的终端),而是从/etc/termcap 中查找要做的工作的正确序列。
 这样,多数的程序可以在多数终端上运行。
 

/usr  这个目录中包含了命令库文件和在通常操作中不会修改的文件。
 这个目录对于系统来说也是一个非常重要的目录,其地位类似Windows上面的”Program Files”目录(安装程序的时候,
 默认就是安装在此文件内部某个子文件夹内。输入命令后系统默认执行/usr/bin下的程序(当然,前提是这个目录的
 路径已经被添加到了系统的环境变量中。此目录通常也会挂载一个独立的磁盘分区,它应保存共享只读类文件,这样
 它可以被运行Linux的不同主机挂载。
/usr/lib
 目标库文件,包括动态连接库加上一些通常不是直接调用的可执行文件的存放位置。
 这个目录功能类似/lib目录,理说,这里存放的文件应该是/bin目录下程序所需要的库文件的存放地,也不排除一些例外的情况。
/usr/bin
 一般使用者使用并且不是系统自检等所必需可执行文件的目录。
 此目录相当于根文件系统下的对应目录(/bin,非启动系统,非修复系统以及非本地安装的程序一般都放在此目录下。
/usr/sbin
 管理员使用的非系统必须的可执行文件存放目录。
 此目录相当于根文件系统下的对应目录(/sbin,保存系统管理程序的二进制文件,并且这些文件不是系统启动或文件系统挂载 /usr 目录或修复系统所必需的。
/usr/share
 存放共享文件的目录。
 在此目录下不同的子目录中保存了同一个操作系统在不同构架下工作时特定应用程序的共享数据(例如程序文档信息)。使用者可以
 找到通常放在 /usr/doc 或 /usr/lib 或 /usr/man 目录下的这些类似数据。
/usr/include
 C程序语言编译使用的头文件。
 linux下开发和编译应用程序所需要的头文件一般都存放在这里,通过头文件来使用某些库函数。默认来说这个路径被添加到了
 环境变量中,这样编译开发程序的时候编译器会自动搜索这个路径,从中找到你的程序中可能包含的头文件。
/usr/local
 安装本地程序的一般默认路径。
 当我们下载一个程序源代码,编译并且安装的时候,如果不特别指定安装的程序路径,那么默认会将程序相关的文件
 安装到这个目录的对应目录下。也就是说,这个目录存放的内容,一般都是我们后来自己安装的软件的默认路径,如果
 择了这个默认路径作为软件的安装路径,被安装的软件的所文件都限制在这个目录中,其中的子目录就相应于根目录的子目录。
 
 
/proc  特殊文件目录
 这个目录采用一种特殊的文件系统格式(proc格式,内核支持这种格式。其中包含了全部虚拟文件。它们并不保存在磁盘中,
 也不占据磁盘空间(尽管命令ls -c会显示它们的大小)。当您查看它们时,您实际上看到的是内存里的信息,这些文件助于我们了解系统内部信息。例如:

1/ 关于进程1的信息目录。每个进程在/proc 下一个名为其进程号的目录。
 cpuinfo 处理器信息,如类型、制造商、型号和性能。
 devices 当前运行的核心配置的设备驱动的列表。
 dma 显示当前使用的DMA通道。
 filesystems 核心配置的文件系统。
 interrupts 显示使用的中断,and how many of each there have been.
 ioports 当前使用的I/O端口。
 kcore 系统物理内存映象。与物理内存大小一样,但实际不占这么多内存;
 kmsg 核心输出的消息。也被送到syslog 。
 ksyms 核心符号表。
 loadavg 系统”平均负载”;3个没意义的指示器指出系统当前的工作量。
 meminfo 存储器使用信息,包括物理内存和swap。
 modules 当前加载了哪些核心模块。
 net 网络协议状态信息。
 self 到查看/proc 的程序的进程目录的符号连接。
 stat 系统的不同状态
 uptime 系统启动的时间长度。
 version 核心版本。

/opt  可择的文件目录
 这个目录表示的是可择的意思,些自定义软件包或者第方工具,就可以安装在这里。
 
/mnt  临时挂载目录
 这个目录一般是用于存放挂载储存设备的挂载目录的,比如磁盘,光驱,网络文件系统等,当我们需要挂载某个磁盘设备的时候,可以
 把磁盘设备挂载到这个目录上去,这样我们可以直接通过访问这个目录来访问那个磁盘了。一般来说,我们最好在/mnt目录下面多建立
 几个子目录,挂载的时候挂载到这些子目录上面,因为通常我们可能不仅仅是挂载一个设备吧?
 
/media  挂载的媒体设备目录
 挂载的媒体设备目录,一般外部设备挂载到这里,例如cdrom等。比如我们插入一个U盘,我们一般会发现,Linux自动在这个目录下建立
 一个disk目录,然后把U盘挂载到这个disk目录上,通过访问这个disk来访问U盘。
 
/var  内容经常变化的目录
 此目录下文件的大小可能会改变,如缓冲文件,日志文件,缓存文件,等一般都存放在这里。
 
/tmp  临时文件目录
 该目录存放系统中的一些临时文件,文件可能会被系统自动清空。
 
/lost+found   恢复文件存放的位置
 当系统崩溃的时候,在系统修复过程中需要恢复的文件,可能就会在这里被找到了,这个目录一般为空。
 
 另外,有些目录容易混淆,这里简单区分一下:
 /bin,/sbin与/usr/bin,/usr/sbin:
 /bin一般存放对于用户和系统来说“必须”的程序(二进制文件)。
 /sbin一般存放用于系统管理的“必需”的程序(二进制文件),一般普通用户不会使用,根用户使用。
 /usr/bin一般存放的只是对用户和系统来说“不是必需的”程序(二进制文件)。
 /usr/sbin一般存放用于系统管理的系统管理的不是必需的程序(二进制文件)。
 /lib与/usr/lib:
 /lib和/usr/lib的区别类似/bin,/sbin与/usr/bin,/usr/sbin。
 /lib一般存放对于用户和系统来说“必须”的库(二进制文件)。
 /usr/lib一般存放的只是对用户和系统来说“不是必需的”库(二进制文件)。