-
Linux 是一套免费使用和自由传播的作系统
不同应用领域的主流操作系统
-
桌面操作系统
-
Windows
-
Mac OS
-
Linux
-
-
服务器操作系统
-
UNIX (安全,稳定,付费)
-
LINUX (安全,稳定,免费,占有率高)
-
Windows Server(付费,占有率低)
-
-
移动设备操作系统
-
Android (基于Linux,开源,主要用于智能手机,平板电脑和智能电视)
-
iOS(苹果公司开发的,不开源,用于苹果公司的产品)
-
-
嵌入式操作系统
-
Linux(机顶盒,路由器,交换机)
-
Linux系统版本
-
内核版
-
由Linus Torvalds 及其团队开发,维护
-
免费,开源
-
负责控制硬件
-
-
发行版
-
基于Linux内核版进行扩展
-
由各个Linux 厂商开发,维护
-
有收费版和免费版本
-
-
Linux系统发行版
-
Ubntu: 以桌面应用为主
-
RedHat :应用最广泛,收费
-
CentOS :RedHat 的社区版,免费
-
opentSUSE:对个人完全免费,图像界面华丽
-
Fedora :功能完备,快速更新,免费
-
红旗Linux:北京中科红旗软件技术有限公司开发
-
Linux系统安装方式
-
物理机安装 :直接将操作系统安装到服务器硬件上
-
虚拟机安装 :通过虚拟机软安装:通过虚拟机软件来模拟计算机硬件
-
虚拟机:只通过软件模拟的具有完整硬件系统功能,运行在完全隔离环境中的完整计算机系统
-
VMWare
-
Linux 系统中的目录
-
/ 是所有目录的顶点
-
目录结构像一颗倒挂的树
Linux命令
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
1 | ls | list | 查看当前目录下的内容 |
2 | pwd | print work directory | 查看当前所在目录 |
3 | cd | change directory | 切换目录 |
4 | touch | touch | 如果文件不存在,新建文件 |
5 | mkdir | make directory | 创建目录 |
6 | rm | remove | 删除指定文件 |
-
Linux命令使用技巧
-
Tab 键自动补全
-
连续两次Tab键,给出操作提示
-
使用上下箭头快速调出曾经使用过的命令
-
使用clear 或者Ctrl+l 快捷键清屏
-
文件目录操作命令 ls
-
语法:ls [-al] [dir]
-
-a 显示所有文件及目录,包括(.开头的隐藏文件也会列出来)
-
-l 除文件名称外,同时将文件形态(d表示目录,-表示文件),权限,拥有者,文件大小等详细信息
-
ls -l 简写方式双 ll
文件目录操作命令cd
-
~ 表示用户的home目录 cd ~
-
. 表示目前所在的目录
-
.. 表示目前目录位置的上级目录 cd ..
-
cd /user/local 目录切换
文件目录操作命令 cat
-
显示文件内容
-
cat [-n] fileName
-
-n : 对输出的行数从0开始编号
-
cat -n /etc/profile 查看/etc 目录下的profile文件内容
文件目录操作命令more
-
以分页的形式显示文件内容
-
more fileName
-
回车键 向下滚动一行
-
空格键 向下滚动一屏
-
b 返回上一屏
-
q或者 Ctrl +C 退出more
-
举例:more /etc/profile 以分页的形式显示/etc目录下的profile文件内容
文件目录操作命令 tail
-
作用:查看文件末尾的内容
-
tail [-f] fileName
-
-f :动态读取文件末尾内容并显示,通常用于日志文件的内容输出
-
举例: tail /etc/profile 显示末尾10行数据
-
tail -20 /etc/profile 显示末尾20行数据
-
tail -f /itcast/my.log 动态读取my.log文件末尾内容并显示
文件目录操作命令 mkdir
-
mkdir [-p] dirName
-
-p : 确保目录名称存在,不存在的就创建一个,通过此选项可以实现多层目录同时创建
文件目录操作命令 rmdir
-
作用:删除空目录
-
rmdir [ -p ] dirName
-
-p : 当子目录被删除后使父目录为空目录的话,则一并删除
-
例:
-
rmdir itcast 删除名为itcast的空目录
-
rmdir -p itcast/test 删除 test目录,如果使itcast为空的话,itcast也一并删除
-
rmdir itcast* 删除名称以itcast开始的空目录
-
文件目录操作命令 rm
-
作用:删除文件或者目录
-
语法: rm [-rf] name
-
-r : 将目录及目录中的文件(目录)逐一删除,即递归删除
-
-f :无需确认,直接删除
-
例子:
-
rm -r itcast/ 删除名为itcast的目录和目录中的所有文件,删除前需要确认
-
rm -rf itcast / 无需确认
-
rm -f hello.txt 无需确认,直接删除文件
-
拷贝移动命令 cp
-
作用:用于复制文件或者目录
-
语法: cp [ -r] source dest
-
-r : 如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件
-
cp hello.txt itcast/
-
cp hello.txt ./hi.txt 将文件复制到当前目录,并改名为hi.txt
-
cp -r itcast/ ./itheima/ 将itcast 目录和目录下的所有文件复制到ithima目录下
-
cp -r itcast/* ./itheima/ 将itcast目录下所有文件复制到itheima目录下(itcast目录不会被复制)
拷贝移动命令 mv
-
作用:为文件或者目录改名。或者将文件或者目录移动到其它位置
-
语法: mv source dest
-
mv hello.txt hi.txt 将hello.txt 改名hi.txt
-
mv hello.txt itheima/ 将hello.txt 移动到itheima/目录下
-
mv hi.txt itheima /hello.txt 将hi.txt 移动到itheima 下并改名hello.tx
-
mv itcast/ itheima/ 如果 itheima/ 目录不存在,将itcast改名为itheima
-
mv itcast/ itheima/ 如果 itheima存在,则将 itcast目录移动到itheima中
打包压缩命令 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 itcast.tar itcast 打包 /
-
tar -cvf itcast.tar ./* 打包到当前目录,文件名itcast.tar
-
tar -zcvf itheima.tar.gz itheima 打包并压缩 itheima.tar.gz 打包压缩后的名字 itheima是要操作的文件名
-
tar -zcvf itheima.tar.gz ./* 到当前文件,名字itheima.tar.gz
-
tar -xvf itcast.tar 解包 到当前目录
-
tar -zxvf itheima.tar.gz 解包解压 到当前目录
-
tar -zxvf itheima.tar.gz -C /user/local 指定文件放在/user/local 下
-
文本编辑命令 vi/vim
-
作用:vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似记事本
-
语法:vi fileName
-
vim是从vi发展来的一个功能更加强大的文本编辑工具,在编辑文件时可以对文本内容进行着色,方便我们对文件进行编辑处理,所以实际工作中vim更加常用
-
要使用vim命令,需要我们自己完成安装。
-
安装命令:yum install vim
-
Shift +g 到文件最底层
-
说明:
-
在使用vim命令编辑文件时,如果指定文件存在则直接打开,不存在则新建文件
-
vim在进行文本编辑时共分为三种模式。这三种模式之间可以互相切换,我们使用的时候一定要注意当前所在的模式
-
命令模式
-
命令模式下可以查看文件内容,移动光标(上下左右箭头,gg,G)
-
通过vim命令打开文件后,默认进入命令模式
-
另外两种模式需要首先进入命令模式,才能进入彼此
-
-
插入模式
-
插入模式下可以对文件内容进行编辑
-
在命令模式下按下[i,a,o]任意一个,可以进入插入模式。进入插入模式后,下方会显示insert字样
-
再插入模式下按下ESC,回到命令模式
-
-
底层模式
-
可以通过命令对文件进行查找,显示行号,退出等操作
-
在命令模式下按下[:,/] 任意一个,可以进入底层模式
-
通过/方式进入底层模式后,可以对文件内容进行查找
-
通过 :方式进入底层模式后,可以输入wq(保存退出),q!不保存退出,set nu(显示行号)。
-
-
-
查找命令 find
-
作用:在指定目录下查找文件
-
语法:find dirName -option fileName
-
例子:
-
find . -name ".java" 在当前目录及其子目录下按照 文件名 查找.java结尾文件
-
find /itcast -name “ .java” 在itcast目录及其子目录下查找.java结尾文件
-
查找命令 grep
-
作用:从指定文件种查找指定的文本内容
-
语法:grep word fileName
-
例子:
-
grep Hello HelloWorld.java 查找HelloWorld.java 文件中出现的Hello字符串的位置
-
grep hello *.java 查找.java 文件中出现的Hello字符串的位置
-
查看进程 ps
-
ps -ef 查看所有进程的详细信息
-
ps -ef|grep tomcat
-
“|” 管道符 ,可以将前一个命令的结果输出给后一个命令作为输入
-
使用ps命令查看进程,管道符和grep 结合使用,查看特定进程
防火墙操作
-
firewall-cmd --zone=public --add-port=8080/tcp --permanent 开放指定端口
-
firewall-cmd --zone=public --remove-port=8080/tcp --permanent 关闭指定端口
-
firewall-cmd --state 查看防火墙状态 或者 systemctl status firewalld
-
systemctl start firewalld 开启防火墙
-
systemctl disable firewalld 永久关闭防火墙
-
firewall-cmd --reload 立即生效
-
firewall-cmd --zone=public --list-ports 查看端口
安装tomcat
-
停止tomcat服务
-
运行 sh shutdown.sh ./shutdown.sh
-
结束taomcat进程
-
查看tomcat进程 id 执行kill -9 id
-
-9 表示强制结束
安装mysql
-
检测当前系统是否安装了Mysql
-
rmp 是红帽Linux用于管理和安装软件的工具
-
rpm -qa 查询系统中安装的所有软件
-
rpm -qa | grep mysql
-
rpm -qa | grep mariadb
-
Centos7 自带mariadb 会和mysql冲突
-
卸载:rpm -e --nodeps 软件名称
-
安装rpm :rpm -ivh 软件名称
-
yum update :更新现有的软件和系统内核
启动mysql 默认名 mysqld
-
systemctl status mysqld
-
systemctl start mysqld 启动mysql服务
-
systemctl enable mysqld 开机启动mysql服务
-
netstat -tunlp 查看已经启动的服务
-
netstat -tunlp | grep mysql
-
ps -ef | grep mysql
登录mysql
-
cat /var/log/mysqld.log 查看文件内容
-
cat /var/log/mysqld.log | grep password 查看文件内容中包含password的行信息
-
set global validate_password_length=4;
-
set global validate_password_policy=LOW;
-
set password = password('root'); 设置密码
-
grant all on. to 'root'@'%' identified by 'root'; 访问权限
-
flush privileges; 刷新,立即生效
安装 lrzsz
-
作用:上传和下载
-
yum list lrzsz
-
yum install 文件名
-
命令 :rz
手工部署项目
项目部署 nohup
-
语法格式:nohup Command [Arg...] [&]
-
Arg :一些参数 ,可以指定输出文件
-
& :让命令在后台执行
后台运行:nohup java -jar boot工程.jar &>hello.log &
关闭项目:
-
使用杀进程的方式
-
查找进程id : ps -ef | grep java
-
使用shell脚本自动部署项目
-
操作步骤:
-
在Linux中安装Git
-
在Linux中安装maven
-
编写Shell脚本(拉取代码,编译,打包,启动)
-
为用户授予执行Shell脚本的权限
-
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码