Virtual Box虚拟机安装Ubuntu16.04以及整理的一些基本操做

  事先声明,参考自:http://www.javashuo.com/article/p-boksldmp-m.htmlhtml

  撰写此文,纯属是为了便利之后换电脑重装。mysql

 

Linux简介

什么是 Linux

  Linux:世界上不只只有一个 Windows 操做系统,还有 Linux、mac、Unix 等操做系统。桌面操做系统下 Windows 是霸主,而 Linux 的桌面操做系统用的人不多,由于 Windows 有的不少软件在 Linux 下没有或者很弱;服务器操做系统则反之。Linux 有一个强大的服务器软件生态系统:Docker、Redis、MySQL、Nginx、Hadoop 等等。linux

Linux 和 Windows 有哪些不同?

  1. 使用 Windows 倾向于 GUI 操做,Linux 虽然也能够安装图形界面,可是 Linux 倾向于命令行操做。用 Linux 就要用命令提示符操做,命令行操做的优势慢慢就会体会了(能够自动化、能够精确控制、能够组合命令)。
  2. 底层 api 不同,所以可执行程序不互通;有一些软件同时在 windows 和 linux 下做了移植;
  3. windows 下的命令到了 linux 下不必定能用;
  4. windows 下主要根据文件的扩展名区分文件类型,linux 中能够没有扩展名;
  5. Linux 不一样版本使用方法、配置文件可能变化很大,要本身查、反复试;
  6. 易错的地方:Linux 中文件名是区分大小写的

Linux 内核和 Linux 发行版

  Linux 内核由 Linus 及开源社区维护,内核包含内存管理、存储管理、进程管理、网络通信等基础模块。不少公司、开源组织基于 Linux 内核打包出了不少“发行版”,不一样的发行版的内核版本可能不一致,包含的软件也不一致,界面差异较大,可是命令行操做都是互通的,大部分程序也是互通的。ios

  内核和发行版的关系就像 Android 内核和“小米手机系统、华为手机系统”的关系同样。程序员

  经常使用的发行版有 RedHat、CentOS、Debian、Ubuntu 等等。这里咱们用 Ubuntu,由于 Ubuntu 内置的软件最适合程序员,其余发行版要本身装。固然也有一些人钻木取火的人瞧不起用Ubuntu 的人。正则表达式

虚拟机

什么是虚拟机?

  使用 Linux 最好是在计算机上直接安装 Linux 系统,最起码也是双系统启动。不过担忧初学者搞砸了本身的电脑,并且 Linux 不太适合平常使用。所以咱们使用虚拟机软件在sql

  Windows 上虚拟出一台电脑出来,在这台虚拟的电脑上安装 Linux。shell

  使用虚拟机的好处:不破坏物理电脑是,随便搞。坏处:不真实、操做卡。数据库

  Windows 下的虚拟机软件有 VMWare、Virtual Box、HypverV 等。这里咱们使用开源免费的 Virtual Box。canvas

  电脑若是配置太差跑不起虚拟机,只能升级电脑,加内存就差很少。

 

Windows平台VisualBox安装:

  资源:连接: https://pan.baidu.com/s/13WwgGuGfQgDOGSnN0qaWWA    提取码: mhtk 

也能够用VMware:

  密钥:YA18K-0WY8P-H85DY-L4NZG-X7RAD

  连接: https://pan.baidu.com/s/1c8XIt8hSBFS9HWKNmrO89w      提取码:   u8qw  

 安装方法网上千篇一概,一路 Next 就能够,在此再也不赘述。

下载 Ubuntu 的 iso 文件

  资源:连接: https://pan.baidu.com/s/1ZR_5jgzNsGeOrkE6hAqxEA 提取码: qiaf 

  下面会用到。

建立Ubuntu虚拟机:

  1. 新建一个虚拟机。

  (须要选 64 位 Ubuntu,不要选成 32 位,由于一些软件不支持 32 位系统。  若是不能选择 32 位的版本,那么说明你的电脑主板没有启用虚拟化,须要进入电脑 bios 设置启用虚拟化。不一样版本主板的启用虚拟化的方法不同,具体请根据你主板的型号去网上搜索。有部分老电脑主板不支持虚拟化,这就没办法了)

  

 

 

  2. 虚拟电脑内存至少 2G 才不卡。

  

 

  3. 建立虚拟硬盘。

  

  

  

  

 

  4. 配置虚拟机,加载 iso 虚拟光盘文件。

  

 

  

 

 

  5. 把 iso 文件加载到光驱中(至关于 Linux 安装光盘插入光驱),而后启动虚拟机。直到运行到 Linux 安装画面。

  

  

  

 

  

 

  

  

  

 

  

 

  

 

 

配置Linux

  输入安装 Linux 时候设定的密码。

  图形化的程序尽可能不要用,在桌面上点右键→打开终端。在不少生产服务器下,是没有装图形化程序的,就是直接命令行界面操做,根本就进不了图形界面。

  

  尽可能不要用图形界面,全部操做均可以在“终端”中完成,所以后续操做都尽可能在“终端”中进行。

  也忘了鼠标,别妄想在终端中用鼠标。

  不要想“终端中听歌、看电影、上网”,场景不对。

  

 

 

使用习惯

  实际上是能够“共享文件夹”在虚拟机和宿主机之间共享文件等操做。可是虚拟机使用 linux 的时候,不要想着还有“宿主机(Host)”,不要想着怎么“共享文件夹”,就把当成两台电脑就能够。共享文件的方式就经过经典的 ftp 跨服务器的等方式,就像两台电脑同样。

  能够“共享粘贴板”,可是别这么懒,那就是一台单独的电脑,你怎么复制粘贴?  虚拟硬盘、虚拟光盘(iso)、虚拟内存、虚拟 cpu。虚拟出来的电脑和主机(Host)之间没有直接的联系,也不会互相干扰。

备份

  VBox 安装完成后能够作一个“备份”(主菜单【控制】→【生成备份】),这样万一把虚机系统搞乱了还能够还原回来,能够建立多个“备份”,至关于“还原点”。

锁屏

  为了不反复锁屏,在设置→亮度和锁屏中关闭“锁屏”;

  VBox 窗口能够调整大小,虚拟机中的系统会自动调整分辨率,有的电脑不支持。

网卡

  虚拟机的网卡有时候会有问题连不上网,这时候就要在虚拟机的设置中先取消网卡再从新选择网卡,至关于插拔网线。

 

 

Linux 的基本命令

文件操做

  • Windows 是多根的文件系统,物理上是 1 到多块硬盘,逻辑上分为 C、D、E……盘,每一个盘都是一棵树。Linux 是单根的文件系统,不分 CDE 盘,多块硬盘/U 盘/光盘也是至关于多个文件夹。不一样硬盘/U 盘/光盘对应的文件夹叫作“挂载点”把外部存储设备放到文件系统树的过程又叫作“挂载(mount)”
  • Linux 下不管是文件仍是命令都是大小写敏感的。
  • 小白说“文件夹”,专业人士说“目录”(Directory) 

Linux 经常使用根目录的做用

  • boot  存放用于系统引导时使用的各类文件
  • bin  存放二进制可执行文件(ls,cat,mkdir 等)
  • sbin 存放二进制可执行文件,只有 root 才能访问
  • usr  用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录
  • opt  额外安装的可选应用程序包所放置的位置
  • dev 用于存放设备文件
  • etc  存放系统配置文件
  • home 存放全部用户文件的根目录
  • lib  存放跟文件系统中的程序运行所须要的共享库及内核模块
  • tmp  用于存放各类临时文件
  • var  用于存放运行时须要改变数据的文件
  • mnt  安装临时文件系统的安装点

 经常使用文件操做命令

  • 工做目录(working directory)就是“当前目录” l 显示当前工做目录 pwd (print work directory)
  • 显示当前目录下的文件、目录 ls 或者 dir
  • 切换工做目录  cd  (Change Directory):cd ./test  切换工做目录到当前目录下的 test 目录(cd 后不要忘了空格);cd .. 到上一级目录;cd /很显然就是返回根目录
  • 新建目录 mkdir   (Make Directory):mkdir test 有的系统目录下是没有权限建立文件夹的。用户的文件通常放到 home 的本身的用户名下
  • 删除目录:rmdir (Remove Directory) 删除空目录;rm(Remove)删除文件;rm -r  testA 删除目录及其下全部文件(-r 就是 recursive 的简写。*坑人的指令:rm -rf /)。
  • mv 移动文件
  • cp  复制文件
  • 查看文本文件内容:cat(一会儿全显示,适合小文件);more(分页显示,q 退出)
  • 查找文件:find   -name 'a*'     在当前目录下查找文件名以 a 开始的文件。不要丢了''

其余经常使用命令

  • ps  查看当前用户当前运行的进程;查看全部运行中的进程 ps –ef
  • reboot 重启 七、 shutdown  now当即关机(备注:课程中写错了,写成了shutdown –now,应该是shutdown now)
  • 退出终端:exit
  • clear 清理当前显示或者快捷键:ctrl+L
  • 上下键能够快速恢复历史命令。能够经过 tab 键完成当前目录下文件或者子目录的自动填充,若是遇到多个前一部分同样的会自动完成同样的前一部分。ctrl+c 取消当前输入的命令从新开始。
  • tar 命令,将文件夹打包成一个文件,同时可进行压缩命令格式,打包  tar  -c -f  归档文件   须要打包的文件,解开  tar -x  -C 解开到指定目录  -f  归档文件
  • man 命令,各个命令的手册,好比 man dir;按 q 退出。linux 命令很是多、参数很是多,只要会搜就行,慢慢记住的愈来愈多。

 

  • Linux 管道命令:一个软件或一个命令 要想完成一件事情,一般都须要输入原始数据 , 处理后 , 再把处理的结果输出到一个地方(保存到文件或者显示在屏幕上),Linux 的管道是这样一个东西,它能够把上一个命令的处理结果做为下一个命令的输入数据,供下一个命令使用。例如:
    • ps -ef | grep bash
      • netstat -a  |  more 3) 所以 cat 1.txt|more 也能够达到 more 1.txt 的效果

 

  • sudo:基于安全考虑,通常不建议使用超级用户权限登陆 linux;而是平时使用低权限用户访问,须要高权限的操做再用 sudo 后跟着指令。好比在/下没法建立文件夹,可是 sudo mkdir a 就能够,固然须要输入密码。su 就是“super user”的简写,sudo 就是“用超级用户权限执行命令”

VI 编辑器

VI 简介

  若是使用 linux 桌面,也有一些图形化文本编辑器(相似于记事本),但 linux 的神级编辑器是 VI,若是连 VI 都不会用就别说会用 linux。

  在不少环境下是没有图形界面的,只能用 VI。VI 是全键盘操做,不能用鼠标。固然平常开发仍是在图形界面下使用 VS 等开发,使用 VI 通常是进行简单的修改或者配置文件的修改。

  VI 刚接触感受很痛苦,用熟了也挺爽的,VI 命令很是多,初学掌握基本的操做便可。vim 是 VI 的增强版。

vi 的运行模式

  

  命令模式下能够进行行删除等命令的输入(至关于快键键);

  插入模式下能够进行文本的输入;

  末行模式下是执行保存、退出等指令用。  

  易混:插入模式下若是直接输入:就是输入:了,所以要先 esc 退出插入模式

末行模式的指令

  • :wq 保存而后退出   w→write,q→quit    若是是“vi 文件名”方式执行的,则直接写入到指定的文件名中,不然要“:wq 文件名”。
  • :q! 不保存退出
  • :w 保存不退出
  • 在末行模式中输入“!shell 指令”能够不离开 vi 执行 shell 指令

命令模式的命令

  • 移动输入光标,不能在插入模式下按上下左右键。要 esc 先回到命令模式下;
  • shift+^移到行首;shift +$移到行尾。联想一下正则表达式中就好记了;
  • ctrl+b:上滚一屏;ctrl+f 下滚一屏;  b→backward;f→forward
  • dd:删除当前一行;x 删除当前字符
  • 撤销:上一次的操做 u;undo 的简写
  • o:在当前行下新增一行(由于若是移动到行尾再回车的话仍是在最后一个字符前回车)自动进入插入模式。
  • i:在当前光标前面插入,a:在当前光标后面插入。a→append(附加)也是自动进入插入模式。

 还有一个傻瓜化字符界面编辑器 nano,底下提示信息中^X 的意思就是 ctrl+X。不是每一个Linux 上都安装 nano,有时候须要本身装。

软件的安装

  linux 下不少软件都是本身下载源代码、本身编译的,有点痛苦。所以不少发行版都有本身的安装包格式。好比 RedHat 使用*.rpm 的文件,Ubuntu 使用*.deb 文件。

  本身查找、下载安装仍是很麻烦。所以不少发行版中都提供了相似于应用市场、NuGet 的东西。

  Ubuntu 推荐使用 apt 进行下载、安装。会从 ubuntu 官网下载(中国区镜像),若是下载速度慢的话,能够设置从其余镜像下载,具体搜索“Ubuntu apt-get  镜像” 执行某些程序的时候,若是程序没安装,还会提示你,好比执行 vim、tree 等。

  安装软件须要 sudo 执行。以下:

    • 安装 “sudo apt-get install 程序名”,好比“sudo apt-get install vim”
    • 卸载“sudo apt-get remove 程序名”

 

重要配置

网络配置

    • 使用 ifconfig 命令查看网络配置信息,查看 ip 地址和网卡物理地址(MAC 地址)
      要先执行 sudo apt install net-tools 命令安装 net-tools 

  

  • 虚拟机和主机之间组建了一个局域网,虚拟机经过主机上网。虚拟机的设置的“网络”中能够设置不一样的链接方式。主机能够经过 ifconfig 看到的 ip 地址链接虚拟机的网络。

  • 虚拟机的网络链接方式有不少种,最主要有三种:HostOnly 、NAT、桥接(Bridge)。HostOnly 配置较麻烦,须要懂不少网络工程的东西;NAT 是虚拟机借助于主机网卡访问网络,藏在主机后面,网络中其余设备不能这个虚拟机,连主机都不能,可是虚拟机能链接主机的网络,能上外网;桥接(Bridge)方式则是把虚拟主机也暴露为网络中的一个设备,主机和虚拟主机在网络内是平等的,能够互相访问,可是要求网络中没有设备访问的限制(好比 Mac 地址绑定或者终端个数限制),若是有限制要改路由器的配置。由于我们须要主机和虚拟机互相访问,除非网络有限制,不然最好配置为桥接(Bridge),配置桥接(Bridge)要选择经过哪一个网卡上外网,不能选错了,不然就没法访问外网了。后面咱们都配置为桥接(Bridge)。

  • 虚拟机的 ip 地址可能变化,注意。

 

SSH 服务

  运维人员是怎么远程链接到机房上的服务器,不多使用图形界面(卡,没法自动化)远程登陆有专门的通讯协议 telnet, telnet 就是经过网络进行命令行操做服务器。只有服务器端开始了远程登陆服务,客户端才能经过 telnet 协议控制服务器端。

  但 telnet 协议使用明文传输数据,这会形成严重的安全性问题,因此如今几乎不推荐使用, 而替代协议是 SSH。SSH 通信过程数据是加密的。

Linux 安装使用 OpenSSH

  • Ubuntu 默认只安装了客户端 openssh-client
  • 安装服务器: sudo apt-get install openssh-server
  • 查看服务器是否开启:netstat -tlp 
  • 启动 sudo /etc/init.d/ssh start 
  • 重启 sudo  /etc/init.d/ssh restart
  • ssh 服务默认端口 22,可经过修改配置文件修改端口/etc/ssh/sshd_config 

  windows 下如何经过 ssh 链接到 linux  :下载运行 putty,免安装。

  linux下重启网络服务: /etc/init.d/network restart 或者是 /etc/init.d/networking restart 

  putty登陆SSH终端出现的“Access Denied”提示:只要在Putty的configuration里面Connection-》SSH-》Auth【认证】-》GSSAPI的配置中,去掉默认的Attempt GSSAPI authentication(ssh-2 only) 一项前面的对勾。

  

  

  若是显示中文乱码,则在 putty 标题栏点击右键,选【change settings】点【Translation】,选 UTF8 编码。

  

 

  新显示会不乱码,旧显示还会乱码。

  后续都经过 ssh 链接操做,这也是平时链接服务器时候的常规操做:windows 下开发,而后部署到 linux 下运行。

 

使用 mysql

安装 mysql 服务器

  • sudo apt-get install mysql-server
  • 根据提示设置 root 用户的密码,测试时候设置为 123456(安装mysql5.7未提示输入密码,安装后修改mysql密码默认密码)
  • sudo apt-get install mysql-client 安装管理客户端
  • mysql -uroot -p123456 经过管理 客户端链接 mysql,若是不报错就 ok。mysql –u 用户名 –p 密码。mysql –uroot –p123456
  • mysql 客户端中执行(不要在 shell 中直接执行)show databases;(不要丢告终尾的英文分号)查看有哪些数据库; 执行一下 select now();正确执行。执行“quit;” 退出 mysql 客户端。
  • 基于安全考虑,mysql 默认只能本机链接。若是想经过其余电脑链接(好比主机访问虚拟机中的 mysql),就须要配置。最好不要配置成任意电脑均可以链接,由于危险。要配置成只容许某些 ip 访问。

设置Mysql密码

  • 进入到etc/mysql 目录下,查看debian.cnf文件 sudo cat /etc/mysql/debian.cnf 

  

  •   找到用户名,密码 ,使用此帐号登陆mysql。

  用户名:user信息

  密码:passworrd信息

  登陆:mysql -uuser信息 -ppassword信息

  •   修改root用户的的密码

这里是关键点,因为mysql5.7没有password字段,密码存储在authentication_string字段中,password()方法还能用
在mysql中执行下面语句修改密码

  

use mysql;
// 下面这句命令有点长,请注意。
update mysql.user set authentication_string=password('123456') where user='root' and Host ='localhost';
update user set plugin="mysql_native_password"; 
flush privileges;
quit;
  •   修改完密码,须要重启mysql
/etc/init.d/mysql restart;
//或者
sudo service mysql restart
  •   再次登陆

  mysql -u root -p密码;

  •   卸载:
sudo apt purge mysql-*
sudo rm -rf /etc/mysql/ /var/lib/mysql
sudo apt autoremove
  •   安装:
# 安装的时候会提示要设置root密码,若是你没有在卸载的时候去清理残留数据是不会提示你去设置root密码的 ,个人就没提示,能够用上面的方法修改密码
sudo apt-get install mysql-client mysql-server
 
 
#检查mysql是否是在运行
sudo service mysql status
 
 
#通常安装完成以后都是会自动运行的,若是没有运行能够start
sudo service mysql start

 

配置 MySQL 远程访问(须要网络配置为桥接网络)

  • 编辑 mysql 的配置文件 mysqld.cnf ,因为 mysql 是系统服务,所以须要以 su 运行 vi,才有权限,执行  sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf 。因为不一样 mysql 版本配置文件的位置可能不同,所以最好的找路径的方式就是 cd、dir 一级级的看看。(linux 下不一样版本差别性很大,以前查资料都是改/etc/mysql /conf.d/mysql.cnf,可是使用 status;命令查询 mysql 版本以后搜索“mysql 5.7 远程访问”才找到正确的作法。)
  • 把 bind-address = 127.0.0.1 注释掉。
  • 执行 sudo /etc/init.d/mysql restart 重启mysql服务
  • 在主机上执行 ifconfig (Linux下是ifconfig、Windows下是ipconfig),查看主机的ip 地址是多少(别看错了,也别当作虚拟机的ip),假如是192.168.0.11
  • 执行 mysql -uroot -p123456 (-u后面的是用户名、-p后面的是密码,根据你的配置作修改。不要在-u和-p输入空格)进入mysql服务器后
  • 执行 grant all privileges on *.* to root@"192.168.0.11" identified by "这里换成密码" with grant option;       注意:不要丢了末尾的分号,不要直接在命令行下输入,要进入mysql再执行。
  • 再执行  flush privileges;    注意:不要丢了末尾的分号,不要直接在命令行下输入,要进入mysql再执行。

主机上链接虚拟机内的 mysql 必定要链接虚拟机的 ip,别连错了。

主机的 ip 若是变了就要从新配置。

 

 

 

 

安装vsftp服务器

安装

  什么是 ftp:经过 ftp 进行文件的上传下载

  执行 sudo apt-get install vsftpd 命令进行安装

配置

  这时候能够用 linux 用户登陆,可以访问/home/用户名的文件夹下。可是没有上传权限。须要 sudo vi /etc/vsftpd.conf  将 write_enable=YES 前面的#取消,而后执行  sudo /etc/init.d/vsftpd restart  重启

 

  Windows 下可使用 FileZilla FTP Client 等 FTP 客户端上传下载

  中文会有乱码,不用处理,上传下载比较多的文件都压缩。linux 解压使用 unzip“unzip a.zip”。不要传 rar 等格式。

相关文章
相关标签/搜索