• Linux 5


    第十二章

     *权限掩码 

      umask  取消用户创建的文件和目录的默认权限设置

      目录:

      rwx rwx rwx

      7     7     7

      0      2     2

      7      5     5

      rwx r-x r-x

      文件:
      rw- rw- rw-

      6    6    6

      0    2    2

      6    4    4

      rw- r-- r--

     *ACL控制

      ACL(访问控制列表) 是一个文件或者目录的访问控制列表

      setfacl  设置文件或目录的ACL

      getfacl  读取文件的ACL

     *Linux 下文本编辑工具

      gedit + 文件名  (在桌面环境中)

      vi   、  emacs   、 vim   ( 在命令行中) 

      打开 vi 默认进入命令模式            

      a,i,o(A I O)    进入 编辑模式(插入模式)

      a 代表在光标后面插入信息,i 代表在光标前面输入信息,o 代表换行

      进入编辑模式后,敲 Esc 回到命令模式

         敲   “:”      进入Ex模式,敲 “ Esc ” 回到命令模式

      编辑模式和Ex模式不能相互切换

    一 打开和关闭文件

    $ vi [filename]  打开文件

    ZZ   保存退出
    :wq   保存退出

    :q! RETURN  不保存, 退出

    :w   保存
    :w! RETURN  覆盖当前文件
    :w newfile RETURN 另存为新文件

    $vi file1 file2 file3 同时编辑多个文件
    :n   切换到下一个文件
    :N   切换到上一个文件
    :ar   查看文件列表, 当前文件用[]括起来
    ctrl+^   切换到前一个文件

    二 多窗口编辑(vim特性)

    :sp newfile  从屏幕中间分隔窗口, 显示新文件
    :new newfile  从屏幕中间分隔窗口, 显示新文件
    :clo   关闭当前窗口
    ctrl ww   切换窗口(按住ctrl, w连续按2次)

    三 shell和unix命令

    :sh RETURN ctrl+d 进入和退出shell
    ctrl+z  fg 将vi放入后台

    :!command  不退出vi, 执行unix命令
    :行号范围!command :.,.+100!sort 100行排序

    四 模式切换

    i(I)   进入插入模式,在光标前(光标所在行的行首)输入
    a(A)   进入插入模式,在光标后(光标所在行的行尾)输入
    o(O)   进入插入模式,在光标下一行(上一行)输入
    ESC   进入命令模式
    :   进入行编辑模式
    r(R)   命令模式下替换光标下的单个(多个)字符(不切换模式)

    五 光标移动

    the cursor arrow keys 单字符移动     ^  移动到行首      $  移动到行尾

    w   按单词移动

    Home   移动到行首
    End   移动到行尾

    Page Up, Page Down 整页移动

    G   移动到最后一行(文件尾)
    nG   移动光标到第n行
    gg   移动到第一行
    :set nu   设置行号

    六 命令模式下文本编辑

    --------------------------------------------------------------------------------|
     单位  | 删除  | 复制 | 粘贴 |
    --------------------------------------------------------------------------------|
    光标位置字符  | x  |  |  |
    ----------------------------------------------------------------|   p |
    光标位置单词  | dw  | yw |  |
    ----------------------------------------------------------------|  |
    光标位置后n个单词 | dnw  | ynw |在光标后面 |
    ----------------------------------------------------------------|粘贴  |
    光标位置到行尾  | D(d End 或 d$) |  y End 或 y$  |  |
    ----------------------------------------------------------------|  |
    光标所在行  | dd  | yy(Y) | P |
    ----------------------------------------------------------------|  |
    光标所在行以下n行 | ndd  | nyy |在光标前面 |
    ----------------------------------------------------------------|粘贴  |
    光标所在行至文件尾 | dG  | yG |  |
    ----------------------------------------------------------------|  |
    光标所在行至第n行 | dnG  | ynG |  |
    --------------------------------------------------------------------------------|

    xp   调换两个字母的顺序
    u   撤销上次的操作
    .   重复上一次的操作

    50a12 ESC  光标位置追加25对"12"
    ~   大小写转换

    (n)>>   当前n行向右移8个空格(一个制表符)
    (n)<<   当前n行向左移8个空格(一个制表符)

    ctrl+v   进入可视模式,使用光标选择,再结合删除/复制等快捷键操作
    V   整行选取的可视模式

    =====================================
    vi命令的一般格式: (命令)(数字)(文本目标)
    d3w 删除3个单词
    y3G 复制到第3行
    =====================================

    vimtutor  查看vi的帮助教程
    LANG=zh_CN.UTF-8 vimtutor 查看中文版(需要安装中文字体)

    七 ex命令

    d   删除行
    m   移动行
    co(t)   复制行

    .   当前行
    $   文件最后一行
    %   文件中每一行(等价1,$)

    =====================================
    ex命令的一般格式: (行范围)(命令)(行范围)
    :.,$d 删除当前行至文件尾
    :%t$ 复制所有行至文件尾
    =====================================

    八 模式搜索与替换

    vi命令模式下

    /pattern(:g/pattern) 按模式搜索
    /"pattern paterrn" 如果搜索模式中包含空格, 要使用单引号或双引号
    /<pattern>  搜索整个单词
    *   搜索光标当前单词
    n   同向重复搜索
    d(y)/pattern  通过搜索进行修改(向后, 删除或复制光标与模式之间字符串)
    d(y)?pattern  通过搜索进行修改(向前, 删除或复制光标与模式之间字符串)

    ex命令

    :s/old/new  当前行中替换第一次出现的模式
    :s/old/new/g  当前行中替换所有出现的模式,默认不区分大小写
    :s/old/new/gi  i区分大小写
    :s/old/new/gc  当前行中替换所有出现的模式, 需要确认
    :行范围s/old/new/gc 行号范围中替换所有出现的模式, 需要确认
    :%s/old/new/gi  全文范围中替换所有出现的模式, 区分大小写

    vi命令的等价方式
    /old   搜索old
    cwnew ESC  修改为new(c为cut, w为word)(必须用c, 否则无法重复修改. w可为任意位置参数如$, 到行尾)
    n   重复搜索, 跳过一次修改
    n   重复搜索
    .   重复修改

    :g/pattern   全局搜索
       可以将:g与其它ex命令结合在一起, 实现全局替换删除移动和复制
       :g/old/s//new/gc与:%s/old/new/gc效果相同
    :g/pattern/s/old/new/g(c) 在包含模式pattern的行中, 将old替换为new, g表示在该行进行全部替换, c表示需要确认
    :g/old/s//new/g  搜索模式与替换模式相同

    :g/pattern/d  删除符合模式的行
    :g/pattern/行范围d  删除符合模式的多行(:g/pattern1/.,/pattern2/d 删除pattern1和pattern2之间的行)
    :g/pattern/行范围m(t)行范围 移动(复制)符合模式的多行

    =============================================
    :g命令的一般格式: :g/pattern/行范围/ex命令/行范围
    =============================================

    :上箭头   访问ex命令的历史记录

    九 单词缩写与命令映射

    :ab abbr phrase  插入模式下设置单词缩写
    :unab abbr  撤销缩写
    :ab   查看当前定义的缩写

    :map x command  命令模式下设置映射命令
    :unmap x   撤销映射
    :map   查看当前定义的映射

    ctrl+v然后enter
    esc, backspace, delete 映射中防止ex解释键
    :map! x command  在插入模式下映射键

    十 c风格缩进

    在~home/.vimrc中加入以下设置, 可得到标准c风格缩进
    set nocp incsearch
    set cinoptions=:0,p0,t0
    set cinwords=if,else,while,do,for,switch,case
    set formatoptions=tcqr
    set cindent
    syntax on
    set nu

    还要了解的:
    1 和编程相关的vim特性
    2 全局替换的实例

      第十四章  软件包安装与管理  

      Red Hat Package Manager

      RPM 软件包管理器(RPM)是一种开放的软件包管理系统。

      file  /var/lib/rpm/*  查看当前安装软件包的RPM数据库

      df  -h  查看光盘挂接

      /dev/cdrom

      rpm  -ivh

      -i  安装软件包

      -v  输出详细信息

      -h  安装软件包时打印哈希标记

        例:安装vsftpd-2.2.2-11.el6.x86_64.rpm软件包。

      cd  /media/OL6.4 x86_64 Disc 1 20130225/

       cd Packages

       rpm -ivh vsftpd-2.2.2-11.el6.x86_64.rpm

      rpm  -e  卸载软件包

      rpm  -Uvh  升级RPM软件包 (删除旧版本,安装新版本)

      rpm  -Fvh   刷新软件包 (有旧版本,才会安装新版本,没有旧版本就不会安装)

      rpm  -q  + vsftpd(软件包名)  查询指定RPM软件包是否已经安装

      rpm  -qa  |  grep vsf(软件包部分名字)  查询不清楚名字的安装包

      rpm  -ql  查询软件包在系统中所包含的文件列表

      rpm -qf  根据文件名查询属于哪个软件包

      rpm  -v + [软件包名称] 验证PRM软件包

      RPM软件包公钥管理

      rpm  --import [RPM包公钥文件]  导入RPM软件包公钥

      cd  /etc/yum.repos.d/   资料库,在后面设置一个后缀为repo的文件

      rm  -f  *.repo

      vi  /etc/yum.repos.d/zhang.repo

    在zhang.repo中写:

      [Server]
      name=Server
      baseurl=file:///media/"OL6.4 x86_64 Disc 1 20130225"/Server
      enabled=1
      gpgcheck=0

    yum  repolist  all  显示软件仓库的配置

      

      

      

  • 相关阅读:
    第0次作业(第二学期)
    C语言程序设计(基础)最后一次作业-- 总结报告
    第14、15教学周作业
    第七周作业
    第六周作业
    第四周作业
    第四次作业
    2018第三次作业
    2018第二次作业
    2018第三,四作业合集
  • 原文地址:https://www.cnblogs.com/Zhang-x/p/7219241.html
Copyright © 2020-2023  润新知