解包和压缩(归档)
- tar
c----->新建
f----->指定文件名
v----->显示详细信息
查看tar文件: tar -tf test.tar
打包tar文件: tar -cvf test.tar
tar cvzf xxx.tar.gz /xxx #----->/xxx
tar cd /xxx #------>tar cvzf xxx.tar.gz * #
打包压缩文件:tar -zxvf test.tar
(使用gzip压缩文件)
bzip2 xxx
用bzip2压缩文件 -jxvf
压缩三个文件进入tar文件: tar -cvf xxx.tar xxx xxx xxx
压缩文件夹进入tar文件:tar czfv xxx.tar.gz /xxx/xx(dir)
解压缩: tar -xf xxx -C /xxx/xxx(dir)
vim
打开编辑文件:vim /xxx/xxx
插入模式:a/i/o #光标后一位输入/在光标所在位置输入/光标下一行输入
命令模式:
复制粘贴剪切
dd 剪切光标所在行
ndd:光标所在往下n行剪切
:1,10d 将1-10行剪切。利用p命令可将剪切后的内容进行粘贴。
:1, 10 m 20 将第1-10行移动到第20行之后。
yy 复制光标所在行
nyy:光标坐在往下n行复制
p 粘贴在当前行的下一行
shift+p 在当前行前粘贴
:1,10 co 20 将1-10行插入到第20行之后。
:1,$ co $ 将整个文件复制一份并添加到文件尾部。
正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制
删除撤销
u 撤销一步
ctrl + r 往前一步
x 删除当前字符
3x 删除当前光标开始向后三个字符
X 删除当前字符的前一个字符。X=dh
硬件文件系统
查看 df
位置 /dev/sda
什么是分区?
分区是将一个硬盘驱动器分成若干个逻辑驱动器,分区是把硬盘连续的区块当做一个独立的磁硬使用。分区表是一个硬盘分区的索引,分区的信息都会写进分区表。为什么要有多个分区?
防止数据丢失:如果系统只有一个分区,那么这个分区损坏,用户将会丢失所的有数据。
增加磁盘空间使用效率:可以用不同的区块大小来格式化分区,如果有很多1K的文件,而硬盘分区区块大小为4K,那么每存储一个文件将会浪费3K空间。这时我们需要取这些文件大小的平均值进行区块大小的划分。
数据激增到极限不会引起系统挂起:将用户数据和系统数据分开,可以避免用户数据填满整个硬盘,引起的系挂起。-
分区工具fdisk用法介绍
fdisk命令参数介绍:p 打印分区表。
n 新建一个新分区。
d 删除一个分区。
q 退出不保存。
w 把分区写进分区表,保存并退出。 mkfs命令
mount 挂载命令
软连接可以跨分区:
ln -s /source/a.txt /dst/aa.txt
硬链接不可跨分区:
删除源文件,对链接文件没有影响
ln -s
作业一:
- 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖)
[root@bogon d]# cat /etc/passwd /etc/group > /1.txt
- 将用户信息数据库文件和用户密码数据库文件纵向合并为一个文件/2.txt(追加)
[root@bogon d]# cat /etc/passwd /etc/group >> /2.txt
[root@bogon d]# tail -3 /2.txt
scott:$6$KOih.zouoSVh2hdc$n5iqdwevK1Y/5/XNR5TldmhSrjqMVV/pVEoUIJGte/ywM3UhhB2pZXjroHEEQEJP9XpuCmGdhHk58S1zgESgf0:17238:0:99999:7:::
jack:$6$WqRLmj62$n8amuX0//XX1Rok6P4yzjV2IRoun4McWhdv369vC8uriH.A2FZvxv8CIJcwT2o3lfBtc0TOR89.7I5suj3JUH1:17240::::::
alex:$6$MAeBMbTJ$s3EWptAzVF70Hf15JXmGwPrPzVVnxNx.KqRzjT0htFifXYNpQFzMw97ha4sk5F4XUfYWjmsdsPRpZNFiSp2iS1:17240::::::
- 将/1.txt、/2.txt两个文件打包为/1.tar
[root@bogon /]# tar -cf 1.tar 1.txt 2.txt
[root@bogon /]# ls
1.tar 2.txt boot etc lib media opt root sbin sys tmp var
1.txt bin dev home lib64 mnt proc run srv test usr
- 使用gzip命令压缩1.txt文件名为1.txt.gz
[root@bogon /]# tar -zcf 1.tar.gz 1.txt
[root@bogon /]# ls
1.tar 1.txt bin dev home lib64 mnt proc run srv test usr
1.tar.gz 2.txt boot etc lib media opt root sbin sys tmp var
- 解压缩1.txt.gz
[root@bogon /]# tar -zxvf 1.tar.gz
1.txt
- 使用bzip2压缩1.txt压缩后文件名为1.txt.bz2
[root@bogon /]# tar -jcvf 1.txt.bz2 1.txt
1.txt
[root@bogon /]# ls
1.tar 1.txt 2.txt boot etc lib media opt root sbin sys tmp var
1.tar.gz 1.txt.bz2 bin dev home lib64 mnt proc run srv test usr
- 解压缩1.txt.bz2
[root@bogon /]# tar -jvxf 1.txt.bz2
1.txt
- 解包1.tar,解包后文件存放到/tmp目录下
[root@bogon /]# tar -xvf 1.tar -C /tmp
1.txt
2.txt
- 使用tar命令打包并且压缩/1.txt、/2.txt,得到的文件名为1.tar.gz
[root@bogon /]# tar -zcf 1.tar.gz 1.txt
[root@bogon /]# ls
1.tar 1.txt bin dev home lib64 mnt proc run srv test usr
1.tar.gz 2.txt boot etc lib media opt root sbin sys tmp var
- 解包1.tar.gz,解包后文件存放到/tmp目录下
[root@bogon /]# tar -zxvf 1.tar.gz -C /tmp/
1.txt
[root@bogon /]# cd /tmp/
[root@bogon tmp]# ls
1.txt
2.txt
……
作业二:
- 使用vi编辑器编辑文件/1.txt进入编辑模式写入内容“hello world”
[root@bogon /]# vim 1.txt
hello world
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:998:996:User for polkitd:/:/sbin/nologin
-- 插入 --
- 进入命令行模式复制改行内容,在下方粘贴80行
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
多了 80 行
- 快速移动光标到文件的最后一行
G
- 快速移动光标到当前屏幕的中间一行
M
- 快速移动光标到文件的第五行
5G
- 在下方插入新的一行内容“welcome to beijing”
o
hello world
hello world
hello world
hello world
hello world
welcome to beijing
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
-- 插入 --
- 删除刚插入的一行
ndd
- 撤销上一步的操作
u
- 进入扩展模式,执行文件的保存退出操作
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
:wq
作业三:
- 开启Linux系统前添加一块大小为20G的SCSI硬盘
- 开启系统,右击桌面,打开终端
[root@bogon ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x051c2612 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x051c2612
设备 Boot Start End Blocks Id System
为新加的硬盘分区,一个主分区大小为10G,剩余空间给扩展分区,在扩展分区上划分两个逻辑分区,大小各5G
格式化主分区为ext3系统
格式化两个逻辑分区为ext4系统
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-20971519,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+5G
分区 1 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): e
分区号 (2-4,默认 2):2
起始 扇区 (10487808-20971519,默认为 10487808):
将使用默认值 10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-20971519,默认为 20971519):+2G
分区 2 已设置为 Extended 类型,大小设为 2 GiB
mkfs.ext3 /dev/sdb1
mkfs.ext4 /dev/sdb5
mkfs.ext4 /dev/sdb6
作业四:
- 建立/etc/passwd的软连接文件,放在/tmp目录下
[root@bogon tmp]# ln -s /etc/passwd /tmp/passwdd
2)建立/etc/passwd的硬链接文件,放在/boot下,如果不成功,思考是为什么
3)查看刚刚建立的软连接,源文件与目标文件的inode
4)查看刚刚建立的硬连接,源文件与目标文件的inode