系统目录结构
- 一切皆文件
根目录 /,所有的文件都挂载在这个节点下
登录系统后,在当前窗口输入以下命令:
ls /
结果如下所示
树状目录
- /bin:bin是Binary的缩写,这个目录存放着最经常使用的命令。
- /boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
- /dev:dev是Device(设备)的缩写,存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
- /etc:这个目录是用来存放所有系统管理所需的配置文件和子目录。 eg:tomcat、Redis等
- /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内核中新出现的的一个文件系统systfs
- /tmp:这个目录是用来存放一些临时文件的。
- /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。 eg:java
- /usr/bin:系统用户使用的应用程序
- /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序
- /usr/src:内核源代码默认的放置目录。
- /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
- /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删除或清掉。
-/www:存放服务器网站相关的资源,环境,网站的项目
常见的基本命令
目录相关命令
绝对路径与相对路径
绝对路径:C:\Program Files\Internet Explorer\xxxx.xx
相对路径:
比如Internet Explorer目录下xxxx.xx文件,这个xxxx.xx文件相对路径:/xxxx.xx
- cd:切换目录命令
- ./ :当前目录
- cd… :返回上一级目录
列出目录
- -a参数:all,查看全部的文件,包括隐藏文件
- -l 参数:列出所有的文件,包含文件的属性和权限,没有隐藏文件
所有Linux可以组合使用
cd 切换目录
- cd 目录名(绝对路径都是以 / 开头,相对路径,对于当前目录该如何寻找(eg:cd …/…/ 表示寻找当前目录的上上级目录) )
pwd 显示当前用户所在目录
mkdir :创建文件夹
- -p参数 :可以创建多个文件夹(递归创建)
rmdir 删除目录
- rmdir仅能删除空文件夹,且只能一个一个删除,但是可以使用 -p 参数递归删除多个目录
cp:复制文件或目录
- cp 原来的地方 新的地方
如果文件重复,y覆盖,n放弃
rm 移除文件或目录
- -f :忽略不存在文件,不会出现警告,强制删除
- -r :递归删除目录
- -i : 互动,询问是否删除
rm -rf / # 系统中所有的文件全部删除,这就是传说中的删库跑路!
mv 移动文件或目录 或 重命名文件
- -f : 强制
- -u :只替换已经更新过的文件
文件
基本属性
看懂文件属性
Linux系统是多用户系统,不同用户拥有不同权限,为了安全,用户访问同一文件(目录)有着不同的权限。
在Linux中,我们可以使用ll
或ls -l
命令来显示一个文件的属性以及文件所属的用户和组,如:
在Linux中,第一个字符:
d
:目录-
:文件l
: 链接文档(link file)b
:装置文件里面可供存储的接口设备(可随机存取装置)c
:装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)
接下来,以三个为一组,且均为rwx
三个参数的组合r
:可读w
:可写x
:可执行-
:无
- 147:表示读
- 258:表示写
- 369:表示可执行
修改文件属性
- chgrp:更改文件属组
chgrp [-R] 属组名 文件名
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改
2. chown:更改文件属主,也可以同时更改文件属组
chown [-R] 属组名 文件名
chown [-R] 属主名: 属组名 文件名
3. chmod:更改文件9个属性
chmod [-R] xyz 文件或目录
可使用符号,也可使用数字
r:4 w:2 x:1
----------------------------------------------------
举例
可读可写不可执行 rw- 6
可读可写可执行 rwx 7
每种身份(owner/group/others)各自的三个权限(rwx)分数是需要累加的,每一个数字代表一个组
比如:chmod rw-rwx— 文件
owner = rw- = 4+2+0 = 6
group = rwx = 4+2+1 = 7
others = — = 0+0+0 = 0
所以,可以写为:chmod 670 文件
查看文件内容
Linux使用以下命令来查看文件内容:
- cat 由第一行开始显示文件内容
- tac 从最后一行开始显示,可以看出tac是cat的倒着写!
- nl 显示的时候,顺道输出行号!
- more 一页一页的显示文件内容
- == less 与 more 类似,但是比more更好的是,它可以往前翻页!==
空格:下翻页;
pageDown,pageUp键:翻动页面;
q命令:退出;
/xxx:向下查询xxx字符串;?xxx:向上查询xxx字符串;(n:表示向下寻找下一个,N:向上寻找下一个) - head 只看头几行
- tail 只看尾巴几行
你可以使用man [命令]来查看各种命令的使用文档,如:man cp - ifconfig:查看网络配置
扩展:链接的概念(了解)
Vim编辑器(文本编辑器)
添加账号
属组、属主、其它用户
环境安装
安装软件的三种方式
- rpm安装(以jdk为例,并在线发布一个springboot项目)
- 解压缩安装(以tomcat为例,启动并通过外网访问,发布网站)
- yun在线安装(以docker为例)
Java
- 下载JDK rpm
- 安装Java环境
java -version #检查当前系统是否存在Java环境
# 如果有就卸载
rpm -qa|grep jdk #检测JDK版本信息
rpm -e --nodeps jdk版本
# 卸载完毕后即可安装JDK
rpm -ivh rpm包
- jdk是安装到
/usr/java
目录下
3. 配置环境变量 /etc/profile
,在最后一行配置。
JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
CLASSPATH=.:${JAVA_HOME}/lib:${JAVA_HOME}/jre/lib
PATH=${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin:$PATH
export PATH CLASSPATH JAVA_HOME
配置变量碰到的坑:
:$PATH
没加,导致只能使用Java命令;原因是以前的PATH被覆盖了- 路径分割使用
:
,而不是;
4. 执行source /etc/profile
,让这个配置文件生效!
如果你执行上面命令出现了问题,不能使用一些命令,说明你配置出了问题。执行以下命令重置PATH,重新进入文件修改你的配置。
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
发布Springboot项目
如果是阿里云,请确保安全组9000端口是开放的。
# 查看防火墙状态
systemctl status firewalld
# 开启、重启、关闭防火墙
service firewalld start # 开启
service firewalld stop # 关闭
service firewalld restart # 重启
# 查看防火墙端口
firewall-cmd --list-ports 只看端口信息
firewall-cmd --list-all 查看所有信息
# 开启9000端口(可根据开启需要修改端口号),需重启并确保阿里云服务器安全组开启端口
firewall-cmd --zone=public --add-port=9000/tcp --permanent
tomcat
- 下载
apache-tomcat-9.0.33.tar.gz
- 解压
tar -zxvf apache-tomcat-9.0.33.tar.gz
3. 启动tomcat测试!
./startup.sh #执行
./shotdown.sh #停止
4. 如果想要远程访问,依然需要开启端口,同时保证阿里云安全组也开启了这个端口
5.
6. 如果您要使用域名,只需备案网站,购买域名,进行解析。如果端口是80(http)或433(https)可以直接访问,如果是9000、8000,那就需要通过Apache或者Nginx做一下反向代理即可,配置文件即可,十分简单
yum
centOS7安装docker,官网教程
- 查看版本
[root@iZ2ze1wyqftvcjm2kcqbt0Z home]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
- 安装环境
cd /bin
yum -y install gcc
yum -y install gcc-c++
3. 卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
- 安装所需的软件包
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
- 安装镜像仓库
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 更新软件的索引包
yum makecache fast
- 安装Docker CE
yum -y install docker-ce docker-ce-cli containerd.io
- 启动docker
systemctl start docker
ps -ef|grep docker
- 查看
docker version
10. docker使用阿里云镜像