zoukankan      html  css  js  c++  java
  • linux 学习主要内容整合

    linux操作系统的使用

    shell:英文单词Shell可直译为"贝壳"。贝壳是动物作为外在保护的一种工具。

    linux中的Shell就是linux内核的一个外层保护工具。

    shell是一个命令行解释器,将用户命令解析为操作系统所能理解的指令,

    从而实现用户与操作系统的交互。

    Shell的类型:

          Bourne Shell(简称sh):由AT&T贝尔实验室的S.R.Bourne开发,是UNIX

          的第一个shell程序,已成为一种工业标准。目前几乎所有的Linux系统都支持。

          缺陷:Bourne Shell的作业控制能力薄弱,且不支持别名与历史记录等功能。

          因此目前大多数操作系统将其作为应急Shell使用。

          C Shell(简称csh): 由加利福尼亚大学伯克利分校开发,csh脚本的编程

          风格类似于C语言,受到广大C程序员的拥护。

          缺陷:C Shell的健壮性不如Bourne Shell。

          Korn Shell(简称ksh):由David Korn开发,解决了Bourne Shell的用户

          交互问题,并克服了C Shell的脚本编程怪癖的缺点。

          缺陷:Korn Shell的使用需要许可证,导致它的应用范围不如Bourne Shell广泛。

          Bourne Again Shell(简称bash):同样由AT&T贝尔实验室开发,是Bourne Shell

          的增强版,已成为最流行的Shell。

    Shell命令提示符的格式:

                username@hostname:direction$

                 用户名   主机名   目录名

    Shell命令格式:

          $ Command [-Options] Argument1 Argument2 ...

             指令      选项      参数1     参数2   ...

    通常一条命令包含三个要素:命令名称、选项、参数。命令名称是必选项,
    选项和参数是可选项。
    1.一条命令的三要素之间用空格隔开
    2.若将多个命令书写在一行,用分号将各命令隔开
    3.如果一条命令不能在一行写完,在行尾使用反斜杠标明该条命令未结束
     ~ : 代表当前所在的路径为家目录
     / : 代表根目录
     whoami    查看当前用户名
     hostname  查看主机名
     pwd       获取绝对路径
    绝对路径:文件在文件系统中的准确位置
    相对路径:相对于用户当前位置的一个文件或目录的位置


    linux基本命令
    1  uname -r  查看内核版本号
    2  打开终端 : ctrl + alt + t
                   ctrl + shift + n
       补齐命令或者文件名: 使用tab键
    3  关机命令: sudo shutdown  -h  now(时间) -halt(停止) 立刻关机 
                  sudo shutdown  -r  now(时间) -reboot(重启) 重启
                  sudo  reboot  now   重新启动
      查看系统时间  date  
      设置新时间    sudo  date  -s  1:19:18  
       更改时区     cp/usr/share/zoneinfo/Asia/Shanghai  /etc/localtime 
       

    4  放大字体 : ctrl + shift + 加号
       缩小字体:  ctrl + 减号


    5  清屏指令   clear
                  ctrl + l
       查看shell命令历史记录 history 
       查看系统默认的历史记录的容量  echo $HISTSIZE
       临时修改容量 HISTSIZE=1000
       永久性修改历史记录容量:  vi .bashrc 
                                 HISTSIZE=2000
       使配置生效:  source  .bashrc
     
    5  ls 浏览目录
      ls  -l  文件以列表的形式呈现出来
      ls  -h  文件的大小,使用k,M
      ls  -a  列出所有的文件,包括隐藏文件


    drwxr-xr--   2 wdl  wdl  4096  2007-09-17 2:23 Desktop
    文件类型、文件访问权限 文件链接数目 文件所有者 文件所属组 文件大小,以字符为单位 
    最后一次修改文件或目录的时间 文件或目录名称
    第一组 rwx: 代表wdl用户权限  
    第二组 rwx: 代表同组用户权限
    第三组 rwx: 代表其他用户权限
    文件类型 
      -               普通文件
      b (block)       块设备文件
      c (char)        字符设备文件
      d (directory)   目录文件
      l (link)        链接文件
      p (pipe)        管道文件
      s (socket)      套接字文件


    文件和目录权限
    r(read) 读权限   w(write) 写权限  x  执行权限


    6  cd  改变工作路径 
        ~  home目录  
        .  当前目录
        ../ 上一次目录
        cd -    表示执行上一次cd命令操作

    7 file  显示文件的类型
    8 touch 创建一个新文件,改变文件的最后修改时间


    9  mkdir 创建目录
           -p 嵌套的创建多层目录
      
    10 rmdir 删除目录
    11 cp     将文件和目录复制到另一个文件或目录中
          -a 递归地复制目录并保留链接和文件属性
          -r 递归地复制目录下的所有子目录和文件
    12  mv    将文件或目录从源目录移动到目标目录中,重命名文件名
    13  cat   读取指定文件的内容,并在标准输出设备上显示
    14 head  显示文件开头 默认10行
       tail  显示文件结尾 默认10行
    15 echo  用于在标准输出——显示器上显示一段文字,一般起到提示作用
          -n 不换行显示
    16 diff  比较两个文件,将不同的显示出来 
       uniq  去掉文件中相邻重复的行
       grep "main"  ./*  -R  表示递归查找多级子目录下的内容
       wc  -w  file.txt  计算文件中单词的个数
       wc  -c  file.txt  计算文件中字符的个数
       wc  -l  file.txt  计算文件的行数
    创建链接文件
    链接文件类似于微软Windows的快捷方式,只保留目标文件的地址而不占用存储空间
    linux中有两种类型的链接
    硬链接:利用Linux中为每个文件分配的物理编号——inode建立链接,因此,
    硬链接不能跨越文件系统。
    软链接:利用文件的路径名建立连接。
    ln   创建文件的链接文件 (缺省条件下建立硬链接)
      -s 创建文件的软链接
      

    vi可以分为三种模式:底行模式、插入模式和命令行模式。
          1 命令行模式 :
                  复制:yy , 4yy, 
                  粘贴:p (粘贴到光标的下一行), P(粘贴到光标的上一行)
     剪切:先删除后粘贴
                  删除:dd , 4dd
                  删除一个字符: x,X
                  替换一个字符: r, R(一直替换,直到按esc结束)
                  删除一个字符, 并且进入插入模式 s
     移动光标:h,j,k,l 分别控制光标左、下、上、右移一格
     Ctrl+b 屏幕往上移动一页  Ctrl+f 屏幕往下移动一页
             G 移动到文件的最后一行  gg 移动到文件的第一行
             . 重复前一个操作
                
                2 插入模式
                  i 在光标前面插入
                  a 在光标后面插入
                  I 跳到行首插入
                  A 跳到行尾插入
                  o 在光标的下一行,行首位置插入
                  O 在光标的上一行,行首位置插入


                3 底行模式
                  shift+: 4,10y
                        : 4,10d
                  保存: w
                  保存并且退出: wq , x , ZZ
     不保存修改退出: q
                  强制性退出:  q!
     :w filename 文件无改动,不保存退出;文件已改动,保存后推出
     :r filename 读入另一个文件的数据追加到本文件末尾
     :n1,n2 w filename 将n1到n2的内容保存成filename文件
     :!Command  暂时离开vi到命令行模式下执行command的显示结果
     :set nu 显示行号
       替换: c$ 替换光标到结尾的所有的内容
              c0 替换光标到开头的所有的内容


       复制: y0 复制光标到开头的内容
              y$ 复制光标到结尾处的内容



    Shell中的特殊字符
     通配符          含义                           实例
        *       代表匹配任意长度的字符串         rm  *.txt 
        ?      代表匹配一个长度的字符           rm  file?.txt
       []       代表匹配其中指定的一个字符       rm  file[12].txt
       [-]      代表匹配指定的一个字符范围       rm  file[1-4].txt   
       [^]      代表除了指定的字符,均可匹配     rm  file[^1].txt


    管道:管道可以把一系列命令连接起来,第一个命令的输出作为第二个
    命令的输入,通过管道传递给第二个命令,第二个命令的输出又作为
    第三个命令的输入,以此类推。
       ls  ./  | wc -w  测试当前目录下的单词的个数


    输入输出重定向:输入/输出重定向是改变Shell命令或程序默认的标准
    输入/输出目标,重新定向到新的目标。
    Linux中默认的标准输入定义为键盘,标准输出定义为终端窗口。
    重定向符               含义                          实例
     > file   将file文件重定向为输出源,新建模式    ls ./ > log.txt
     >> file  将file文件重定向为输出源,追加模式    ls ./ >> log.txt
     < file   将fiel文件重定向为输入源             wc < file
     2>或&> 将由命令产生的错误信息输入到指定文件中 ls file 2> err.log


    命令置换:命令置换是将一个命令的输出作为另一个命令的参数。
    命令的格式如下所示:
    command1 `command2`  ls `pwd` 显示当前目录的文件内容


    流行的两种软件包管理机制
    背景:最初,基于linux系统的开发者在完成应用程序的开发后,将很多
    二进制文件发给用户,用户在使用之前需要将很多程序逐个安装。
        
    1.Debian Linux首先提出"软件包"的管理机制——Deb软件包,将应用程序的
    二进制文件、配置文档、man/inf帮助页面等文件合并打包在一个文件中,
    用户使用软件包管理器直接操作软件包,完成获取、安装、卸载、查询等
    操作。


    2.Redhat Linux基于这个理念推出了自己的软件包管理机制——Rpm软件包。
    采用自己的打包格式生成Rpm包文件,由Rpm包管理器负责安装、维护、
    查询,甚至是软件包版本管理。
       
    软件包的类型:
        1.二进制软件包:包含可执行文件、库文件、配置文件、man/info页面、
    版权声明和其它文档。


        2.源码包:包含软件源代码、版本修改说明、构建指令以及编译工具等。
    先由tar工具归档为.tar.gz文件,然后再打包成.dsc文件。


    软件包管理工具分类
      类别              常见工具举例                           描述
                                               在命令行模式下完成软件包管理任务。
                                               为软件包的获取、查询、软件包的依
     命令行         dpkg-deb、dpkg、apt       赖性检查、安装、卸载等任务,
                                               需要使用各自不同的命令。


     文本窗口界面  dselect、aptitude、tasksel  在文本窗口模式中,使用窗口和菜 
                                                  单可以完成软件包的管理任务。




     图形界面          synaptic                在x-windows图形桌面环境中运行,
                                               具有良好的交互性、可读性、易用性等特点。
    命令行管理工具
    1.dpkg是最早的Deb包管理工具。
    2.APT系列工具室Deb软件包管理工具中功能最强大的。


    dpkg是最早的Deb包管理工具,使用dpkg可以实现本地软件包的安装、编译、
    卸载、查询,以及应用程序打包等功能。
    缺陷:由于当时Linux系统规模和Internet网络条件的限制,没有考虑到现今
    系统中软件包如此复杂的依赖关系,以及帮助用户获取软件包。因而,为了解决
    软件包依赖性问题和获取问题,就出现了APT工具。


    APT工作原理
    APT(Advanced Packaging Tool)是Ubuntu LInux中功能最强大的命令行
    软件包管理工具,用于获取、安装、编译、卸载和查询Deb软件包,以及
    检查软件包依赖关系。
    Ubuntu采用集中式的软件仓库机制,将各式各样的软件包分门别类地存放
    在软件仓库中,进行有效组织和管理,然后将软件仓库置于许许多多的
    镜像服务器中,为了使用户有选择的访问各镜像站点,在Ubuntu系统中,
    使用软件源配置文件/etc/apt/source.list 列出最适合访问的镜像站点
    地址,以便本地主机查询。这就是APT软件包管理器的工作原理。


     1)dpkg:本地安装软件包,不检查软件之间的依赖关系
         sudo dpkg -i rxvt*.deb     安装软件包
         sudo dpkg -s rxvt          查看软件的安装状态
         sudo dpkg -L rxvt file     列出软件的安装清单
         sudo dpkg -r rxvt          删除软件,但是配置文件保留
         sudo dpkg -P rxvt          全部删除,包括配置文件




      2)apt:在线安装软件包
         软件源配置文件: /etc/apt/sources.list 
         刷新软件源列表,建立软件索引文件: sudo apt-get update (要求ubutun虚拟机联网)


         sudo apt-get install  rxvt             在线安装软件
         sudo apt-get --reinstall install  rxvt 重新安装软件包 
         sudo apt-get check  rxvt               检查软件包之间的依赖关系
         sudo apt-get remove  rxvt              删除软件包,但是保留配置文件
         sudo apt-get --purge  remove rxvt      卸载软件包,包括它的配置文件
     
    软件包的命名
    软件包的命名遵循以下约定:
         Filename_Version-Reversion_Architectrure.deb
         软件包名称_软件版本-修订版本_体系结构



    Shell基本系统维护命令
       关机命令: sudo shutdown  -h  now(时间) -halt(停止) 立刻关机 
                  sudo shutdown  -r  now(时间) -reboot(重启) 重启
                  sudo  reboot  now   重新启动
       passwd   修改当前用户的登录口令(超级用户可修改所有用户
                的登录口令,其他用户只能修改本用户登录口令)
       su       临时改变用户身份,具有其他用户的权限
       
       date     查看或更改系统时间
       sudo  date  -s  1:19:18   设置新时间
       cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 更改时区
       df       查看磁盘空间使用情况
       df  -Th  显示物理文件系统的文件格式类型和文件系统大小按兆
                字节为单位
       df  -aTh 显示物理文件系统的文件格式类型和使用情况及文件系统
                大小按兆字节为单位
       du       列出目录和文件所使用的磁盘块数,每块占512个字节
           -a   仅列出空闲的文件数
           -k   列出磁盘使用情况(kb)
           -s   列出总的空闲空间(kb)
    用户管理
     vi /etc/passwd   存放用户密码相关信息
     vi  /etc/group   存放组有关信息
     vi /etc/adduser.conf  
       sudo adduser  u1              添加一个新的用户
       sudo deluser --remove-home u1 删除一个用户和用户的工作目录
     
    进程管理
       ps(process snapshot)  进程快照,查看进程信息
           -A   列出所有的进程
           -aux 显示所有包含其他使用者的进程
    进程快照列表的组成
    %CPU     占用的CPU使用率
    %MEM     占用的内存使用率
    VSZ      占用的虚拟内存大小
    RSS      占用的内存大小
    STAT     进程的状态
    STATRT   进程开始时间
    TIME     执行的时间


    进程的状态标志
    D:不可中断的静止       R:正在执行中
    S:阻塞状态             T:暂停执行
    Z:不存在但暂时无法消除 W:没有足够的内存分页可分配
    <: 高优先级的进程       N:低优先级的进程
    L:有内存分页分配并锁在内存中
      top    监视进程,每3秒刷新一次(通常全屏显示,随着进程状态的变化不断更新)
           shift + >   向下翻页  shift + <  向上翻页  q   退出
      pstree     将所有进程以树状图显示
      kill   [-signal] PID  使用kill命令终止进程


      
    文件压缩和归档
    Ubuntu Linux默认安装图形化压缩工具是File Roller文件打包器,
    被集成到Nautilus文件管理器中,同时具有归档、压缩、解压文件/目录
    的功能。


    shell归档和压缩工具
      gzip与gunzip
          gzip
          -l  查看压缩文件内的信息,包括文件数、大小、压缩比等参数
          -d  将文件解压,功能与gunzip相同
          -num 指定压缩比,num为1~9个等级
      zip与unzip
          两者区别在于gzip只能压缩一个文件,无法将多个文件压缩为
          一个文件,不具有归档的功能。
      tar
          -cjf -czf  将多个文件合并归档并压缩
          -xvf       将文件解压



    Linux文件系统
    文件系统:用于组织和管理计算机存储设备上的大量文件,并提供用户交互接口。
    Linux具备完善的文件系统,用户既可以使用界面友好的Nautilus图形文件管理器,
    也可以使用功能强大的Shell文件系统管理工具。


    文件系统类型
    目前Ext3是Linux系统广泛使用的一种文件格式,在Ext2基础上对有效性保护、数据完整性、
    数据访问速度、向下兼容性等方面做了改进。
    Linux是一种兼容性很高的操作系统,支持的文件系统格式很多,大体可分为以下几类:
         1)磁盘文件系统:本地主机中实际可以访问到的文件系统,包括磁盘、CD—ROM、
    DVD、USB存储器、磁盘阵列等。常见文件系统格式有:autofs、coda、Ext(Extended
    File System,扩展文件系统)、Ext2、Ext3、VFAT、UFS(Unix File System,Unix文件系统)
    、FAT(File Allocation Table,文件分配表)、FAT16、FAT32、NTFS等
     
    2)网络文件系统:可以远程访问的文件系统,这种文件系统在服务器端仍是本地的磁盘
    文件系统,客户机通过网络远程访问数据。常见的文件系统格式有:NFS(Network File System,
    网络文件系统)、Samba、AFP(Apple Filling Protocol,Apple文件归档协议)和WebDAV等
     
    3)专有/虚拟文件系统:不驻留在磁盘上的文件系统。常见格式有:TMPFS(临时文件系统)、
    PROCFS(Process File System,进程文件系统)和LOOPBACKFS(Loopback File System,回送文件系统)
     
    文件系统结构
    Linux文件系统就是一个树形的分层组织结构,将根(/)作为整个文件系统的唯一起点,其他所有
    目录都从该点出发。
    在Windows下,目录结构属于分区;在Linux下,分区属于目录结构。
        在Linux中,将所有硬件都视为文件来处理,包括硬盘分区、CD-ROM、软驱以及其它的USB移动设备等。
    为了能够按照统一的方式和方法访问硬件资源,Linux提供了对每种硬件设备相应的设备文件。一旦
    Linux系统可以访问到硬件,就将其上的文件系统挂载到目录树的一个子目录中。



    基本目录结构
    /bin   存放系统中最常用的二进制可执行文件
    /boot  存放linux内核和系统启动文件,包括Grab、lilo启动器程序
    /dev   存放所有设备文件,包括硬盘、分区、键盘、鼠标、USB、tty等
    /etc   存放系统所有配置文件,如passwd存放用户账户信息,hostname存放主机名等
    /home  用户主目录的默认位置
    /lib   存放共享的库文件,包含许多被/bin和/sbin中程序使用的库文件
    /media Ubuntu系统自动挂载CD-ROM、软驱、USB存储器后,存放临时读入的文件
    /mnt   该目录通常用于作为被挂载的文件系统的挂载点
    /proc  存放所有标志为文件的进程,它们是通过进程号后其他的系统动态信息进行标识
    /root  超级用户的主目录
    /tmp   存放用户和程序的临时文件,所有用户对该目录都有读写权限
    /usr/bin      用户和管理员的标准命令
    /usr/include  c/c++等各种开发语言环境的标准include文件
    /usr/lib      应用程序及程序包的连接库
    /usr/sbin     用户和管理员的标准命令
    /usr/share    存放使用手册等共享文件的目录
    /var/cache    应用程序缓存目录
    /var/tmp      临时文件目录

  • 相关阅读:
    模态弹出框
    bootstrap导入JavaScript插件
    面板
    列表组
    媒体对象
    进度条
    sql面试题
    mysql 全连接 报错1051的原因
    Java 类加载体系之 ClassLoader 双亲委托机制
    如何找到JAVA_HOME?
  • 原文地址:https://www.cnblogs.com/181118ljh123/p/12002333.html
Copyright © 2011-2022 走看看