一文读懂Linux
学习目标
Linux 操作系统
- 常用命令:通过命令完成系统常用操作
- 常用软件的使用(中文输入法、python、pip、pycharm、vim、ssh、scp、nginx)
Linux 基础知识
Linux:免费、开源的类UNIX操作系统
是一个多用户、多任务、支持多线程和多CPU的操作系统。
是一个性能稳定的多用户网络操作系统,常用于服务器开发
- Linux 内核 :一套用于软件与硬件交互的源码
- 稳定版:没有bug,软件版本更新慢
- 测试版:有新功能,有新bug
- Linux 发行版:在Linux内核基础上二次开发一套系统软件(浏览器、聊天工具等)
- 在发行版本中可以完成少量类似windows的操作
- Ubuntu
- redcat
- centos
Ubuntu操作系统的安装
虚拟机简介:
一个安装在操作系统上的特殊软件,该软件可以运行操作系统
虚拟机软件中可以运行操作系统,常见的有VMware Workstation、Virtual Box等
Win10中安装虚拟机
在虚拟机中安装Ubuntu操作系统
在虚拟机中安装CentOS操作系统
Win10+Ubuntu+CentOS 可以同时运行
Ubuntu的安装
1、选择配置类型
2、选择镜像
3、用户名密码
4、虚拟机位置
5、磁盘大小
6、自定义硬件
7、内存设置
8、网络模式
网络模式
- 选择桥接:
- 虚拟机的ip和win10的ip会在同一个网段
- 相当于虚拟机和win10链接同一个路由器
- 选择Nat模式:
- 虚拟机ip和win10的ip不在同一个网段
- 相当于win10是一个路由器并且路由器下方链接虚拟机
9、安装成功
更改Ubuntu下载源
ubuntu下载源地址都在国外服务器,下载东西慢
可以更新软件源,从国内服务器地址下载
- 在Ubuntu16中可以通过界面操作更改下载源
- 设置=> system setting=> soft update=> ubuntu soft => download from => aliyun
- 关闭重新加载
- 也可以更新apt的配置文件
- 实质上下载源地址存放在
/etc/apt/source.list
更新阿里云地址 - sudo update重新加载
- 实质上下载源地址存放在
更改中文显示与输入
Ubuntu默认显示英文 ,对于中文显示、输入需要单独配置
- 设置显示中文
- 设置=>system setting=>language support=>install/remove language=>勾选chinese simple
- 拖拽汉语放在最上方位置=>重启操作系统
- 设置中文输入
- 安装中文输入法 sudo apt-get install ibus-pinyin =>安装完毕重启系统
- 在拼音=>文本输入设置=>切换下一个源 可以设置 切换输入法快捷键
- 在拼音=>首选项=>拼音模式下可以去掉拼音纠错=>重启系统生效
Linux 目录
/
代表系统根目录,一般只存放文件夹/home
用户家目录/etc
软件配置文件目录/opt
安装文件存放目录/bin、/usr/bin、 /usr/local/bin
可执行文件路径/lib、/usr/lib、 /usr/local/lib
依赖库路径/var/www
web 软件部署目录/proc
进程目录
在linux操作系统下 一切皆文件
Linux 基础命令
命令格式command [-options] [parameter1] …
说明:command
命令名,相应功能的英文单词或单词的缩写[-options]
选项,可用来对命令进行控制,也可以省略,[]代表可选parameter1 …
传给命令的参数:可以是零个一个或多个
磁盘操作命令
ls
展示目录文件,常用参数 -alh
案例:ls -alh
-a 所有文件
-l 列表显示更多信息
-h 可读性强-alh
展示内容drwxr-xr-x 2 zzy admin 4.0K Mar 30 00:58 Desktop
d:文件夹 -代表文件 l代表链接
rwx:代表当前用户权限可读可写可执行
r-x:代表当前用户组权限可读不可写可执行
r-x:其他用户可读不可写可执行
2 代表链接数
zzy代表文件所属用户
admin代表当前用户组名
4.0K 文件大小
Mar 30 00:58 创建日期
Desktop 文件名>
重定向,可以用于将信息保存到文件
案例:ls -alh > content
>
使用会覆盖原有内容>>
会在原有内容进行追加more
用于显示文件内容,有分屏显示效果
案例:more content
空格用于翻页
q用于退出
阅读结束直接退出cat
内容浏览,可以同时浏览多个文件
案例:cat content1 content2
|
管道,左边输出作为右边输入
案例:ls -alh | more
clear
用于清除以前编写命令cd
用于切换工作目录 案例:cd /home/zzy
cd 不带参数可以进入当前用户家目录
cd ~ 可以进入当前用户家目录
cd - 可以进入上次所在目录pwd
查看当前所在目录mkdir
文件夹创建
案例:mkdir temp
层级文件夹创建 mkdir -p 外层文件夹/内层文件夹rmdir
删除空目录
案例:rmdir temp
非空目录可以使用rm -rf temp
touch
创建文件 案例:touch my.conf
rm
删除文件,常用参数-rf
案例:rm my.conf
删除非空目录rm -rf tempdir
-r 代表递归删除,-f 代表忽略错误find
查找文件,常用参数-name
案例:find -name '*.conf'
结合-name参数可以对文件进行查找,支持正则表达式cp
拷贝文件
案例:cp my.conf /home/zzy/my.conf
在修改配置文件之前都是先备份配置文件mv
移动文件
案例:mv my.conf /home/zzy/my.conf
tar
归档,可以管理多个文件,常用参数-cxtvf
案例:tar -cvf 归档名 文件1 文件2 ...
创建归档tar -tvg 归档名
列举归档管理文件对象tar -xvf 归档名
解开归档gzip
解压缩,常用参数-dr
案例:gzip -r 归档名
可以对归档进行压缩gzip -d 压缩文件名
可以对压缩文件解压which
命令用于查看命令所在位置 案例:which pip
ln
链接,分为软连接,硬链接- 硬链接:
- 案例:
ln file hfile
- 只能链接文件,不能链接目录
- 占用磁盘空间
- 源文件改变,硬链接文件改变
- 源文件删除失效,硬链接变更为文件
- 案例:
- 软连接:
- 案例:
ln -s file sfile
- 可以链接文件或者目录
- 不占用磁盘空间,相当于快捷方式
- 源文件改变,软连接文件改变
- 源文件删除失效,软连接失效
- 案例:
- 将Linux自带python链接到python3.5
- 查看python
which python
- 删除原有python的链接
sudo rm /usr/bin/python
- 创建新的python的链接
sudo ln -s /usr/bin/python3.5 /user/bin/python
- 再次输入python就进入了python3
- 查看python
- 硬链接:
用户权限命令
passwd
设置密码
案例:sudo passwd
可以更改管理员root的密码sudo passwd zzy
可以更改zzy的密码su
切换用户
案例:su
默认切换root账户su zzy
切换zzy账户useradd
创建账户等同adduser
,常用参数-m
先进入root账户
案例:useradd -m temp
-m参数代表默认创建家目录userdel
删除账户等同deluser
,常用参数-r
先进入root账户
案例:userdel -r temp
-r参数代表同时删除家目录exit
退出账户
会进入上一个账户,如果没有上一个账户,则关闭终端chmod
权限更改
普通用户只能更改自己所有文件权限
超级管理员可以更改所有文件权限
字母法:chmod u/g/o/a +/-/= r/w/x 对象
数字法:chmod 666 对象
更改文件夹时-R可以完成递归
系统命令
ps
查看进程,常用参数-ef,aux
案例:ps -ef | grep mysql
kill
杀死进程
案例:sudo kill -9 进程号
ping
查看网络是否联通
案例:ping baidu.com
ifconfig
查看网卡信息
vim文本编辑神器
VIM有3中模式: 命令模式、编辑模式、末行模式
vim + 文件名可以进入文件,默认为命令模式
- 编辑模式
在命令模式下可以使用i I a A o O
进入编辑模式
在编辑模式下按下ESC键可以退出 进入命令模式
i在光标前插入 I在行首插入
a在光标后插入 A在行末尾插入
o在下面一行,O在上面一行插入 - 命令模式
- 移动光标
h 向左
j 向下
k 向上
l 向右
gg 移动到开头
G 移动到结尾
M 移动到中间
数字 G 移动到指定行
-
- 删除指令
x向后删除
X向前删除
dd删除当前行
n dd删除n行
D删除光标之后内容
d0删除光标之前内容
+ 撤销与反撤销
撤销 u
反撤销 ctrl+r
+ 复制粘贴
yy 复制当前行
n yy复制n行
p 粘贴
+ 查找
/abc 可以查找字符串abc
n找下一个
N找上一个
- 末行模式
- 行号
:set nu 显示行号
:set nonu 不显示行号
-
- 退出保存
:q 退出未修改文件
:q! 退出文件不保存
:wq 退出并且保存
如果文件修改了,但是直接强退终端,会产生临时文件
可以删除隐藏的临时文件
SSH协议
SSH协议可以用于Linux远程登录
- 需要在服务器(被登录电脑)安装 openssh-server
sudo apt install openssh-server
- 需要在客户端(用于登录的电脑)安装client(win10自带)
win10登录win + r
打开运行窗口
输入ssh 用户名@IP
即可登录
第一次登录服务器需要输入yes确认,以后就不用了
如果输入错误导致登录窗口闪退,需要在C:\Users\Administrator\.ssh
删除 known_hosts文件即可
SCP文件传输
使用该命令的前提条件要求目标主机已经成功安装openssh-server
使用格式
- 本地文件复制到远程
scp FileName RemoteUserName@RemoteHostIp:RemoteFile
- 本地目录复制到远程
scp -r FolderName RemoteUserName@RemoteHostIp:RemoteFolder
- 远程文件复制到本地
scp RemoteUserName@RemoteHostIp:RemoteFile FileName
- 远程目录复制到本地
scp -r RemoteUserName@RemoteHostIp:RemoteFolder FolderName
Ubuntu安装pip
- Ubuntu自带了Python2和python3
默认python链接的是python2
可以删除默认的python链接
创建新链接链接到python3 - Ubuntu没有自带python的包管理工具pip
需要自行安装python3的pip
sudo apt install python3-pip
安装成功即可使用pip3
可以创建pip软连接到pip3,使用方便符合习惯
Ubuntu安装Pycharm
下载 linux版本(如果在win10上下载 可以使用scp命令拷贝到ubuntu)pycharm-community-2018.2.4.tar.gz
- 将压缩包解压
gzip -d pycharm-community-2018.2.4.tar.gz
- 解开归档
tar -xvf pycharm-community-2018.2.4.tar
- 也可以一步完成,解压后解开归档
tar -gxvf pycharm-community-2018.2.4.tar.gz
- 安装
cd bin
sh pycharm.sh
可以在安装pycharm时创建快捷指令
也可以在.bashrc
中添加启动配置
进入当前用户主目录 .bashrc
alias charm="bash /opt/pycharm-community-2018.2.4/bin/pycharm.sh"
source .bashrc
VUE 项目部署流程
- 在Ubuntu服务器安装nginx
sudo apt install nginx
- 安装好之后会自动在/var 目录自动添加www目录
- 发布vue项目(发布的结果可以得到dist文件夹)
npm run build
- 将dist文件夹同步到ubuntu
scp -r dist 用户名字@IP地址:vue_demo
- 输入密码之后即可同步
- 将同步的文件夹移动到 /var/www
比如移动的结果为 /var/www/vue_demo - 添加项目所对应的nginx配置文件
在/etc/nginx/conf.d
目录新建配置文件vue_demo.conf
sudo vim nginx.conf
编辑添加
server {
listen 1912;
root /var/www/vue_demo;
index index.html
}
- 重启nginx服务
sudo nginx -s stop
sudo nginx
就可以在win10或者手机访问VUE项目了