当前位置: 首页 > news >正文

day06 tar命令使用,vim简单操作以及linux开机过程

上节课复习:

1 cat:    查看全部文件内容
2 head:    从头查看文件内容,默认为前10行
3 tail:    tail -f   //动态查看文件是否增加内容
4         >>  追加
5         >   覆盖
6 more:    百分比的形式查看文件,回车翻页
7 less:    可以用上下键翻页

本节课内容:
两个文件内容合并:

1 cat a.txt b.txt > c.txt        //覆盖
2 cat a.txt b.txt >> c.txt    //追加

tar: 归档

 1 touch {a..c}{1..3}.txt    //创建多个文件
 2 tar cvf test.tar *    //当前路径所有的,打包
 3 tar -tf test.tar      //查看包内容
 4 tar xvf test.tar      //解包
 5 tar xvf test.tar -C /test2      //解包于test2
 6 
 7 tar cvzf test.tar.gz *   //打包并且压缩,z表示调用gzip
 8 tar xvf test.tar.gz      //解包,不用考虑压缩方式
 9 
10 tar cvjf test.tar.bz2 *   //打包并且压缩,j表示调用bzip2
11 tar xvf test.tar.gz      //解包,不用考虑压缩方式
12 
13 bzip2 test.bar           //用bzip2压缩
14 bunzip2 test.tar.bz2     //用bzip2解压

vim 文件简单操作命令

 1 vim ~/.vimrc 进入配置文件
 2 如果不知道vimrc文件在哪,可使用 :scriptnames 来查看
 3 set nu      #行号
 4 set tabstop=4  #一个tab为4个空格长度
 5 set ai                 #设置自动缩进
 6 syntax on           #高亮
 7 
 8 gzip:压缩
 9     gzip test.tar    //压缩test.tar
10     gunzip test.tar.gz  //解压缩test.tar
11 
12 空格键 向右移动一格
13 x 删除后面的字符 X 删除前一个字符  删除3个字符就是3x  
14 dd:删除一行      D 删除到行尾 
15 caw:改写单词     c 相当于 d 变为编辑模式
16 J:删除换行符,使下一行并上来。        nJ:连接后面的n行
17 u:撤销上一次操作          U:撤销当前行的所有修改
18 ctrl+r:对撤消的撤消
19 Ctrl+o:临时变成命令模式(一次而已)
20 :e!:放弃更改,然后相当于重新打开
21 :help:帮助,可用ZZ退出帮助窗口
22 
23 命令行模式
24     a/i/o/O        //进入编辑模式(插入)
25         shift + :    //扩展模式
26         i 在光标前插入
27         I 在行首插入 
28         a 在光标后插入
29         A 在行末插入
30         o:在当前行的下面另起一行,并变为插入模式
31         O:在当前行上面另起一行,变为插入模式
32         G    跳到文件末尾
33         gg   跳到文件开头
34         $    行尾
35         0    行首
36         yy   复制
37         p    粘贴到下一行
38         大P  粘贴到上一行
39         3yy  复制三行
40         10p  粘贴10行
41         dd   删除当前行
42         10dd 删除10行
43         dd和p连用,是剪切
44         u    撤销命令
45         ctrl+r  前进一步
46         L     当前屏幕末尾行
47         M      当前屏幕中间行
48     
49 编辑模式
50     ESC     //切回命令行模式
51     
52 
53 扩展模式
54     shift + :
55         :w    //写入
56         :q    //退出
57         :/bash  //查找bash,按查找n下一个
58         :q!   强制退出
59         :%s /python/PYTHON/g  %所有行 s匹配 /python需要修改的内容 /PYTHON改成的内容 /g修改一行中所有的内容

linux开机过程

启动第一步--加载BIOS
当你打开计算机电源,计算机会首先加载BIOS信息。BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等


启动第二步--读取MBR
硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是512字节,里面却存放了预启动信息、分区表信息。
系统找到BIOS所指定的硬盘的MBR后,就会将其复制到0×7c00地址所在的物理内存中。其实被复制到物理内存的内容就是Boot Loader,而具体到你的电脑,那就是lilo或者grub了。

启动第三步--Boot Loader
Boot Loader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核做好一切准备
Boot Loader有若干种,其中Grub、Lilo和spfdisk是常见的Loader。
我们以Grub为例来讲解吧,毕竟用lilo和spfdisk的人并不多。
系统读取内存中的grub配置信息(一般为menu.lst或grub.lst),并依照此配置信息来启动不同的操作系统。

启动第四步--加载内核
根据grub设定的内核映像所在路径,系统读取内存映像,并进行解压缩操作。此时,屏幕一般会输出“Uncompressing Linux”的提示。当解压缩内核完成后,屏幕输出“OK, booting the kernel”。
系统将解压后的内核放置在内存之中,并调用start_kernel()函数来启动一系列的初始化函数并初始化各种设备,完成Linux核心环境的建立。至此,Linux内核已经建立起来了,基于Linux的程序应该可以正常运行了。

启动第五步--用户层init依据inittab文件来设定运行等级
内核被加载后,第一个运行的程序便是/sbin/init,该文件会读取/etc/inittab文件,并依据此文件来进行初始化工作。
其实/etc/inittab文件最主要的作用就是设定Linux的运行等级,其设定形式是“:id:5:initdefault:”,这就表明Linux需要运行在等级5上。Linux的运行等级设定如下:
0:关机
1:单用户模式
2:无网络支持的多用户模式
3:有网络支持的多用户模式
4:保留,未使用
5:有网络支持有X-Window支持的多用户模式
6:重新引导系统,即重启
关于/etc/inittab文件的学问,其实还有很多

启动第六步--init进程执行rc.sysinit
在设定了运行等级后,Linux系统执行的第一个用户层文件就是/etc/rc.d/rc.sysinit脚本程序,它做的工作非常多,包括设定PATH、设定网络配置(/etc/sysconfig/network)、启动swap分区、设定/proc等等。如果你有兴趣,可以到/etc/rc.d中查看一下rc.sysinit文件。

启动第七步--启动内核模块
具体是依据/etc/modules.conf文件或/etc/modules.d目录下的文件来装载内核模块。

启动第八步--执行不同运行级别的脚本程序
根据运行级别的不同,系统会运行rc0.d到rc6.d中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务。

启动第九步--执行/etc/rc.d/rc.local
你如果打开了此文件,里面有一句话,读过之后,你就会对此命令的作用一目了然:
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don’t
# want to do the full Sys V style init stuff.
rc.local就是在一切初始化工作后,Linux留给用户进行个性化的地方。你可以把你想设置和启动的东西放到这里。

启动第十步--执行/bin/login程序,进入登录状态
此时,系统已经进入到了等待用户输入username和password的时候了,你已经可以用自己的帐号登入系统了。:)

本文参考了如下文章:
http://blog.chinaunix.net/uid-26495963-id-3066282.html

 

作业第一题

 1 作业一:
 2 1)    将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖)
 3     [root@bogon test]# cat /etc/passwd /etc/group > 1.txt
 4 2)    将用户信息数据库文件和用户密码数据库文件纵向合并为一个文件/2.txt(追加)
 5     [root@bogon test]# cat /etc/passwd /etc/shadow >> 2.txt
 6 3)    将/1.txt、/2.txt两个文件打包为/1.tar 
 7     [root@bogon test]# tar cvf /1.tar /1.txt /2.txt
 8 4)    使用gzip命令压缩1.txt文件名为1.txt.gz
 9     [root@bogon test]# gzip 1.txt
10 5)    解压缩1.txt.gz
11     [root@bogon test]# gunzip 1.txt.gz
12 6)    使用bzip2压缩1.txt压缩后文件名为1.txt.bz2
13     [root@bogon test]# bzip2 1.txt
14 7)    解压缩1.txt.bz2
15     [root@bogon test]# bunzip2 1.txt.bz2
16 8)    解包1.tar,解包后文件存放到/tmp目录下
17     tar -xvf 1.tar -C /tmp/
18 9)    使用tar命令打包并且压缩/1.txt、/2.txt,得到的文件名为1.tar.gz
19     tar -cvzf 1.tar.gz /1.txt /2.txt
20 10)    解包1.tar.gz,解包后文件存放到/tmp目录下
21     tar -xvf 1.tar.gz -C /tmp/

 

转载于:https://www.cnblogs.com/alwaysInMe/p/6903896.html

相关文章:

  • 面面观 | 使用dokcer 构建 mariadb 数据库
  • 3 个在 Linux 中永久并安全删除文件和目录的方法
  • 再会Java
  • 自动化运维工具SaltStack详细部署
  • PHP MySQL
  • 算法之选择排序算法
  • 我会采更多的雏菊
  • c语言中字符串函数的使用
  • 利用jquery编写加法运算验证码
  • 更改计算机名称,影响TFS之前映射的工作区 使用。
  • mysql/Java服务端对emoji的支持
  • 教你如何安装 Android L
  • 创意歌曲:我是一段死代码
  • Elasticsearch 中文搜索搭建
  • 潜伏 11 年之久,Linux 惊现高危内核漏洞 Phoenix Talon
  • 《Java编程思想》读书笔记-对象导论
  • bearychat的java client
  • Javascript Math对象和Date对象常用方法详解
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • PHP 7 修改了什么呢 -- 2
  • Python 基础起步 (十) 什么叫函数?
  • spark本地环境的搭建到运行第一个spark程序
  • 从零搭建Koa2 Server
  • 对象引论
  • 关于extract.autodesk.io的一些说明
  • 简析gRPC client 连接管理
  • 如何选择开源的机器学习框架?
  • 我是如何设计 Upload 上传组件的
  • nb
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • zabbix3.2监控linux磁盘IO
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #HarmonyOS:基础语法
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (待修改)PyG安装步骤
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (五)IO流之ByteArrayInput/OutputStream
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)创业的注意事项
  • (转载)hibernate缓存
  • **CI中自动类加载的用法总结
  • .apk 成为历史!
  • .cn根服务器被攻击之后
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .Net CF下精确的计时器
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .NET Core 版本不支持的问题