20165203 预备作业3 Linux安装及学习
一、安装虚拟机
1.下载问题:当自己在虚拟机上下载ubuntu时,总是下载好长时间,而且最后下载失败,这让我很苦恼。
解决方案:求助同学后,同学给了我一个中文版官网的网址http://cn.ubuntu.com/desktop/,这才如愿下载。 安装好的界面如图所示
2.安装虚拟机增强功能时出现如下问题:
解决方案:于是我查询百度,终于在一篇博客中找到了解决方案:
进入系统在侧边找到如图加载的虚拟光驱,右击,点击弹出,然后就可正常安装增强功能了
二、Linux学习笔记
我可以说几乎是一个电脑小白,我传统的学习方式还是好记性不如烂笔头,我还是习惯看到的重点的用笔记下来,当然,学习Linux还是要先操作,然后再总结,我也很想把我总结的重点分享给大家:
1.Linux系统简介和基本概念及操作
- 终端模拟器:为了实现在一个窗口中完成用户的输入和输出。本质是Linux上的dev/tty设备。打开终端的方式:[ctrl]+[alt]+T
- Shell(壳):在图形界面中带来实际体验的差异,是提供给使用者使用界面的软件<命令解析器>,可以接受用户输入命令的程序。
- Ubuntu终端默认使用的是bash,桌面环境是GMOME或Unity
- 命令行的操作:
输入:打开终端,按键盘输入
输出:返回想要的结果(没有结果就是最好的结果) - 重要的快捷键:
快捷键 | 作用 |
---|---|
[Tab] | 命令补全 |
[ctrl+c] | 强行终止当前程序,但并不会使终端退出 |
[ctrl+d] | 键盘输入结束或退出终端 |
[ctrl+s] | 暂停当前程序,暂停后按任意键恢复运行 |
- 通配符:对字符进行模糊匹配,查找文件夹时,使用它代替一个人或多个真正字符;不知道真正字符或者懒的输入完整名字时,使用通配符代替一个或多个真正字符。
- 常用的通配符:
常用通配符 | 作用 |
---|
- | 匹配0或多个字符
? | 匹配任意一个字符
[list] | 匹配list中的任意单一字符
[!list] | 匹配除list中的任意单一字符以外的字符
[c1-c2] | 匹配c1-c3中的任意单一字符,[0-9],[a-z]
{string1,string2,···] | 匹配string1或string2,其一字符串
{c1···c2} | 匹配ci-c2中全部字符,如
- 如何在命令行中获取帮助
使用man命令
查找方法: man l 查找的内容
2.用户及文件权限管理
功能 | 命令 |
---|---|
查看用户 | who am i |
创建用户 | sudo adduser <用户名> |
查看自己属于哪些用户组 | groups <用户名>或cat /etc/group |
切换登录用户 | su -l <用户名> |
退出当前用户 | exit 或 ctrl+D |
删除用户 | sudo deluser <用户名> --remove-<目录> |
将其他用户添加到sudo组 | sudo usermod -G sudo <用户名> |
Linux文件权限 |
- 最高权限:root权限,可以通过sudo命令获得root权限
- 读权限:可以使用cat <文件名> 来读取文件内容
- 写权限:可以编辑和修改某个文件
- 所有者权限:所在的用户组中的所有用户对于该文件的权限
功能 | 命令 |
---|---|
以较长的格式输出当前目录下的文件(查看文件权限) | ls -l |
显示除了“.”,“..”之外的所有包含隐藏文件 | ls -A |
查看一个目录的完整属性 | ls -dl <目录名> |
新建一个...文件 | touch ... |
显示...文件信息 | ll |
修改文件所有者为shiyanlou | sudo chown shiyanlou... |
修改权限 | chmod 700(顺序对应rwx)...或chmod go-rw (+/-)... |
作业: |
3.Linux目录结构及文件基本操作
- 目录形态
- 路径
路径名 | 备注 |
---|---|
绝对路径 | 以根“/”目录为起点的完整路径,以所要到的目录为终点 /user/local/bin |
相对路径 | 以当前目录.为起点,以所要到的目录为终点 user/local/bin |
命令 | 功能 |
---|---|
touch <文件名> | 新建空白文件,不加任何参数下,只指定一个文件名,创建一个指定文件名的空白文件 |
mkdir <目录名> | 可以创建一个空目录 |
mkdir -p <目录名> | 创建父目录 |
cp <文件名> <目录名> | 将文件复制到该目录下 |
cp -r或-R <目录名> | 复制目录 |
rm <文件名> | 删除文件 |
rm -r或-R <目录名> | 删除目录 |
rm -f <文件名> | 强制删除 |
mv <文件名> <目录> | 移动文件到目录下 |
mv <文件名1> <文件名2> | 修改文件名 |
cat <文件名> | 打印文件内容到终端(正序显示)(加-n显示行号) |
tac <文件名> | 打印文件内容到终端(倒序显示)(加-n显示行号) |
nl <文件名> | 添加行号并打印 |
more和less | 分页查看文件 |
tail -n <数字> <文件> | 查看文件的尾几行 |
head -n <数字> <文件> | 查看文件的头几行 |
作业 | |
4.环境变量与文件查找
命令 | 功能 |
---|---|
declare temp | 创建一个名为temp的变量 |
echo $temp | 读取temp的值 |
set | 打印所有环境变量 |
env | 打印与当前用户相关的环境变量 |
export | 显示从shell中导出或环境变量的变量 |
zsh | 在实验楼环境中创建子shell |
gedit hello_shell.sh | 创建一个脚本文件 |
chmod 755 hello_shell.sh | 为文件添加可执行的权限 |
.hello_shell.sh | 运行脚本文件 |
gedit hello world.c | 创建C语言程序 |
gcc -o hello world hello world.c | 生成可执行文本 |
- 变量修改
变量设置方式 | 功能 |
---|---|
$ | 从头向后开始匹配,删除符合匹配字串的最短数据 |
$ | 从头向后开始匹配,删除符合匹配字串的最长数据 |
$ | 从尾向前开始匹配,删除符合匹配字串的最短数据 |
$ | 从尾向前开始匹配,删除符合匹配字串的最长数据 |
$ | 将符合旧字串的第一个字串替换为新的字串 |
$ | 将符合旧字串的全部字串替换为新的字串 |
--选自实验楼 |
命令 | 功能 |
---|---|
unset temp | 删除环境变量temp |
source .zshrc | 快速使.zshrc脚本文件生效 |
whereis who | 搜索文件who,只能搜索二进制文件,源代码文件和man帮助文档 |
locate | 搜索某路径下的所有匹配文件 |
which | 查找是否安装了某个指定文件 |
fine | 也是查找文件,命令更强大 |
sudo find /etc/ -name interfaces | 在/etc/目录下找一个名为interfaces文件 |
find ~ -mtime 0 | 列出home目录中当天有改动的文件 |
find ~ -newer /home/shiyanlou/code | 列出用户家目录下比code新的文件 |
作业 | |
5.文件打包与解压缩
命令 | 作用 |
---|---|
zip -r -q -o shiyanlou.zip /home/shiyanlou | 将目录/home/shiyanlou打包成一个文件 |
du shiyanlou.zip | 具体查看文件shiyanlou.zip的大小 |
zip -r -9(或-1) -q -o shiyanlou.zip /home/shiyanlou | 将目录/home/shiyanlou打包成压缩级别为9(或1)的压缩文件 |
du -h -d 0 *.zip ~ | 查看文件的深度 |
zip -r -e -o shiyanlou.zip /home/shiyanlou | 创建加密压缩包(重点是-e参数的使用) |
unzip shiyanlou.zip | 将shiyanlou压缩文件解压到当前目录 |
unzip -q shiyanlou.zip -d ziptest | 将shiyanlou压缩文件解压到指定目录 |
unzip -l shiyanlou.zip | 查看shiyanlou.zip压缩包 |
rar a shiyanlou.rar . | 在.目录下创建压缩文件(a是参数) |
rar d shiyanlou.rar .zshrc | 从shiyanlou.rar压缩包中删除.zshrc |
unrar x shiyanlou.rar | 全路径解压 |
unrar e shiyanlou.rar tmp\ | 去掉路径解压 |
tar -cf shiyanlou.tar ~或tar -f shiyanlou.tar -c ~ | 创建一个tar包 |
tar ++-x++f shiyanlou.tar ++-c++ tardir | 解包一个文件到指定目录 |
tar -tf shiyanlou.tar | 只查看不解包文件 |
tar -czf shiyanlou.tar.gz ~ | 使用gizp来压缩文件 |
tar -xzf shiyanlou.tar.gz | 解压文件 |
作业 | |
6.文件系统操作与磁盘管理
命令 | 作用 |
---|---|
df | 查看磁盘的容量 |
du -h | 查看目录的容量,并以更加易读的方式呈现 |
du -a | 显示目录中所有文件的大小 |
du -s | 显示最后文件容量的综合 |
du -h -d 0 ~(只查看1级目录) ;du -h -d 1 ~(只查看2级) | 查看目录 |
dd of=test bs=10 count=1(或dd if=/dev/stdin of=test bs=10 count=1) | 用dd命令从标准输入输出到文件 |
dd if=/dev/stdin of=/dev/stdout bs=10 count=1 | 输出到标准输出 |
dd if=/dev/stdin of=test bs=10 count=1 conv=ucase | 将输出的英文字符转换为大写再写入文件 |
dd if=/dev/zero of=virtual.img bs=1M count=256 | 从/dev/zero设备创建一个容量为 256M 的空文件 |
sudo mkfs.ext4 virtual.img | 虚拟磁盘镜像格式化为ext4文件系统 |
sudo mount | 使用mount来查看已挂载的文件系统 |
mount -o loop -t virtual.img /mnt | 挂载虚拟磁盘镜像到/mnt目录 |
mount -o loop --ro virtual.img /mnt(或mount -o loop,ro virtual.img /mnt) | 以只读方式挂载 |
sudo unmount /mnt | 使用unmount命令卸载已挂载磁盘 sudo fdisk -l |
7.帮助命令
命令 | 功能 |
---|---|
type <命令> | 查看命令是內建的还是外建的 |
help <內建命令> | 显示內建命令的简要帮助信息 |
<外部命令> --help | 显示外部命令的简要帮助信息 |
man <命令> | 显示帮助的命令信息 |
info <命令> | 显示帮助的命令信息(更详细) |
三、感想
本次寒假非常充实,根据娄老师给出的安装步骤,我一步一步来,遇到问题自己百度查询,或者请教助教和同学,当虚拟机安装好后自己内心收获了很大的成就感。在Linux的学习过程中,我根据实验楼教程提示,一步一个脚印,虽然有时也小遇波折,但最终通过查询百度或请教他人,问题都得以解决。我知道自己对于Linux理解的还不够透彻,还需要多加练习,我相信自己一步一个脚印,多加理解和研究,多加练习,本学期一定能取得令自己满意的成绩。