通过ps -ef可以查看当前运行的所有进程的详细信息 Liunx是一套免费使用的操作系统
用处:环境 搭建:Linux系统一般安装在公司专门的服务器上,一般使用远程连接工具连接Linux系统。
Linux系统版本:内核版和发行版
内核版
由Linux Torvalds及其团队开发,维护。免费,开源的,负责控制硬件
发行版
基于Linux内核进行扩展,由各个Linux厂商开发,维护。有免费和收费版本
Liunx安装
物理机安装:直接将操作系统安装在服务器硬件上
虚拟机安装:通过虚拟机软件安装
虚拟机:通过软件模拟的具有完整硬件系统功能,运行在完全隔离环境中的完整计算机系统
安装虚拟机VMware 【2021年最新版】安装虚拟机 VMware Workstation + 安装Linux操作系统 + 输出“Hello World”_一支王同学的博客-CSDN博客_虚拟机安装
网卡设置:通过linux指令ip addr查询Liunx系统的ip地址
由于启动服务器未加载网卡,导致ip地址初始化失败,没有获得ip地址。
设置网卡在系统启动时初始化
#修改网卡的配置项
cd / 进入根目录
cd etc 进入etc目录
cd sysconfig 进入sysconfig目录
cd network-scripts 进入network-scripts
vi ifcfg-ens33 编辑ifcfg-ens33文件
进入文件后执行如下操作:
①. 按 i 键 进入编辑状态
②. 按↑↓键来移动光标, 删除no,输入yes
③. 按 ESC 键
④. 输入 :wq 保存并退出
⑤. 按 ENTER 保存退出
SSH连接工具
企业开发时,Linux服务器一般在远程的机房中部署的,用ssh连接工具进行远程操作
ssh是建立在应用层基础上的安全协议,常用的ssh连接工具
Liunx目录结构
Liunx系统的目录特点:1./是所有目录的顶点 2.目录结构像一颗倒挂的树
Linux的目录结构
/bin存放二进制可执行文件
/boot存放系统引导时使用的各种文件
/dev存放设备文件
/etc 存放系统配置文件
/home存放系统用户的文件
/lib 存放程序运行时需要的共享库和内核模块
/opt 额外安装的可选应用程序包存放位置
/root 超级用户目录
/sbin 存放二进制可执行文件,只有root用户能访问
/tmp 存放临时文件
/usr存放系统应用程序
/var 存放运行时需要改变数据的文件,例如日志文件
Linux常用命令
按Tab会自动补全命令
ls[目录名] 查看当前目录下的内容(文件及目录)
pwd 查看当前所在目录
cd /root 切换到root目录
touch 1.txt 创建文件1.txt
mkdir 01 创建文件夹01
rm 1.txt 删除文件1.txt(删除文件时,需要输入y确定)
clear或Ctrl+l 清屏
Liunx命令格式
command [-options] [parameter]
说明:
command: 命令名
[-options]: 选项,可用来对命令进行控制,也可以省略
[parameter]: 传给命令的参数,可以是零个、一个或者多个
注意:
[] 代表可选
命令名、选项、参数之间有空格进行分隔
文件目录操作命令
1. ls
作用: 显示指定目录下的内容
语法: ls [-al] [dir]
说明:
-a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
-l 除文件名称外,同时将文件型态(d表示目录,-表示文件)、权限、拥有者、文件大小等信息详细列出
注意:
由于我们使用ls命令时经常需要加入-l选项,所以Linux为ls -l命令提供了一种简写方式,即ll
常见用法:
ls -al 查看当前目录的所有文件及目录详细信息
ls -al /etc 查看/etc目录下所有文件及目录详细信息
ll 查看当前目录文件及目录的详细信息
2. cd
作用:用于切换当前工作目录,进入指定目录
语法: cd [dirName]
特殊说明:
~ 表示用户的home目录
. 表示目前所在的目录
.. 表示目前目录位置的上级目录
举例:
cd .. 切换到当前目录的上级目录
cd ~ 切换到用户的home目录
cd /usr/local 切换到/usr/local目录
3.cat
作用:用于显示文件内容
语法: cat [-n] fileName
说明:
-n: 由1开始对所有输出的行数编号
举例:
cat /etc/profile 查看/etc目录下的profile文件内容
4. more
作用:以分页的形式显示文件内容
语法: more fileName
操作说明:
回车键 向下滚动一行
空格键 向下滚动一屏
b 返回上一屏
q或者Ctrl+C 退出more
举例:
more /etc/profile 以分页方式显示/etc目录下的profile文件内容
5.tail
作用:查看文件末尾内容
语法: tail [-f] fileName
说明:
-f : 动态读取文件末尾内容并显示,通常用于日志文件的内容输出
举例:
tail /etc/profile 显示/etc目录下的profile文件末尾10行的内容
tail -20 /etc/profile 显示/etc目录下的profile文件末尾20行的内容
tail -f /itcast/my.log 动态读取/itcast目录下的my.log文件末尾内容并显示
6. mkdir
作用:创建目录
语法: mkdir [-p] dirName
说明:
-p: 确保目录名称存在,不存在的就创建一个。通过此选项,可以实现多层目录同时创建
举例:
mkdir itcast 在当前目录下,建立一个名为itcast的子目录
mkdir -p itcast/test 在工作目录下的itcast目录中建立一个名为test的子目录,若itcast目录不存在,则建立一个
7.rmdir
作用:删除空目录
语法: rmdir [-p] dirName
说明:
-p: 当子目录被删除后使父目录为空目录的话,则一并删除
举例:
rmdir itcast 删除名为itcast的空目录
rmdir -p itcast/test 删除itcast目录中名为test的子目录,若test目录删除后itcast目录变为空目录,则也被删除
rmdir itcast* 删除名称以itcast开始的空目录
8.rm
作用:删除文件或目录
语法: rm [-rf] name
说明:
-r: 将目录及目录中所有文件(目录)逐一删除,即递归删除
-f: 无需确认,直接删除
举例:
rm -r itcast/ 删除名为itcast的目录和目录中所有文件,删除前需确认
rm -rf itcast/ 无需确认,直接删除名为itcast的目录和目录中所有文件
rm -f hello.txt 无需确认,直接删除hello.txt文件
9. cp
作用:复制文件或目录
语法: cp [-r] source dest
说明:
-r: 如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件
举例:
cp hello.txt itcast/ 将hello.txt复制到itcast目录中
cp hello.txt ./hi.txt 将hello.txt复制到当前目录,并改名为hi.txt
cp -r itcast/ ./it/ 将itcast目录和目录下所有文件复制到itheima目录下
cp -r itcast/* ./it/ 将itcast目录下所有文件复制到itheima目录下
10. mv
作用:为文件或目录改名,将文件或目录移动到其他位置
语法: mv source dest
举例:
mv hello.txt hi.txt 将hello.txt改名为hi.txt
mv hi.txt it/ 将文件hi.txt移动到it目录中
mv hi.txt it/hello.txt 将hi.txt移动到it目录中,并改名为hello.txt
mv itcast/ it/ 如果it目录不存在,将itcast目录改名为it
mv itcast/ it/ 如果it目录存在,将itcast目录移动到it目录中
11. 打包压缩命令 tar
作用:对文件进行打包,解包,压缩,解压
语法: tar [-zcxvf] fileName [files]
包名后缀为.tar表示只是完成打包,并没有压缩
包名后缀为.tar.gz 表示打包的同时进行了压缩
说明:
-z: z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
-c: c代表的是create,即创建新的包文件
-x: x代表的是extract,实现从包文件中还原文件
-v: v代表的是verbose,显示命令的执行过程
-f: f代表的是file,用于指定包文件的名称
举例:
打包
tar -cvf hello.tar ./* 将当前目录下所有文件打包,打包后的文件名为hello.tar
tar -zcvf hello.tar.gz ./* 将当前目录下所有文件打包并压缩,打包后的文件名为hello.tar.gz
解包
tar -xvf hello.tar 将hello.tar文件进行解包,并将解包后的文件放在当前目录
tar -zxvf hello.tar.gz 将hello.tar.gz文件进行解压,并将解压后的文件放在当前目录
tar -zxvf hello.tar.gz -C /usr/local 将hello.tar.gz文件进行解压,并将解压后的文件放在/usr/local目录
12 文本编辑命令 vi&vim
作用: vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于Windows中的记事本
语法: vi fileName
说明:
1). vim是从vi发展来的一个功能更加强大的文本编辑工具,编辑文件时可以对文本内容进行着色,方便我们对文件进行编辑处理,所以实际工作中vim更加常用。
2). 要使用vim命令,需要我们自己完成安装。可以使用下面的命令来完成安装:`yum install vim`
vim
作用: 对文件内容进行编辑,vim其实就是一个文本编辑器
语法: vim fileName
说明:
1). 在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件。如果指定的文件不存在则新建文件。
2). vim在进行文本编辑时共分为三种模式,分别是 命令模式(Command mode),插入模式(Insert mode)和底行模式(Last line mode)。这三种模式之间可以相互切换。我们在使用vim时一定要注意我们当前所处的是哪种模式。
13. find 查找命令
作用: 在指定目录下查找文件
语法: find dirName -option fileName
举例:
find . –name "*.java" 在当前目录及其子目录下查找.java结尾文件
find /itcast -name "*.java" 在/itcast目录及其子目录下查找.java结尾的文件
14. grep
作用: 从指定文件中查找指定的文本内容
语法: grep word fileName
举例:
grep Hello HelloWorld.java 查找HelloWorld.java文件中出现的Hello字符串的位置
grep hello *.java 查找当前目录中所有.java结尾的文件中包含hello字符串的位置
软件安装
在Linux系统中,安装软件有四种
二进制发布包安装:软件针对具体平台编译打包发布,只要解压,修改配置即可
rpm安装:软件已经按照redhat的包管理规范进行打包,使用rpm命令进行安装,==不能自行解决库依赖问题
yum安装:一种在线软件安装方式,本质上还是rpm安装,自动下载安装包并在安装过程中自动解决库依赖问题(安装过程需要联网)
源码编译安装:软件以源码工程的形式发布,需要自己编译打包
安装软件需要配置环境变量
使用vim命令修改/etc/profile文件,在文件末尾加入如下配置
JAVA_HOME=/usr/local/你自己的jdk目录名
PATH=$JAVA_HOME/bin:$PATH
具体操作如下
1). 编辑/etc/profile文件,进入命令模式
vim /etc/profile
2). 在命令模式中,输入指令 G , 切换到文件最后
G
3). 在命令模式中输入 i/a/o 进入插入模式,然后切换到文件最后一行
i
4). 将上述的配置拷贝到文件中
JAVA_HOME=/usr/local/jdk1.8.0_301
PATH=$JAVA_HOME/bin:$PATH
5). 从插入模式,切换到指令模式
ESC
6). 按:进入底行模式,然后输入wq,回车保存
:wq
重写加载profile文件
source /etc/profile
查看系统进程,判断tomcat进程是否存在
ps -ef|grep tomcat
通过ps -ef可以查看当前运行的所有进程的详细信息,“|”管道符,将前一个命令的结果输出给后一个命令作为输入
可以通过kill -9 的形式杀死系统进程。kill结束进程的命令,-9表示强制结束
kill -9 进程号
如何操作防火墙,具体指令如下:
操作 | 指令 | 备注 |
---|---|---|
查看防火墙状态 | systemctl status firewalld / firewall-cmd --state | |
暂时关闭防火墙 | systemctl stop firewalld | |
永久关闭防火墙(禁用开机自启) | systemctl disable firewalld | ==下次启动,才生效== |
暂时开启防火墙 | systemctl start firewalld | |
永久开启防火墙(启用开机自启) | systemctl enable firewalld | ==下次启动,才生效== |
开放指定端口 | firewall-cmd --zone=public --add-port=8080/tcp --permanent | ==需要重新加载生效== |
关闭指定端口 | firewall-cmd --zone=public --remove-port=8080/tcp --permanent | ==需要重新加载生效== |
立即生效(重新加载) | firewall-cmd --reload | |
查看开放端口 | firewall-cmd --zone=public --list-ports |
注意:
A. systemctl是管理Linux中服务的命令,可以对服务进行启动、停止、重启、查看状态等操作
B. firewall-cmd是Linux中专门用于控制防火墙的命令
C. 为了保证系统安全,服务器的防火墙不建议关闭
Linux权限
Linux权限分为三种:读r,写w,执行x
Linux权限分为三级:文件所有者Owner 用户组Group 其他用户OtherUsers
只用文件所有者和超级用户可以修改文件或目录的权限
chmod命令可以使用八进制数来指定权限(0 - 代表无 , 1 - 执行x , 2 - 写w , 4 - 读r):
值 | 权限 | rwx |
---|---|---|
7 | 读 + 写 + 执行 | rwx |
6 | 读 + 写 | rw- |
5 | 读 + 执行 | r-x |
4 | 只读 | r-- |
3 | 写 + 执行 | -wx |
2 | 只写 | -w- |
1 | 只执行 | --x |
0 | 无 | --- |
三个数字分别代表不同用户的权限
-
第1位表示文件拥有者的权限
-
第2位表示同组用户的权限
-
第3位表示其他用户的权限