Linux中常用命令
查看ip指令
- Centos7
ip addr
- Linux
ifconfig
- Windows
ifconfig
测试两台服务是否连通
ping IP
(如 ping www.baidu.com)
中断命令
Ctrl+C
清屏命令
clear
箭头命令(↑↓)
回到前面输入过的命令.上,向前查看;下,向后查看.
帮助说明
在每条命令的后面可以添加 -- help
显示它的帮助
复制/粘贴
- 复制 Ctrl+Insert
- 粘贴 Shift+Insert
使用SFTP实现Windows和Linux完成文件传输
1 进入SFTP窗口: Alt+p
2 上传文件:
- put path/文件名.后缀 (如 put D:\temp\123.txt)
- put -r path/文件夹
3 文件下载:
- lcd 要下载的目录路径 [换行] get 要下载的文件
- lcd 要下载的目录路径 [换行] get -r 要下载的文件夹(绝对路径)
使用rz和sz实现Windows和Linux完成文件传输
rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具。
1 安装命令
yum install lrzsz
2 使用命令
- 上传操作: rz 回车, 会弹出window窗口选择要上传的文件,确认即可.
- 下载操作: sz 文件全名称 回车 ,如 sz test.txt 回车, 会弹出window窗口选择要保存文件的路径,确认即可.
目录操作命令(cd、mkdir、ls)
cd [目录名] (注: cd后一定有空格)
.
表示当前目录..
表示上一级目录-
后退到上一次所在的目录~
进入自己的主目录,如果是管理员是root目录,普通用户是home/用户名. 不写~,只写cd,默认就是进入自己的主目录.
mkdir 目录名
创建空目录
ls 查看当前目录内容
- -l 以详细的方式显示当前目录下所有的文件和目录,可以缩写成
ll
- -a 显示所有的文件和目录,隐藏文件也显示出来 (在Linux下隐藏文件以点号开头)
目录操作命令:find、mv、cp、rm
find [目录名] [-name ‘查询字符串’]
- 无目录名 显示当前目录下所有的文件和子孙目录
- 目录名 显示指定目录下所有的文件和子孙文件
- -name ‘查询字符串’ 指定要查询的字符串,用单引号引起
- 通配符
*
匹配多个字符?
匹配一个字符
重命名mv/移动mv
- mv 旧名 新名 (对文件或目录改名)
- mv 源目录 目标目录 将一个文件或目录移动到另一个目录下
Q: mv命令什么时候是改名,什么时候是移动?
A: 如果目标目录不存在就是改名,存在就是移动
复制命令cp (copy)
cp [参数] 源文件或目录 目标目录 复制文件或目录
- -r 连同子目录一起递归复制
删除文件或目录rm (remove)
rm [参数] 文件或目录1 文件或目录2 删除文件或目录
- -r 连同子目录一起删除
- -f 删除前没有确认 (force强迫)
文件的操作:显示文件内容、创建文件
查看文件的内容的命令:cat/more/head/tail/less
- cat 文件名 一次显示整个文件所有的内容
- more 文件名 显示一屏暂停 / 回车:每次多显示一行 /空格:每次多显示一屏 /q: 退出
- head 文件名 显示前面10行
- head -n 行数 文件名 -n 指定前面显示多少行
- tail 文件名 显示后面10行
- tail -n 行数 文件名 -n 指定显示后面多少行
- less 文件名 可以前后翻页显示内容 /-N: 显示行号 /PageUP: 向前翻 /PageDown: 向后翻
less查看日志
less 文件
按键: Ctrl+G 回到文档尾部
?+ 查询的内容 回车
按 n 是往上翻页匹配的内容 Ctrl+n是往下翻页
创建文件touch
touch 文件1 文件2
- 创建一个或多个空文件,0个字节文件
vim命令 (对文件修改,保存,查看)
-
vim 文件名 (进入命令模式)
-
命令模式下按键
- i 在当前光标的前面插入字符
- a 在当前光标的后面插入字符
- o 在当前行的下面插入字符w
-
命令模式下常用的编辑命令
- yy 复制当前行
- p 粘贴
- dd 删除当前行
- u 撤销上一步操作
- /字符串 查找指定的字符串 /n:继续向后搜索 / N:继续向前搜索
- 地行模式 按冒号
- wq 存盘退出
- q! 强制退出,不存盘
- wq! 强制存盘退出,用于操作只读文件
搜索查找文件里面内容
1 通过grep命令操作
-
grep "关键字" 文件名
通过关键字查询文件中内容 -
grep "关键字" 文件名1 文件名2
通过关键字查询多个文件中内容 -
grep -n "关键字" 文件名
显示行号查询 -
grep -i "关键字" 文件名
忽略大小写查询 -
grep -c "关键字" 文件名
查找匹配的行数,返回行数数字
文件的压缩和解压命令tar
压缩文件扩展名说明:
.zip或.rar
在windows下使用比较多t的压缩格式.tar
在Linux下打包的文件格式,不压缩。.gz
Linux的一种压缩格式=.tar.gz
在Linux下既打包又压缩的格式
压缩文件
tar [参数] 压缩包名 一个或多被打包的文件
-
-c 创建一个包
-
-v 显示压缩文件的详情
-
-z 带压缩功能
-
-f <压缩文件名> 指定压缩文件名字,注:-f 后面必须指定文件名
(注:通常将f放在最后一个参数)
解压文件
tar [参数] 压缩文件 解压文件到当前目录下
tar [参数] 压缩文件 -C 目录
- -x 解压文件
- -v 显示解压的详情
- -f<压缩文件> 指定要解压的压缩包
- -C 解压到指定的目录下
其他命令
查看当前路径
pwd 显示当前所在的完整目录,知道我在哪(Print Working Directory)
查看当前登录用户
whoami 知道我是谁?
关机
shutdown now
进程ps相关
Linux进程启动的两种方式:
- 操作系统启动的时候自动启动的进程
- 由用户在终端上(命令行中)输入的进程
bash进程:
- 每个用户登录以后都会分配一个终端操作的进程
- 这个进程是所有终端命令的父进程bash,不要随意终止这个进程
PS查看进程相关信息:
ps 参数
- 无参 显示当前用户通过终端启动的进程
- -a 显示所有用户通过终端启动的进程
- -u 显示所有用户通过终端启动的进程的详细信息
- -x 显示所有用户的所有进程
参数说明:
- CMD正被执行的命令的名称
- PID:进程ID
- USER:用户名
kill终结进程命令
kill [参数] 进程号
- 进程号 数字号PID
- -9 强行终止,比较要将某个用户踢出去
grep命令
grep是一种强大的文本搜索工具,它能使用字符串搜索文本,并把匹配的行和行号打印出来.
命令 | 说明 |
---|---|
find | 查找文件和目录 |
grep | 查找文件内容,查找指定的内容,过滤掉多余的内容,只显示匹配的内容 |
grep [参数] 字符串 文件名 在指定的文件中查找指定的字符串
参数 | 说明 |
---|---|
-i | 忽略大小写 |
-c | 只输出匹配行的数量 |
-l | 只列出符合匹配的文件名,不列出具体的匹配行 |
-n | 列出所有的匹配行,显示行号 |
-h | 查询多文件时不显示文件名 |
-s | 不显示不存在、没有匹配文本的错误信息 |
-v | 显示不包含匹配文本的所有行 |
-w | 匹配整词 |
-x | 匹配整行 |
-r | 递归搜索 |
-q | 禁止输出任何结果,已退出状态表示搜索是否成功 |
-b | 打印匹配行距文件头部的偏移量,以字节为单位 |
-o | 与-b结合使用,打印匹配的词据文件头部的偏移量,以字节为单位 |
管道 |
命令1 | 命令2 将第1条命令执行的结果做为第2条命令执行的条件
(如:查询当前目录下,所有带aa的文件: ll | grep aa)
系统服务
systemctl 操作 服务名
- systemctl start network 开启网络服务
- systemctl stop network 关闭网络服务
- systemctl restart network 关闭以后马上开启网络服务
- systemctl status network 显示网络服务状态
设置服务开机自启
systemctl list-units \*.service
显示目前已经加载的服务
- systemctl enable 服务名 设置开机自启动
- systemctl disable 服务名 关闭开机自启动
主机名的修改
- hostname 显示当前的主机名
- hostname 新主机名 临时修改主机名,重启后就还原了
- hostnamectl set-hostname 新主机名 永久修改主机名
查看网络进程: netstat [参数]
- 无参 显示当前所有访问网络的进程
- -n number 显示进程访问的IP地址和端口号
- -t tcp 只显示TCP协议的进程(过滤)
- -l listener 只显示正在监听中进程
- -p programs 显示进程的PID和名字
防火墙配置:
- systemctl start firewalld 开启防火墙服务
- systemctl stop firewalld 关闭防火墙
- systemctl enable firewalld 开机自启动防火墙
- systemctl disable firewalld 关闭开机自启动防火墙
- systemctl status firewalld 显示防火墙当前状态
firewall-cmd
- –zone=public public: 开放公共网络,如果不指定这个参数,默认public. internal: 开放专用或内部网络
- –add-port=端口/tcp 在防火墙中开放指定的端口,这个端口的程序是可以被外网访问的
- –remove-port=端口/tcp 从防火墙规则中移出指定的端口号,这个端口将不再被访问
- –permanent 永久开放端口号
- –list-all 显示所有已经打开的端口号
- –reload 重新加载防火墙的规则,让新规则起作用
# 永久开放443端口,添加到公开区域,允许外部连接
firewall-cmd --zone=public --add-port=443/tcp --permanent
# 重新加载防火墙的规则
firewall-cmd --reload
# 显示防火墙规则: 显示所有已经打开的端口号
firewall-cmd --list-all
SSH口令方式登录
- 1 普通用户名和密码的登录方式
- ssh ip(服务器地址 ,登录相应的主机 需要登录密码)
- 2 免密登录,不输出密码来登录多台服务器
ssh-keygen
在客户端在生成一对公钥和私钥ssh-copy-id
服务器地址 将公钥发送给服务器
Q: 如果要去掉免密登录如何处理?
A: 删除服务器上的公钥就可以了.
SpringBoot项目启动方式
-
前台启动: jar -jar jar包名
-
后台启动:
- nohup java -jar jar包名> web.log &
- (nohup: ignoring input and redirecting stderr to stdout)
- tail -f web.log