LINUX常用命令学习

  1. 查看系统版本

使用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 #查看内核版本等信息

  1. 首先使用命令uname -r得到自己的内核版本
  2. 然后访问网站下载两个包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

  1. 注意,如果你的内核没有更新,和镜像的版本一致,直接使用光盘镜像的包即可
  2. 开始安装

yum localinstall kernel-debuginfo-*

OpenSSL

查看当前安装的openssl版本:rpm -qa | grep openssl

1. 查看当前安装的openssl版本

rpm -qa | grep openssl

  1. 卸载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

除特定目录的示例

  1. 使用 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包中的文件内容

  1. 命令行中输入vim [jar包路径]
    2、回车,打开jar包中的文件目录,并定位到要修改的文件位置
  1. 回车,打开文件内容进行修改
    4、修改后,输入:wq保存退出上步,再次输入命令:q退出,完成修改

Redis

centos7中查看redis版本的方法:

  1. 打开centos7终端;
  2. 在终端命令行中输入“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;命令来刷新权限,使更改立即生效。

查询表的索引信息

  1. 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/969484.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RK3588 Linux平台部署DeepSeek模型教程

更多内容可以加入Linux系统知识库套餐&#xff08;教程&#xff0b;视频&#xff0b;答疑&#xff09; 文章目录 一、下载rknn-llm 和 deepseek模型二、RKLLM-Toolkit 安装2.1 安装 miniforge3 工具2.2 下载 miniforge3 安装包2.3 安装 miniforge3 三、创建 RKLLM-Toolkit Cond…

Azure从0到1

我能用Azure做什么? Azure提供100多种服务,能够从在虚拟机上运行现有应用程序到探索新的软件范式,如智能机器人和混合现实。许多团队开始通过将现有应用程序移动到在Azure中运行的虚拟机(VM)来探索云。将现有应用程序迁移到虚拟机是一个良好的开端,但云不仅仅是运行虚拟…

智慧城市V4系统小程序源码独立版全插件全开源

智慧城市V4系统小程序源码&#xff1a;多城市代理同城信息服务的全域解决方案 在数字化浪潮的推动下&#xff0c;智慧城市已成为全球发展的核心战略。作为这一领域的革新者&#xff0c;智慧城市V4系统小程序源码凭借其多城市代理同城信息服务能力与多商家营销功能&#xff0c;…

JAVA-Lambda表达式(高质量)

要了解Lambda表达式,首先需要了解什么是函数式接口&#xff0c;函数式接口定义&#xff1a;一个接口有且只有一个抽象方法 。 一、函数式接口 1.FunctionalInterger 注意&#xff1a; 1. 如果一个接口只有一个抽象方法&#xff0c;那么该接口就是一个函数式接口 2. 如果我们…

机器视觉--Halcon变量的创建与赋值

一、引言 在机器视觉领域&#xff0c;Halcon 作为一款强大且功能丰富的软件库&#xff0c;为开发者提供了广泛的工具和算子来处理各种复杂的视觉任务。而变量作为程序中存储和操作数据的基本单元&#xff0c;在 Halcon 编程中起着至关重要的作用。正确地创建和赋值变量是编写高…

优选驾考小程序

第2章 系统分析 2.1系统使用相关技术分析 2.1.1Java语言介绍 Java语言是一种分布式的简单的 开发语言&#xff0c;有很好的特征&#xff0c;在安全方面、性能方面等。非常适合在Internet环境中使用&#xff0c;也是目前企业级运用中最常用的一个编程语言&#xff0c;具有很大…

ubuntu 22.04 安装vsftpd服务

先决条件&#xff0c;确保你已经配置好了存储库。 安装vsftpd 为了方便实验&#xff0c;我已经切换到了root用户。 rootlocal:~# apt-get install vsftpd修改配置 配置文件在 /etc/vsftpd.conf rootlocal:~# grep -vE ^#|^$ /etc/vsftpd.conf listenNO listen_ipv6YES anonymou…

Uniapp 获取定位详解:从申请Key到实现定位功能

文章目录 前言一、申请定位所需的 Key1.1 注册高德开发者账号1.2 创建应用1.3 添加 Key 二、在 Uniapp 中配置定位功能2.1 引入高德地图 SDK2.2 获取定位权限 三、实现定位功能3.1 使用 uni.getLocation 获取位置3.2 处理定位失败的情况3.3 持续定位3.4 停止持续定位 四、总结 …

MATLAB电机四阶轨迹规划考虑jerk、Djerk

1、内容简介 略 126-可以交流、咨询、答疑 2、内容说明 略 在电机控制中&#xff0c;轨迹规划是一个重要的环节&#xff0c;它决定了电机如何从一个状态平滑地过渡到另一个状态。四阶轨迹规划考虑了位置、速度、加速度和加加速度&#xff08;jerk&#xff09;&#xff0c;有…

输电杆塔沉降智能监测系统:如何用数据守护电网安全

产品别称&#xff1a;输电线路杆塔沉降在线监测装置、输电线路北斗杆塔沉降在线监测装置、杆塔地基沉降监测设备、输电杆塔沉降智能监测系统 产品型号&#xff1a;TLKS-PMG-BDS 一、产品概述&#xff1a; 在电力传输系统中&#xff0c;输电线路杆塔的稳定性和安全性至关重要。…

Windows搭建SVN本地服务器 + TortoiseSVN客户端

目录 一、SVN服务器搭建 二、TortoiseSVN客户端 一、SVN服务器搭建 注意&#xff1a;例如你已经安装Subversion&#xff0c;要将它卸载&#xff0c;因为VisualSVN会包含Subversion&#xff0c;确保不会发生冲突&#xff0c;可在Windows程序搜索Subversion 卸载它。 Apache…

harmonyOS的文件的增、删、读、写相关操作(fs/content)

注意: 操作harmonyOS的文件只能对app沙箱内的文件进行操作 牵扯到两个支持点: fs和content这两个API; 具体的操作方法看下图: 创建文件 //js 引入 import fs from "ohos.files.fs" import featureAbility from "ohos.ability.featureAbility"; // 上下…

人才画像如何助力企业 “看准人”、“看透人”

在当今竞争激烈的商业世界中&#xff0c;企业对于人才的需求愈发迫切。然而&#xff0c;如何在众多求职者中 “看准人”、“看透人”&#xff0c;挑选出真正适合企业的人才&#xff0c;却成为了许多企业面临的难题。而人才画像的出现&#xff0c;为企业提供了一把有力的武器。 …

LC-搜索二维矩阵II、相交链表、反转链表、回文链表、环形链表、环形链表ll

搜索二维矩阵II 方法&#xff1a;从右上角开始搜索 我们可以从矩阵的右上角开始进行搜索。如果当前元素 matrix[i][j] 等于 target&#xff0c;我们直接返回 true。如果 matrix[i][j] 大于 target&#xff0c;说明 target 只能出现在左边的列&#xff0c;所以我们将列指针向左…

Win11配置wsl、ubuntu、docker

系统要求 安装WSL。 开通虚拟化&#xff1a; 准备工作 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestartdism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestartwsl --set-default-versi…

达梦tpcc压测

造数 在这个日志输出中&#xff0c;主要执行了一系列数据库操作&#xff0c;涵盖了数据库信息检查、表的创建与数据加载、索引的添加、数据验证等步骤。具体分析如下&#xff1a; 数据库信息检查&#xff1a; 查询了数据库的版本、实例名称、日志文件大小、字符集等信息。 删…

MySQL技术公开课:Mysql-Server-8.4.4 Innodb 集群搭建与维护

MySQL技术公开课 - Mysql-Server-8.4.4 Innodb 集群搭建与维护 讲课内容&#xff1a; 1、Innodb集群框架介绍 2、Innodb集群部署(mysql-Server、mysql-shell、mysql-router安装配置) 3、Innodb集群维护(主备切换、启动与关闭、故障排除) Mysql-server商业版目前最新的是8.…

TCP/IP参考模型和网络协议

由于国防部担心他们一些重要的主机、路由器和互联网关可能会突然崩溃&#xff0c;所以网络必须实现的另一目标是网络不受子网硬件损失的影响&#xff0c;已经建立的会话不会被取消&#xff0c;而且整个体系结构必须相当灵活。 TCP/IP是一组用于实现网络互连的通信协议。Interne…

机器学习-02-机器学习算法思想以及在各行各业的应用

总结 本系列是机器学习课程的第02篇&#xff0c;主要介绍机器学习算法思想以及在各行各业的应用 本门课程的目标 完成一个特定行业的算法应用全过程&#xff1a; 定义问题&#xff08;Problem Definition&#xff09; -> 数据收集(Data Collection) -> 数据分割(Data…

无须高配电脑-ChatboxAI 利用SiliconCloud 接入在线deepseek

Deepseek官方api调用 方式收费&#xff0c;官网提供的在线推理又经常出现”服务器繁忙&#xff0c;请稍后再试“的问题。本文借助本地聊会客户端 ChatboxAI&#xff0c; 通过SiliconCloud 平台来接入各种在线大模型&#xff0c;包括Deepseek. ChatboxAI(完全免费) Chatbox AI…