Linux继续学习笔记
本篇文章是慕课网《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继续学习笔记的更多相关文章
- linux 驱动学习笔记01--Linux 内核的编译
由于用的学习材料是<linux设备驱动开发详解(第二版)>,所以linux驱动学习笔记大部分文字描述来自于这本书,学习笔记系列用于自己学习理解的一种查阅和复习方式. #make confi ...
- Linux系统学习笔记:文件I/O
Linux支持C语言中的标准I/O函数,同时它还提供了一套SUS标准的I/O库函数.和标准I/O不同,UNIX的I/O函数是不带缓冲的,即每个读写都调用内核中的一个系统调用.本篇总结UNIX的I/O并 ...
- Linux内核学习笔记-2.进程管理
原创文章,转载请注明:Linux内核学习笔记-2.进程管理) By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert L ...
- Linux内核学习笔记-1.简介和入门
原创文章,转载请注明:Linux内核学习笔记-1.简介和入门 By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert L ...
- Linux内核学习笔记二——进程
Linux内核学习笔记二——进程 一 进程与线程 进程就是处于执行期的程序,包含了独立地址空间,多个执行线程等资源. 线程是进程中活动的对象,每个线程都拥有独立的程序计数器.进程栈和一组进程寄存器 ...
- 20135316王剑桥Linux内核学习笔记
王剑桥Linux内核学习笔记 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 计算机是如何工作的 个人理 ...
- Linux命令学习笔记目录
Linux命令学习笔记目录 最近正在使用,linux,顺便将用到的命令整理了一下. 一. 文件目录操作命令: 0.linux命令学习笔记(0):man 命令 1.linux命令学习笔记(1):ls命令 ...
- linux kernel学习笔记-5内存管理_转
void * kmalloc(size_t size, gfp_t gfp_mask); kmalloc()第一个参数是要分配的块的大小,第一个参数为分配标志,用于控制kmalloc()的行为. km ...
- linux命令学习笔记(25):linux文件属性详解
Linux 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组. 最近访问或修改的时间等内容.具体情况如下: 命令: ls -lih 输出: [root@loc ...
- 深挖计算机基础:趣谈Linux操作系统学习笔记
参考极客时间专栏<趣谈Linux操作系统>学习笔记 核心原理篇:内存管理 趣谈Linux操作系统学习笔记:第二十讲 趣谈Linux操作系统学习笔记:第二十一讲 趣谈Linux操作系统学习笔 ...
随机推荐
- web前端使用localstorage、sessionstorage、cookie增删获方法
今天主要的学习内容是cookie与本地储存的知识, 在HTML5中,本地存储是一个window的属性,包括localStorage和sessionStorage,从名字应该可以很清楚的辨认二者的区别, ...
- PHP如何严格控制session过期时间
第一种回答 那么, 最常见的一种回答是: 设置Session的过期时间, 也就是session.gc_maxlifetime, 这种回答是不正确的, 原因如下: 1. 首先, 这个PHP是用一定的概率 ...
- 04vim的使用
linux常用命令 workon 查看已经安装的虚拟环境 deactivate 退出虚拟环境 whoami 查看用户 sudo bash install.sh 添加权限 pwd 查看在那个路径下 cd ...
- 删除项目开发中的.pyc文件
在实际开发中python会自动生成很多pyc文件,但是这些pyc文件是不需要我们追踪的,删除了对项目也没有影响,下面是删除pyc文件的方法. Linux或Mac系统 find /tmp -name & ...
- linux下安装VMware出错:Gtk-Message: Failed to load module "canberra-gtk-module"解决方法
最近又有兴趣在linux下搭建个虚拟机,于是去找了个VMWorkstation,安装的过程中报了两个错误 Gtk-Message: Failed to load module "pk-gtk ...
- Xadmin添加用户小组件出错render() got an unexpected keyword argument 'renderer
环境: Python 3.5.6 Django 2.1 Xadmin 原因: render函数在django2.1上有变化 解决方案: 1.在Python终端输入命令help('xadmin') 查看 ...
- Android 显示和隐藏软键盘的方法
前言:因为项目要求做一个类似贴吧一样的东西,可以评论,所以必不可少地需要用到软键盘的隐藏和显示. Step 1 废话不多说,先上封装好的代码. public class CommonUtils ...
- laravel5.2总结--路由
1 基本路由 1.1 定义路由的文件 app/Http/routes.php 1.2 最基本的路由: Route::get(''index", function () { ret ...
- JS的跨域理解
前言 周一的学院点开题被批的很惨,换了个校长,各种被抓严,班上已经有两个同学打算休学了.哎,这周的聚会可能是大家集聚的最后一次吧.熬着吧,还是学习我的前端,不管老板学校咋逼了,找个好工作才是王道.今天 ...
- C#实现eval 进行四则运算(有码)
在JavaScript中实现四则运算很简单,只需要调用eval函数就行了,但是不知道什么原因万能的.NET却没有封装这个函数~ 在这里为大家封装了一个C#版本的eval函数,具体的设计参考了<大 ...