当前位置: 首页 > news >正文

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

相关文章:

LINUX常用命令学习

查看系统版本 使用hostnamectl命令检查。hostnamectl显示了CentOS的版本以及操作系统的相关信息&#xff0c;非常方便 设置linux机器别名称 hostnamectl set-hostname 机器别名 --static 华为云 centos 命令&#xff1a;lsb_release -a linux:cat /proc/version 查看进程路…...

【java面向对象的三大特性】封装、继承和多态

目录标题 一、封装&#xff08;Encapsulation&#xff09;&#xff1a;二、继承&#xff08;Inheritance&#xff09;&#xff1a;三、多态&#xff08;Polymorphism&#xff09;&#xff1a;1. 多态的三个必要条件&#xff1a;2.多态的具体实现&#xff1a;3.多态的使用场景&a…...

【开源免费】基于SpringBoot+Vue.JS校园商铺管理系统(JAVA毕业设计)

本文项目编号 T 191 &#xff0c;文末自助获取源码 \color{red}{T191&#xff0c;文末自助获取源码} T191&#xff0c;文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…...

日常故障排查 - Java程序故障排查

Java程序故障 无论对于任何的故障而言&#xff0c;恢复可用性都是首要目标。但作为一个技术匠人&#xff0c;不能让同一个问题导致多次故障&#xff0c;因此故障的根因剖析以及解决也是很重要的。但是故障根因剖析是需要现场数据来进行分析&#xff0c;因此在故障恢复之前要尽…...

ai数字人分身系统开发源码saas化

#数字人分身系统# #数字人系统源码# #ai数字人123 123# 云罗抖去推数字人分身系统是一款融合了形象克隆、声音克隆、AI数字人分身、AI智能剪辑、智能文案等各种AI技术一体化的短视频营销工具&#xff0c;其核心功能优势主要体现在以下几方面&#xff1a; 真实度高&#xf…...

DeepSeek免费部署到WPS或Office

部署到WPS - 通过OfficeAI插件接入&#xff1a; - 准备工作&#xff1a;安装最新版本的WPS Office软件&#xff1b;访问DeepSeek官网&#xff0c;点击右上角的“API开放平台”&#xff0c;登录账号&#xff08;若无账号需先注册&#xff09;&#xff0c;登录成功后&#xff0c;…...

vue2和vue3插槽slot最通俗易懂的区别理解

在 Vue 的组件通信中&#xff0c;slot&#xff08;插槽&#xff09;的编译优化是一个重要的性能提升点。以下是 Vue2 和 Vue3 在 slot 处理上的差异及优化原理&#xff0c;用更直观的方式解释&#xff1a; Vue2 的 Slot 更新机制 想象一个父子组件场景&#xff1a; 父组件&am…...

生成式人工智能:技术革命与应用图景

(这文章有些地方看不懂很正常&#xff0c;因为有太多生词&#xff0c;需要对 计算机/人工智能 研究至深的人才能看懂&#xff0c;遇到不会的地方用浏览器搜索或跳过&#xff09; 引言 2023年被称我们为"生成式AI元年"&#xff0c;以GPT-4、DALL-E 3、Stable Diffusi…...

关于Dest1ny:我的创作纪念日

Dest1ny 因为这是csdn任务&#xff0c;我就稍微“写”了一下&#xff01; 如果大家真的有什么想聊的或者想一起学习的&#xff0c;欢迎在评论区或者私信中与我讨论&#xff01; 2025想说的话 我就把我想说的写在前面&#xff01; 不用对未来焦虑&#xff0c;不要觉得自己走…...

AI学习记录 - 最简单的专家模型 MOE

代码 import torch import torch.nn as nn import torch.nn.functional as F from typing import Tupleclass BasicExpert(nn.Module):# 一个 Expert 可以是一个最简单的&#xff0c; linear 层即可# 也可以是 MLP 层# 也可以是 更复杂的 MLP 层&#xff08;active function 设…...

【C++内存管理】—— 策略、陷阱及应对之道

欢迎来到ZyyOvO的博客✨&#xff0c;一个关于探索技术的角落&#xff0c;记录学习的点滴&#x1f4d6;&#xff0c;分享实用的技巧&#x1f6e0;️&#xff0c;偶尔还有一些奇思妙想&#x1f4a1; 本文由ZyyOvO原创✍️&#xff0c;感谢支持❤️&#xff01;请尊重原创&#x1…...

分布式版本控制系统---git

Git&#xff1a;从基础到进阶的全面指南 Git 是一个分布式版本控制系统&#xff0c;广泛应用于软件开发中&#xff0c;用于跟踪文件的更改、支持团队协作以及管理项目代码。通过 Git&#xff0c;开发者可以在本地拥有完整的项目历史记录&#xff0c;进行离线开发&#xff0c;并…...

pg_sql关于时间的函数

1、时间戳和日期之间的相互转换 时间戳转日期&#xff08;时间戳为数值类型&#xff0c;若为字符型需进行转换&#xff09; # 保留到秒&#xff1a;2025-10-02 04:46:40 &#xff08;字符型转换数值型&#xff09; select to_timestamp(1759351600::bigint)# 保留到日&#x…...

【Kafka】Windows下安装Kafka(全面)

目录 1.前提条件 2.下载 3.安装 4.环境变量配置 5.验证 1.前提条件 参考版本&#xff1a;zookeeper为3.6.4 kafka版本为3.5.1 1.先安装zookeeper&#xff1a; 【Zookeeper】Windows下安装Zookeeper&#xff08;全面&#xff09;-CSDN博客https://blog.csdn.net/…...

【Qt】:概述(下载安装、认识 QT Creator)

&#x1f308; 个人主页&#xff1a;Zfox_ &#x1f525; 系列专栏&#xff1a;Qt 目录 一&#xff1a;&#x1f525; 介绍 &#x1f98b; 什么是 QT&#x1f98b; QT 发展史&#x1f98b; Qt版本&#x1f98b; QT 优点 一&#xff1a;&#x1f525; 搭建Qt开发环境 &#x1f9…...

Netty源码解析之异步处理(二):盛赞Promise中的集合设计

前言 在阅读Netty源码的过程中&#xff0c;我越来越相信一句话&#xff1a;“Netty的源码非常好&#xff0c;质量极高&#xff0c;是Java中质量最高的开源项目之一”。如果认真研究&#xff0c;会有一种遍地黄金的感觉。 本篇文件我将记录一下鄙人在Promise的实现类DefaultPr…...

Spring Boot 的约定优于配置,你的理解是什么?

“约定优于配置” 是 Spring Boot 极为重要的设计理念&#xff0c;它极大地简化了 Spring 应用的开发流程&#xff0c;下面从多个方面详细解释这一理念&#xff1a; 减少配置复杂性 传统开发的痛点 在传统的 Spring 开发里&#xff0c;配置工作相当繁琐。以配置 Spring MVC …...

图形渲染(一)——Skia、OpenGL、Mesa 和 Vulkan简介

1.Skia —— 2D 图形库 Skia 是一个 2D 图形库&#xff0c;它的作用是为开发者提供一个高层次的绘图接口&#xff0c;方便他们进行 2D 图形渲染&#xff08;比如绘制文本、形状、图像等&#xff09;。Skia 本身不直接管理 GPU 或进行底层的渲染工作&#xff0c;而是通过 底层图…...

git使用,注意空格

第一节 安装完成后&#xff0c;找个目录用于存储,打开目录右击选择git bash here 命令1 姓名 回车 git config --global user.name "li" 命令2 邮箱 回车 git config --global user.email "888163.com" 命令3 初始化新仓库&#xff0c;下载克隆 回…...

以用户为中心,汽车 HMI 界面设计的创新之道

在汽车智能化飞速发展的当下&#xff0c;汽车 HMI&#xff08;人机交互界面&#xff09;成为连接人与车的关键桥梁。如何打造出优秀的 HMI 界面&#xff1f;答案是以用户为中心&#xff0c;探索创新之道。 用户需求是汽车 HMI 界面设计的指南针。在设计前期&#xff0c;深入调…...

CentOS安装Docker,Ubuntu安装Docker,Docker解决方案

文章目录 CentOS7安装DockerUbuntu修改Docker镜像源docker设置容器自动启动启动时加--restartalways如果已经过运行的项目docker compose设置容器自启动 docker file修改时区docker在容器执行命令简单粗暴的办法安装curl docker compose命令安装docker compose Docker WEB 图形…...

c#中“事件-event”的经典示例与理解

在C#编程语言中&#xff0c;事件&#xff08;Event&#xff09;是一个非常重要的概念&#xff0c;它提供了一种松耦合的方式&#xff0c;让对象间能够通知彼此&#xff0c;而无需直接联系。事件的使用可以让我们的代码更加灵活、可扩展且易于维护。 事件可以视作委托的实例&…...

git bash在github的库中上传或更新本地文件

一、将本地文件上传到 GitHub 仓库 1. 创建 GitHub 仓库 如果你还没有在 GitHub 上创建仓库&#xff0c;首先需要创建一个新的仓库&#xff1a; 登录到 GitHub。点击右上角的 按钮&#xff0c;选择 New repository。给你的仓库起个名字&#xff0c;并选择 Public 或 Privat…...

【编程实践】vscode+pyside6环境部署

1 PySide6简介 PySide6是Qt for Python的官方版本&#xff0c;支持Qt6&#xff0c;提供Python访问Qt框架的接口。优点包括官方支持、LGPL许可&#xff0c;便于商业应用&#xff0c;与Qt6同步更新&#xff0c;支持最新特性。缺点是相比PyQt5&#xff0c;社区资源较少。未来发展…...

vue 文件下载(导出)excel的方法

目前有一个到处功能的需求&#xff0c;这是我用过DeepSeek生成的导出&#xff08;下载&#xff09;excel的一个方法。 1.excel的文件名是后端生成的&#xff0c;放在了响应头那里。 2.这里也可以自己制定文件名。 3.axios用的是原生的axios&#xff0c;不要用处理过的&#xff…...

服务器延迟给视频网站造成的影响

在数字化时代中&#xff0c;网络视频已经成为人们日常娱乐和获取信息的重要平台&#xff0c;网络视频的流畅性会影响着用户的体验度&#xff0c;那么&#xff0c;当服务器出现延迟会对视频网站造成哪些影响呢&#xff1f;本文就来共同了解一下吧&#xff01; 当所使用的服务器由…...

django上传文件

1、settings.py配置 # 静态文件配置 STATIC_URL /static/ STATICFILES_DIRS [BASE_DIR /static, ]上传文件 # 定义一个视图函数&#xff0c;该函数接收一个 request 参数 from django.shortcuts import render # 必备引入 import json from django.views.decorators.http i…...

Mysql数据库

一.数据定义语言DDL 一.概述 DDL用于定义和管理数据库的结构 DDL关键字&#xff1a;1.CREATE; 2.ALTER; 3.DROP 二.SQL命名规定和规范 1.标识符命名规则 2.标识符命名规范 三.库管理 1. CREATE DATABASE 数据库名; 2. CREATE DATABASE IF NOT EXISTS 数据库名; 3. CREATE…...

机器学习 - 大数定律、可能近似正确学习理论

一、大数定律&#xff1a; 大数定律是概率论中的一个基本定理&#xff0c;其核心思想是&#xff1a;当独立重复的随机试验次数足够大时&#xff0c;样本的平均值会趋近于该随机变量的期望值。下面从直观和数学两个角度来说明这一概念&#xff1a; 1. 直观理解 重复试验的稳定…...

Kotlin 2.1.0 入门教程(十七)接口

接口 接口可以包含抽象方法的声明&#xff0c;也可以包含方法的实现。 接口与抽象类的不同之处在于&#xff0c;接口无法存储状态。接口可以拥有属性&#xff0c;但这些属性要么必须是抽象的&#xff0c;要么就得提供访问器的实现。 接口使用 interface 关键字来定义&#x…...

USB Flash闪存驱动器安全分析(第一部分)

翻译原文链接&#xff1a;Hacking Some More Secure USB Flash Drives (Part I) | SySS Tech Blog 文章翻译总结&#xff1a;文章对一些具有AES硬件加密的USB闪存驱动器的网络安全分析研究。研究由SySS的IT安全专家Matthias Deeg进行&#xff0c;他在2022年初发现了几个安全漏…...

报名丨Computer useVoice Agent :使用 TEN 搭建你的 Mac Assistant

与 TEN 相聚在「LET’S VISION 2025」大会&#xff0c;欢迎来展位上跟我们交流。这次我们还准备了一场聚焦「computer use」的工作坊&#xff0c;功能新鲜上线&#xff0c;线下首波体验&#xff01; &#x1f4c5; TEN 展位&#xff1a;2025年3月1日-2日 TEN workshop&#x…...

常用架构图:业务架构、产品架构、系统架构、数据架构、技术架构、应用架构、功能架构及信息架构

文章目录 引言常见的架构图I 业务架构图-案例模块功能说明1. 用户界面层 (UI)2. 应用服务层3. 数据管理层4. 基础设施层业务流程图示例技术实现II 功能架构图 -案例功能模块说明1. 船舶监控模块2. 报警管理模块3. 应急响应模块4. 通信管理模块5. 数据分析模块数据管理层基础设施…...

微信小程序的制作

制作微信小程序的过程大致可以分为几个步骤&#xff1a;从环境搭建、项目创建&#xff0c;到开发、调试和发布。下面我会为你简要介绍每个步骤。 1. 准备工作 在开始开发微信小程序之前&#xff0c;你需要确保你已经完成了以下几个步骤&#xff1a; 注册微信小程序账号&…...

C# 特性 学习记录

在C#中&#xff0c;特性&#xff08;Attribute&#xff09;是一种用于向代码元素&#xff08;如类、方法、属性等&#xff09;添加元数据的机制。特性本身不会直接影响代码的执行&#xff0c;但它们可以提供额外的信息&#xff0c;这些信息可以在运行时通过反射&#xff08;Ref…...

DBeaver clickhouse 时区不对 时间少了8小时

选择DataBase选择Driver Manager选择clickhouse数据库点中之后&#xff0c;选择编辑添加两个全局属性 use_server_time_zone use_time_zone 鼠标移动到User Properties上&#xff0c;右键即可添加一列空白 然后断开重连...

如何测试和验证CVE-2024-1430:Netgear R7000 路由器信息泄露漏洞分析

CVE-2024-1430 是一个影响 Netgear R7000 路由器的安全漏洞&#xff0c;漏洞来源于该路由器 Web 管理界面的信息泄露问题。攻击者通过访问 /currentsetting.htm 文件&#xff0c;可能泄露敏感信息&#xff0c;如 Wi-Fi 密码等。 在测试和验证 CVE-2024-1430 时&#xff0c;您需…...

Express 中间件是什么

在 Express 里&#xff0c;中间件是具备访问请求对象&#xff08;req&#xff09;、响应对象&#xff08;res&#xff09;以及应用程序请求-响应循环中的下一个中间件函数&#xff08;一般用next表示&#xff09;的函数。 一、中间件的定义与调用顺序 在 Express 应用中&…...

【做一个微信小程序】校园地图页面实现

前言 上一个教程我们实现了小程序的一些的功能&#xff0c;有背景渐变色&#xff0c;发布功能有的呢&#xff0c;已支持图片上传功能&#xff0c;表情和投票功能开发中&#xff08;请期待&#xff09;。下面是一个更高级的微信小程序实现&#xff0c;包含以下功能&#xff1a;…...

(萌新入门)如何从起步阶段开始学习STM32 —— 0.碎碎念

目录 前言与导论 碎碎念 所以&#xff0c;我到底需要知道哪些东西呢 从一些基础的概念入手 常见的工具和说法 ST公司 MDK5 (Keil5) CubeMX 如何使用MDK5的一些常用功能 MDK5的一些常见的设置 前言与导论 非常感谢2301_77816627-CSDN博客的提问&#xff0c;他非常好奇…...

java nio 原理 非阻塞IO Netty

一、为什么必须去了解NIO 首先你需要之后Netty的主要实现手段就是Nio,很多人一直学不明白Netty&#xff0c;根本原因是 除了日常开发中很难能够实践&#xff0c;很大一部分原因是不熟悉NIO&#xff0c;事实上真正熟悉了NIO和它背后的原理之后&#xff0c;去查看Netty的源码就有…...

【ClickHouse】Ubuntu下离线安装ClickHouse数据库并使用DBeaver连接

目录 0. 安装前准备1 安装ClickHouse1.1 下载安装包1.2 离线安装1.3 配置密码1.4 启动ClickHouse服务 2 DBeaver连接配置2.1 下载ClickHouse驱动2.2 DBeaver配置2.2.1 配置主要参数2.2.2 配置驱动 2.3 常见问题处理2.3.1 修改远程登录配置2.3.2 更新驱动配置 0. 安装前准备 有…...

vue2打包带路径的项目,刷新404问题解决

问题描述 Vue 2 项目打包时设置了 publicPath: /web/&#xff0c;并通过 Nginx 配置访问 http://ip/web 时可以正常加载首页&#xff0c;但刷新页面时出现 404 错误 原nginx的配置 location /web {alias /www/dist; # 静态文件地址try_files $uri $uri/ /index.html;index i…...

【计算机视觉】文本识别

计算机视觉&#xff0c;广义的文本识别是指对输入的图像进行分析处理&#xff0c;识别出图像中的文字信息&#xff0c;这里的图像可以使传统的文档图像&#xff0c;也可以是现实世界中的场景图像。 简介 无论是传统方法还是基于深度深度学习的方法&#xff0c;完整的文本识别…...

Vue和React的区别

组件开发方式&#xff1a; Vue 使用单文件组件&#xff08;SFC&#xff09;, HTML, JS 和 CSS 在一个文件内实现 <template><div class"my-component"><!-- HTML模板 --></div> </template><script> export default {// JavaScr…...

STM32 是什么?同类产品有哪些

STM32 是什么&#xff1f; STM32 是由意法半导体&#xff08;STMicroelectronics&#xff09;推出的基于 ARM Cortex-M 内核 的 32 位微控制器&#xff08;MCU&#xff09;系列。它专为高性能、低功耗的嵌入式应用设计&#xff0c;广泛应用于以下领域&#xff1a; 工业控制&am…...

Git学习使用笔记

目录 一、基本介绍 1.1 版本控制 1.2 版本控制软件的基础功能 1.3 多人协作开发/集中式版本控制 1.4 分布式版本控制 二、Git安装 2.1下载git 2.2 使用Github Desktop软件 2.2.1 创建本地仓库 2.2.2 删除本地仓库 2.2.3 仓库文件操作 2.2.4 多人协作 2.2.4.1 分…...

Bash 中的运算方式

目录 概述&#xff1a; 1. (()) 运算符 2. let 命令 3. expr 命令 4. $[] 直接运算 5. bc&#xff08;计算器&#xff0c;支持浮点数&#xff09; 6. awk&#xff08;强大的文本处理工具&#xff0c;也可计算&#xff09; 概述&#xff1a; Bash 本身只支持整数运算&am…...

NLP Word Embeddings

Word representation One-hot形式 在上一周介绍RNN类模型时&#xff0c;使用了One-hot向量来表示单词的方式。它的缺点是将每个单词视为独立的&#xff0c;算法很难学习到单词之间的关系。 比如下面的例子&#xff0c;即使语言模型已经知道orange juice是常用组合词&#xf…...

Unity UI个人总结

个人总结&#xff0c;太简单的直接跳过。 一、缩放模式 1.固定像素大小 就是设置一个100x100的方框&#xff0c;在1920x1080像素下在屏幕中长度占比1/19&#xff0c;在3840x2160&#xff0c;方框在屏幕中长度占比1/38。也就是像素长款不变&#xff0c;在屏幕中占比发生变化 2.…...