安装过程
按照图文教程,进行操作。
按照老师提供的图文教程下载安装VBox的过程的很顺利,但是在下载Ubuntu映像时,英文网站下载失败,通过云班课中王yj同学提供的中文下载地址成功下载了映像,装好之后增强功能时遇到如下问题,查找云班课历史消息时找到了解决方法,就是弹出光盘,再次点击增强功能。
增强功能时巧了代码之后,问我“yes or no”我回答了5个yes之后程序开始运行,最后不断输出“y”,我以为程序崩了,就给它强制关闭了.......
我也不知道增强功能是否成功,再次敲了一遍代码,结果就是下图所示的内容,去墨云班问了一下,同学说这是安装成功了。
Linux基础入门——通过实验学习知识
学习中遇到的问题都能在云班课中得到解答,其中大部分为其他同学问过的历史消息,其他小问题学霸也会为我解答。
第一节
了解Linux的发展历程,同时也了解了Linux与Windows的共性与不同,Linux给我印象最深刻的就是系统的安全性和稳定性以及熟练使用之后的高效性。
第二节
在了解了终端的概念和sell之后,就是开始命令行操作实验的时候了。
重要的快捷键:
Tab:命令补全,对于我这种英文基础比较差的同学来说,这是个很重要的快捷键,在我不能熟记命令时,只需输入开头,就能得到我想输入的命令。
ctrl+c:强行终止命令,在程序出现问题时避免了程序的失控。
其他常用快捷键:
Ctrl+d | 键盘输入结束或退出终端 |
Ctrl+s | 暂停当前程序,暂停后按下任意键恢复运行 |
Ctrl+z | 将当前程序放到后台运行,恢复到前台为命令fg |
Ctrl+a | 将光标移至输入行头,相当于Home键 |
Ctrl+e | 将光标移至输入行末,相当于End键 |
Ctrl+k | 删除从光标所在位置到行末 |
Alt+Backspace | 向前删除一个单词 |
Shift+PgUp | 将终端显示向上滚动 |
Shift+PgDn | 将终端显示向下滚动 |
第三节:
功能 |
命令 |
查看用户 |
$ who am i |
创建用户 |
sudo adduser (Yuehy) |
删除用户 |
$ sudo deluser (Yuehy) --remove-home |
切换登录用户 |
su –l lilei |
退出当前用户 |
exit 或 ctrl + d |
查看属于哪些用户组 |
groups …(用户名)或cat /etc/group | sort |
过滤 |
cat /etc/group | grep –E “shiyanlou” |
将其他用户添加到sudo组 |
sudo usermod -G sudo …(用户名) |
以较长格式输出当前目录下的文件(查看文件权限) |
ls -l |
显示除了 ‘.‘,‘..‘ 之外的所有包含隐藏文件 |
ls -A |
查看一个目录的完整属性 |
ls -dl (目录名) |
显示所有文件大小并按大小排序 |
ls –AsSh |
新建一个x文件 |
touch x |
修改文件所有者为shiyalou |
sudo chown shiyanlou … |
修改…权限 |
chmod 700(顺序对应rwx) …或chmod go-rw(+/-) ... |
第四节
功能 |
命令 |
获取当前所在路径(绝对路径) |
pwd |
进入上一级目录 |
cd .. |
进入你的“home”目录 |
cd ~ 或cd /home/<你的用户名> |
以绝对路径的方式进入 /usr/local/bin 目录 |
cd /usr/local/bin |
以相对路径的方式进入 /usr/local/bin 目录 |
cd ../../usr/local/bin |
创建名为…的空目录 |
mkdir … |
同时创建父目录 |
mkdir -p father/son/grandson |
复制一个文件test到指定目录 |
cp test father/son/grandson |
复制一个目录到指定目录 |
cp -r father family |
删除一个文件或目录 |
rm … |
使用-f参数强制删除 |
rm -f … |
删除目录 |
rm -r … |
移动到目录... |
mv file1 ... |
重命名文件 |
mv old nes |
查看…文件 |
cat … |
产看文件并显示行号 |
cat -n … |
分页查看文件 |
more … |
用head和tail命令查看文件 |
tail /etc/passwd |
只看一行 |
tail -n 1 /etc/passwd |
用file命令查看文件的类型 |
file /bin/ls |
第五节
功能 |
命令 |
创建一个变量名为 tmp 的变量 |
declare tmp |
变量赋值 |
tmp=shiyanlou |
读取变量的值 |
echo $tmp |
打印相关环境变量 |
set(所有环境变量),env(与当前用户有关的变量),export(导出为环境变量的变量) |
将命令输出通过管道|使用sort命令排序,再重定向到对象文本文件中 |
export temp_env=shiyanlou ;env|sort>env.txt;export|sort>export.txt;set|sort>set.txt |
比较导出的几个文件的内容 |
vimdiff env.txt export.txt set.txt |
基于实验楼环境创建子shell |
zsh |
temp是shell中的变量,导出为环境变量 |
export temp |
创建一个Shell脚本文件 |
vim hello_shell.sh |
执行脚本 |
./hello_shell.sh |
用gcc生成可执行文件 |
gcc -o hello_world hello_world.c |
添加自定义路径到“PATH”环境变量 |
PATH=$PATH:/home/shiyanlou/或echo "PATH=$PATH:/home/shiyanlou/mybin" >> .zshrc |
对path进行变量修改 |
${path#字符串},${path%字符串},${path##字符串},${path%%字符串},${path//旧字符串/新字符串},${path/旧字符串/新字符串} |
删除变量temp |
unset temp |
让.zshrc文件立即生效 |
source .zshrc或 . ./.zshrc |
搜索相关的命令 |
whereis(只能搜索二进制文件(-b),man帮助文件(-m)和源代码文件(-s) ),which(确定是否安装了某个指定的软件,只从PATH环境变量指定的路径中去搜索命令),find,locate(指定目录下的不同文件类型) |
查找 /etc 下所有以 sh 开头的文件 |
locate /etc/sh |
查找 /usr/share/ 下所有 jpg 文件 |
locate /usr/share/*.jpg |
第六节
功能 |
命令 |
使用zip打包文件夹 |
zip -r -q -o shiyanlou.zip /home/shiyanlou |
查看打包后文件的大小 |
du -h shiyanlou.zip |
设置压缩级别为9和1(9最大,1最小),重新打包 |
zip -r -9 -q -o shiyanlou_9.zip /home/shiyanlou -x ~/.zip ; zip -r -1 -q -o shiyanlou_1.zip /home/shiyanlou -x ~/.zip |
用du命令分别查看默认压缩级别、最低、最高压缩级别及未压缩的文件的大小 |
du -h -d 0 *.zip ~ |
创建加密zip包 |
zip -r -e -o shiyanlou_encryption.zip /home/shiyanlou |
使在 Linux 创建的 zip 压缩文件在 Windows 上解压后没有任何问题 |
zip -r -l -o shiyanlou.zip /home/shiyanlou |
将shiyanlou.zip解压到当前目录 |
unzip shiyanlou.zip |
使用安静模式,将文件解压到指定目录 |
unzip -q shiyanlou.zip -d ziptest |
只查看压缩包的内容 |
unzip -l shiyanlou.zip |
在解压时指定编码类型 |
unzip -O GBK 中文压缩文件.zip |
从指定文件或目录创建压缩包或添加文件到压缩包 |
rm *.zip;rar a shiyanlou.rar . |
从指定压缩包文件中删除某个文件 |
rar d shiyanlou.rar .zshrc |
只查看不解压文件 |
rar l shiyanlou.rar |
全路径解压 |
unrar x shiyanlou.rar |
去掉路径解压 |
unrar e shiyanlou.rar tmp/ |
创建一个 tar 包(只打包,不压缩) |
tar -cf shiyanlou.tar ~ |
解包一个文件(-x参数)到指定路径的已存在目录(-C参数) |
tar -xf shiyanlou.tar -C ... |
只查看不解包文件 |
tar -tf shiyanlou.tar |
保留文件属性p和跟随链接h(符号链接或软链接) |
tar -cphf etc.tar /etc |
使用gzip来压缩文件 |
tar -czf shiyanlou.tar.gz ~ |
解压*.tar.gz文件 |
tar -xzf shiyanlou.tar.gz |
解压*.tar.xz文件 |
-J |
解压*tar.bz2文件 |
-j |
第七节
功能 |
命令 |
查看磁盘的容量 |
df |
以易读方式查看磁盘容量 |
df -h |
查看目录容量 |
du ... |
以易读方式查看目录容量 |
du -h |
查看目录深度 |
du -h -d 0 ~(只查看1级目录) ;du -h -d 1 ~(只查看2级) |
用dd命令从标准输入读入用户输入(输出到文件) |
dd of=test bs=10 count=1(或dd if=/dev/stdin of=test bs=10 count=1) |
(输出到标准输出) |
dd if=/dev/stdin of=/dev/stdout bs=10 count=1 |
将输出的英文字符转换为大写再写入文件 |
dd if=/dev/stdin of=test bs=10 count=1 conv=ucase |
从/dev/zero设备创建一个容量为256M的空文件 |
dd if=/dev/zero of=virtual.img bs=1M count=256 |
使用mkfs将虚拟磁盘镜像格式化为ext4文件系统 |
sudo mkfs.ext4 virtual.img |
查看linux支持哪些文件系统 |
ls –l /lib/modules/$(uname -r)/kernel/fs |
用mount查看主机已经挂载的文件系统 |
sudo mount |
挂载虚拟磁盘镜像到/mnt目录 |
mount -o loop -t ext4 virtual.img /mnt |
以只读方式挂载 |
mount -o loop --ro virtual.img /mnt(或mount -o loop,ro virtual.img /mnt) |
用umount命令卸载已挂载磁盘 |
sudo umount /mnt(挂载点) |
为磁盘分区 |
fdisk |
查看硬盘分区表信息 |
sudo fdisk -l |
进入磁盘分区模式 |
sudo fdisk virtual.img(操作完成后输入p查看结果,最后输入w写入分区表) |
建立镜像与回环设备的关联 |
sudo losetup /dev/loop0 virtual.img |
查看所有回环设备 |
ls /dev/loop* |
删除设备关联 |
sudo losetup -d /dev/loop0 |
用kpartx工具建立虚拟设备的映射 |
sudo kpart kpartx -av /dev/loop0 |
取消映射 |
sudo kpart kpartx -dv /dev/loop0 |
建立映射后,将其全部格式化为ext4 |
sudo mkfs.ext4 -q /dev/mapper/loop0p1 |
在/media目录下新建四个空白目录用于挂载虚拟磁盘 |
mkdir -p /media/virtualdisk_{1 . . 3} |
挂载磁盘分区 |
sudo mount /dev/mapper/loop0p1 /media/virtualdisk_1(以此类推) |
卸载磁盘分区 |
sudo umount /dev/mapper/loop0p1(以此类推) |
第八节
功能 |
命令 |
用type命令区分命令是内建的还是外部的 |
type …(命令名) |
zsh中内置没有help,进入bash中 |
bash |
进入bash内置中有help |
help ls(不可以,因为help用于显示shell内建命令) |
对外建命令 |
ls --help |
使用man获取帮助 |
man …(命令名) (用q退出) |
使用info获取更多帮助 |
info …(命令名) |