鸟哥Linux私房菜基础学习篇学习笔记2

第九章

  • 文件与文件系统的压缩打包:

    • Linux下的扩展名没有什么特殊的意义,仅为了方便记忆。
    • 压缩文件的扩展名一般为: *.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2;
      • *.Z是compress程序压缩的文件;
      • *.gz是gzip程序压缩的文件;
      • *.bz2是bzip2程序压缩的文件;
      • *.tar是tar程序打包的数据,并没有压缩过;
      • *.tar.gz是tar程序打包的文件,其中经过gzip程序压缩过;
      • *.tar.bz2是tar程序打包的文件,其中经过bzip2程序压缩过。
    • Linux上常见的压缩命令时gzip和bzip2, tar可以将多个文件打包为一个文件。
    • gzip [-cdtv#] 文件名zcat 文件名.gz;
    • bzip2是能取代gzip并提供更高的压缩比而来;
      • bzip2 [-cdkzv#] 文件名bzcat 文件名.bz2;
    • tar [-j|-z] [cv] [-f 新建的文件名] filename --- 打包与压缩。
    • tar [-j|-z] [tv] [-f 新建的文件名] ---- 查看文件名;
    • tar [-j|-z] [xv] [-f 新建的文件名] [-C 目录] ---- 解压缩。
  • 完整备份工具:dump
    • dump不仅能北非整个文件系统,而且还能对目录备份,还能指定等级。
    • dump [-Suvj] [-level] [-f 备份文件] 待备份数据
    • dump -W----dump设置的分区是否有备份过。
    • dump备份的文件用restore命令进行恢复;
      • restore -t [-f dumpfile] [-h] ---- 用来查看dump文件;
      • restore -C [-f dumpfile] [-D 挂载点] ---- 比较dump文件与实际文件;
      • restore -i [-f dumpfile] ---- 进入互动模式;
      • restore -r [-f dumpfile] ---- 还原整个文件系统;
    • dump会参考inode的记录。
  • 光盘写入工具: mkisofs, cdrecord;
    • dd可以读取磁盘设备的内容(几乎直接读取扇区),然后将整个设备备份成一个文件;
    • cpio可以备份任何东西,包括设备文件。
      • cpio不会主动去找文件来备份。

第十章

  • vim程序编辑器:

    • 绝大部分的配置文件都是以ASCII的纯文本形式存在,利用简单文字编辑软件就能够修改;
    • vim具有程序编辑能力,主动以字体颜色辨别语法的正确性,方便程序设计;
    • 程序简单,编辑速度相当速度。
  • 三种模式:
    • 一般模式: 移动光标,打开默认模式;
    • i,I,o,O,a,A,r,R等任何一个字母就会进入编辑模式;
    • :,/,?进入命令行模式。
  • vim按键说明
    • 块选择(Visual Block):

      • V --- 字符选择,行选择,会将光标经过的地方反白选择;
      • Ctrl+v --- 块选择,可以用长方形的方式选择数据;
      • y --- 将反白的地方复制下来;
      • d --- 将反白的地方删除;
    • 多文件编辑:
      • :n --- 编辑下一个文件;
      • :N --- 编辑上一个文件;
      • :files --- 列出目前这个vim打开的所有文件。
    • 多窗口功能:
      • :sp[filename], 这个filename可有可无;
      • 利用[Ctrl]+w+上下键进行窗口间的移动。
      • vim环境设置与记录:~/.vimrc~/.viminfo --- 自动产生。

第十一章

  • 认识和学习bash:

    • 管理整个计算机硬件的其实是操作系统的内核(kernel),用户只能通过shell与内核进行通信,shell的功能只是提供用户操作系统的一个接口,因此shell需要可以调度其他软件才行。
    • 可以通过shell操作man, chmod, vi, fdisk, mkfs, chown等独立的程序。
  • 系统合法的shell与/etc/shells功能:
    • Bourne shell, Linux默认的是Bshell, 系统中合法的文件都要写入/etc/shells文件中,要使用的shell的查询会借助于/etc/shell这个文件。
    • /bin/bash是Linux默认的shell, bash的主要优点:
      • 命令记忆能力(history),默认可以达到1000个;

        • ~/.bash_history中,记录上一次登录的执行的命令;
      • 命令别名设置功能(alias);
        • alias lm='ls-al' ;
      • 作业控制(jobs)、前台、后台控制;
      • 程序脚本(shell script):
        • shell提供的环境变量及相关命令来设计;
      • 通配符(wildcard), 通配符帮助用户查询与命令执行。
    • bash shell 的内置命令: type,type [-tpa] name,通过type可以查询一个命令是否是shell内置命令。
    • 反斜杠转义符/;
  • 变量的可变性与方便性:
    • 变量是一组符号或者文字,来代替一些设置或者是一串保留的数据,通过echo或unset进行显示与设置,需要"$"显示。

      • echo $[PATH];
    • 变量的设置规则:
      • 变量与变量内容以一个等号"="来连接;
      • 等号两边不能直接接空格符;
      • 只能是英文或者数字,但是开头不能是数字;
      • 变量内容有空格需要用双引号引起来;
      • 利用转义符\将特殊符转换为一般字符;
      • 变量增加变量内容时,可用"\(变量名称+累加内容": * "PATH="\)PATH":/home/bin";
      • 若变量需要在其他子进程中执行,则需要以export来使变量变成环境变量;
      • 通常大写字符默认是系统默认变量;
      • 取消变量的方法为:unset 变量名称
    • 环境变量的功能: 主文件夹的变换,提示符的显示,执行文件查找的路径;
      • env查看环境变量与常见环境变量说明;
      • PATH就是执行文件查找的路径,目录与目录中间以冒号(:)分隔,目录的顺序也很重要;
      • set查看所有变量,包括环境变量和自定义变量;
      • PS1变量;
      • export可以将自定义变量转换为环境变量;
        • export 变量名称
    • 影响显示结果的语系变量(locale):
      • locale -a --- 显示支持大部分的语系;
    • 变量的有效范围:
      • 父子进程具有不同的地址空间,变量是否可以被引用与export有关,被export后的变量,称作环境变量;
      • 可以简单的把环境变量理解为全局变量,自定义的变量理解为局部变量。
    • read命令用来读取来自键盘的变量,read [-pt] variable, -p后面可以接提示符,-t表示等待的秒数。
    • declaretypeset一样就是声明变量的类型;
      • declare [-aixr] variable;
    • bash中的数值运算,默认最多仅能到达整数类型。
    • 与文件系统及程序的限制关系: ulimit;
      • bash是可以限制用户的某些系统资源的,包括可以打开的文件数量,可以使用的CPU时间、可以使用的内存总量;
    • 变量内容的删除、替代与替换:
      • #代表由前面开始删除,${variable#/*kerberos/bin:};
      • #符合替换文字最短的那一个;
      • ##符合替换文字最长的拿一个。
      • 从后往前删,只需天剑一个%
    • 变量的测试与内容替换:
      • new_var=${old_var-content}, 新变量主要用来替换旧变量,新旧变量名称其实经常是一样的。
  • 命令别名与历史命令:
    • 命令别名设置:alias与unalias;
    • 历史命令:history;
  • bash的登录与欢迎信息:/etc/issue, /etc/motd;
  • 终端机环境设置:stty, set;
    • ^stty -a中代表Ctrl的意思。
  • 通配符与特殊符号
    • 统配符(wildcard)让bash处理数据更加方便了。

      • * --- 代表0个到无穷多个任意字符;
      • ? --- 代表一定有一个任意字符;
      • [] --- 代表括号内中任意字符;
      • [-] --- 若有减号在括号内,代表在编码顺序内的所有字符,[0-9]代表0到9之间的所有数字;
      • [^] --- 表示原向选择,[^abc]表示一定有一个字符,主要不是a,b,c中的任意一个都可以;
    • bash中的特殊符号
  • 数据流重定向:
    • 将数据传导到其他地方去;
    • IO的三种方式:标准输入(文件描述符为0),标准输出(文件描述符为1)和标准错误(文件描述符为2);
    • 若以>输出到一个已经存在的文件中,那个文件会被覆盖掉,>>则不会覆盖,只会将数据累加。
    • 1>以覆盖的方式将正确的数据输出到指定的文件或设备上;
    • 2>>以累加的方式将错误的数据输出到指定的文件或设备上。
    • /dev/null垃圾桶黑洞与特殊写法;
      • '/dev/null'可以吃掉任何导向这个设备的信息。
    • 2>&1&>表示标准输出与标准错误同时写入到同一个文件。
    • 标准输入(standard input): <与<<;
      • 利用<<右侧的控制符,可以终止一次输入,而不必输入Ctrl+d。
  • 命令执行的判断依据: ;, ,, &&, ||
    • $?=0是一个命令回传码。
  • 管道命令(pipe):
    • 管道命令使用|这个界定符号,|左边输出的内容能够被右边命令所读取,|对标准错误没有直接处理能力。
    • 选取命令:cut, grep --- 根据关键字取得我们想要的哪一行;
      • cut主要的用途在于将同一行里面的数据进行分解,最常使用在分析一些数据或文字数据的时候。

        • cut -d '分隔字符' -f fields --- 用于分隔字符;
        • cut -c 字符范围 --- 用于排列整齐的信息。
      • grep主要是分析一行的数据,若当中有所需要的信息,就将该行拿出来。
      • grep [-acinv] [--color=auto] '查找字符串' filename
    • 排序命令:sort, wc, uniq
      • sort [-fbMnrtuk] [file or stdin];
      • uniq [-ic];
      • wc [-lwm] --- 用于统计行数、英文单词和字符数。
    • 双向重定向: tee --- 会同时将数据流送与文件和屏幕;
      • tee [-a] file
    • 字符转换命令: tr, col, join, pasteexpand
      • tr用于删除一段信息中的文字或进行文字信息的替换。
    • 切割命令: split可以将一个大文件切割成为小文件,快速而有效。
      • split [-bl] file PREFIX.
    • 参数代换: xargs --- 用于产生某个命令的参数,可以读入sdin的数据并以空格符或断行符进行分辨。
      • xargs [-0epn] command;
      • 使用xargs的原因是,很多命令其实并不支持管道命令,因此我们可以通过xargs来提供该命令引用标准输出。
    • 关于减号-的用途:

鸟哥Linux私房菜基础学习篇学习笔记2的更多相关文章

  1. 鸟哥Linux私房菜基础学习篇学习笔记3

    鸟哥Linux私房菜基础学习篇学习笔记3 第十二章 正则表达式与文件格式化处理: 正则表达式(Regular Expression) 是通过一些特殊字符的排列,用以查找.删除.替换一行或多行文字字符: ...

  2. 鸟哥Linux私房菜基础学习篇学习笔记1

    鸟哥Linux私房菜基础学习篇学习笔记1 第三章 主导分区(MBR),当系统在开机的时候会主动去读取这个区块的内容,必须对硬盘进行分区,这样硬盘才能被有效地使用. 所谓的分区只是针对64Bytes的分 ...

  3. 《鸟哥Linux私房菜基础学习篇》命令索引

    在学习的过程,由于很多命令平时都用不着,因此做这个索引方便需要时查找.这包括了前两部分.主要是按页码顺序. P118 date:显示日期与时间 cal:显示日历 bc:计算器 P121 [Tab]:命 ...

  4. 鸟哥Linux私房菜 基础学习篇读书笔记(10):Linux磁盘和文件系统管理(3)

    本文总结了Linux操作系统来管理我们的硬盘和文件系统需要使用命令.当我们在系统中增加一个硬盘驱动器.什么是我们需要去通过这个硬盘就可以真正使用步骤?下面步骤: (1)对磁盘进行分区,新建能够使用的分 ...

  5. 鸟哥linux私房菜基础篇

    1)注销:exit2)指令太长:命令太长的时候,可以使用反斜杠 (\) 来跳脱[Enter]符号,使挃令连续到下一行3)系统语言显示和设置命令:echo $LANG,显示当前系统语言:简体中文zh_C ...

  6. 学习鸟哥linux私房菜--安装centos5.6(u盘安装,中文乱码)

    题头为"学习鸟哥Linux私房菜"的内容,均为博主在看鸟哥的Linux私房菜第三版的学习经历收获.以下正文: 鸟哥第一部分讲Linux规则与安装,看到第四章正式开始讲实际安装,于是 ...

  7. 鸟哥Linux私房菜知识汇总8至9章

    一看最近<鸟哥Linux私房菜>. 这是一个基本的书,万丈高楼平地起,学. 这是我整理的一些知识点.尽管非常基础. 希望和大家共同交流. 第8章 Linux磁盘与文件系统管理 一.Linu ...

  8. 鸟哥linux私房菜第6章笔记

    鸟哥linux私房菜第6章笔记 文件权限 修改 chgrp [-R] groupname filename //修改文件所属组 chown [-R] ownername[:groupname] fil ...

  9. 《鸟哥Linux私房菜》 全套视频和PDF资料—— 老段带你学鸟哥Linux视频课程

    <鸟哥的Linux私房菜-基础篇-服务器篇(第三版)>学习Linux极为经典的入门资料,但是还是很多同学难以坚持系统的看完整本书,最终以放弃而告终. 为了帮助大家更容易入门Linux,老段 ...

随机推荐

  1. SQLyog远程连接腾讯云服务器数据库Mysql遇到的坑

    首先说明我的数据库是安装在云服务器上,不是专业的数据库服务器,没错就是10块钱包月的. 然后觉得使用SQLyog远程维护数据库比较方面,可是怎么都登录不上去. 下面分析原因: 1.安全组是否放过了访问 ...

  2. Canvas判断内容为空

    如题,项目需要做一个canvas的绘图工具,绘制图纸传递给后台.因此需要做一个非空验证,记录解决方法祝大家早日脱坑. js验证代码: //验证canvas画布是否为空函数function isCanv ...

  3. html(常用标签,标签分类),页面模板, CSS(css的三种引入方式),三种引入方式优先级

    HTML 标记语言为非编程语言负责完成页面的结构 组成: 标签:被<>包裹的由字母开头,可以结合合法字符( -|数字 ),能被浏览器解析的特殊符号,标签有头有尾 指令:被<>包 ...

  4. 转换流InputStreamReader & OutputStreamWriter

    转换流InputStreamReader & OutputStreamWriter 比如当使用FileReader读取文件时,可以读取IDE默认的UTF-8编码的文件,但是当有一个文件是GBK ...

  5. Android五大布局

    原文地址:http://blog.51cto.com/liangruijun/632532 https://www.cnblogs.com/devinzhang/archive/2012/01/19/ ...

  6. Android设置状态栏颜色

    1.代码设置if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = this.getWindow ...

  7. 二叉搜索树BST

    //遍历 void print(int p){ if(!p) return; print(left[p]); printf("%d\n",a[p]); print(right[p] ...

  8. 课堂测试——jsp登录界面设计

    实现结果:在login.jsp页面提交用户名和密码(可以验证是否为空),点击登录跳转到loginResult.jsp页面进行验证并显示结果 JSP + JDBC + MySQL login.jsp 设 ...

  9. [C++]PAT乙级1004. 成绩排名 (20/20)

    /* 1004. 成绩排名 (20) 读入n名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式:每个测试输入包含1个测试用例,格式为 第1行:正整数n 第2行:第1个学生 ...

  10. luogu P3234 [HNOI2014]抄卡组

    传送门 nmdwsm 自己看吧,不想写了qwq 垃圾代码如下 和题解完全不一样 #define LL long long #define uLL unsigned long long #define ...