在刚开始安装虚拟机的时候遇到了许许多多的问题,感谢我遇到了很棒的室友,悉心教导,最终完美的解决了这些问题。
以下为个人整理笔记:
按键 作用
Ctrl+d 键盘输入结束或退出终端
Ctrl+s 暂停当前程序,暂停后按下任意键恢复运行
Ctrl+z 将当前程序放到后台运行,恢复到前台为命令fg
Ctrl+a 将光标移至输入行头,相当于Home键
Ctrl+e 将光标移至输入行末,相当于End键
Ctrl+k 删除从光标所在位置到行末
Alt+Backspace 向前删除一个单词
Shift+PgUp 将终端显示向上滚动
Shift+PgDn 将终端显示向下滚动
按键 作用
Ctrl+d 键盘输入结束或退出终端
Ctrl+s 暂停当前程序,暂停后按下任意键恢复运行
Ctrl+z 将当前程序放到后台运行,恢复到前台为命令fg
Ctrl+a 将光标移至输入行头,相当于Home键
Ctrl+e 将光标移至输入行末,相当于End键
Ctrl+k 删除从光标所在位置到行末
Alt+Backspace 向前删除一个单词
Shift+PgUp 将终端显示向上滚动
Shift+PgDn 将终端显示向下滚动
按键 作用
Ctrl+d 键盘输入结束或退出终端
Ctrl+s 暂停当前程序,暂停后按下任意键恢复运行
Ctrl+z 将当前程序放到后台运行,恢复到前台为命令fg
Ctrl+a 将光标移至输入行头,相当于Home键
Ctrl+e 将光标移至输入行末,相当于End键
Ctrl+k 删除从光标所在位置到行末
Alt+Backspace 向前删除一个单词
Shift+PgUp 将终端显示向上滚动
Shift+PgDn 将终端显示向下滚动
who 命令其它常用参数
参数 说明
-a 打印能打印的全部
-d 打印死掉的进程
-m 同am i,mom likes
-q 打印当前登录用户数及用户名
-u 打印当前登录用户登录信息
-r 打印运行等级
使用 mkdir(make directories)命令可以创建一个空目录,也可同时指定创建目录的权限属性
使用cp(copy)命令复制一个文件或目录到指定目录。如果直接使用cp命令,复制一个目录的话,会出现错误要成功复制目录需要加上-r或者-R参数,表示递归复制,就是说有点“株连九族”的意思:
使用rm(remove files or directories)命令,删除一个文件或目录
有时候你会遇到想要删除一些为只读权限的文件,直接使用rm删除会显示一个提示,你如果想忽略这提示,直接删除文件,可以使用-f参数强制删除:跟复制目录一样,要删除一个目录,也需要加上-r或-R参数
使用mv(move or rename files)命令,移动文件(剪切)
使用=号赋值运算符为变量 读取变量的值,使用echo命令和$符号($符号用于表示引用一个变量的值,初学者经常会忘记输入):
命令 说明
set 显示当前 Shell 所有环境变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量
env 显示与当前用户相关的环境变量,还可以让命令在指定环境中运行
exp和ort 显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量
文件后缀名 说明
.zip zip程序打包压缩的文件
.rar rar程序压缩的文件
.7z 7zip程序压缩的文件
.tar tar程序打包,未压缩的文件
.gz gzip程序(GNU zip)压缩的文件
.xz xz程序压缩的文件
.bz2 bzip2程序压缩的文件
.tar.gz tar打包,gzip程序压缩的文件
.tar.xz tar打包,xz程序压缩的文件
tar.bz2 tar打包,bzip2程序压缩的文件
*.tar.7z tar打包,7z程序压缩的文件
du命令分别查看默认压缩级别、最低、最高压缩级别及未压缩的文件的大小:
$ du -h -d 0 *.zip ~ | sort
h, --human-readable(顾名思义,你可以试试不加的情况)
d, --max-depth(所查看文件的深度)
使用-e参数可以创建加密压缩包:
$ zip -r -e -o shiyanlou_encryption.zip /home/shiyanlou
注意: 关于zip命令,因为 Windows 系统与 Linux/Unix 在文本文件格式上的一些兼容问题,比如换行符(为不可见字符),在 Windows 为 CR+LF(Carriage-Return+Line-Feed:回车加换行),而在 Linux/Unix 上为 LF(换行),所以如果在不加处理的情况下,在 Linux 上编辑的文本,在 Windows 系统上打开可能看起来是没有换行的。如果你想让你在 Linux 创建的 zip 压缩文件在 Windows 上解压后没有任何问题,那么你还需要对命令做一些修改:
$ zip -r -l -o shiyanlou.zip /home/shiyanlou
需要加上-l参数将LF转换为CR+LF来达到以上目的。
从指定压缩包文件中删除某个文件:
$ rar d shiyanlou.rar .zshrc
查看不解压文件:
$ rar l shiyanlou.rar
使用unrar解压rar文件
全路径解压:
$ unrar x shiyanlou.rar
去掉路径解压:
$ mkdir tmp
$ unrar e shiyanlou.rar tmp/
创建一个 tar 包:
$ tar -cf shiyanlou.tar ~
解包一个文件(-x参数)到指定路径的已存在目录(-C参数):
$ mkdir tardir
$ tar -xf shiyanlou.tar -C tardir
只查看不解包文件-t参数:
$ tar -tf shiyanlou.tar
保留文件属性和跟随链接(符号链接或软链接),有时候我们使用tar备份文件当你在其他主机还原时希望保留文件的属性(-p参数)和备份链接指向的源文件而不是链接本身(-h参数):
$ tar -cphf etc.tar /etc
我们只需要在创建 tar 文件的基础上添加-z参数,使用gzip来压缩文件:
$ tar -czf shiyanlou.tar.gz ~
解压.tar.gz文件:
$ tar -xzf shiyanlou.tar.gz
压缩文件格式 参数
.tar.gz -z
.tar.xz -J
tar.bz2 -j
使用 df 命令查看磁盘的容量
$ df 和 $ df -h
-d参数指定查看目录的深度
只查看1级目录的信息
$ du -h -d 0 ~
查看2级
$ du -h -d 1 ~
使用 mkfs 命令格式化磁盘:
你可以在命令行输入 sudo mkfs 然后按下Tab键,你可以看到很多个以 mkfs 为前缀的命令
那么我们如何挂载真正的磁盘到目录树呢,mount命令的一般格式如下:
mount [options] [source] [directory]
一些常用操作:
mount [-o [操作选项]] [-t 文件系统类型] [-w|--rw|--ro] [文件系统源] [挂载点]
我们现在直接来挂载我们创建的虚拟磁盘镜像到/mnt目录:
$ mount -o loop -t ext4 virtual.img /mnt
也可以省略挂载类型,很多时候 mount 会自动识别
以只读方式挂载
$ mount -o loop --ro virtual.img /mnt
或者mount -o loop,ro virtual.img /mnt
使用 umount 命令卸载已挂载磁盘
命令格式 sudo umount 已挂载设备名或者挂载点,如:
$ sudo umount /mnt
查看硬盘分区表信息
$ sudo fdisk -l
进入磁盘分区模式
$ sudo fdisk virtual.img
$ sudo losetup /dev/loop0 virtual.img
如果提示设备忙你也可以使用其它的回环设备,"ls /dev/loop*"参看所有回环设备
解除设备关联
$ sudo losetup -d /dev/loop0
然后再使用mkfs格式化各分区(前面我们是格式化整个虚拟磁盘镜像文件或磁盘),不过格式化之前,我们还要为各分区建立虚拟设备的映射,用到kpartx工具,需要先安装:
$ sudo apt-get install kpartx
$ sudo kpart kpartx -av /dev/loop0
取消映射
$ sudo kpart kpartx -dv /dev/loop0