- 查看系统版本
使用hostnamectl命令检查。hostnamectl显示了CentOS的版本以及操作系统的相关信息,非常方便
设置linux机器别名称 hostnamectl set-hostname 机器别名 --static
华为云 centos 命令:lsb_release -a
linux:cat /proc/version
查看进程路径
Linux在启动一个进程时,系统会在/proc下创建一个以PID命名的文件夹,在该文件夹下会有我们的进程的信息,其中包括一个名为cwd的文件即记录了绝对路径,通过ll或ls –l命令即可查看。
ll /proc/PID
cwd符号链接的是进程运行目录;
exe符号连接就是执行程序的绝对路径;
cmdline就是程序运行时输入的命令行命令;
environ记录了进程运行时的环境变量;
fd目录下是进程打开或使用的文件的符号连接。
2.查看libcurl版本
rpm -qa |grep curl
3.查询大文件日志
find . -type f -size +800M -print0 | xargs -0 du -h | sort -nr
find过滤掉没有查看权限的文件
find / -name *opencv* 2>/dev/null
注:/dev/null是一个特殊的设备文件,这个文件接收到任何数据都会被丢弃。null这个设备通常也被称为位桶(bit bucket)或黑洞。
所以,2>/dev/null的意思就是将标准错误stderr删掉。
Shell会自动为我们打开和关闭0、1、2这三个文件描述符,我们不需要显式地打开或关闭它们。标准输入是命令的输入,默认指向键盘;标准输出是命令的输出,默认指向屏幕;标准错误是命令错误信息的输出,默认指向屏幕。
du -h --max-depth=1|grep G|sort -n
查看磁盘大小
使用命令:du -sh * 可以查看当前目录下各个文件及文件夹占用空间
执行以下命令,查看硬盘使用率。
df -h
对根目录下文件夹进行大小排序
切到根目录下,使用以下命令进行排序:
du -h --max-depth=1|grep G|sort -n
对根目录下的目录超过1G的进行排序,前提是切cd到根目录下
执行以下命令,查找占用空间较大的目录。
du -x --max-depth=1 | sort -n
检查文件系统是否 inode 满
执行以下命令,查看硬盘使用率。
df -i
定位硬盘使用率较高的挂载点,并执行以下命令进入该挂载点。
cd 对应挂载点
例如,如需 cd 系统盘挂载点,则执行 cd /。
执行以下命令,查找文件个数最多的目录,解决该问题。该命令较耗时,请耐心等待。
find / -type f | awk -F / -v OFS=/ '{$NF="";dir[$0]++}END{for(i in dir)print dir[i]" "i}' | sort -k1 -nr | head
检查 df du 是否不一致
解决进程占用文件句柄问题
执行以下命令,查看占用文件的进程。
lsof | grep delete
请根据返回结果,执行以下步骤:
kill 对应进程。
重启服务。
若较多进程占用文件句柄,可重启服务器。
/usr/sbin/lsof|grep deleted
用lsof检查后才发现原因是,有文件被删除,而进程还活着,因而造成还占用空间的现象。因此,需要把这些僵尸进程删除掉,命令如下:
lsof | grep delete | awk -F ' ' '{ print $2}'|xargs kill -9
统计目录每日大小并记录到文件
du -sh /opt/ | awk '{ print $0"\t" strftime("%Y-%m-%d %H:%M:%S",systime()) } ' >> /home/appman/size.txt
删除当前运行内核之外的其他所有内核
yum remove kernel
安装内核相应包
uname -a #查看内核版本等信息
- 首先使用命令uname -r得到自己的内核版本
- 然后访问网站下载两个包http://debuginfo.centos.org/7/x86_64/
例如,内核版本3.10.0-862.14.4.el7.x86_64就下载如下两个包
kernel-debuginfo-3.10.0-862.14.4.el7.x86_64.rpm
kernel-debuginfo-common-x86_64-3.10.0-862.14.4.el7.x86_64.rpm
- 注意,如果你的内核没有更新,和镜像的版本一致,直接使用光盘镜像的包即可
- 开始安装
yum localinstall kernel-debuginfo-*
OpenSSL
查看当前安装的openssl版本:rpm -qa | grep openssl
1. 查看当前安装的openssl版本:
rpm -qa | grep openssl
- 卸载openssl:yum remove openssl
#指定对应版本进行卸载 yum -y remove openssl-1.1.1g-15.el8_3.x86_64
3. 确认是否卸载成功:
rpm -qa | grep openssl
检查 SSL 证书是否正确安装
openssl s_client -connect 域名:443 -showcerts
用户添加到组
usermod 示例 – 将一个已有用户增加到一个已有用户组中
将一个已有用户 cnzhx 增加到一个已有用户组 apache 中,使此用户组成为该用户的附加用户组,可以使用带 -a 参数的 usermod 指令。-a 代表 append, 也就是将用户添加到新用户组中而不必离开原有的其他用户组。不过需要与 -G 选项配合使用:
# usermod -a -G apache cnzhx
如果要同时将 cnzhx 的主要用户组改为 apache,则直接使用 -g 选项:
# usermod -g apache cnzhx
删除用户
需要做到一下几步
1、rm -rf 命令把当前/home 目录下的用户名删除
2、userdel +用户名删除 (会出错,需要使用3的指令)
3、用userdel -f 命令强制删除用户名
4.再用useradd 创建用户就ok了
如果不能添加,查看/etc/group文件看看有没有这个用户。
(useradd -g work work)
用户
whoami 命令来查看当前用户
exit 命令切换回原始用户的帐户
压缩/解压文件
tar
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
压缩
tar –cvf jpg.tar *.jpg 将目录里所有jpg文件打包成tar.jpg
tar –czf jpg.tar.gz *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg rar格式的压缩,需要先下载rar for linux
在CentOS中,如果你想要压缩一个目录但排除某些子目录,你可以使用tar命令结合--exclude参数来实现。以下是一个示例,它会压缩/path/to/directory但排除了名为exclude_this_dir的子目录:
tar -czf archive_name.tar.gz --exclude=exclude_this_dir /path/to/directory
zip jpg.zip *.jpg zip格式的压缩,需要先下载zip for linux
zip -r myfile.zip ./*
将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.
解压
tar –xvf file.tar 解压 tar包
tar -xzvf file.tar.gz 解压tar.gz
tar -xjvf file.tar.bz2 解压 tar.bz2
tar –xZvf file.tar.Z 解压tar.Z
unrar e file.rar 解压rar
unzip file.zip 解压zip
5.清除系统日志文件
ls *2020-09* |awk 'NR>1 {print "echo > " $NF}'|sh 清空2020-09月份日志文件
清空单个文件日志 cat /dev/null > /var/log/messages
echo " " > catalina.out
若删除了日志,实际进程还在占用,需要重启日志相关服务;
sudo service rsyslog restart
sudo service filebeat restart
定时任务:
service crond status
sudo service crond start
释放内存 1.sync 2.echo 3 > /proc/sys/vm/drop_caches
切换账户
sudo 一般加的是命令
sudo -i root与sudo - root、sudo -i ,sudo - ,sudo root效果相同 提示输入密码时该密码为当前账户的密码 要求执行该命令的用户必须在sudoers中才可以 su需要的是切换后账户的密 用法为“su 账户名称”
sudo : 暂时切换到超级用户模式以执行超级用户权限,一般指的是root用户,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。不过有时间限制,Ubuntu默认为一次时长15分钟。
su :切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“su 账户名称”。如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。没有时间限制。
sudo -i: 为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。提示输入密码时该密码为当前账户的密码。没有时间限制。执行该命令后提示符变为“#”而不是“$”。想退回普通账户时可以执行“exit”或“logout” 。要求执行该命令的用户必须在sudoers中才可以
sudo -i 直接运行sudo命令加-i参数,要求执行该命令的用户必须在sudoers中才可以
sudo su 运行sudo命令给su命令提权,运行su命令。要求执行该命令的用户必须在sudoers中才可以。
给普通用户授权某目录/文件权限
sudo setfacl -R -m user:appman:rwx /var/log 给用户appman授予/var/log目录rwx权限
-R :递归配置 acl ,亦即包括次目录都会被配置起来
查看文件或者文件的权限
在命令行使用命令“ll”或者“ls -a”
改变文件夹及所有子文件(夹)所属用户和用户组
chown -R jay:fefjay my #修改文件所属用户为jay,所属用户组为fefjay
Vi编辑器
vi 编辑器中跳到文件的第一行:
a 输入 :0 或者 :1 回车
b 键盘按下 小写 gg
vi 编辑器跳到文件最后一行:
a 输入 :$ 回车
b 键盘按下大写 G
c 键盘按 shift + g (其实和第二种方法一样)
vi命令删除全部内容
在命令模式下,输入:.,$d 一回车就全没了。
表示从当前行到末行全部删除掉。
用gg表示移动到首行
vi命令搜索文件内容
按下”/“键,这时在状态栏(也就是屏幕左下脚)就出现了 “/” 然后输入你要查找的关键字敲回车就可以了。
找到相关文字以后:
(1)按下小写n,向下查找
(2)按下大写N,向上查找
netstat -aptn查看所有开启的端口号
netstat -ntpl 查看端口进程
查看服务端口
例如:rabbitmq端口 命令:netstat -lnp |grep beam
Tomcat端口 命令:netstat -lnp |grep Java
lsof -i:端口号 没有任何输出则说明没有开启该端口号
1.ps -ef|grep tomcat
查看运行的Tomcat 服务,获取 PID
2.第二步,根据 PID ,查找端口号
netstat -antup |grep LISTEN | grep PID | awk -F ':' '{if($4<20000) {print $4}}'
centos系统查看端口是否开放的方法是:1、执行命令【yum install -y telnet】安装telnet工具;2、执行命令【telnet ip port】查看端口是否开放
退出telnet
(1) Ctrl + ] (2) 输入问号然后回车,可以查看帮助; 输入close或quit然后回车,可以退出telnet;
shutdown
· shutdown now # 立即关机
· shutdown +2 # 2 min 后关机
· shutdown 10:01 # 10:01关机
· shutdown +2 "The machine will shutdown" # 2min 后关机,并通知在线者
#先kill掉满屏的postdrop
ps -ef|grep postdrop |grep -v grep|cut -c 9-15|xargs kill -9
查看执行的任务
ps -aux | grep java
说明:ps -aux中(a指代all——全部的进程,u指代userid——执行该进程的用户id,x指代显示全部程序,不以终端机来区分)
Ps axu |grep 25995 25995为进程ID
ps -ef |grep java
推荐htop命令代替top命令
#删除巨量的文件
#直接rm -fr /var/spool/postfix/maildrop/* 会导致失败 /bin/rm: argument list too long
#所以要换个删除的方式
ls /var/spool/postfix/maildrop | xargs -n 50 rm -fr ls
当然也可以设置crond的MAILTO为空,即不发邮件
tomcat日志分析相关:
pattern="%h %l %u %t "%r" %s %b"
%h - 远程主机名
%l (小写的L)- 远程逻辑从identd的用户名(总是返回' - ')
%u - 远程用户身份验证
%t - 日期和时间,在通用日志格式
%r - 第一行的要求
%s - 响应的HTTP状态代码
%b - 发送的字节数,不包括HTTP头,或“ - ”如果没有发送字节
10.241.100.253 - - [10/Sep/2020:16:19:36 +0800] "POST /itsmApi/order/queryDictionaries HTTP/1.1" 200 420
1.从上面提到的apache日志中得到访问量最高前100个IP
cat logfile | awk '{a[$1]++} END {for(b in a) print b"\t"a[b]}'|sort -k2 -r|head -n 100
时间区间检索
查看某段时间内的日志: sed -n '/起始时间/,/结束时间/p' 日志文件,
查看某段时间内的关键字日志:sed -n '/起始时间/,/结束时间/p' 日志文件 | grep ‘keyword’
// 示例
查看某段时间内的关键字日志
sed -n '/2020-10-16 01:00:00/,/2020-10-16 03:00:00/p' catalina.out |grep 'Exception'
sed -n '/22\/Mar\/2022:10:00:00/,/22\/Mar\/2022:10:00:50/p' catalina.out
sed -n 's/.*2016:[]? .* 200 [0?9]?$/\1 \2/p' localhost_access_log.2016-05-23.txt | awk '{total[$1]+=$2}END{for(t in total)printf("%s %.4fM\n", t,total[t]/1024/1024)}'|sort -k2
假设你匹配内容是abc,要显示匹配行前后各5行,文件名是file
grep -m1 -C5 "abc" file
grep -m1 -A1200 'closeEventOrder' catalina.out 6412,6,427
cat 9718.stack |grep '2603' -C 8
除特定目录的示例
- 使用 find 命令:您可以使用 find 命令来查找不包括某些目录的文件,然后使用 -exec 选项来执行 cp 命令。
find /path/to/source -type f -path '/path/to/source/excluded_directory/*' -prune -o -exec cp {} /path/to/destination \;
这个命令中,-path '/path/to/source/excluded_directory/*' -prune 部分用于排除指定的 excluded_directory 目录。
2.使用 rsync 命令:rsync 命令提供了更多的灵活性和选项来排除文件或目录。
rsync -av --exclude='excluded_directory/' /path/to/source/ /path/to/destination/
在这个命令中,--exclude='excluded_directory/' 选项用于排除 excluded_directory 目录。
grep常用用法
[root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename
选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
--color=auto :可以将找到的关键词部分加上颜色的显示喔!
-r或--recursive 此参数的效果和指定“-d recurse”参数相同
任意一个字节 . 与重复字节 *
这两个符号在正则表达式的意义如下:
. (小数点):代表『一定有一个任意字节』的意思;
* (星号):代表『重复前一个字符, 0 到无穷多次』的意思,为组合形态
grep -a -r “10.4.92.22” ./*
使用grep命令查找文件中的关键字
格式: grep [选项] “关键词” 路径/文本文件
-v :取反
-i: 忽略大小写
-n: 带行号显示
关键词组合
^:以什么开头(^root)
$:以什么结尾(nologin$)
^$:匹配空行
示例:
grep "root" /etc/passwd #查询和root相关的行
grep -v "root" /etc/passwd #不要和root相关的行
grep -in "RoOt" /etc/passwd #忽略关键词的大小学并带行号显示和root相关的内容
grep -v "^$" /etc/login.defs #过来空行的信息
grep -v "^$" /etc/login.defs | grep -v "^#" > /opt/user.log
如果要在整个目录中搜索关键字,我们可以使用以下命令:
grep 'keyword' *
它在当前目录下递归搜索所有文件。谨记,不要丢掉最后的星号,而且不可换成具体的目录。如果要忽略子目录和二进制文件,可以使用以下命令:
grep -r 'keyword' --exclude-dir={目录1,目录2} --exclude='*.ext'
它忽略指定目录和扩展名的文件。grep还可以在指定目录下递归所有文件搜索关键词,命令如下:
grep "keyword" /data/logs -R | tail -3
业务含义:遍历目录/data/logs下的所有文件,最多展示包含关键词keyword的三行记录。
上传
# rz
### 下载一个文件:
# sz filename
### 下载多个文件:
# sz filename1 filename2
### 下载dir目录下的所有文件,不包含dir下的文件夹:
# sz dir/*
Linux中修改jar包中的文件内容
- 命令行中输入vim [jar包路径]
2、回车,打开jar包中的文件目录,并定位到要修改的文件位置
- 回车,打开文件内容进行修改
4、修改后,输入:wq保存退出上步,再次输入命令:q退出,完成修改
Redis
centos7中查看redis版本的方法:
- 打开centos7终端;
- 在终端命令行中输入“redis-server –version”或“redis-server -v ”命令查看redis版本即可
使用Redis Sentinel
连接 Redis
可以使用 redis-cli 命令连接到 Redis 服务器。例如:
redis-cli -h host -p port -a password
其中 host 是 Redis 服务器的主机名,port 是 Redis 服务器的端口号,password 是连接密码(如果有)。
#连接本地redis
redis-cli -p 6379
#启动redis
redis-server ./redis.conf
#关闭redis
redis-cli shutdown
Redis客户端命令
连接Redis服务器并进行身份验证
使用Redis客户端连接到Redis服务器后,可以使用AUTH命令进行身份验证。
假设你的密码是password,可以通过以下方式进行身份验证:
127.0.0.1:6379> AUTH password
如果密码正确,服务器将返回OK作为响应。
若密码不正确,服务器将返回一个错误信息。
验证连接状态
可以使用PING命令检查连接是否已成功进行身份验证。
127.0.0.1:6379> PING
如果返回PONG,说明连接已成功验证且仍处于活动状态。
查看sentinel配置去除注释和空格
cat /etc/redis-sentinel.conf |grep -v "#" |grep -v "^$"
1. 启动Sentinel
首先,确保你的Redis Sentinel配置文件(通常是sentinel.conf)正确配置了监控的master节点以及至少一个或多个Sentinel节点。
启动Sentinel的命令通常如下:
redis-sentinel /path/to/sentinel.conf
2. 停止Sentinel
停止Sentinel可以通过找到其进程并发送SIGTERM信号来实现,例如:
pkill -f redis-sentinel
或者,如果你知道具体的进程ID,可以使用:
kill -SIGTERM <pid>
使用Redis Cluster
1. 启动Cluster
启动Redis Cluster通常涉及多个Redis节点的启动,每个节点都需要一个独立的配置文件。例如,你有三个主节点和三个从节点:
redis-server /path/to/node1.conf
redis-server /path/to/node2.conf
redis-server /path/to/node3.conf
2. 停止Cluster
停止Redis Cluster的节点可以通过找到每个节点的进程并发送SIGTERM信号来实现:
pkill -f redis-server
或者,针对每个节点:
kill -SIGTERM <pid>
使用系统服务管理(推荐方式)
主从复制
# 查看信息
info replication
127.0.0.1:6379> info replication
# Replication
role:master # 当前为主角色
connected_slaves:0 # 是否拥有从角色机器
master_failover_state:no-failover
master_replid:854916ff764f8cf90f498bce30247096ffc8d7e1
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
外部文章
在liunx(CentOS7)上搭建redis哨兵模式 https://zhuanlan.zhihu.com/p/703158933
Curl
参数解释
参数组 | 参数 | 描述 |
响应头 | -I--head | (HTTP)只输出HTTP-header,不获取内容(HTTP/FTP/FILE)。用于HTTP服务时,获取页面的http头; (如:curl -I http://aiezu.com)用于FTP/FILE时,将会获取文件大小、最后修改时间; (如:curl -I file://test.txt) |
-i--include | (HTTP)输出HTTP头和返回内容; | |
-D <file>--dump-header <file> | (HTTP)转储http响应头到指定文件; | |
请求头 | -H "name: value"--header "name: value" | (HTTP)添加一个http header(http请求头); |
-H "name:"--header "name:" | (HTTP)移除一个http header(http请求头); | |
证书 | -k--insecure | (SSL)设置此选项将允许使用无证书的不安全SSL进行连接和传输。 |
其他选项 | -s--silent | 安静模式。不要显示进度表或错误消息; |
-L--location | (HTTP/HTTPS)追随http响应头“Location:”定向到跳转后的页面;(在http响应码为3XX时使用,如301跳转、302跳转) |
curl -k -s -L 'https://192.168.56.216/agent/download?k=142360d810217405fc852f476e9240ca2438cf72&group=1&protocol=0&root=true&runAccount=root&userAdd=false&app=0&container=0' | bash
-k参数指定跳过 SSL 检测。
$ curl -k https://www.example.com
上面命令不会检查服务器的 SSL 证书是否正确
-s参数将不输出错误和进度信息。
$ curl -s https://www.example.com
上面命令一旦发生错误,不会显示错误信息。不发生错误的话,会正常显示运行结果。
如果想让 curl 不产生任何输出,可以使用下面的命令。
$ curl -s -o /dev/null https://google.com
-L参数会让 HTTP 请求跟随服务器的重定向。curl 默认不跟随重定向。
$ curl -L -d 'tweet=hi' https://api.twitter.com/tweet
-i 参数可以显示 http response 的头信息,连同网页代码一起。-I 参数则只显示 http response 的头信息。
|bash表示执行bash脚本,可参考:bash之在执行 curl 获取的脚本时将参数传递给 bash_编程设计_IT干货网
mkdir
使用mkdir命令结合-p选项。这将允许您创建一个或多个目录,并自动创建任何必要的父目录
mkdir -p /path/to/parent/directory/subdirectory
在上面的示例中,/path/to/parent/directory/subdirectory是您要创建的完整路径。如果该路径中的任何目录不存在,mkdir -p命令将自动创建它们。
防火墙
1.查看防火墙是否开启和开放的端口
1.查看防火墙是否开启:
systemctl status firewalld
2.显示active状态说明防火墙未打开,此时需打开防火墙:
systemctl start firewalld
3.查看已开放的端口:
firewall-cmd --list-ports (临时开放的端口)
firewall-cmd --list-ports --permanent (永久开放的端口)
2.开放端口
1.添加开放端口(以3306端口为例):
firewall-cmd --add-port=3306/tcp (临时开放)
firewall-cmd --add-port=3306/tcp --permanent (永久开放)
3.关闭端口
1.关闭开放的端口(以3306端口为例):
firewall-cmd --remove-port=3306/tcp (临时关闭)
firewall-cmd --remove-port=3306/tcp --permanent (永久关闭)
4.重载命令并重启防火墙使配置生效
firewall-cmd --reload (重载)
systemctl restart firewalld (重启防火墙)
more
功能简述:more命令,功能类似cat,cat命令是整个文件的内容从上到下显示在屏幕上。more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按b键就会往回(back)一页显示,而且还有搜寻字串的功能。more命令从前向后读取文件,因此在启动时就加载整个文件。
常用操作命令:
Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
空格键向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令调用Shell,并执行命令
q 退出more
大文件显示查看
行数检索
tail -n 10 日志文件 查询日志尾部最后10行的日志;
tail -n +10 日志文件 查询10行之后的所有日志;
head -n 10 日志文件 查询日志文件中的头10行日志;
head -n -10 日志文件 查询日志文件除了最后10行的其他所有日志;
如果我们查找的日志很多,打印在屏幕上不方便查看,有两个方法:
使用more和less命令,如:cat -n test.log | grep "地形" | more 这样就分页打印了,通过点击空格键翻页
使用 > xxx.txt 将其保存到文件中,到时可以拉下这个文件分析,如:cat -n test.log | grep "地形" > xxx.txt
查找IP地址
方法一:使用 ifconfig 命令
ifconfig 是一个常用的命令行工具,用于配置和显示网络接口的信息,包括 IP 地址。要查找本地主机的 IP 地址,可以执行以下命令:
ifconfig |
上述命令将显示当前系统上所有网络接口的详细信息,包括 IP 地址。通常,IP 地址会显示在以 "inet" 开头的行中。
例如,如果要查找名为 eth0 的网络接口的 IP 地址,可以运行以下命令:
ifconfig eth0 |
命令输出类似于以下内容:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::a00:27ff:fe3f:bcde prefixlen 64 scopeid 0x20<link> ether 08:00:27:3f:bc:de txqueuelen 1000 (Ethernet) RX packets 1001011 bytes 717493201 (683.7 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 543209 bytes 103511267 (98.7 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 |
在上述输出中,inet 192.168.1.100 行显示了 eth0 接口的 IP 地址。
DNS
查看DNS
cat /etc/resolv.conf
配置DNS
在CentOS 7上配置DNS需要进行以下操作:
打开/etc/resolv.conf文件并编辑。可以使用vi或nano等编辑器来完成此任务。命令如下所示:
sudo vi /etc/resolv.conf
添加以下内容到该文件中(根据自己的情况修改IP地址):
nameserver <首选DNS服务器IP>
nameserver <备用DNS服务器IP>
保存更改后退出编辑器。
重新启动网络服务以应用更改。运行以下命令:
sudo systemctl restart network
或 service network restart
确认DNS设置已生效。运行以下命令查看当前系统的DNS配置:
cat /etc/resolv.conf
输入以上命令后,将显示类似于以下内容的结果:
# Generated by NetworkManager
search example.com
nameserver <首选DNS服务器IP>
nameserver <备用DNS服务器IP>
这表明DNS配置已经正确应用。
Rabbitmq
(1)启动RabbitMQ服务,执行命令:
# rabbitmq-server -detached 后台启动
rabbitmq-server 直接启动,如果你关闭窗口或者需要在改窗口使用其他命令时应用就会停止
(2)查看RabbitMQ运行状态,执行命令:
# rabbitmqctl status
(3)停止RabbitMQ服务,执行命令:
# rabbitmqctl stop
查看用户列表:rabbitmqctl list_users
集群
查看集群状态
rabbitmqctl cluster_status
默认的 cluster_name 名字为 rabbit@rabbit1,如果你想进行修改,可以使用以下命令:
rabbitmqctl set_cluster_name rabbitmq_cluster
卸载
rpm -qa | grep rabbitmq
rpm -e rabbitmq-server
防火墙
#### rabbitmq普通用户不能开放防火墙,使用root提前开放5672,15672端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --reload
140 金瀚文 6-20 10:28:18
141 firewall-cmd --zone=public --add-port=6379/tcp --permanent
142 firewall-cmd --zone=public --add-port=5672/tcp --permanent
143 firewall-cmd --zone=public --add-port=15672/tcp --permanent
144 firewall-cmd --zone=public --add-port=25672/tcp --permanent
145 firewall-cmd --zone=public --add-port=8012/tcp --permanent
146 firewall-cmd --zone=public --add-port=8100/tcp --permanent
147 金瀚文 6-20 10:28:29
148 firewall-cmd --zone=public --add-port=8090/tcp --permanent
149 firewall-cmd --reload
150 firewall-cmd --permanent --list-port
151 nproc
Mysql
mysql -u 用户名 -p
输入你的密码,然后回车。
use 数据库名称;
将“数据库名称”替换成你希望导入数据的数据库名称。
使用下面的命令导入数据:
mysql>source 数据文件路径;
将“数据文件路径”替换成你想要导入的数据文件的路径。
SELECT VERSION(); 此命令将返回当前MySQL数据库的版本号。
创建用户
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
以上代码创建了一个名为myuser的用户,并设置了登录密码为mypassword。localhost表示只允许从本地连接MySQL服务器。
mysql给用户分配查询权限
GRANT SELECT ON dbname.* TO 'username'@'localhost';
执行完授权命令后,可以使用FLUSH PRIVILEGES;命令来刷新权限,使更改立即生效。
查询表的索引信息
- INFORMATION_SCHEMA 数据库:
INFORMATION_SCHEMA 是一个特殊的数据库,包含了所有其他数据库的元数据。你可以查询 INFORMATION_SCHEMA 中的 STATISTICS 表来获取索引信息:
SELECT * FROM INFORMATION_SCHEMA.STATISTICS WHERE table_schema = 'your_database_name' AND table_name = 'your_table_name';
LIKE 操作符
在 MySQL 中,LIKE 操作符用于在查询中进行模式匹配。LIKE 操作中常用的占位符有:
% :表示任意字符序列(包括空字符序列)。
例如,'col%' 会匹配以 col 开头的任意字符串。
_ :表示任意单个字符。
例如,'col_' 会匹配以 col 开头后面紧跟一个任意字符的字符串。
示例:
SELECT * FROM your_table WHERE column_name LIKE '%value%'; -- 匹配包含'value'的任意字符串
SELECT * FROM your_table WHERE column_name LIKE 'value_'; -- 匹配以'value'开头后面紧跟一个任意字符的字符串
Yum包管理器
1. 查看所有已配置的仓库
你可以使用yum命令配合repolist选项来列出所有已配置的仓库及其状态:
yum repolist
或者
yum repolist all
这将显示每个仓库的ID、名称、状态等信息。
2. 查看特定仓库的详细信息
如果你想要查看特定仓库的详细信息,包括其URL,可以使用yum命令配合repo-list选项,例如:
yum repolist <repository-id>
其中<repository-id>是你想要查询的仓库的ID。例如,要查看名为base的仓库,可以使用:
yum repolist base
安装软件包
Yum -y install <package_name>
搜索命令
whereis:whereis命令会在整个系统中搜索可执行文件,包括系统自带的、第三方的以及用户自定义的,它会查找二进制文件、源代码文件和手册页文件。
which:which命令仅在用户的$PATH环境变量中指定的目录中搜索可执行文件,它不会搜索系统自带的可执行文件,只会搜索用户自定义的或者第三方的可执行文件。
[root@localhost rpm-gpg]# which redis
which: no redis in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)
[root@localhost rpm-gpg]# whereis redis
redis: /usr/lib64/redis /etc/redis.conf