本篇文章是慕课网《Linux达人养成计划2》笔记。

第一章 VIM文本编辑器

VI : Visual Interface (可视化接口)

VIM: 在VI的基础上进行的升级,相比于VI有一些提升

    a. VIM支持多级撤销

    b. VIM可以跨平台运行

    c. VIM支持语法高亮

    d. VIM支持图形界面

VIM有三种操作模式

  Command  Mode — 命令模式

  Insert  Mode — 输入模式

  Last  Line  Mode — 底行模式(尾行、末行)

vim  文件名

  打开文件,若文件不存在则创建之

  打开之后进入命令模式

  输入i,从命令模式切换到输入模式

  Esc切换到底行模式

  输入 :wq 保存退出

cat  文件名

  查看文件内容

dd

  删除光标所在的行

VIM命令格式:

  vim  文件名

    打开文件,若文件不存在则创建之。默认光标停留在第一行(不同系统不一样,有的停留在上次编辑的地方)

  vim  +  文件名

    打开文件之后,光标停留在文件的最后一行

  vim  +行号  文件名

    打开文件,光标停留在文件的指定行。如果行号超过最大行数,则定位在最后一行

  vim  +/字符串   文件名

    打开文件,光标定位到字符串第一次出现的行首,通过n切换

  vim   文件名1  文件名2  文件名3  ...

    打开多个文件,通过 :n 切换到下一个文件; :N 或者 :prev 切换到上一个文件

底行模式和命令模式常用指令

  底行模式常用指令:

    a.  :w  保存,内容从内存写入到磁盘

    b.  :q  退出当前文件

    c.  :!  强制执行

    d.  :ls  列出当前打开的所有文件

    e.  :n  切换到下一个文件

    f.  :N 或者 :prev  切换到上一个文件

    g.  数字   光标定位到某行

    h.  :/xxx   从光标当前所在位置向后搜索 xxx 第一次出现时的行

    i.   :?xxx   从光标当前所在位置向前搜索 xxx 第一次出现时的行

  命令模式常用指令:

    a.  h  光标左移

    b.  j  光标下移

    c.  k  光标上移

    d.  l  光标右移

    e.  ctrl + f  向下翻页

    f.  ctrl + b  向上翻页

    g.  ctrl + d  向下翻半页

    h.  ctrl + u  向上翻半页

    i.   dd  删除光标所在的行

    j.   o  在光标所在行的下方插入一行并切换到输入模式

    k.   yy  复制光标所在的行

    l.   p(小写)  在光标所在行的下方粘贴

    m.   P(大写)  在光标所在行的上方粘贴

    n.   a  进入编辑

    o.   i   插入

第二章 磁盘管理

  一、 df命令

    df  [选项]

      #查看磁盘分区使用状况

      选项:

        -l:仅显示本地磁盘(默认)

        -a: 显示所有文件系统的磁盘使用情况

        -h: 以1024进制计算最合适的单位显示磁盘容量(人性化显示)

        -H: 以1000进制计算最合适的单位显示磁盘容量

        -T:显示磁盘分区类型

        -t:显示指定类型文件系统的磁盘分区

        -x:不显示指定类型文件系统的磁盘分区

      例如:df  -t ext4

  二、 du命令

    du  [选项]

      #统计磁盘上的文件的大小

      选项:

        -b:以byte为单位统计文件

        -k:以KB为单位统计文件

        -m:以MB为单位统计文件

        -h: 以1024进制计算最合适的单位统计文件(人性化显示)

        -H: 以1000进制计算最合适的单位统计文件

        -s:指定统计目标

  三、 Linux硬盘分区和格式化概述

    服务器一般不会更换硬盘(复制数据),当硬盘资源消耗殆尽时,一般做法是在原有硬盘的基础上添加新的硬盘。

    新添加的硬盘必须经分区、格式化、挂载等操作才可以使用。

    Linux可以自动识别硬件设备。

  四、 Linux中的MBR分区

    分区命令: fdisk

      -l : 列出当前分区表

    fdisk   /dev/sdb(硬件路径)

    w (#写入本地)

  五、 Linux中GPT分区

    分区模式:

      MBR: 这种分区模式比较老旧,主分区不超过四个,主分区和扩展分区总数不能大于4个,单个分区容量最大不超过2TB;

      GPT:较新的分区模式,主分区数量几乎没有限制(支持128个主分区),单个分区大小几乎没有限制(最大支持18EB),主分区中不支持安装x86的系统。

    parted

    select  /dev/adc    #切换硬盘

    mklabel  gpt/msdos    #指定分区模式

    print   #分区详情

    print  all   #全部的分区详情

    交互模式:

      mkpart

        #添加分区

        指定名称(不是强制要求,个人建议设置)

        指定文件系统类型

        指定开始位置(从第几MB开始)

        指定结束位置(在第几MB结束)

    命令模式:

      mkpart  名称  开始位置  结束位置

    如果给的数字跟原来的分区重合,系统会给提示的。

    设置好了之后,quit  退出GPT分区

  六、 Linux中分区的格式化

    mkfs  文件系统类型  硬盘

    例如: mkfs  ext3   /dev/sdb1

    mkfs   -t  文件系统类型  硬盘

    例如:mkfs   -t   ext4   /dev/sdb2

    只有主分区和扩展分区可以格式化,逻辑分区是不能格式化。

  七、 Linux中挂载分区

    Linux默认的分区挂在目录是/mnt目录下,但是Linux不强制分区挂载目录,但是分区必须挂载在一个已经存在的挂载点。

    挂载命令: mount  硬盘  挂载点

      例如: mount   /dev/sdb1   /mnt/sdb1

    卸载命令:umount  挂载点

      例如:umount   /mnt/sdb1

  八、Linux中swap分区

    swap交换分区创建步骤:

      1.建立一个普通的Linux分区

      2.修改分区类型的16进制编码

      3.格式化交换分区

      4.启用交换分区

    

    free   查看swap加载状况

    swapoff    /dev/sdb6    停止

第三章  用户管理

  一、Linux中用户和用户组的概念

    用户:使用操作系统的人

    用户组:具有相同系统权限的一组用户

    /etc/group  :  存储当前系统中所有用户组的信息

      -group : x : 123 : abc,def,...

      -组名称 : 组密码占位符 : 组编号 : 组中用户名列表

      几项常识:root的组号一定是0;组号1——499是Linux预留;用户自己创建的组组号是从500开始的;组密码占位符全部用x表示

    /etc/gshadow 存储当前系统中用户组的密码信息

      -group : * :   :  adb,def,...

      -组名称 : 组密码 : 组管理者 : 组中用户列表

      组密码为空、*、! 时表示密码为空

    /etc/passwd  存储当前系统中所有用户的信息

      -user : * : 123 : 456 : xxx : /home/xxx : /bin/bash

      -用户名 : 密码占位符 : 用户编号 : 用户组编号 : 用户注释信息 : 用户主目录 : shell类型

      几项常识:root的用户编号为0

    /etc/shadow 用来存储当前系统中所有用户的密码信息

  二、Linux中用户和用户组的基本命令

    groupadd  组名称

      #添加一个用户组

    groupmod   -n  新组名  原组名

      #修改组名

    groupmod   -g  组编号  组名

      #修改组的编号

    groupadd   -g  组编号  组名

      #创建用户组时指定组编号

    groupdel  组名

      #删除组,实际操作中应该先删除组中的所有用户

    useradd   -g   组名   用户名

      #添加用户到某用户组

    useradd   -d  目录   用户名

      #创建用户并指定用户的家目录

    usermod   -c  注释信息   用户名

      #修改用户的注释信息

    usermod   -l   新用户名   原用户名

      #修改用户名

    usermod   -g   组名   用户名

      #修改用户所属的用户组

    userdel   用户名

      #删除用户

    userdel   -r   用户名

      #删除用户时删除用户的家目录

    touch   /etc/nologin

      #创建此文件就禁止非root用户登录系统

  三、进阶命令

    passwd   -l   用户名

      #锁定用户,不允许用户操作系统

    passwd   -u  用户名

      #解锁用户

    passwd   -d   用户名

      #清除用户密码

    主要组和附属组

      一个用户可以同时属于多个组:一个主要组和多个附属组

    gpasswd   -a    用户名    附属组名

      #将用户添加到附属组

    newgrp   附属组名

      #切换到附属组

    gpasswd   -d   用户名  附属组名

      #将用户从附属组中删去

    useradd   -g   主要组名    -G   附属组名,.......      用户名

      #创建用户时指定主要组和附属组

    gpasswd   组名

      #修改组密码

  四、其他命令

    su  用户名

      #切换用户,当不输入用户名时切换到root

    whoami

      #显示当前登录用户名

    id   用户名

      #显示用户信息

    groups   用户名

      #显示用户所在的组

    chfn   用户名

      #设置用户的资料

    finger   用户名

      #显示用户详细资料

    passwd     用户名

      #设置用户密码

Linux继续学习笔记的更多相关文章

  1. linux 驱动学习笔记01--Linux 内核的编译

    由于用的学习材料是<linux设备驱动开发详解(第二版)>,所以linux驱动学习笔记大部分文字描述来自于这本书,学习笔记系列用于自己学习理解的一种查阅和复习方式. #make confi ...

  2. Linux系统学习笔记:文件I/O

    Linux支持C语言中的标准I/O函数,同时它还提供了一套SUS标准的I/O库函数.和标准I/O不同,UNIX的I/O函数是不带缓冲的,即每个读写都调用内核中的一个系统调用.本篇总结UNIX的I/O并 ...

  3. Linux内核学习笔记-2.进程管理

    原创文章,转载请注明:Linux内核学习笔记-2.进程管理) By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert L ...

  4. Linux内核学习笔记-1.简介和入门

    原创文章,转载请注明:Linux内核学习笔记-1.简介和入门 By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert L ...

  5. Linux内核学习笔记二——进程

    Linux内核学习笔记二——进程   一 进程与线程 进程就是处于执行期的程序,包含了独立地址空间,多个执行线程等资源. 线程是进程中活动的对象,每个线程都拥有独立的程序计数器.进程栈和一组进程寄存器 ...

  6. 20135316王剑桥Linux内核学习笔记

    王剑桥Linux内核学习笔记 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 计算机是如何工作的 个人理 ...

  7. Linux命令学习笔记目录

    Linux命令学习笔记目录 最近正在使用,linux,顺便将用到的命令整理了一下. 一. 文件目录操作命令: 0.linux命令学习笔记(0):man 命令 1.linux命令学习笔记(1):ls命令 ...

  8. linux kernel学习笔记-5内存管理_转

    void * kmalloc(size_t size, gfp_t gfp_mask); kmalloc()第一个参数是要分配的块的大小,第一个参数为分配标志,用于控制kmalloc()的行为. km ...

  9. linux命令学习笔记(25):linux文件属性详解

    Linux 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组. 最近访问或修改的时间等内容.具体情况如下: 命令: ls -lih 输出: [root@loc ...

  10. 深挖计算机基础:趣谈Linux操作系统学习笔记

    参考极客时间专栏<趣谈Linux操作系统>学习笔记 核心原理篇:内存管理 趣谈Linux操作系统学习笔记:第二十讲 趣谈Linux操作系统学习笔记:第二十一讲 趣谈Linux操作系统学习笔 ...

随机推荐

  1. tcl之基本语法—2

  2. 本地Navicat连接虚拟机MySQL

    安装完MySQL后,使用mysql命令进去,然后执行以下命令 grant all privileges on hive_metadata.* to 'hive'@'%' identified by ' ...

  3. Find a path HDU - 5492 (dp)

    Find a path Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  4. TI C6000 优化进阶:循环最重要!

    软件流水循环 1. C6000流水线(Pipeline) 一个指令的处理过程并不是一步完成,它被分为三个阶段:取指(Fetch).译码(Decode).执行(Excute).将每一个阶段放入独立的流程 ...

  5. 5、python中的列表

    list是python内置的一种有序.可变的数据结构. 一.如何创建一个list? 示例: 注意: list中的元素可以是任意的数据类型如字符串.数字.布尔值.None等,也可以是其他的数据结构如另外 ...

  6. python中迷茫的编码问题

    1.理清一些知识点: python默认的编码格式: ASCII(py2) unicode(py3) 查看默认编码:sys.defaultencoding 修改默认编码:#coding = utf-8 ...

  7. Android 完美解决bundle实现页面跳转并保留之前数据+传值

    1.前言 前言: 昨天碰到了一个问题,我想实现页面跳转,采用了Bundle之后,再回到原来的页面,发现数据也没有了, 而且一直报错,网上查找了很多资料,发现要用一个startActivityForRe ...

  8. Java语言基础---逻辑运算(长路短路运算)

    长路短路运算的区别 长路与运算&:是指在两边都是整数时,是逐位与运算,在两边是关系运算时,是逻辑运算. 短路与运算&&:是指从左至右,遇到false,则停止后面的运算. 长路或 ...

  9. 朴素贝叶斯python小样本实例

    朴素贝叶斯优点:在数据较少的情况下仍然有效,可以处理多类别问题缺点:对于输入数据的准备方式较为敏感适用数据类型:标称型数据朴素贝叶斯决策理论的核心思想:选择具有最高概率的决策朴素贝叶斯的一般过程(1) ...

  10. MySQL基础9-主键约束、外键约束、等值连接查询、一对一和多对多关系

    1.主键约束和外键约束 外键约束 * 外键必须是另一表的主键的值(外键要引用主键!) * 外键可以重复 * 外键可以为空 * 一张表中可以有多个外键! 概念模型在数据库中成为表 数据库表中的多对一关系 ...