购买云服务器
1、阿里云购买服务器:地址
2、购买完毕后,获取服务器的ip地址,重置服务器密码,就可以远程登录了
关于安全组的说明: (在阿里云这个很重要,自己需要开放什么端口来这里配置就好啦,我们在后面安装环境的时候会再次说明)
今天各种场合都有使用各种 Linux 发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地位,通常服务器使 LAMP(Linux + Apache + MySQL + PHP)或 LNMP(Linux + Nginx+ MySQL +PHP)组合
开机登录
开机会启动许多程序。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。
一般来说,用户的登录方式有三种:
最高权限账户为 root,可以操作一切
关机
在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。
关机指令为:shutdown ;
sync # 将数据由内存同步到硬盘中。
shutdown # 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:
shutdown –h 10 # 这个命令告诉大家,计算机将在10分钟后关机
shutdown –h now # 立马关机
shutdown –h 20:25 # 系统会在今天20:25关机
shutdown –h +10 # 十分钟后关机
shutdown –r now # 系统立马重启
shutdown –r +10 # 系统十分钟后重启
reboot # 就是重启,等同于 shutdown –r now
halt # 关闭系统,等同于shutdown –h now 和 poweroff
最后总结一下,不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写到磁盘中
系统目录结构
1、一切皆文件
2、根目录 / ,所有的文件都挂载在这个节点下
登录系统后,在当前命令窗口下输入命令:
ls /
你会看到如下图所示:
树状目录结构:
以下是对这些目录的解释:
/bin: bin是Binary的缩写, 这个目录存放着最经常使用的命令。
/boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。(不要动)
/dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib: 这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。(不要动)
/lost+found: 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。(存放突然关机的一些文件)
/media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。(我们后面会把一些本地文件挂载在这个目录下)
/opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个
目录下。默认是空的。
/proc: 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。(不用管)
/root:该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/srv:该目录存放一些服务启动之后需要提取的数据。
/sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs 。
/tmp:这个目录是用来存放一些临时文件的。用完即丢的文件,可以放在这个目录下,安装包!
/usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
/usr/bin: 系统用户使用的应用程序。
/usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。Super
/usr/src: 内核源代码默认的放置目录。
/var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
/www:存放服务器网站相关的资源,环境,网站的项目
常用命令
touch :创建文件文件夹为蓝色 文件是白色的
echo : echo “I like yl”>>f1 追加内容到指定文件 f1
vim & vi : 创建文件后直接编辑内容
mkdir: 创建目录
rmdir : 删除空文件夹
cp : 复制文件或者目录 cp wj.sh test/test1
rm : 移除文件或者目录!
rm -rf / # 强制递归删除系统中所有文件, 删库跑路操作!
ls : 查看当前目录下的文件
yum : 联网安装软件
安装一个包 命令:yum [-y] install 软件包
升级一个包 命令:yum [-y] update 软件包
移除一个包 命令:yum [-y] remove 软件包
列出所有软件名 命令:yum list 软件包
yum remove 卸载程序名
rpm:本地安装和卸载
安装一个包 命令:rpm -ivh rpm文件
升级一个包 命令:rpm –Uvh rpm文件
移除一个包 命令:rpm –e 包名
查询安装情况 命令:rpm –q 包名
列出所有被安装的包 命令:rpm -qa
tar命令 :
tar -cvf /home/www/images.tar /home/www/images ← 仅打包,不压缩
tar -zcvf /home/www/images.tar.gz /home/www/images ← 打包后,以gzip压缩
tar zxvf /source/kernel.tgz -C /source/ linux-2.6.29
tar czvf kernel.tgz linux-2.6.29
.tar.gz 和 .tgz命令 :
cd : 切换目录命令!
cd … : 返回上一级目录
cd 目录名(绝对路径都是以 / 开头,相对路径,对于当前目录该如何寻找 …/…/)mv : 移动文件或者目录!重命名文件
useradd 命令 添加用户
useradd -选项 用户名
-m : 自动创建这个用户的主目录 不加也一样 自动在home创建目录
-G : 给用户分配组!
理解一下本质:Linux中一切皆文件,这里的添加用户说白了就是往某一个文件中写入用户的信息了!/etc/passwd
删除用户 userdel
userdel -r zjt 删除用户的时候将他的目录页一并删掉!不加就保留用户目录了
修改用户 usermod
修改用户 usermod 对应修改的内容 修改那个用户
参数说明:
切换用户!
在终端输入exit或logout或使用快捷方式ctrl+d,可以退回到原来用户,其实ctrl+d也是执行的exit命令
$表示普通用户
用户的密码设置问题!
passwd 用户名 #只有root用户可以指定修改用户密码
passwd #普通用户只能使用 passwd 修改当前登录用户密码
锁定账户!
root,比如张三辞职了!冻结这个账号,一旦冻结,这个人就登录不上系统了!
passwd -l pp #-l lock的意思 锁定账户就不能登录了
passwd -d pp # 清空pp的密码 也不能登录了 一般用 -l
在公司中,你一般触及不到 root 用户!作为一个开发一般你拿不到! Linux是一个多用户的系统!
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理(开发、测试、运维、root)。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新
创建一个用户组 groupadd
创建完用户组后可以得到一个组的id,这个id是可以指定的! -g 520 , 若果不指定就是自增1
groupadd -520 gzjt #组id为520
删除用户组 groupdel
修改用户组的权限信息和名字 groupmod -g -n
拓展:文件的查看!(了解即可)
cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
#用户名:口令(登录密码,我们不可见):用户标识号:组标识号:注释性描述:主目录:登录Shell
这个文件中的每一行都代表这一个用户,我们可以从这里看出这个用户的主目录在那里,可以看到属于哪一个组!
登录口令:把真正的加密后的用户口令字存放到/etc/shadow文件中,保证我们密码的安全性!
root:$6$Zupe1vNF$jRjuE8vo43uRMQCvM9QtH9wLxFzweioLA/DHFRYQ6W1iTwEJgeXujYXRj0Vhg/QXTP4
用户组的所有信息都存放在/etc/group文件中。
root:x:0:zjt2
基本概念!
1、在Linux中,每一个程序都是有自己的一个进程,每一个进程都有一个id号!
2、每一个进程呢,都会有一个父进程!
3、进程可以有两种存在方式:前台!后台运行!
4、一般的话服务都是后台运行的,基本的程序都是前台运行的!
命令
ps 查看当前系统中正在执行的各种进程的信息!
ps -xx :
# ps -aux 查看所有的进程
ps -aux | grep mysql
# | 在Linux这个叫做管道符 A|B
# grep 查找文件中符合条件的字符串!
ps -ef | grep mysql # 看父进程我们一般可以通过目录树结构来查看!
# 进程树! 最方便的!
# pstree未找到命令是因为没有安装psmisc yum install psmisc
pstree -pu
-p 显示父id
-u 显示用户组
kill -9 进程的id
kill -9 1447(mysql进程的id) #表示强制结束该进程!
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
在Linux中我们可以使用 ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组
如:
实例中,boot文件的第一个属性用"d"表示。"d"在Linux中代表该文件是一个目录文件。
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等:
接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。
其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。
要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
每个文件的属性由左边第一部分的10个字符来确定(如下图):
从左至右用0-9这些数字来表示。
第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。
其中:
第1、4、7位表示读权限,如果用"r"字符表示,则有读权限,如果用"-"字符表示,则没有读权限;
第2、5、8位表示写权限,如果用"w"字符表示,则有写权限,如果用"-"字符表示没有写权限;
第3、6、9位表示可执行权限,如果用"x"字符表示,则有执行权限,如果用"-"字符表示,则没有执行权限。
对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。
同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。
文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。
因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。
在以上实例中,boot 文件是一个目录文件,属主和属组都为 root。
修改文件属性
1、chgrp:更改文件属组
chgrp [-R] 属组名 文件名
chgrp -R gzjt test
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
2、chown:更改文件属主,跟chgrp配合使用
chown [–R] 属主名 文件名
chown -R zjt test
3、chmod:更改文件9个属性(必须要掌握)
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
先复习一下刚刚上面提到的数据:文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
r:4 w:2 x:1
可读可写不可执行 rw- 6
可读可写不课执行 rwx 7
chmod 777 test 文件赋予所有用户可读可执行
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:[rwxrwx–]
分数则是:
chmod 770 test
我们会经常使用到文件查看!
Linux系统中使用以下命令来查看文件的内容:
cat 由第一行开始显示文件内容,用来读文章,或者读取配置文件啊,都使用cat + 文件名
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
more 一页一页的显示文件内容,带余下内容的(空格代表翻页,enter 代表向下看一行, :f 行号)
less 与 more 类似,但是比 more 更好的是,他可以往前翻页! (空格下翻页,↑,↓ 键代表翻动页面!退出 q 命令,查找字符串 ’ / ’ 要查询的字符向下查询,向上查询使用 ’ ?'要查询的字符串,n 继续搜寻下一个,N 上寻找!)
head 只看头几行 通过 -n 参数来控制显示几行! head -5 yum.conf
tail 只看尾巴几行 -n 参数 要查看几行!
网络配置目录:
[root@juntao17 /]# cd /etc/sysconfig/network-scripts
ifconfig 和 ip addr 命令查看网络配置和ip!
windows 为 ipconfig
拓展:Linux 链接的概念(了解即可!)
Linux的链接分为两种:硬链接、软链接!
硬链接:A—B,假设B是A的硬链接,那么他们两个指向了同一个文件!允许一个文件拥有多个路径,用户可以通过这种机制建立硬链接到一些重要文件上,防止误删!
软链接: 类似Window下的快捷方式,删除的源文件,快捷方式也访问不了!
创建链接 ln 命令!
追加主文件内容 链接也都会变化
追加链接内容 主文件和其他链接也一样会改变
删除 f1 之后, f2 依旧可读 而 f3 失效了,ln 类似复制 ln -s 类似快捷方式
安装软件一般有三种方式:
rpm, 解压缩, yum在线安装,
我们开发java程序必须要的环境!
1、下载JDK rpm。去oralce 官网下载即可!
2、安装java环境
# 检测当前系统是否存在java环境! java -version
# rpm -qa|grep jdk # 检测JDK版本信息
# rpm -e --nodeps jdk_ 强制卸载
# rpm -ivk jdk-8u141-linux-x64.tar.gz(或rpm包)
# 配置环境变量!
配置环境变量: /etc/profile
#jdk
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin
#mysql
export MYSQL_HOME=/usr/local/mysql8
export PATH=$PATH:$MYSQL_HOME/bin
让这个配置文件生效! source /etc/profile
# 开启防火墙端口
firewall-cmd --zone=public --add-port=9000/tcp --permanent
# 重启防火墙
systemctl restart firewalld.service
# 查看所有开启的端口,如果是阿里云,需要配置安全组规则!
firewall-cmd --list-ports
vim 通过一些插件可以实现和IDE一样的功能!
Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程
序员中被广泛使用。尤其是Linux中,必须要会使用Vim(查看内容,编辑内容,保存内容!)
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。
vim 则可以说是程序开发者的一项很好用的工具。
所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。
连 vim 的官方网站 (http://www.vim.org) 自己也说 vim 是一个程序开发工具而不是文字处理软件。