Linux入门
1. 了解Linux系统
1.1 操作系统是什么?
我们的计算机如果不安装操作系统,只有硬件,被称为"裸机"。
操作系统是运行在硬件上的一种能够管理其它软件的一种应用程序。OS(Operating System)
1.2 常见的操作系统
windows
android
ios
linux
赛班
UNIX
全自动洗衣机内也有操作系统…
1.3 操作系统分类
按照应用领域划分:
桌面操作系统
服务器操作系统
嵌入式操作系统
按照支持用户数划分:
多用户操作系统
单用户操作系统
按照是否闭源:
开源操作系统 一般都不要钱 android 部分linux
闭源操作系统 一般都要钱 windows
1.4 企业级操作系统
windows server
linux
unix
…
deepin android 鸿蒙 嵌入式的操作系统都是基于linux内核。
1.5 Linux操作系统的由来
1991年诞生以来 到目前为止成为了全球用户数最多的操作系统!
Linux的基本思想:1.一切都是文件 2.每个软件都有确定的用途。
林纳斯带队的开发小组 负责开发Linux内核kernal。
基于这个内核,Linux有一些发行版系统。
红帽公司:Red Hat(闭源收费) 、CEnt OS(开源免费)
Ubuntu
Deepin
…
2. 掌握Linux系统安装
VMware(威睿工作站)
Virtual Box (Oracle)
2.1 Linux的文件系统
Linux不像Windows一样,拥有多个磁盘。它只有一个磁盘,这个磁盘叫 /
根目录。
在这个/
目录下面有很多文件夹,这些文件都有各自的用途。
3. 掌握Linux系统常用命令
3.1 目录操作命令
**查看当前所处的目录地址:**pwd 显示的地址是从/根目录开始的位置
进入某个文件夹(目录):cd 文件夹名
(同DOS)
返回上一级目录:cd ..
进入当前目录:cd .
进入当前用户的家目录:cd ~
类似于windows的c盘下的user目录 里面放着各个用户的专属文件夹。
root用户它的家目录不在/home下,/root这个是它的家目录。
返回上一个操作的目录:cd -
进入根目录:cd /
显示文件夹(目录)中的所有文件列表:(同DOS的dir)
显示当前目录下的非隐藏文件列表:ls
以详细列表形式查看非隐藏文件:ls -l
在CentOS中它自定义了一些命令:`ll 等价于ls -l`
查看隐藏文件列表: ls -a
如果既想查看隐藏文件又想以详细列表查看:ls -al/la
可以在ls之后 添加规则去查看指定目录下的文件列表:例如:ls test1
表示查看test1目录下的所有内容
创建文件夹(目录):mkdir 文件夹名
可以给一些命令添加-v
参数选项,用来查看执行过程。
如果想创建多级文件夹,可以添加`-p`参数选项
**复制文件或目录:**cp 要复制的文件/目录地址 要复制到的地址
复制的过程中可以进行重命名。
如果要复制的目录为多级,默认不允许,需要添加`-r(递归)`一级一级将目录复制过去
**剪切文件或目录:**mv 要剪切的文件/目录地址 要剪切到的地址
删除文件/目录:
rmdir 空目录
`rm -rf 文件/目录`
谨慎删除!!!尤其小心执行rm -rf /*
3.2 文件操作命令
从文件头部开始查看n行内容:head -n 文件名
从文件尾部开始查看n行内容:tail -n 文件名
tail -f 文件名
可以用来动态监测日志
查看文件所有的内容(适合小型文件):cat 文件名
查看文件所有内容(适合大型文件)分页/分屏:more 文件名
空格:下一屏内容
回车:下一行内容
b:上一屏
y:上一行
q:退出
创建空文件:touch 文件名
3.3 文件编辑命令
进入vi编辑器:vi/vim 文件名
现在处于一般模式 是只读状态
**进入编辑/插入模式:**按下i a o I A O等按键可以进入编辑模式 才可以写东西
i:在当前光标左侧输入
a:在当前光标右侧输入
o:在当前光标下一行输入
I:在当前行首输入
A:在当前行尾输入
O:在当前行上一行输入
在任何模式,按下ESC进入一般模式
在一般模式下可以按下:
进入底行/命令模式
进入底行模式下:
按下w表示保存
按下q表示退出
按下wq表示保存并退出
按下x等价于wq
按下q!表示强制退出
编辑快捷键特别多!
3.4 其它命令
reboot重启
halt关机
ipconfig 查看本机的网卡信息
3.5 权限命令
Linux的用户和用户组:
-
为了方便权限管理,Linux是一个多用户的操作系统。
-
用户:操作系统的实际操作者。 UID用来唯一标识用户信息。
- 创建用户:
useradd [-u 自定义的UID] 用户名称
UID默认从500开始算起 第一个为501 - 切换用户:
su 用户名
如果是root用户切换到普通用户 不需要密码,反之或者是普通用户之间切换都需要输对应密码 - 查看当前用户信息:
whoami 查看当前用户名
id [用户名] 可以查看当前用户的uid gid等信息
- 设置用户密码:
passwd 用户名
注意:刚创建的用户没有密码 需要立即指定 - 删除用户:
userdel [-r] 用户名
可选-r表示是否同时删除对应家目录 如果无法删除(已登录),可以先结束对应的用户进程 - 修改用户登录名称:
usermod -l 新用户名 旧用户名
用户的登录名改了 但是没有改变home内家目录名称信息
- 创建用户:
-
用户组:具有相同特征的一组用户,方便统一进行授权管理。 GID用来唯一标识用户组信息。
- 当创建用户的时候,就会创建一个对应的同名用户组。
- 创建用户组:
groupadd [-g 组id] 要创建的组名
- 删除用户组:
groupdel [-r] 要删除的用户组
- 修改用户的用户组:
usermod -g 要切换的新组gid 用户名
Linux中的权限命令:
-
Linux中将所有的权限划分为了三种:r(read读) w(write写) x(eXecute 执行)
-
一个文件/文件夹的权限标识一般如下:
d rwx rwx rwx
- d(directory)如果在第一个标识上为
d
表示此内容为文件夹/目录,如果为-
表示为文件。 - 第一组rwx表示当前文件的用户/拥有者的权限有哪些 (user)
- 第二组rwx表示当前文件的用户组的权限有哪些 (group)
- 第三组rwx表示当前文件对于其它组的权限有哪些 (other)
- d(directory)如果在第一个标识上为
-
赋权命令:
chmod [-R递归子目录/文件] u文件拥有者/g拥有者同组用户/o其它组的用户/a所有的人 +授予/-取消 权限指令 要修改权限的文件/文件夹
例如:chmod u+x a.txt 表示给当前的拥有者赋予执行的权限。
chmod g-w a.txt 表示给当前拥有者的同组用户取消写的权限。
Linux对于权限给进行了十进制数转换 r代表4 w代表2 x代表1
例如:chmod 7(4+2+1)77 a.txt
chmod 567 a.txt
4. Linux进程命令
查看进程:
ps -ef | grep 要查询的进程名(正则模糊查询)
ps -ef 查看所有的进程
| 表示将左侧的输出 作为 右侧的输入
grep 使用正则过滤内容
结束进程:
kill -9 要结束的进程的pid
4. 掌握Linux中常用的软件安装
4.1 安装软件的几种方式
-
解压安装
Linux特有一种压缩格式:.tar.gz
tar -zxvf 要解压的文件 [-C 要解压到的位置]
tar -zcvf 要压缩的文件
-
在线下载安装
yum [-y如果出现确认提示 默认为确认yes] install 要安装的软件名称
yum update 要更新的软件名称
yum是从对应的Linux发行版公司的yum源下载软件。
人家有个软件仓库,里面放了n多个软件,到时候你通过yum就可以去此仓库中下载并自动安装了。
-
运行可执行文件安装
rpm -qa | grep 软件名
从已经安装的软件中查找指定软件列表。rpm -e --nodeps 要卸载的软件名
rpm -ivh 要安装的rpm软件名
4.2 安装JDK、Tomcat、MySQL
安装JDK的注意事项:
为了防止版权问题,一般情况下CentOS自带了一些JDK是属于开源的JDK,OpenJDK。
但是我们要安装自己的JDK,就需要先将以前的卸载掉。
**步骤:**
1.解压tar包
2.配置环境变量 /etc/profile文件
JAVA_HOME=/usr/local/java/jdk1.7.0_71
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
3.重新加载环境变量文件:source /etc/profile
安装MySQL:
1.卸载原有MySQL
2.依次安装MySQL服务端、客户端
3.启动MySQL服务(当初在DOS,net start/stop mysql):`service mysql start/stop/restart`
4.给root用户设置密码(MySQL5.5以上 密码会自动生成一个随机的 需要你去在当前目录下找到一个隐藏文件夹 内部就有随机密码)
**给MySQL设置密码:**
1.mysqladmin -u用户名 -p password(关键词) '新密码'
如果没有设置过密码的用户 那么直接mysqladmin -u用户名 password '新密码'即可。
2.登录好用户之后:set password = password('新密码');
3.(root用户)直接进入mysql数据库的user表,将用户信息更改即可。
use mysql;
update user set password = password('新密码') where user = 用户名 and host=用户主机地址;
4.当丢失了密码之后
先找到my.ini文件,这个文件mysql的核心配置文件
添加`skip-grant-table`
这样重启mysql服务之后 就可以不输入密码进行登录,然后进入之后重新修改密码,还原my.ini配置即可。
5.因为默认情况下系统自带的root用户只能在本机内访问服务,所以新建并授权一个能远程连接的root用户。
`grant all on *.* to 用户名@用户主机地址 identified by '密码';`
6.默认情况下Linux的大多数端口都是关闭的,不对外开放!所以如果想远程连接mysql,必须开放对应的端口号:3306.
`/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT` 将开放规则写入防火墙
`/etc/rc.d/init.d/iptables save` 保存规则
安装Tomcat:
1.创建一个文件夹 将tomcat的tar包解压过去
2.开放8080端口号
4.3 部署web项目
- 将数据库信息等准备好
- 确认好相关信息正确之后,将web项目打成war包
- 将war包部署在tomcat的webapps下的ROOT目录下(如果不在ROOT 就需要在访问时添加一个目录前缀)
- 启动tomcat 监测日志 试运行