20165202 预备作业3 Linux安装及学习
一、虚拟机安装
娄老师的《基于VirtualBox安装Ubuntu图文教程》对于安装过程的介绍很易懂,但在安装过程中还是遇到了一些问题
Q1:安装教程中下载地址的VM提示安装包损坏
解决办法:我从孙同学的总结中找到了另一下载地址,成功安装。
Q2:Ubuntu官网所提供下载链接下载速度稳定性差且速度慢
解决方法:我从百度Ubuntu贴吧找到帖子说国内一些高校网站开放镜像下载速度较快,我选择了清华开源镜像站通过实践确实好用,网络下载可全速进行。
以下为按照教程进行的虚拟机安装过程:
二、Linux学习
(一)学习别出心裁的Linux命令学习法
1.类似于Windows,Linux也是一种操作系统,它主要包括以下架构:应用、壳shell、库函数、系统调用、内核。
2.老师专门提到了CTRL+SHIFT+T、CTRL+ALT+T、TabALT+数字N、上下键、CTRL+C以及CTRL+D等基本快捷键,掌握好它们的使用可以有效提高效率。
3.Linux、man、cheat 等命令是操作的基础
(二)学习Linux 基础入门(新版)
实验1:Linux与Windows在安全性、使用习惯、可定制性等方面差别较大,同时二者各有长短。文中特别提到了学习心态这一问题,我认为这点很关键,正如老师的前两次作业所进行的铺垫,我们开展学习前首先要有正确的心态。结合老师在博客中提到的实验楼所给Linux学习路径,我相信它可以帮助我们理清思路,对学习内容有个系统了解以至更高效的去学习。
实验2:- Linux终端:通常我们在使用 Linux 时,并不是直接与系统打交道,而是通过一个叫做 Shell 的中间程序来完成的。在图形界面中对实际体验带来差异的不是上述的不同发行版的各种终端模拟器,而是这个 Shell(壳)。有壳就有核,这里的核就是指 UNIX/Linux 内核,Shell 是指“提供给使用者使用界面”的软件(命令解析器),类似于 DOS 下的 command(命令行)和后来的 cmd.exe 。
- Tab键:使用Tab键来进行命令补全,当忘记某个命令的全称时可以只输入它的开头的一部分然后按下Tab键就可以得到提示或者帮助完成。补全命令,补全目录,补全命令参数都是可以的。
Ctrl+c:使用Ctrl+c键来强行终止当前程序(并不会使终端退出)。
- 通配符:主要有星号(*):匹配 0 或多个字符和问号(?):匹配任意一个字符。通配符用来对字符串进行模糊匹配(比如文件名,参数名)。当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符。当 Shell 在“参数值”中遇到了通配符时,Shell 会将其当作路径或文件名去在磁盘上搜寻可能的匹配:若符合要求的匹配存在,则进行代换(路径扩展);否则就将该通配符作为一个普通字符传递给“命令”,然后由命令进行处理。
一次性创建多个文件可以直接输入:
$ touch 文件名{1..10}
在命令行中获取帮助:
$ man 命令的名字
一般包括以下部分内容:NAME(名称)、SYNOPSIS(概要)、DESCRIPTION(说明)、EXAMPLES(示例)、SEE ALSO(参见)
作业:
以toilet为例
$ sudo apt-get update $ sudo apt-get install toilet
实验3:
- 查看用户
输入who am i
可看到查看当前伪终端的用户的用户名
其他常用参数
whoami 查看当前登录用户的用户名
who -a 打印能打印的全部
who -d 打印死掉的进程
who -m 同am i,mom likes
who -q 打印当前登录用户数及用户名
who -u 打印当前登录用户登录信息
who -r 打印运行等级 - 创建用户
创建用户需要 root 权限,要用到sudo命令。使用该命令有两个大前提,一是要知道当前登录用户的密码,二是当前用户必须在sudo用户组。注:Linux 下密码输入不显示任何内容。 - 添加账户
$ sudo adduser 用户名
- 切换登录用户
退出当前用户跟退出终端一样可以使用 exit 命令或者使用快捷键 Ctrl+d。
$ su -l 用户名
在 Linux 里面如何知道自己属于哪些用户组
$ groups 用户名
将其它用户加入 sudo 用户组
用在sudo用户组的用户执行 sudo 命令将用户添加到 sudo 用户组,让它也可以使用 sudo 命令获得 root 权限
$ su 在sudo用户组的用户名 $ groups 需要添加到sudo用户组的用户名 $ sudo usermod -G sudo 需要添加到sudo用户组的用户名 $ groups 需要添加到sudo用户组的用户名
实验4
目录结构- FHS 标准
FHS(文件系统层次结构标准),多数 Linux 版本采用这种文件组织形式,FHS 定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。
FHS 定义了两层规范:
第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc 应该要放置设置文件,/bin 与 /sbin 则应该要放置可执行文件等等。
第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统登录文件、/usr/share 放置共享数据等等。 - 路径
使用 cd 命令可以切换目录,在 Linux 里面使用 . 表示当前目录,.. 表示上一级目录, - 表示上一次所在目录,~ 通常表示当前用户的 home 目录。使用 pwd 命令可以获取当前所在路径(绝对路径)。
cd (所去往目录)
绝对路径
关于绝对路径,简单地说就是以根" / "目录为起点的完整路径,以你所要到的目录为终点,表现形式如:/usr/local/bin,表示根目录下的 usr 目录中的 local 目录中的 bin 目录。相对路径
相对路径,也就是相对于你当前的目录的路径,相对路径是以当前目录 . 为起点,以你所要到的目录为终点,表现形式如:
usr/local/bin
(假设当前目录为根目录)。
Linux 文件的基本操作
新建空白文件:
创建名为 test 的空白文件,因为在其他目录没有权限,所以需要先 cd ~ 切换回用户的 /home/shiyanlou 目录。
$ cd ~ $ touch test
新建目录:
使用 mkdir(make directories)命令可以创建一个名为"mydir"的空目录:
$ mkdir mydir
使用 -p 参数,同时创建父目录(如果不存在该父目录),创建一个多级目录(这在有时候安装软件,配置安装路径时非常有用):
$ mkdir -p father/son/grandson
复制文件:
使用cp(copy)命令复制一个文件或目录到指定目录。将之前创建的"test"文件复制到"/home/shiyanlou/father/son/grandson"目录中:
$ cp test father/son/grandson
删除文件:使用rm(remove files or directories)命令,删除一个文件或目录:(可以使用-f参数强制删除)
$ rm test $ rm -f test
删除目录:跟复制目录类似,要删除一个目录,也需要加上-r或-R参数:
$ rm -r family
移动文件:
使用mv(move or rename files)命令,移动文件(剪切)。将文件"file1"移动到"Documents"目录mv 源目录文件 目的目录:
$ mkdir Documents $ mv file1 Documents
重命名文件:
将文件"file1"重命名为"myfile" mv 旧的文件名 新的文件名:
$ mv file1 myfile
查看文件
查看之前从 /etc 目录下拷贝来的 passwd 文件:
$ cat passwd
可以加上 -n 参数显示行号:
$ cat -n passwd
此外,还有more 和 less 命令分页查看文件以及head 和 tail 命令查看文件查看文件类型
我们通常使用 file 命令查看文件的类型:
$ file /bin/ls
作业:
创建homework目录:
$ mkdir homework
在建立文件{1..10}.txt:
$ cd homework
$ touch {1..10}.txt 在目录下删除文件 {1..5}.txt:
$ rm {1..5}.txt```
实验5
环境变量
文件查找
作业:
locate /etc/\*.list
实验6
打包与解压缩常用参数
作业:创建一个名为 test 的文件,分别用 zip 和 tar 打包成压缩包,再解压到 /home/shiyanlou 目录。
创建一个名为test的文件:
$ sudo touch test
zip压缩文件:
$ zip -r -2 -o test.zip test
解压该文件到目录:
$ unzip -q test.zip -d /home/shiyanlou
tar压缩文件:
$ tar -cf test.tar test
解压该文件到目录:
$ tar -xf test.tar -C /home/shiyanlou
实验7
简单文件系统操作
查看磁盘和目录的容量:使用 df 命令查看磁盘的容量
$ df $ df -h
使用 du 命令查看目录的容量
$ 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=/dev/stdout bs=10 count=1
将输出的英文字符转换为大写再写入文件:
$ dd if=/dev/stdin of=test bs=10 count=1 conv=ucase
使用 dd 命令创建虚拟镜像文件:从/dev/zero设备创建一个容量为 256M 的空文件:
$ dd if=/dev/zero of=virtual.img bs=1M count=256 $ du -h virtual.img
使用 mkfs 命令格式化磁盘:使用下面的命令来将我们的虚拟磁盘镜像格式化为ext4文件系统:
$ sudo mkfs.ext4 virtual.img
一些常用操作:
mount [-o [操作选项]] [-t 文件系统类型] [-w|--rw|--ro] [文件系统源] [挂载点]
使用 fdisk 为磁盘分区
$ sudo fdisk -l
作业
找出当前目录下面占用最大的前十个文件
$ du -a | sort -n -r | head -n 10
实验8
内部命令与外部命令
帮助命令的使用
help 命令:zsh 中内置并没有 help 命令,我们可以进入 bash 中,在 bash 中内置有该命令
bash help ls //用于内建命令 ls --help //用于外建命令
man 命令:没有内建与外部命令的区分
man ls
info 命令:info 来自自由软件基金会的 GNU 项目,是 GNU 的超文本帮助系统,能够更完整的显示出 GNU 信息
info ls
20165202 预备作业3 Linux安装及学习的更多相关文章
- 20165226 预备作业3 Linux安装及学习
20165226 预备作业3 Linux安装及学习 Linux安装 一.下载安装VirtualBox 1.首先在官网下载,点开基于VirtualBox虚拟机安装Ubuntu图文教程 找到版本进行下载安 ...
- 20165230 预备作业3 Linux安装及学习
20165230 预备作业3 Linux安装及学习 安装Linux操作系统 通过学习实践基于VirtualBox虚拟机安装Ubuntu图文教程,开始了虚拟机的安装,根据教程按着步骤一步一步的完成. 遇 ...
- 20165327 预备作业3 Linux安装及学习
20165327 预备作业3 Linux安装及学习 一.学习基于VirtualBox虚拟机安装Ubuntu图文教程,在自己笔记本上安装Linux操作系统,注意尽量选用最新版本的VirtualBox和U ...
- 20165303 预备作业3 Linux安装及学习
=20165303 预备作业3 Linux安装及学习 安装虚拟机 按照http://www.cnblogs.com/rocedu/p/6012545.html步骤进行逐步操作,安装虚拟机. 遇到的问题 ...
- 20165315 预备作业3 Linux安装及学习
20165315 预备作业3 Linux安装及学习 一.在自己笔记本上安装Linux操作系统 因为对操作电脑的不熟悉,我在第一项任务上就花费了一定的时间,在安装过程有如下问题: 我的电脑是苹果公司的M ...
- 20165310 预备作业3 Linux安装及学习
预备作业3 Linux安装及学习 安装虚拟机 之前在win7系统下通过EasyBCD安装过Ubuntu虚拟机,这次阅读<基于VirtualBox虚拟机安装Ubuntu图文教程>又学习到了一 ...
- 20165211 预备作业3 Linux安装与学习
20165211 预备作业3 Linux安装与学习 1. Linux安装 涉及软件:VirtualBox,Ubuntu 参考教程:基于VirtualBox安装Ubuntu图文教程 安装过程的问题 在安 ...
- 20165227朱越 预备作业3 Linux安装及学习
预备作业3 Linux安装及学习 Linux的安装 虚拟机的安装远没有想象中的那样容易,下载还没有出现什么问题,当我安装的时候,第一个问题出现在创建虚拟机时选择安装的虚拟机版本和类型的时候的错误 当时 ...
- 20165333 预备作业3 Linux安装及学习
预备作业3 Linux安装及学习 Linux系统安装 在老师的教程帮助下成功的完成了虚拟机的安装,但安装过程中也遇到了一些问题.在下载ubuntu时,总是下载失败,在求助同学后,在中文版官网的网址,才 ...
随机推荐
- c++ 中 BOOL与bool TRUE与true FALSE与false 区别
转自:http://blog.chinaunix.net/uid-28458801-id-3941112.html FALSE/TRUE与false/true的区别 1.FALSE/TRUE与fa ...
- STM32 HAL库详解 及 手动移植
源: STM32 HAL库详解 及 手动移植
- Nginx 部署HTTPS
Nginx 部署HTTPS 系统:Linux Centos 7.4 x64 软件:Nginx 1.12.2 注:需要阿里云申请本地域名与证书并添加下载到本地. 注:证书文件为 xxxx.pem 与 x ...
- VCF和GVCF格式说明
注意:本文的内容主要来自于GATK官网的讲解,所以vcf也是GATK产生的,用其他caller,比如varscan2产生的vcf文件的内容注释可能不一致. 参考:https://gatkforums. ...
- c# c++通信--命名管道通信
进程间通信有很多种,windows上面比较简单的有管道通信(匿名管道及命名管道) 最近做个本机c#界面与c++服务进行通信的一个需求.简单用命名管道通信.msdn都直接有demo,详见下方参考. c+ ...
- delegate委托
https://www.cnblogs.com/leicao/p/5251090.html 委托是一种存储函数引用的类型,在事件和事件的处理时有重要的用途 通俗的说,委托是一个可以引用方法的类型,当创 ...
- CNN笔记:通俗理解卷积神经网络【转】
本文转载自:https://blog.csdn.net/v_july_v/article/details/51812459 通俗理解卷积神经网络(cs231n与5月dl班课程笔记) 1 前言 2012 ...
- Redis-与python交互
安装包 到中文官网查找客户端代码 联网安装 sudo pip install redis 使用源码安装 unzip redis-py-master.zip cd redis-py-master sud ...
- js 的胖箭头问题
我们在声明函数的时候通常是 var foo function(a){ console.log(a) }; 用ES6 我们写成了这样 var foo = a =>{ console.log(a); ...
- set /p= 详解
在批处理中回显信息有两个命令,echo和set /p=<nul,它们的共同点在于都是对程序执行信息的屏幕输出,区别在于echo是换行输出,而set /p=<nul是不换行追回输出,这样说大 ...