Linux常用命令总结
1. Linux系统的目录结构
2. Linux的命令
Linux中命令的基本格式:
命令 [选项] [参数] 个别命令不遵循该格式
当命令中有多个选项时,可以写在一起。
基本命令不遵守该格式
2.1 Linux的基本命令
#1. 我是谁
who am i
#2. 我在哪
pwd
#3. 查看ip地址
ip a|ip address
ifconfig ipconfig————Windows查看ip地址
#4. 清屏
clear
#5. 强制停止
Ctrl + C
2.2 Linux目录命令
#1. 列出目录
ls [-a|l|d] [目录名] 若目录名不填写,默认为当前目录
-a:列出全部文件,包括隐藏文件。隐藏文件是以.开头,当前目录使用.表示,上一级目录使用..表示
-l:列出全部信息[长数据串形式,包含文件的属性与权限等等]
-d:仅查看目录本身
#2. 切换目录
cd 具体路径|特殊符号
特殊符号:
. 当前目录
.. 上一级
/ 根目录
~ 当前登录用户的HOME目录
- 返回
#3. 创建目录
mkdir [-p] 目录名
-p:创建多级目录时使用
#4. 删除目录
rmdir 目录名 只能删除空目录
rm [-rf] 目录名 -r:递归 -f:不询问,直接删除。可以删除有子目录或文件的目录
#5. 复制目录
cp -r 来源目录 目标目录
-r:递归复制,必须选项
#6. 剪切|重命名
mv 目录名 新目录名|某个路径
若第二个参数不存在就是重命名。
若第二个参数存在就是剪切
2.3 Linux文件命令
#1. 创建文件
touch 文件名1 文件名2 ......
#2. 编辑文件
vi 文件名 查看文件[现处于查看模式,不能进行编辑]
i|a|o 进入编辑模式
esc 退出编辑模式
: 从查看模式进入 底命令行模式
wq:保存并退出
q!:不保存退出
#3. 查看文件
cat 由第一行开始显示文本内容
tac 从最后一行开始显示文本内容,可以看出是cat内容的倒着写
nl 显示的时候,顺道输出行号
more 可以向下翻 空格向下翻页 退出时按Q
less 可任意的向上或向下翻 PageUp和PageDown 光标↑↓
head 只看前几行
tail 只看最后几行 -f 滚动查看 tail -nf 滚动查看后n行
#4. 查找文件
find 路径 -option fileName
find . -name "*.java" 在当前目录及其子目录下查找.java结尾文件
find /home -name "*.java" 在/home目录及其子目录下查找.java结尾文件
#5. 删除文件
rm [-f] 文件名 -f:不询问,直接删除
#6. 从文件中查找指定文本内容
grep 内容 文件名
grep Hello HelloWorld.java 查找 HelloWorld.java 文件中出现Hello字符串的位置
grep Hello *.java 查找当前目录中所有.java文件中包含hello字符串的位置
2.5 Linux文件权限的修改
上图中第一个字母取值:
d 目录
- 文件
l 链接文档
b 装置文件里面的可供储存的接口设备
c 装置文件里面的串行端口设备
后面的字符,以三个为一组。由 r w x 三个参数组成,且顺序不能改变。
r 可读
w 可写
x 可执行
后续的第一个root:当前文件的拥有者
后续的第二个root:当前文件的所属组
再后续分别为:文件大小和最后修改时间等信息
如何修改权限?
使用chmod对文件的权限进行修改,一种是使用数字,一种是使用符号。
数字方式:
chmod [-R] 777 文件|目录 r:4 w:2 x:1 -R:当修改一个目录权限时,可加-R,将目录下的全部内容都修改权限。
符号方式:
略
2.4 Linux其他操作命令
#1. 进程相关操作
ps -ef 查看全部正在运行的进程 -e 显示所有进程 -f 全格式
ps -ef | grep 搜索内容
kill -9 pid 杀死进程 -9 强制
#2. 服务相关操作
systemctl start|restart| enble | disable |status|stop 服务名称
开启 重启 开机自动 禁止开机自动 状态 停止
#3. 端口号查看
nststat -naop | grep 端口号
注意:使用该命令需要先下载netstat 下载netstat命令: yum -y install net-tools
#4. 访问地址
curl 地址
类似于浏览器访问,因为Linux没有图形化。所以可用此命令。
#5. 磁盘相关命令
df 列出文件系统的整体磁盘使用量
du 检查磁盘空间使用量
#6. 解压缩命令
文件后缀为.tar 表示只是打了包,没有压缩。
文件后缀为.tar.gz 表示打包的同时还进行了压缩
tar [-zcxvf] fileName [files]
-z 表示gzip,tar后面跟z,表示可以使用gzip命令对打的包进行压缩或解压。
-c 表示create,创建包 -x 表示extract,将包还原成文件
-v 表示显示命令的执行过程
-f 表示文件,用于指定包文件名称
tar -cvf abc.tar abc.txt 表示将abc.txt打包为abc.tar
tar -zcvf abc.tar.gz abc.txt 表示将abc.txt打包为abc.tar并压缩
tar -cvf A.tar ./* 表示将当前目录下所有文件打包为A.tar
tar -zcvf A.tar.gz ./* 表示将当前目录下所有文件打包并压缩为A.tar.gz
tar -xvf abc.tar 表示将abc.tar还原成文件,并放到当前目录
tar -zxvf abc.tar.gz 表示将abc.tar.gz解压,并放到当前目录
tar -zxvf A.tar.gz -C /user/local 表示将A.tar.gz解压,并放到/user/local目录
#7. 防火墙相关
firewall-cmd --list-ports # 查看防火墙开放的端口号
netstat -ntlp #查看当前所有tcp端口号
firewall-cmd --zone=public --add-port=8080/tcp --permanent # 开放端口 --zone #作用域 --add-port=1935/tcp #添加端口,格式为:端口/通讯协议 --permanent #永久生效,没有此参数重启后失效
firewall-cmd --permanent --zone=public --remove-port=8080/tcp # 关闭端口
systemctl start/stop/disable/enable firewalld # 开启/关闭/禁用/启用防火墙 本质是操作的防火墙服务
firewall-cmd --reload # 重启防火墙
systemctl status firewalld # 查看防火墙状态
netstat -naop|grep 端口号 # 查看端口占用情况 netstat -anp | grep mysqld #查询mysql端口号
2.6 部署相关
手动部署项目:
https://www.bilibili.com/video/BV13a411q753?p=139&vd_source=61b6fb4e547748656e36b17ee95125fb
java -jar 文件 该方式会让控制台被霸占,且日志会输出到控制台。如果你退出终端,会导致该程序也停止执行。
nohub:全称:no hang up(不挂起),用于不挂断的运行指定命令,退出终端也不会导致该程序停止执行。
语法:nohup 命令 [Arg ...] [&]
Arg:参数,可以指定输出文件
&:让命令在后台运行
如:nohup java -jar hello.jar &>hello.log & 表示后台运行 java -jar 命令,并将日志输出到当前目录的hello.log文件。
shell脚本自动部署:
https://www.bilibili.com/video/BV13a411q753?p=140&vd_source=61b6fb4e547748656e36b17ee95125fb