重启电脑
service network restart
立即关机
shutdown -h now
1分钟过后关机
shutdown -h 1
立即重启
shutdown -r now
关机
halt
在关机之前保存内容
sync
注销当前用户
logout
查看软件下载的位置
whereis 软件名
查看本机的网卡信息
ifconfig
显示当前目录下的文件夹
ll
横着显示文件夹里的文件
ls
竖着显示文件夹里的文件
ls -l
竖着显示并且带有隐藏文件
ls -al
查看当前本机用户名
whoami
当前目录
./
上一级目录
../
切换目录
cd
查看当前某个进程
ps -ef|grep 软件名
执行退出
exit
查看目录/文件当前路径
pwd
切换用户
su root
清屏
clear
帮助命令
# 方式1:按Q键退出
man ls
# 方式2:查看内部命令
help cd
# 方式3:查看外部命令
ls --help
# 方式4
info
文件操作
1. 创建目录: mkdir 目录
2. 创建多级目录: mkdir -p 目录1/目录2/目录3/....
3. 删除目录: rmdir 目录名
4. 强制删除目录: rm -rf 目录
5. 创建txt格式的文件: touch 文件名.txt ..... --- 一次性可创建多个文件
6. 复制文件: cp -a 文件名 相对路径or绝对路径
7. 把原目录复制到新目录: cp -r 原目录 新目录 --- 如果存在就强制覆盖
8. 删除文件或者目录: rm 文件 / 目录
9. 重命名: mv 原文件名 新文件名
10-0. 移动目录到某个位置: mv 文件名 /路径
10-1. 把当前目录下的所有目录文件移动到指定路径下:mv * /路径
11. 查看文件内容<.txt>: cat 文件
12. 显示行号查看文件内容: cat -n 文件名
13. 分页查看文件内容: cat -n 文件 | more
-- 按空格键:下一页
-- 按回车键:查看下一行
-- 按q:退出分页模式
-- Ctrl+F:向下滚动一屏
-- Ctrl+8:返回上一屏
-- =:输出当前行的行号
-- :f: 输入文件名和当前行的行号
-- 全凭的方式打开文件内容: more 文件
14. less 文件名: 与 more 相似,更好的是可以往前翻页
15. tail -n 文件名: 仅查看尾部,还可以指定行数
16. head -n 文件名: 仅查看头部,还可以指定行数
17. 向屏幕输出带空格的字符串: echo hello world
18. 查看文件里指定前多少行的内容: head -n 数字 文件
19. 查看文件里指定后多少行的内容: tail -n 数字 文件
20. 跟踪文件: tail -f 文件<.txt>格式
21. 压缩: gzip 文件
22. 解压: gunzip 文件.gz
23. 对该路径下所有文件压缩成(自己命名).zip: zip -r (自己命名).zip /路径 或者 /*
24. 把该压缩文件解压到指定路径: unzip -d 路径 已有的压缩文件(.zip格式)
25. 压缩文件: tar xzf 文件.gz.tar
26. tar -zcvf xxxx.tar.gz 文件1+空格+文件2..:把文件1和文件2甚至更多文件打包压缩为xxxx.tar.gz
27. tar -zcvf xxxx.tar.gz 路径/*:压缩该路径下的所有文件进行整体打包为 xxxx.tar.gz
28. tar -zxvf 已有的的解压文件.tar.gz:解压当前目录
29. tar -zxvf 已有的的解压文件.tar.gz -C 路径:把打包压缩的文件解压到该路径下
30. 查看文件有多少行:wc -l 文件名
31. 打包:tar cjf xxx.tar.gz 解压后存放的路径
vi和vim
就是一个文本编译器,而vim是vi的增强版
- 正常模式
- 命令模式
- 退出保存:ZZ
- 代码格式化:gg=G(即连续按2个g,再按=,再按G)
- 上、下、左、右:方向键或者k、j、h、l
- 跳到文件头部:gg
- 跳到文件尾部:G
- 跳到某行行尾:$
- 跳转到某行开头:行号+G(比如跳到200行开头->200G)
- 跳转到某行末尾:行号+$(比如跳到200行末尾->200$)
- 向下移动n行:行号+回车
- 撤销:u
- 反撤销:ctrl+r
- 删除光标后面的字符:x
- 删除光标前面的字符:X
- 删除一个单词:dw(注意保证光标在单词的最前面,不然只能删除光标后面的部分)
- 删除当前行光标前面部分:d0
- 删除当前行光标后面部分:D或者d$
- 删除当前行(整行):dd
- 删除多行:ndd(如10dd,即从当前位置起,往下删除10行(包括当前行)
- 删除当前位置后面的所有内容:dG(包括当前行)
- 删除当前位置前面的所有内容:dgg(包括当前行)
- 复制当前行:yy
- 粘贴复制内容:p(当前行下一行);P(当前行上一行)
- 复制多行:nyy(如3yy,即从当前位置起,往下复制3行(包括当前行)
- 替换当前字符(单个):输入r,然后在输入要替换的字符
- 替换当前字符(多个):输入R,然后在输入要替换的字符
- 显示行数:set nu
- 进入编辑模式
- a:从光标后面开始插入
- A:会跳到行尾并从光标后面开始插入
- i:从光标前面开始插入
- I:会跳到行首并从光标前面开始插入
- o:会在光标下一行新建空白行插入
- O:会在光标上一行新建空白行插入
- s:删除光标盖住的字符开始插入
- S:删除光标所在行后开始插入
- 按Esc键:回到命令模式
- set nu:添加行号
- set nonu:取消行号
- 查找内容::/+你要查的内容
- s/old/new:如:s/exit/quit,将exit替换为quit(只替换当前行第一处)
- s/old/new/g:文本替换(替换当前行全局)
- 10-20s/old/new/g:范围行内替换
- %s/old/new/g:当前文件内进行替换
添加用户
useradd 用户名
查询用户信息
id 用户名
添加用户到指定的位置
useradd 用户名 -d 指定的目录地址
给已添加的用户设置密码
[root@rabbit ~]# passwd test
更改用户 test 的密码 。
新的 密码: 123456(密码不会被看到)
无效的密码: 密码少于 8 个字符
重新输入新的 密码: 123456(密码不会被看到)
passwd:所有的身份验证令牌已经成功更新
删除用户,会保留家目录
userdel 用户名
彻底删除用户
userdel -r 用户名
添加用户组
groupadd 组名
删除用户组
groupdel 组名
创建用户名+指定组
useradd -g 组名 用户名
修改用户组
usermod -g 新用户组 用户名
修改文件所有者
chown 用户名 文件名
通过递归的方式修改文件所有者: chown -R 用户 目录<包括该该目录下的所有子目录所有者>
修改文件所在组
chgrp 所指定的组名 要修改的文件名
通过递归的方式修改文件所有组: chgrp -R 用户 目录<包括该该目录下的所有子目录所有组>
文件类型
1. - : 表示普通文件
2. d : 表示目录
3. l : 表示软连接
4. c : 表示字符设备
5. l : 符号连接
6. f : 命名管道
7. s : 套接字文件
8. b : 块文件
9. rw : 表示文件所有者拥有的权限,有读写的权限
10. r-- : 文件所在组,root组
11. 后面r-- : 表示文件其他组的用户权限
12. rwx: 表示有读写和执行的权限
字符权限表示方法
1.r=读
2.w=写
3.x=执行
数字权限表示方法
1. r=4
2. w=2
3. x=1
4. 比如:chmod 755 文件名
权限参数
1. u: 表示所有者
2. g: 表示所有组
3. o: 表示其他人
4. a: 表示所有用户,是所有组,其他人的结合
5. chmod u=rwx,g=rx,o=x 文件名 : 修改该文件的所有者拥有读写可执行的操作,所有组拥有读写的操作,其他人拥有可执行的权限
6. chmod o+w 文件名: 给其他人添加写的权限
7. chmod a-x 文件名: 给所有者,组,其他人减去可执行的操作
开放端口
firewall-cmd --permanent --zone=public --add-port=端口号/tcp
systemctl restart firewalld
关闭/删除防火墙
systemctl stop firewalld / systemctl disable firewalld
把指定内容写入到文件中
echo 内容 > 文件
替换
echo "替换后新的内容" >> 文件
查看某个端口是否存在
查看某个端口是否存在: lsof –i:端口号
查看服务器的内存大小
free -m
显示日历
cal
显示该年的日历
cal 年份
查看环境变量
echo $path
查看用过的指令
history
查看用过的10个指令
history 10
在history查出指令后,执行历史编号为多少的指令
!数字
显示当前时间信息
date
查看年月日信息
date “+%Y-%m-%d”
查看年月日时分秒信
date “+%Y-%m-%d %H:%M:%S”
修改系统时间
date -s “时间”
查找该路径下的按名字查看文件
find 路径 -name 文件名(.txt)
按路径查找用户
find 路径 -user 用户
把原本的文件去掉注释,并且复制到新的文件中
cat sentinel.conf |grep -v "#" | grep -v "^$" >> redis-sentinel-26379.conf
grep -v "#" filebeat.yml | grep -v "^$"
把该文件的某些内容替换后克隆一份到新的文件中
# 比如
[root@rabbit config]# sed ‘s/6379/6383/g‘ redis-6379.conf > redis-6383.conf
软件包管理器
centos、RedHat使用yum包管理器,软件安装包格式为rpm
Debian、Ubuntu使用apt包管理器,软件安装包格式为deb
rpm安装方式
-i : 安装软件包
-q : 查询软件包
-e : 卸载软件包
阿里云镜像站
https://opsx.alibaba.com/mirror?lang=zh-CN
# 查看yum源
vim /etc/yum.repos.d/CentOS-Base.repo
yum安装方式
# 安装
yum install 软件包
# 卸载
yum remove 软件包
# 查看软件包
yum list 软件包
# 升级软件包
yum update 软件包
源代码编译安装方式
# 例子
wget http://download.redis.io/releases/redis-5.0.6.tar.gz
tar xzf redis-5.0.6.tar.gz
cd redis-5.0.6
./configure
make && make install
内核
查看内核版本
uname -r
kernel
# 安装拓展软件包
yum install epel-release -y
# 安装kernel内核版本
yum install kernel
查看当前终端下的进程状态
ps
查看不同的终端
ps -e|more
显示某个线程的信息
ps -ef|grep 线程名
查询进程信息和系统信息
top
杀死进程
kill -9 pid
查看内存使用率
[root@rabbit ~]# free
# 以多少兆的方式显示
[root@rabbit ~]# free -m
# 以多少T的方式显示
[root@rabbit ~]# free -g
查看磁盘
fdish -l
parted -l
df -h
服务器和服务器之间的传递文件
scp /var/lib/rabbitmq/.erlang.cookie root@192.168.182.129:/var/lib/rabbitmq/
精准查看节点
ps aux|grep -i elasticsearch|grep 5200|grep node01
查看所有进程
jps
rsync远程同步工具
主要是备份和镜像。具有速度快、避免复制相同内容等优点
rsync和scp的区别:rsync是做文件复制要比scp的速度快,只对差异文件做更新
rsync -rvl /opt/test.txt node02:`pwd`
系统定时任务
启动
systemctl start crond.service
语法
选项 | 功能 |
---|---|
-e | 编辑crontab定时任务 |
-l | 查询crontab任务 |
-r | 删除当前用户所有的crontab任务 |
-u | 设置某个用户的任务 |
-i | 打印提示 |
crontab [参数]
执行任务
项目 | 含义 | 范围 |
---|---|---|
第一个 "*" | 一个小时中的第几分钟 | 0-59 |
第二个 "*" | 一天中的第几个小时 | 0-23 |
第三个 "*" | 一个月当中的第几天 | 1-31 |
第四个 "*" | 一年当中的第几月 | 1-12 |
第五个 "*" | 一周当中的星期几 | 0-7 |
特殊符号
特殊符号 | 含义 |
---|---|
* | 代表任意时间都会执行一次 |
, | 代表不连续的时间,比如 "0 8,12,16 * * *",代表每天的8:00,12:00,16:00 |
- | 代表连续的时间,比如 "0 5 * *",范围1-6,表示周一到周六的凌晨5:00 |
*/n | 每个多少分钟执行一次 |