部分名词的理解:

Ubuntu Server:部署环境,用来部署项目的linux server操作系统(绝大部分的项目是跑在linux服务器上的)。

XShell:用来连接linux的工具,方便操作linux。

pycharm:开发工具(专业版对于web开发更友好)

python3:编程语言。

安装篇

至于选择哪一个发行版做server,看这里:http://mitblog.pixnet.net/blog/post/41037058(需要自己搞定上网问题)

(一).镜像下载完后,我选择用VMWare安装。VMWare为我们会进行简易安装,很方便的。就是自己设置好喜欢的用户名和密码即可。注:ubuntu18.04 LTS的安装界面有很大的变化,得自己一步一步设置。

(1).提示1:系统装完,先升级apt,不然你很多插件都装不上!命令:sudo apt update 然后 sudo apt upgrade

(2).提示2:新的系统,肯定有很多程序没有安装过,执行命令的时候,如果没有这个程序,ubuntu server会有对应的提示。直接提示了安装的命令,照着敲就可以了。

(3).查看当前系统的版本:sudo lsb_release -a

(二).XShell连接虚拟机

如果出现问题,看这篇文章:http://blog.51cto.com/mofansheng/1586203

(三).安装Python3

本人安装了2018/6/27发布的python3.7.0

# 先安装依赖。避免 ModuleNotFoundError No module named "_ctypes" 这个错误
sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade
sudo apt-get -y install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get -y install libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get -y install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get -y install libssl-dev openssl
sudo apt-get -y install libffi-dev# 事先准备好源码包# 开始安装,依次执行下面代码
tar -xvf Python-3.7.0.tar.xz
cd Python-3.7.0
./configure
make
sudo make altinstall# 如果没有报任何错误,就代表安装成功了
# 解释器的默认路径 /usr/local/bin/python3.7# 如果需要创建软链,可参考下面的命令
# ubuntu16.04 LTS,自带了Python3.5.2,如果需要共存就指定下软链的名字
ln -s /usr/local/bin/python3.7 /usr/bin/# 试一下有没有成功
python3.7

View Code

(四).安装MySQL

(1).安装mysql

直接执行命令:sudo apt install mysql-server mysql-client

注意事项:装完MySQL后,如果 mysql -u root -p 被拒绝了,执行下面的代码:

sudo mysql -u root
use mysql;
mysql> update user set plugin='mysql_native_password' where User='root';
flush privileges;

View Code

(2).开启mysql远程连接

mysql中的root用户默认是拒绝远程连接,要么改root用户的连接方式:

1.用命令行进入mysql
mysql -u root -p2.user表是在mysql这个数据库中,需要进入mysql这个数据库中
use mysql;3.执行sql命令
update user set host='%' where user='root' AND host='localhost';4.刷新系统权限相关的表
FLUSH PRIVILEGES;

View Code

要么添加一个新用户(推荐此操作):

# 一、进入mysql操作
# 1.创建普通用户
CREATE USER 'username'@'%'  IDENTIFIED BY 'password';# 2.给普通用户赋权
GRANT ALL ON *.* TO 'username'@'%';# 3.刷新系统权限相关表
FLUSH PRIVILEGES;

View Code

修改mysql的配置文件(必须修改):

# 1.
vim /etc/mysql/mysql.conf.d/mysqld.cnf# 2.
找到bind-address,把值127.0.0.1 改为 0.0.0.0
# 允许所有IP访问# 3.重启mysql
service mysql restart

View Code

(五).安装Redis

(1).先 sudo apt update

(2).输入命令:sudo apt install redis-server 直接安装

(3).输入命令:redis-server 启动服务

(4).可以使用"redis-server -v",来查看当前redis的版本

(六).安装MongoDB

(1).直接执行命令:sudo apt install mongodb

(2).可使用"mongod --version",查看版本

(七).注意事项

(1).ubuntu系统默认是禁止root用户登录的

全局与虚拟环境:

(一).概念

首先,虚拟环境它不是虚拟机,它是在虚拟机中的一个开发环境。

虚拟机相当于一个水池,虚拟环境就是水池中的一个水桶。一个虚拟环境一个水桶,水桶与水桶之间相互独立,互不相关。

在全局中配置的python3环境,与虚拟环境也互不相关。

(二).用途

不同的项目也许用的是不用的解释器。比如,西瓜皮,它只支持python2.7。

难道会因为一个项目,而去改动全局环境吗?改不好,全局环境也崩了。

那么就建一个虚拟环境,然后在pycharm中,连接此虚拟环境中的解释器。

而其他项目,连接其他虚拟环境中的解释器。各个虚拟环境互不相关,所以也不会发生斗殴事件。

一、两个常用的虚拟机

虚拟机是什么?就是电脑系统中的一台小电脑。

1.VirtualBox:

对系统要求很高,非正版系统会有不知明的问题。先进入VirtualBox的官网,步骤看下图:

如果这两步完了还是不行,果断换VMware!

2.VMware:

专业的虚拟机软件,非常好用!(就是吃内存厉害)

VMware11开始不再支持32位系统,VMware10是最后一个支持32位系统的版本。

特别注意:32位系统中运行"Ubuntu1604_server_32bit.oav"会有问题,需要在物理机的文件中,用记事本打开"Ubuntu1604_server_32bit.vmx",

把原本virtualhw.version="11"这一行中的"11",改成"10"。保存之后,再运行就没问题了。结果如下图:

二、两种联网模式

1.桥接:适用于wifi。和主机级别一样,就相当于再插了一根网线。

2.nat模式:相当于把物理机当成路由器,外面机子上网。

补充:virtualbox使用nat模式的话,xshell连接需要端口转发。VMware则极少需要端口转发。

端口不要随便写,避免写:80 8080 443 3389 8443,会占用!尤其是80 8080!

XShell采用SSH服务连接linux。

三、Linux基础内容

Linux稳定,而且多用户之间互不干扰。每一个用户都是在家目录下的一个文件夹。

Linux没有盘符,只有一个根目录,所有文件放在根目录下。

Linux一切皆文件,哪怕是目录,也是一个文件。

linux分区大小写!命令与参数之间要有空格!

四、Linux基础命令

(一).pwd 显示当前完整路径

(二).cd 交互目录

默认进入家(home)目录。切换根目录:cd /  切换回家目录:cd ~  切换用户:su root  退出当前用户,回到上一个用户:exit  只要不是根目录,就是相对路径:cd 目录名称/  上一次目录:cd -

补充:修改root密码:sudo passwd xxxxx。这个oav的root用户密码是随机的。root用户标识:#,普通用户标识:$。

(三).ls 查看

ls -a 所有文件(隐藏文件前有个点".")

ls -l 详细信息

ls -h 比较人性化

(经常是:ls -lh 出来的结果可视性特别好)

ls -S 区分大小写

(四).man 帮助

man +命令。但是cd没有帮助,是个例外。翻页:b向上,F向下,q退出

(五).tree 树状查看,看目录结构

如果报错了,就需要先安装一下:sudo apt-get install tree  sudo提权(root用户不用提权)

(六).mkdir 创建目录

mkdir -p 分级创建;mkdir -v 看过程;

例1:mkdir -vp aa/bb/cc 先创建aa,再在aa下建bb,再在bb下建cc;同理删除也可以 -vp

例2:mkdir qw we er 是三个同级目录了。

(七).touch 新建文件(可被编辑的)

例:touch demo.py 注:linux中的后缀是给人看的。linux没有区分什么文件,认为都是文件。

(八).rmdir 删除空目录(如果目录下有文件,就不会删)

例1:rmdir a/b/c 删除的是c目录,因为路径精确到了"c"

(九).rm 删除文件

rm -r 分级删除

例:rm -r a 删除了整个a目录

rm -f 强制删除

例:rm -rf * 可以这样说:千万不要用!全删了!恢复linux的代价相当巨大。

(十).cat 查看,cat猫,像猫一样瞄一下。

(十一).more / less

more翻完了自动退出,less必须按Q退出。

(十二).软硬链接

软硬链接:源文件中的内容改变了,链接文件的内容也同时修改了。

不同的是源文件被删后,软链接就废了。而硬链接还是可以使用。

硬链接相当于是备份。

(十三).

五、查看硬件信息

/dev 目录是用来存放设备文件

/etc 目录下是存放的存放系统程序或者一般工具的配置文件

/proc 目录下就是存放的操作系统运行时,进程(正在运行中的程序)信息及内核信息

(一).硬件信息的查看方式

一种是通过cat在/proc目录下去查看对应硬件的信息;而另一种就是系统提供的专门命令。

第一种方式,可以说是一招鲜,吃遍天,但不够全面和直观。而第二种,可能在使用的过程中,更全面,但是需要记识更多的命令。

(二).cat方式

通过cat命令查看/proc目录下的各种硬件设备信息

(1).查看CPU信息

cat /proc/cpuinfo

(2).查看板卡信息

cat /proc/pci

(3).查看内存信息

cat /proc/meminfo

(4).查看USB设备

cat /proc/bus/usb/devices

(5).查看键盘和鼠标

cat /proc/bus/input/devices

(6).查看各设备的中断请求(IRQ)

cat /proc/interrupts

(三).专用命令方式

针对多个硬件的命令有:

(1).lipic:主要是有来列出机器中的PCI设备,比如声卡、显卡、猫、网卡等,主板集成设备也能列出来。

(2).dmidecode:查看硬件信息,包括bios、cpu、内存等信息。是一种可读的方式dump出机器的DMI(Desktop Management Interface)信息。这些信息包括了硬件以及BIOS,既可以得到当前的配置,也可以得到系统支持的最大配置。

(3).dmesg:dmesg是一个显示内核缓冲区系统控制信息的工具,但是需要注意的是dmesg工具并不是专门用来查看硬件芯片组标识的工具,但通过这个工具能让我们知道机器中的硬件的一些参数。

(4).hwbrowser:当前硬件配置的图形化浏览器,这个工具是图形的。可能系统在默认的情况下没有安装,需要另外安装才行。

(四).此外,还有一些设备可以通过专门的命令进行查看,比如查看cpu的lscpu,参看硬盘的lsblk,参看系统的uname。

转载于:https://www.cnblogs.com/quanquan616/p/8450373.html

Linux - Ubuntu Server基础相关推荐

  1. Linux/ubuntu server 18.04 安装远程桌面--vnc server

    此文首发于我的个人博客:Linux/ubuntu server 18.04 安装远程桌面–vnc server - zhang0peter的个人博客 想装桌面端在服务器上的原因是我在终端中开chrom ...

  2. Linux/ubuntu 服务器开启6010端口-X11服务-ssh连接

    此文首发于我的个人博客:Linux/ubuntu 服务器开启6010端口-X11服务-ssh连接 - zhang0peter的个人博客 晚上在检查我的Linux-ubuntu服务器的端口状况时发现开启 ...

  3. linux ubuntu配置要求,Ubuntu Server 14.04和Kylin 14.04 Enhanced Release amd64最低硬件配置要求...

    Ubuntu Server 14.04和Kylin 14.04 Enhanced Release amd64最低硬件配置要求 Ubuntu(乌班图)是一个以桌面应用为主的 Linux 操作系统.其名称 ...

  4. Linux(Ubuntu)基础

    Linux(Ubuntu)基础 Linux命令 shell :可以输入终端命令的窗口,是一个软件(ubuntu默认的是dash) win 使用的是bash ctrl + c 终止 指定用户登录shel ...

  5. 初学者linux和ubuntu,linux初学者也必须知道的几个ubuntu最基础命令

    linux菜鸟也必须知道的几个ubuntu最基础命令 1:sudo   应该是linux中最常用的命令之一了,因为你即便不是root用户,也能暂时的部分的获得root权限,例如安装卸载,更改各种服务的 ...

  6. linux网络唤醒,如何在Ubuntu Server 18.04中启用网络唤醒(WOL)

    网络唤醒(WOL)是一种行业标准协议,用于远程唤醒服务器.如果您管理着很多设备,因此不需要为了唤醒服务器而去数据中心.启用允许您远程执行此操作的功能,这样您可以更高效地工作. Ubuntu 系统默认没 ...

  7. 控制台服务编写 Linux,一步步搭建ubuntu server console(控制台,字符模式)开发环境...

    在我们安装完ubuntu server之后,这个系统还不算完善,因为他缺少很多重要的软件及包的支持. 下面,我以ubuntu 13.04的服务器开发环境搭建作为例子来介绍一下我们如何使用ubuntu搭 ...

  8. linux服务器定时关机重启,Ubuntu Server 10.10 每天定时开关机linux服务器应用 -电脑资料...

    Ubuntu Server 10.10定时开机方法: 按F2进入BIOS设置,设置每天定时开机, 容易出现问题: BIOS时间比系统时间慢8小时.在BIOS设置中设置时间或在Ubuntu系统中设置BI ...

  9. Linux: sysv-rc-conf管理Ubuntu server开机启动服务

    在RedHat中,都是使用chkconfig来管理服务的,但是在Ubuntu Server中,却有一个更好的工具,chkconfig也是可以使用的.今天来说一下sysv-rc-conf sysv-rc ...

  10. linux配置sftp-server,Ubuntu Server如何配置SFTP(建立用户监狱)

    SSH File Transfer Protocol是一个比普通FTP更为安全的文件传输协议.(参考资料:http://en.wikipedia.org/wiki/SSH_File_Transfer_ ...

最新文章

  1. cuda 历史版本下载
  2. Facebook最新Libra币开发指南---接口服务器开发2
  3. [Issue Fixed]-不能为虚拟电脑xxx打开一个新任务
  4. 轻松搭建基于 SpringBoot Vue 的 Web 商城应用
  5. 现代软件工程 第五章 【团队和流程】练习与讨论
  6. C语言 float、double数据在内存中的存储方式
  7. [Node.js] 模块化 -- url、querystring模块
  8. script标签的加载解析执行
  9. 资产管理系统测试用例
  10. PLC编程入门:梯形图
  11. 猿题库高中同步微博运营策划
  12. 送给正在 奋斗和成长路上的女人们
  13. java解压出来损坏_ZipOutputStream创建损坏的(可解压缩的)zip文件
  14. android app开发_如何雇用Android App开发人员
  15. Microduino王镇山:将物联网带进课堂
  16. Python中读写文件、异常和异常处理、模块和包
  17. 基于C语言实现离散时域积分算法
  18. linux文件目录类、pwd 显示当前工作目录的绝对路径、列出目录的内容
  19. MATLAB的数列与极限运算
  20. 帧数达不到144用144hz_不看不知道 老司机告诉你60Hz和144Hz的差别

热门文章

  1. 拓端tecdat|R语言分层线性模型案例
  2. 城市间紧急救援 (25 分)(Dijkstra)
  3. html 文本域 nanme,第3章 JaaScript.ppt
  4. 一文了解attention
  5. fer2013人脸表情数据实践
  6. Tensorflow教程2:使用卷积神经网络的图像分类器
  7. java weka 使用_如何在Java代码中的Weka中使用日期类型?
  8. HyperLedger Composer升级fabric链码
  9. php字符串怎么判断是否相等,php判断两个字符串是否相等
  10. 前端----JavaScript