1.Linux-centos7的目录结构
bin:存放的是用户的基本命令,如cp,cat等等
boot【重点】:存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件
dev:类似于windows的设备管理器,把所有的硬件用文件的形式存储
etc【重点】:所有的系统管理所需要的配置文件和子目录my.conf
home:用户目录,有多少个用户,就有多少个文件
lib:系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的
DLL文件。几乎所有的应用程序都需要用到这些共享库。
lib64:用于存放64位系统库文件,删除后基本命令都会没用
media【重点】:linux系统会自动识别一些设备,如U盘,光驱等等,当识别后,linux会把识别的设备挂载到这个目录下
mnt【重点】:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt上,然后进入该目录就可以查看里面的内容了
opt:这是给主机额外安装软件所摆放的目录。如安装mysql数据库就可以将安装包放在该目录下。
proc【危险】:这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息
root:root用户目录(root用户不在/home目录)
run:运行目录,存放系统运行时的数据,比如PID
sbin:用于存放超级用户命令的目录
srv【危险】:service缩写,该目录存放一些服务启动之后需要提取的数据
sys【危险】:这是Linux内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统
tmp:这个目录是用来存放一些临时文件的
usr【重点】:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录,类似于windows的program files目录
user/local【重点】:这是另一个给主机额外安装软件的目录,一般是通过编译源码方式安装的程序。功能与/opt相差无几。
var【重点】:这个目录中存放着不断扩充着的东西,习惯将经常修改的目录放在这个目录下,包括各种日志文件。
ps:centOS7与之前的centOS版本有挺多区别的,搜索博客时建议带上版本搜索比较好
2.Linux中的常用命令
2.1 cd--->切换目录
英文:change directory
语法: cd /目录名称---->绝对路径,切换到指定路径的目录文件
cd 目录名称--->相对路径,仅切换到当前目录下的目录文件
cd ../ : 切换到上一级目录
cd /: 切换到根目录
2.2 ls---> 列出当前目录或者指定目录下的内容
语法:ls 列出当前所在目录下的内容
ls /目录名 列出指定目录下的内容
参数: ls -a 列出指定目录或者当前目录下所有的内容[包含隐藏文件]
ls -l 详细列出指定目录或者当前目录下的内容
ls -la 是ls -a和ls -l的结合,列出指定目录或者当前目录下所有的内容[包含隐藏文件]的详细信息
2.3 pwd 查看当前目录所在的绝对路径
2.4 mkdir 创建目录
英文:make directory
语法:mkdir 新目录名称 --->在当前目录下创建新目录
mkdir 绝对路径/新目录名称--->在指定路径目录下创建新目录
注:直接创建层级目录无法成功,需要使用到另一种语法
mkdir -p 层级目录 在当前目录下创建新的层级目录
mkdir -p 绝对路径/层级目录 在指定目录下创建新的层级目录
2.5 touch 创建空文件
语法:touch 文件名 在当前目录下创建新的空文件
touch 绝对路径/文件名 在指定目录下创建新的空文件
2.6 rm 删除文件或目录
英文:remove
语法:rm 文件名 删除当前目录下的某个文件
rm 需要再次确认是否删除该文件,输入Y/y即YES表示确认删除,输入N/n即NO表示取消删除
倘若不需要删除提示的话可以使用
rm -f 取消删除提示
rm命令可否直接删除目录呢?
由此可见rm命令无法直接删除目录
删除目录文件需要用到
rm -r 删除当前目录下的某个目录或文件
rm -r依然有删除提示可以使用
rm -rf 是rm -r与rm -f的结合,删除当前目录下的某个目录或文件并且没有删除提示
层级目录也可以被直接删除
2.7 cp 复制
英文:copy
语法:cp 文件名 /目标目录/名称 复制当前目录下的某个文件到目标目录且更改名称
cp -r 文件名 /目标目录/名称 复制当前目录下的某个目录到目标目录且更改名称
如果不写目标目录的话默认复制到当前目录下
如果不写更改后的名称只写路径的话不会改名哦
2.8 mv 剪切|重命名(也可以叫做移动)
英文:move
语法:mv 源文件 绝对路径/目标文件名
和cp复制相似,如果不添加需要移动的绝对路径目录则默认路径为当前目录下,如果只写路径而不写目标文件名则会只移动不改名
2.9 查看文件内容
cat: cat 文件名 查询文件的所有内容
more:more 文件名 分页查看文件内容
空格键是翻页 每页的内容多少取决于窗口所能容纳的最大内容
head: head -n xx 文件名 从文件头查看xx行内容
tail: tail -n xx 文件名 尾部查看xx行内容
cat:
more:
head:
tail:
2.10 vi|vim 编辑文件内容(vim需要下载相关插件)
vi 文件名----->命令行模式----输入i-->编辑模式------>按esc键--->命令行模式
:wq 保存内容并退出
:q! 强制退出不保存
:w 保存内容
:q 退出不保存
使用cat查看目标文件的所有内容,验证是否一致
2.11 find 查找指定的文件
语法:find 目录 -name '名称*'
3. 修改centos的ip地址
centos的默认动态分配IP地址,并不是固定的,所以要设置固定的IP地址
修改指定文件的相关内容
vi /etc/sysconfig/network-scripts/ifcfg-ens33
查询自己Linux的ip地址:
点击编辑,然后点击虚拟网络编辑器
查询自己的Linux网关地址:
配置完成后必须重启网络:
systemctl restart network
然后设置finalShell的ip地址
将主机地址改为自己设置的IP地址,然后重新连接finalShell
验证修改的ip是否可以上网
ping www.baidu.com
然后CTRL+c退出
4. 修改权限
如何修改权限:
第一种 chmod [ugo]+[rwx] 文件
第二种: r对应4 w对应2 x对应1 ugo代表三个数,每个数都是rwx的值相加
rwx=4+2+1=7 rw=4+2=6 x=1 所以761代表的是rwxrw---x
5. 压缩和解压文件
tar -zcvf 压缩后的名称 要压缩的目录
- v: 详情
- f: 文件【必带】
- c: 压缩
tar -zxvf 压缩文件
-x: 解压
6. linux安装软件
软件的安装方式:
二进制安装。---只需要解压就可以。 只针对特殊平台。 比如jdk tomcat
RPM: 按照一定的规范就可以按照该软件。 无法安装依赖的文件。
yum 远程安装 基于RPM 帮你把依赖的文件安装上去。 多
安装源码安装。 编译--->打包---->安装。
6.1 二进制-JDK--Tomcat
如果安装的是图形化centos --默认安装了jdk 需要把原来默认的jdk卸载
(1)把window中的jdk软件托到centos中并解压
/usr/local/
(2)重命名
(3)配置环境变量
/etc/profile
######################JDK1.8的环境变量配置#######################
export JAVA_HOME=/usr/local/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
(4)重新加在profile文件
source /etc/profile
验证: 在任意位置输入javac
6.2 安装tomcat
(1)把tomcat放置到linux并解压
tar -zxvf XXXX.tar.gz
(2)重命名
(3)切换至tomcat9.0文件下的bin目录下
(4)启动tomcat
如何知道tomcat是否启动呢。
ps -ef | grep tomcat ---查询进程tomcat
(4)如何访问tomcat
出现上面的错误:
原因: 服务器有防火墙:----而该防火墙没有把8080这个端口号放行。
解决: 第一种关闭防火墙 -----不建议太危险了
第二种解决方案:----放行指定的端口号
systemctl status firewalld 查看防火墙的状态
systemctl stop firewalld 关闭防火墙
6.3 安装mysql数据库
详细教程:https://www.cnblogs.com/tony-hyn/p/15777762.html
远程连接mysql服务器时,无法连接.===防火墙是否把3306端口放行。
解决方法:
-
查看防火墙放行的端口号:firewall-cmd --list-port
-
添加放行的端口号: firewall-cmd --add-port=3306/tcp --zone=public --permanent
==并重启防火墙:systemctl restart firewalld==
-
移除防火墙的端口号: firewall-cmd --remove-port=3306/tcp --zone=public --permanent
-
关闭防火墙 :systemctl stop firewalld
-
禁用防火墙: systemctl disable firewalld