centos7 基础命令

2023-11-17

一: linux基础

(1) 查看服务器的IP信息

ip add show
ifconfig

(2) 操作网卡命令(重启网络和启用网卡)

systemctl restart network
systemctl start network
systemctl stop network

启用和停止网卡命令

ifup 网卡名
例:
ifup ens33 # 启用网卡
ifdown ens33 # 停止网卡

 

(3) 远程连接服务器

注意: 因为我的讲师机的虚拟机是桥接模式,跟大家在同一个局域网,所以谁都可以连接

但是,不要干坏事儿

第一种方式: 使用第三方软件,我们教学就使用xshell进行连接就可以

第二种方式: 使用命令进行连接

ssh root@192.168.12.56

三. linux目录结构

              根目录   /

/root    /bin  /dev  /etc  /home   /var  /lib  /usr  /media  /tmp  。。。。

 |                           |

/root/desktop   /root/Media  。。。          /usr/bin  /usr/lib   。。。。

 

(1) 查看服务器的IP信息

ip add show
ifconfig

(2) 操作网卡命令(重启网络和启用网卡)

systemctl restart network
systemctl start network
systemctl stop network

启用和停止网卡命令

ifup 网卡名
例:
ifup ens33 # 启用网卡
ifdown ens33 # 停止网卡

 

(3) 远程连接服务器

注意: 因为我的讲师机的虚拟机是桥接模式,跟大家在同一个局域网,所以谁都可以连接

但是,不要干坏事儿

第一种方式: 使用第三方软件,我们教学就使用xshell进行连接就可以

第二种方式: 使用命令进行连接

ssh root@192.168.12.56

三. 目录相关操作

.    当前目录
..   上一层目录
-   前一个工作目录
~   当前【用户】所在的家目录

蓝色的文件: 都是目录

白色的文件: 都是普通文件

绿色的 文件: 都是可执行文件

 

四. linux基本操作命令

增删改查的高大上叫法 : CURD

#  创建目录(文件夹)
mkdir liulaoshi
mkdir chenwen
mkdir chengang
mkdir zhangqihang
# 创建普通文件
touch huangchun
touch xiaowei

remove > 因为太长,所以改为rm
rm或rm -i # 删除文件命令
rm -r # 递归删除目录和文件命令
rm -rf # 递归并且强制删除目录和文件命令
rmdir # 删除一个空目录

注意: rm -rf /*是炸弹命令,千万不要使用

注意: rm -rf /*是炸弹命令,千万不要使用

注意: rm -rf /*是炸弹命令,千万不要使用

cd # 切换目录命令

mv # 移动文件命令
mv 源文件 目标文件   # 对文件重命名

ls   # 查看当前目录下的文件夹和文件
ls -l或ll # 查看当前目录下的文件夹和文件详情
ls -la # 查看当前目录下的文件夹和文件详情, 还可以查看隐藏文件
pwd # 查看当前所在的目录的绝对路径

重启或关机命令

init 6  # 重启
init 0 # 关机
linux下查看环境变量
echo $PATH

绝对路径和相对路径
  • 绝对路径:由根目录(/)为开始写起的文件名或者目录名称,如/home/oldboy/test.py;

  • 相对路径:相对于目前路径的文件名写法。例如./home/oldboy/exam.py或../../home/oldboy/exam.py,简单来说只要开头不是/,就是属于相对路径

 

二: linux基本命令

(1) 创建用户命令

useradd liulaoshi   # 创建用户
passwd liulaoshi   # 设置密码, 回车后会提示让你输入两次密码

普通用户登录的命令提示符与root用户不一样

(2) 修改命令提示符

echo $PS1  # 查看命令提示符参数
PS1="[\u@\h \w \t]\$"  
  \w 显示完整工作路径
  \t 显示时间

(3) 修改主机名

hostnamectl set-hostname qishitwo

(4) linux系统命令提示符

命令     参数    需处理的内容

(5) 创建目录命令

mkdir -p liulaoshi/chenwen/liujie/xiaowei  # 递归创建目录
mkdir -p {qihang,chenwen,yanglan,xiaowei} # 创建多个目录

touch liulaoshi.py qihang.py yanglan.py xiaowei.py
# 创建多个普通文件命令, 文件之间用空格隔开

 

(6) VIM操作初识

命令模式常用操作:
:set nu 显示行号
1G 或 gg ,跳转到文件的首行
G ,跳转到文件的末尾行
yy、#yy ,复制光标处的一行、#行
p、P ,粘贴到光标处之后、之前
x 或 Delete键 ,删除光标处的单个字符
dd、#dd ,删除光标处的一行、#行
d^、d$ ,从光标处之前删除至行首/行尾
/word 向后查找字符串“word”,再按n/N跳至后/前一个结果
u ,撤销最近的一次操作
U ,撤销对当前行的所有修改
Ctrl + r 取消前一次撤销操作
ZZ 保存修改并退出
末行模式常用操作:
:s/old/new ,替换当前行第一个“old”
:s/old/new/g ,替换当前行所有的“old”
:n,m s/old/new/g ,替换第n-m行所有的“old”
:% s/old/new/g ,替换文件内所有的“old”
:w /root/newfile ,另存为其它文件
:r /etc/filesystems ,读入其他文件内容
:set nu|nonu ,显示/不显示行号
:set ai|noai ,启用/关闭自动缩进

(7) 修改网卡配置文件,使系统重启之后不用再手动启动网卡

vim /etc/sysconfig/network-scripts/ifcfg-ens33

改完之后,下一次你重启系统之后,就不用再使用ifup ens33命令手动启用网卡了

(8) 查看普通文件内容

cat 文件名   # 可以用绝对路径,也可以用相对路径

(9) 特殊符号

输入/输出
>>  追加重定向
>     重定向 会清空源文件
<      输入重定项
<<     将输入结果输入重定向

(10) more和less命令

more /etc/passwd  # 分页查看文件, 比cat命令好用
less /etc/passwd # 同more 比more功能更多

(11) linux快捷键

1.tab键    用于自动补全命令/文件名/目录名
2.ctrl + l  清理终端显示
3.clear/cls 清理终端显示
4.ctrl + c 终止当前操作

(12) echo命令

echo "山外青山楼外青楼" > passwd   # 单个>符号表示覆盖
echo "能人背后有人弄" >> passwd # 两个>符号表示追加

(13) 复制命令

cp 参数 源文件 目标文件
-r 递归,复制目录以及目录的子孙后代
-p 复制文件,同时保持文件属性不变
-a 相当于-pdr, 类似与Windows系统的复制快捷方式

(14) 移动和重命名命令mv

mv 源文件 目标文件
# 不仅有移动的功能,还有重命令名的功能

(15) 删除命令

rm 参数 文件名
  -i 需要删除确认
   -f 强制删除
  -r 递归删除目录和内容

(16)查找命令

find 需要查找的目录
-name # 指定文件的名字
-type # 指定文件类型

(17) 别名alias命令

alias #查看系统存在的别名
alias rm="echo '此命令太危险了,请你不要再使用'"
# 给rm命令别名成为echo '此命令太危险了,请你不要再使用'
# 当用户再输入rm命令时,就会执行这个命令:
echo '此命令太危险了,请你不要再使用'
unalias rm # 取消别名

(18) 查看系统运行的进程

ps -ef

(19) 查看系统已开放的端口

netstat -tunlp

(19) 管道命令

ps -ef | grep liulaoshi  # 查看系统中与liulaoshi相关的进程

(20) grep命令

grep nologin /etc/passwd  # 过滤出/etc/passwd下面所有含有noloing的信息
grep root /etc/passwd # 过滤出/etc/passwd下面root信息

语法:
grep [参数] [--color=auto] [字符串] filename
参数详解:
-i : 忽略大小写
-n : 输出行号
-v : 反向选择
--color = auto : 给关键词部分添加颜色

(21) linux下面的IP地址信息(重要指数*)

127.0.0.1  # 本机地址, 别人无法访问,只有本机才可以访问
192.168.12.56 # 本机IP地址,别人可以访问
localhost # 本机主机名
0.0.0.0   # 本机环回地址, 相当于127.0.0.1加上192.168.12.56

(22) head和tail命令(重要指数***)

head显示文件前几行,默认前10行
tail显示文件后几行,默认后10行
想要显示/etc/passwd下面的第10行到第20行, 可以使用管道符进行二次过滤
head -20 /etc/passwd | tail -1

(23) which 命令(重要指数*)

which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。 which指令会在环境变量$PATH设置的目录里查找符合条件的文件。 也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

which pwd
which python

(24) scp命令(重要指数*)

语法
scp 【可选参数】 本地源文件 远程文件标记
  -r :递归复制整个目录
  -v:详细方式输出
  -q:不显示传输进度条
  -C:允许压缩
scp liulaoshi.py root@192.168.12.77:/opt/  
# 将本地的liulaoshi.py拷贝到远程服务器192.168.12.77的/opt目录下
scp root@192.168.12.77:/opt/liulaoshi.py /root/
# 将远程服务器192.168.12.77的/opt目录下liulaoshi.py拷贝到本地/root目录下
scp -r /opt/liulaoshi root@192.168.12.77:/opt # 递归拷贝目录

(25) 查看磁盘占用率命令

df -h
du -sh 文件或目录名 # 统计文件或目录的大小,以K,M,G为单位人性化显示

(26) top命令

top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]

监控java线程数:
ps -eLf | grep java | wc -l

监控网络客户连接数:
netstat -n | grep tcp | grep 侦听端口 | wc -l

(27) chattr命令

chattr +a huangxiaowei.py  # 给文件加锁
chattr -a huangxiaowei.py  # 给文件解锁
lsattr huangxiaowei.py  # 查看文件详细加锁信息

(28) linux时间服务器 (重要指数***)

date  查看系统当前时间
ntpdate -u ntp.aliyun.com   # 从阿里云的NTP服务器更新系统的时间

 

硬件时钟的查看
hwclock

//以系统时间为基准,修改硬件时间
hwclock -w

//以硬件时间为基准,修改系统时间
hwclock -s
date 041215002019 # 修改系统时间

(29)wget 下载命令

wget 链接

(30) lrzsz软件包

yum install lrzsz
rz   # 上传
sz 文件名   # 下载指定文件

(31) 关机和重启命令

reboot或init 6命令用于重启机器
poweroff或init 0用于关闭系统

(32)rsync 同步工具

本地同步操作:
rsync [选项...] 本地目录1 本地目录2
rsync [选项...] 本地目录1/ 本地目录2
rsync同步工具的常用选项:
-n:测试同步过程,不做实际修改
--delete:删除目标文件夹内多余的文档
-a:归档模式,相当于-rlptgoD
-v:显示详细操作信息
-z:传输过程中启用压缩/解压
1)将目录 /boot 同步到目录 /todir 下
[root@svr7 ~]# ls  -l  /todir                  //同步前
ls: 无法访问/todir: 没有那个文件或目录
[root@svr7 ~]# rsync  -a  /boot  /todir          //将目录1作为目录2的子目录
[root@svr7 ~]# ls  -l  /todir                  //检查同步结果
总用量 4
dr-xr-xr-x. 4 root root 4096 11月 30 18:50 boot

2)将目录 /boot 下的文档同步到目录 /todir 下
[root@svr7 ~]# rm  -rf  /todir                  //清理掉目录2
[root@svr7 ~]# rsync  -a  /boot/  /todir          //将目录1下的文档同步到目录2下
[root@svr7 ~]# ls  -l  /todir                  //检查同步结果
总用量 126708
-rw-r--r--. 1 root root   126426 10月 30 2015 config-3.10.0-327.el7.x86_64
drwxr-xr-x. 2 root root     4096 11月 30 18:50 extlinux
drwx------. 6 root root      104 12月  9 09:58 grub2

3)同步效果测试
在目录/boot下新增文件a.txt,删除/todir下的子目录 grub2:
[root@svr7 ~]# touch  /boot/a.txt
[root@svr7 ~]# rm  -rf  /todir/grub2/ 
现在目录/boot和/todir目录下的内容已经不一致了:
[root@svr7 ~]# ls  -ld  /boot/a.txt  /todir/a.txt
ls: 无法访问/todir/a.txt: 没有那个文件或目录
-rw-r--r--. 1 root root 0 1月  11 21:09 /boot/a.txt
[root@svr7 ~]# ls  -ld  /boot/grub2  /todir/grub2
ls: 无法访问/todir/grub2: 没有那个文件或目录
drwx------. 6 root root 104 12月  9 09:58 /boot/grub2
再次同步使/todir与/boot一致:
[root@svr7 ~]# rsync  -a  /boot/  /todir/
确认同步结果:
[root@svr7 ~]# ls  -ld  /boot/a.txt  /todir/a.txt
-rw-r--r--. 1 root root 0 1月  11 21:09 /boot/a.txt
-rw-r--r--. 1 root root 0 1月  11 21:09 /todir/a.txt
[root@svr7 ~]# ls  -ld  /boot/grub2  /todir/grub2
drwx------. 6 root root 104 12月  9 09:58 /boot/grub2
drwx------. 6 root root 104 12月  9 09:58 /todir/grub2
步骤二:验证 -a、-v、-n、--delete 选项的含义
1)验证-a选项
当目录1包含文件夹时,若缺少-a或-r选项则文件夹会被忽略:
[root@svr7 ~]# rsync  /home  /testa
skipping directory home
[root@svr7 ~]# ls  -ld  /testa
ls: 无法访问/testa: 没有那个文件或目录
添加-a后才会执行同步:
[root@svr7 ~]# rsync  -a  /home/  /testa
[root@svr7 ~]# ls  -ld  /testa
drwxr-xr-x. 4 root root 31 1月   6 17:33 /testa
类似的情况,当目录1中的数据出现权限、归属、修改时间等变化时,若文件内容不变默认不会同步,若希望目录2也同步这些变化,也需要-a选项。
2)验证-v选项
创建测试目录及文档:
[root@svr7 ~]# mkdir  /fdir
[root@svr7 ~]# touch  /fdir/1.txt
添加-v选项时,可以看到操作细节信息,比如第一次同步时:
[root@svr7 ~]# rsync  -av  /fdir/  /tdir
sending incremental file list
created directory /tdir
./
1.txt                                 //传输文档列表

sent 82 bytes  received 34 bytes  232.00 bytes/sec
total size is 0  speedup is 0.00
在目录/fdir/添加文件2.txt,再次跟踪同步信息:
[root@svr7 ~]# touch  /fdir/2.txt
sending incremental file list
./
2.txt                                 //传输文档列表

sent 100 bytes  received 34 bytes  268.00 bytes/sec
total size is 0  speedup is 0.00
确认目录1和目录2的内容已经一致:
[root@svr7 ~]# ls  /fdir/  /tdir/
/fdir/:
1.txt  2.txt

/tdir/:
1.txt  2.txt
再次跟踪同步信息,已经无需传输文件:
[root@svr7 ~]# rsync  -av  /fdir/  /tdir
sending incremental file list

sent 58 bytes  received 12 bytes  140.00 bytes/sec
total size is 0  speedup is 0.00
3)验证-n选项
将-n、-v选项合用,可以模拟同步过程,显示需要做哪些操作(但并不真的同步)。
在目录/fdir下新建文件3.txt,测试同步操作:
[root@svr7 ~]# touch  /fdir/3.txt
[root@svr7 ~]# rsync  -avn  /fdir/  /tdir/
sending incremental file list
./
3.txt                                          //提示同步时会传输哪些文件

sent 78 bytes  received 18 bytes  192.00 bytes/sec
total size is 0  speedup is 0.00 (DRY RUN)
[root@svr7 ~]# ls  -l  /tdir/3.txt                 //但实际并未真的同步
ls: 无法访问/tdir/3.txt: 没有那个文件或目录
去掉-n选项才会真正同步:
[root@svr7 ~]# rsync  -av  /fdir/  /tdir/
sending incremental file list
./
3.txt

sent 114 bytes  received 34 bytes  296.00 bytes/sec
total size is 0  speedup is 0.00
[root@svr7 ~]# ls  -l  /tdir/3.txt
-rw-r--r--. 1 root root 0 1月  11 21:46 /tdir/3.txt
4)验证--delete选项
rsync同步操作默认只是将目录1的数据同步到目录2,但如果目录2存在多余的文件却并不会去除,除非添加—delete选项。
在目录/fdir、/tdir已经完成同步后,删除/tdir/2.txt文件,再次同步:
[root@svr7 ~]# rm  -rf  /fdir/2.txt 
[root@svr7 ~]# rsync  -a  /fdir/  /tdir/
检查发现目标文件夹/tdir下的2.txt文件还在:
[root@svr7 ~]# ls  /fdir/  /tdir/
/fdir/:
1.txt  3.txt

/tdir/:
1.txt  2.txt  3.txt
这种情况下添加--delete选项再次执行同步,两个目录的内容就一致了:
[root@svr7 ~]# rsync  -a  --delete  /fdir/  /tdir/
[root@svr7 ~]# ls  /fdir/  /tdir/
/fdir/:
1.txt  3.txt
/tdir/:
1.txt  3.txt

rsync+SSH同步

rsync user@host:远程目录/

rsync [...] user@host:远程目录 本地目录

rsync [...] 本地目录 user@host:远程目录

1 查看远程主机svr7的/目录下有哪些子目录:
[root@pc207 ~]# rsync  root@192.168.4.7:/
2 rsync+SSH同步操作
从远程主机svr7下载/etc/passwd文件到当前目录
[root@pc207 ~]# rsync  root@192.168.4.7:/etc/passwd  ./
3 将远程主机svr7的/boot/目录同步为本地的/fromssh
[root@pc207 ~]# rsync  -a  root@192.168.4.7:/boot/  /fromssh
4 将本机的/etc目录同步到远程主机svr7的/opt/下
[root@pc207 ~]# du  -sh  /etc
[root@pc207 ~]# rsync  -a  /etc  root@192.168.4.7:/opt/
配置rsync服务端
3.1 问题
本例要求在主机svr7上配置rsync同步资源,完成下列任务:
1.将 /usr/src 目录配置为 rsync 共享,其共享名为 tools,仅允许用户 ruser 以密码 pwd123 访问
2.启动 rsync 服务,并将其设为开机自启
3.2 步骤
实现此案例需要按照如下步骤进行。
步骤一:建立rsync账号文件
1)建立账号记录
[root@svr7 ~]# vim  /etc/rsyncd_users.db
ruser:pwd123              //每行一个用户记录
othername:123456
2)控制账号文件权限(服务端严格模式有要求)
[root@svr7 ~]# chmod  600  /etc/rsyncd_users.db
[root@svr7 ~]# ls  -l  /etc/rsyncd_users.db              //确认权限调整结果
-rw-------. 1 root root 27 12月 20 16:25 /etc/rsyncd_users.db
步骤二:配置rsync共享资源
1)确保被共享的目录可用
[root@svr7 ~]# ls  /usr/src/                              //目录及文档资源存在
copyright  debug               install.sh  license_ch.txt  src
data       inotify-tools-3.13  kernels     README.md

[root@svr7 ~]# ls  -ld  /usr/src/                          //权限允许访问
drwxr-xr-x. 7 root root 4096 1月   7 13:57 /usr/src/
2)建立rsyncd.conf配置文件
[root@svr7 ~]# vim  /etc/rsyncd.conf
[tools]                                                 //共享名
    path = /usr/src                                     //目录位置
    comment = Rsync Test Directory
    read only = yes                                      //默认只读
    dont compress = *.gz *.bz2 *.tgz *.zip                 //不需要压缩的文件
   auth users = ruser                                  //允许谁访问
    secrets file = /etc/rsyncd_users.db                  //账号文件
步骤三:启用rsync服务端
1)启动系统服务rsyncd,并设置开机自启
[root@svr7 ~]# systemctl  restart  rsyncd
[root@svr7 ~]# systemctl  enable  rsyncd
Created symlink from /etc/systemd/system/multi-user.target.wants/rsync.service to /usr/lib/systemd/system/rsync.service.
3)检查服务监听状态
1.[root@svr7 ~]# netstat  -anptu  |  grep  rsync
tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      6339/rsync          
tcp6       0      0 :::873                  :::*                    LISTEN      6339/rsync
4 案例4:访问rsync共享资源
4.1 问题
本例要求掌握rsync与远程rsync资源的同步操作,使用rsync命令访问远程主机svr7,完成下列任务:
1.列出远程主机提供的 rsync 资源,并查看内容
2.将远程主机的 rsync 共享目录同步到本机
4.2 方案
列出 rsync 共享资源:
rsync host::
rsync rsync://host
rsync+rsync远程同步操作:
rsync [...] user@host::共享名 本地目录
rsync [...] 本地目录 user@host::共享名
访问需要验证的rsync资源时,可以通过 --password-file= 选项来加载提前准备的密码文件(权限600,不要包括除密码外的其他字符),便于计划任务或脚本使用。
4.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:列出远程主机提供的 rsync 资源,并查看内容
1)列出有哪些rsync共享(无需密码)
使用方式1:
[root@pc207 ~]# rsync  192.168.4.7::
tools              Rsync Test Directory
或者,使用方式2:
[root@pc207 ~]# rsync  rsync://192.168.4.7
tools              Rsync Test Directory
2)列出指定的rsync共享目录下有哪些内容
访问目录内容时要求用户验证,否则会失败:
[root@pc207 ~]# rsync  192.168.4.7::tools/
Password: 
@ERROR: auth failed on module tools
rsync error: error starting client-server protocol (code 5) at main.c(1516) [Receiver=3.0.9]
指定正确的用户名、密码才能够访问:
[root@pc207 ~]# rsync  ruser@192.168.4.7::tools/
Password:                                              //输入用户ruser的密码
drwxr-xr-x        4096 2017/01/07 13:57:06 .
-rw-r--r--         303 2015/12/23 19:36:55 README.md
-rw-r--r--        2189 2015/11/18 20:47:12 copyright
-rwxr-xr-x         773 2015/11/18 20:47:12 install.sh
7.-rw-r--r--        7828 2015/11/18 20:47:12 license_ch.txt
drwxr-xr-x        4096 2017/01/07 13:51:21 data
.. ..
步骤二:将远程主机的 rsync 共享目录同步到本机
1)手动交互方式
将远程tools共享的资源同步到本机的/mysrc目录:
[root@pc207 ~]# rsync  -az  ruser@192.168.4.7::tools/  /mysrc
Password:                                              //输入用户ruser的密码
[root@pc207 ~]# du  -sh  /mysrc                         //检查同步结果
17M    /mysrc
2)自动交互方式
通过--passwod-file选项提供密码文件:
[root@pc207 ~]# echo   pwd123  >  /root/pass.txt         //建立密码文件
[root@pc207 ~]# chmod  600  /root/pass.txt                 //控制密码文件的权限
[root@pc207 ~]# rsync  -az  --password-file=/root/pass.txt  ruser@192.168.4.7::tools/  /mysrc  
                                                        //免除手动密码交互

  





 

转载于:https://www.cnblogs.com/liucsxiaoxiaobai/p/10734366.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

centos7 基础命令 的相关文章

  • 用于将 cython 中的许多 C++ 类包装到单个共享对象的项目结构

    我在文档 邮件列表和这个问题在这里 https stackoverflow com questions 10300660 cython and distutils 但我想得到一个更直接的答案来解决我的具体情况 我正在通过尝试一点一点地包装我
  • 如何查看Databricks中的所有数据库和表

    我想列出 Azure Databricks 中每个数据库中的所有表 所以我希望输出看起来像这样 Database Table name Database1 Table 1 Database1 Table 2 Database1 Table
  • Python:在列表理解本身中引用列表理解?

    这个想法刚刚出现在我的脑海中 假设您出于某种原因想要通过 Python 中的列表理解来获取列表的唯一元素 i if i in created comprehension else 0 for i in 1 2 1 2 3 1 2 0 0 3
  • 无法“安装”plpython3u - postgresql

    我正在尝试在 postgresql 中使用 python 语言 像这样的事情 create or replace function test a integer returns integer as if a 2 0 return even
  • 在 python 程序中合并第三方库的最佳实践是什么?

    下午好 我正在为我的工作编写一个中小型Python程序 该任务需要我使用 Excel 库xlwt and xlrd 以及一个用于查询 Oracle 数据库的库 称为CX Oracle 我正在通过版本控制系统 即CVS 开发该项目 我想知道围
  • SQLAlchemy 通过关联对象声明式多对多自连接

    我有一个用户表和一个朋友表 它将用户映射到其他用户 因为每个用户可以有很多朋友 这个关系显然是对称的 如果用户A是用户B的朋友 那么用户B也是用户A的朋友 我只存储这个关系一次 除了两个用户 ID 之外 Friends 表还有其他字段 因此
  • 如何使用 Ansible playbook 中的 service_facts 模块检查服务是否存在且未安装在服务器中?

    我用过service facts检查服务是否正在运行并启用 在某些服务器中 未安装特定的软件包 现在 我如何知道这个特定的软件包没有安装在该特定的服务器上service facts module 在 Ansible 剧本中 它显示以下错误
  • 使用 on_bad_lines 将 pandas.read_csv 中的无效行写入文件

    我有一个 CSV 文件 我正在使用 Python 来解析该文件 我发现文件中的某些行具有不同的列数 001 Snow Jon 19801201 002 Crom Jake 19920103 003 Wise Frank 19880303 l
  • python 相当于 R 中的 get() (= 使用字符串检索符号的值)

    在 R 中 get s 函数检索名称存储在字符变量 向量 中的符号的值s e g X lt 10 r lt XVI s lt substr r 1 1 X get s 10 取罗马数字的第一个符号r并将其转换为其等效整数 尽管花了一些时间翻
  • 如何从网页中嵌入的 Tableau 图表中抓取工具提示值

    我试图弄清楚是否有一种方法以及如何使用 python 从网页中的 Tableau 嵌入图形中抓取工具提示值 以下是当用户将鼠标悬停在条形上时带有工具提示的图表示例 我从要从中抓取的原始网页中获取了此网址 https covid19 colo
  • Python pickle:腌制对象不等于源对象

    我认为这是预期的行为 但想检查一下 也许找出原因 因为我所做的研究结果是空白 我有一个函数可以提取数据 创建自定义类的新实例 然后将其附加到列表中 该类仅包含变量 然后 我使用协议 2 作为二进制文件将该列表腌制到文件中 稍后我重新运行脚本
  • 如何加速Python中的N维区间树?

    考虑以下问题 给定一组n间隔和一组m浮点数 对于每个浮点数 确定包含该浮点数的区间子集 这个问题已经通过构建一个解决区间树 https en wikipedia org wiki Interval tree 或称为范围树或线段树 已经针对一
  • 如何使用 OpencV 从 Firebase 读取图像?

    有没有使用 OpenCV 从 Firebase 读取图像的想法 或者我必须先下载图片 然后从本地文件夹执行 cv imread 功能 有什么办法我可以使用cv imread link of picture from firebase 您可以
  • 绘制方程

    我正在尝试创建一个函数 它将绘制我告诉它的任何公式 import numpy as np import matplotlib pyplot as plt def graph formula x range x np array x rang
  • IO 密集型任务中的 Python 多线程

    建议仅在 IO 密集型任务中使用 Python 多线程 因为 Python 有一个全局解释器锁 GIL 只允许一个线程持有 Python 解释器的控制权 然而 多线程对于 IO 密集型操作有意义吗 https stackoverflow c
  • 在f字符串中转义字符[重复]

    这个问题在这里已经有答案了 我遇到了以下问题f string gt gt gt a hello how to print hello gt gt gt f a a gt gt gt f a File
  • 如何在Python中对类别进行加权随机抽样

    给定一个元组列表 其中每个元组都包含一个概率和一个项目 我想根据其概率对项目进行采样 例如 给出列表 3 a 4 b 3 c 我想在 40 的时间内对 b 进行采样 在 python 中执行此操作的规范方法是什么 我查看了 random 模
  • 向 Altair 图表添加背景实心填充

    I like Altair a lot for making graphs in Python As a tribute I wanted to regenerate the Economist graph s in Mistakes we
  • Conda SafetyError:文件大小不正确

    使用创建 Conda 环境时conda create n env name python 3 6 我收到以下警告 Preparing transaction done Verifying transaction SafetyError Th
  • Python:如何将列表列表的元素转换为无向图?

    我有一个程序 可以检索 PubMed 出版物列表 并希望构建一个共同作者图 这意味着对于每篇文章 我想将每个作者 如果尚未存在 添加为顶点 并添加无向边 或增加每个合著者之间的权重 我设法编写了第一个程序 该程序检索每个出版物的作者列表 并

随机推荐

  • 解决Centos虚拟机复制文件失败问题

    问题 Error when getting information for file tmp VMwareDnD p6v6B6 No such file or directory 解决 安装 卸载预装的 open vm tools 包 检测
  • Google hacking了解

    google hacking方法技术手册 1 黄金法则 不区分大小写 通配符只表示词组中一个词 32个单词限制 关键字 双引号强制搜索包含关键字内容 intext password username userid xxx 1 利用搜索引擎进
  • 【测试】利用LoadComplete确定不同负载下的服务器性能

    LoadComplete是一个负载测试工具 用于为Web服务器和服务创建和运行自动负载测试 它可以在手机 网站和web应用程序上设计和运行性能 压力和负载测试 您不需要有编程知识 创建一个负载测试只需要几秒钟的时间 接下来我们通过LoadC
  • ELK系列(二)、在Kibana中使用RESTful操作ES库

    上一篇讲了如何安装ELK ELK系列 一 安装ElasticSearch Logstash Kibana Filebeat v7 7 0 这篇介绍如何使用kibana连接ES并操作 先介绍一下ES和关系型数据库的概念对应 在ES7以前的版本
  • 字典树p8036

    Description 给定 n 个模式串 1 2 s1 s2 sn 和 q 次询问 每次询问给定一个文本串 ti 请回答 1 s1 sn 中有多少个字符串 sj 满足 ti 是 sj 的前缀 一个字符串 t 是 s 的前缀当且仅当从 s
  • Windows下MySQL的详细安装教程

    1 安装之前需要注意的几点 建议不要安装最新版本 一般找mysql5 0系列版本即可 mysq1官网有 zip和 msi两种安装形式 zip是压缩包 直接解压缩以后使用的 需要自己配置各种东西 msi是安装包 系统直接帮我们安装搞定 新手建
  • (c)面向过程与(c++)面向对象有什么区别

    相信大家都有一定的了解 c语言是一个面向过程的语言 而c 是一个面向对象的语言 那么面向对象和面向过程有什么区别呢 各举一个例子吧 C面向过程 gt 从面向过程的方向考虑就像我要开车我就要先开门 系安全带 打火 松手刹 挂挡 起步 我们关心
  • 二、Linux网络编程:Socket编程-接口

    2 Socket编程 接口 2 1 接口转换 转接口的换操作主要分为三类 字节序转换操作 IP地址转换操作和主机名转换操作 2 1 1 字节序转换操作 网络序转主机序 函数 含义 作用 ntohs network to host short
  • service启动失败问题排查

    本文首发在我的个人博客 https jlice top p 7ve9p 欢迎大家前去参观 么么哒 我的电脑在启动时总会提示 Failed to start Load Kernel Modules 虽然不影响使用 可强迫症看了还是会觉得难受
  • java jdbc 保存,​高级进阶 JDBC 保存和导出文本文件

    1 创建一个 表 textfile create table textfile id int primary key auto increment content longtext 2 向 表 textfile的 content 字段中保存
  • Java中String中的substring()方法的使用

    Substring 1 public String substring int index 使用此方法目的在于返回一个新的字符串 它是此字符串的一个子字符串 该子字符串始于指定索引处的字符 一直到此字符串末尾 下面举两个例子说明 schlo
  • 身材不高穿什么身材不高穿什么

    穿衣TIPS 个子小又丰满的女孩 选择短裙是对的 特别是亮色的短裙 可以把人的视线往上提 增加高度感 穿衣TIPS 小个子的MM们在挑选衣服的时候 最重要的就是要先确定自己的风格 如果你确实比较丰满 那么就干脆学曾宝仪走可爱路线吧 选择一些
  • 【QPalette】调色板简介

    描述 QPalette类包含每个小部件状态的颜色组 调色板由三个颜色组组成 活动的 禁用的和非活动的 Qt中的所有小部件都包含一个调色板 并使用它们的调色板来绘制自己 这使得用户界面易于配置和保持一致 如果您创建一个新的小部件 我们强烈建议
  • c语言常见练习题

    计算一个程序的运行时间 include
  • Centos系统安装Nodejs

    1 软件下载 官方网站 https nodejs org en 1 新版本下载说明 新版本可以在home页面直接下载 也可以在DOWNLOADS页面下载 2 旧版本下载说明 进入 DOWNLOADS 页面 页面滑动到最下面 点击左侧 Pre
  • PHP+jQuery+jCrop在线上传裁剪头像(内含源码)

    源码里面使用到两个开源的jQuery插件 其一是Ajax上传用的是uploadify 这个上传插件比较牛逼 并且可以自定义的东西也比较多 demo里面我用的不完善 没有把项目里面用到的取消上传和删除功能加上 同样也可以使用其他不需要使用Fl
  • 华为OD机试真题 Java 实现【矩阵稀疏扫描】【2023 B卷 100分】,附详细解题思路

    一 题目描述 如果矩阵中的许多系数都为零 那么该矩阵就是稀疏的 对稀疏现象有兴趣是因为它的开发可以带来巨大的计算节省 并且在许多大的实践中都会出现矩阵稀疏的问题 给定一个矩阵 现在需要逐行和逐列地扫描矩阵 如果某一行或者某一列内 存在连续出
  • unity 获得当前物体_Unity3D获取当前键盘按键及Unity3D鼠标、键盘的基本操作

    获取当前键盘按键 代码如下 using UnityEngine using System Collections public class GetCurrentKey MonoBehaviour KeyCode currentKey voi
  • 解决draw.io生成SVG矢量图导入Word显示有误的问题以及推荐几种SVG绘图方法

    解决draw io生成SVG矢量图导入Word显示有误的问题以及推荐几种SVG绘图方法 起因 解决办法 操作步骤 修改后效果 关于Word加载项draw io工具 流程图等推荐用Xmind 图表数据等也可以用Python的matplotli
  • centos7 基础命令

    一 linux基础 1 查看服务器的IP信息 ip add showifconfig 2 操作网卡命令 重启网络和启用网卡 systemctl restart networksystemctl start networksystemctl