LINUX 61 rsync定时同步;软链接

article/2025/8/12 20:41:19

定时同步报错

[root@backup ~]# cat rsync_java.sh
!/bin/bash
rsync -av user3@192.168.235.10::app /backup/app1_java &&/dev/null
[root@backup ~]# cd /backup
[root@backup backup]# ls
app1_java
[root@backup backup]# cd app1_java
[root@backup app1_java]# ls
1.java  4.java  aa1  aa4  aa7  file10.java  file1.java  file4.java  file7.java
2.java  5.java  aa2  aa5  aa8  file11.java  file2.java  file5.java  file8.java
3.java  6.java  aa3  aa6  aa9  file12.java  file3.java  file6.java  file9.java
[root@backup app1_java]# rsync -av user3@192.168.235.10::app /backup/app1_java &&/dev/null
Password:
receiving incremental file listsent 22 bytes  received 311 bytes  74.00 bytes/sec
total size is 6,291,456  speedup is 18,893.26
bash: /dev/null: 权限不够

/dev/null 权限不够

在这里插入图片描述
在这里插入图片描述
192.168.235.100


[root@backup app1_java]# rsync -av user3@192.168.235.10::app /backup/app1_java
Password:
receiving incremental file listsent 22 bytes  received 311 bytes  222.00 bytes/sec
total size is 6,291,456  speedup is 18,893.26
[root@backup app1_java]# ls
1.java  4.java  aa1  aa4  aa7  file10.java  file1.java  file4.java  file7.java
2.java  5.java  aa2  aa5  aa8  file11.java  file2.java  file5.java  file8.java
3.java  6.java  aa3  aa6  aa9  file12.java  file3.java  file6.java  file9.java
[root@backup app1_java]#

192.168.235.10

[root@code ~]# cd /etc
[root@code etc]# cat rsyncd.conf
# /etc/rsyncd: configuration file for rsync daemon mode# See rsyncd.conf man page for more options.# configuration example:# uid = nobody
# gid = nobody
# use chroot = yes
# max connections = 4
# pid file = /var/run/rsyncd.pid
# exclude = lost+found/
# transfer logging = yes
# timeout = 900
# ignore nonreadable = yes
# dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2# [ftp]
#        path = /home/ftp
#        comment = ftp export area
#[app]
path=/app/java_project
log file=/var/log/rsync.log
auth users = user1,user2,user3
secrets file=/etc/rsyncd.secrets
[root@code etc]# cat /etc/rsyncd.secrets
user1:123
user2:123
user3:
[root@code etc]# cat /app/java_project
cat: /app/java_project: 是一个目录
[root@code etc]# ls /app/java_project
2.java  aa1  aa2  aa7  aa8  aa9  file10.java  file11.java  file12.java  file1.java  file2.java  file3.java  file4.java  file5.java
[root@code etc]# cat /etc/ssh/sshd_config
#       $OpenBSD: sshd_config,v 1.100 2016/08/15 12:32:04 naddy Exp $# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.# This sshd was compiled with PATH=/usr/local/bin:/usr/bin# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options override the
# default value.# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key# Ciphers and keying
#RekeyLimit default none# Logging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO# Authentication:#LoginGraceTime 2m
#PermitRootLogin yes

为什么没有实现同步?user3对相关目录没有权限?
192.168.235.10:

[root@code etc]# ll /app/java_project
总用量 6144
-rw-r--r--. 1 root root 6291456 515 21:30 2.java
drwxr-xr-x. 2 root root       6 515 20:51 aa1
drwxr-xr-x. 2 root root       6 515 20:51 aa2
-rw-r--r--. 1 root root       0 531 20:33 aa7
-rw-r--r--. 1 root root       0 531 20:33 aa8
-rw-r--r--. 1 root root       0 531 20:33 aa9
-rw-r--r--. 1 root root       0 531 20:33 file10.java
-rw-r--r--. 1 root root       0 531 20:33 file11.java
-rw-r--r--. 1 root root       0 531 20:33 file12.java
-rw-r--r--. 1 root root       0 515 20:54 file1.java
-rw-r--r--. 1 root root       0 515 20:54 file2.java
-rw-r--r--. 1 root root       0 515 20:54 file3.java
-rw-r--r--. 1 root root       0 515 20:54 file4.java
-rw-r--r--. 1 root root       0 515 20:54 file5.java
[root@code etc]# ll /app
总用量 0
drwxr-xr-x. 4 root root 222 531 21:08 java_project

在这里插入图片描述

/etc/rsync.conf中的auth users是归属哪个属组,对文件有哪些权限

[root@code etc]# cat rsyncd.conf
# /etc/rsyncd: configuration file for rsync daemon mode# See rsyncd.conf man page for more options.# configuration example:# uid = nobody
# gid = nobody
# use chroot = yes
# max connections = 4
# pid file = /var/run/rsyncd.pid
# exclude = lost+found/
# transfer logging = yes
# timeout = 900
# ignore nonreadable = yes
# dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2# [ftp]
#        path = /home/ftp
#        comment = ftp export area
#[app]
path=/app/java_project
log file=/var/log/rsync.log
auth users = user1,user2,user3
secrets file=/etc/rsyncd.secrets
[root@code etc]# cat /etc/rsyncd.secrets
user1:123
user2:123
user3:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
为什么还是没有同步
192.168.235.100

[root@backup app1_java]# rsync -av user3@192.168.235.10::app /backup/app1_java
Password:
receiving incremental file list
./
aa1/
aa2/sent 71 bytes  received 362 bytes  123.71 bytes/sec
total size is 6,291,456  speedup is 14,529.92
[root@backup app1_java]# ls
1.java  4.java  aa1  aa4  aa7  file10.java  file1.java  file4.java  file7.java
2.java  5.java  aa2  aa5  aa8  file11.java  file2.java  file5.java  file8.java
3.java  6.java  aa3  aa6  aa9  file12.java  file3.java  file6.java  file9.java
[root@backup app1_java]#

192.168.235.10

[root@code etc]# useradd -M -s /sbin/nologin rsync
[root@code etc]# chown -R rsync:rsync /app/java_project[root@code etc]# cat rsyncd.conf
# /etc/rsyncd: configuration file for rsync daemon mode# See rsyncd.conf man page for more options.# configuration example:uid = rsyncgid = rsync
# use chroot = yes
# max connections = 4
# pid file = /var/run/rsyncd.pid
# exclude = lost+found/
# transfer logging = yes
# timeout = 900
# ignore nonreadable = yes
# dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2# [ftp]
#        path = /home/ftp
#        comment = ftp export area
#[app]
path=/app/java_project
log file=/var/log/rsync.log
auth users = user1,user2,user3
secrets file=/etc/rsyncd.secrets
read only=no
[root@code etc]# rsync --daemon --config=/etc/rsyncd.conf
[root@code etc]# ls /app/java_project
2.java  aa2  aa8  file10.java  file12.java  file2.java  file4.java
aa1     aa7  aa9  file11.java  file1.java   file3.java  file5.java[root@code etc]# ll /app
总用量 0
drwxr-xr-x. 4 rsync rsync 222 531 21:08 java_project
[root@code etc]# ll /app/java_project
总用量 6144
-rw-r--r--. 1 rsync rsync 6291456 515 21:30 2.java
drwxr-xr-x. 2 rsync rsync       6 515 20:51 aa1
drwxr-xr-x. 2 rsync rsync       6 515 20:51 aa2
-rw-r--r--. 1 rsync rsync       0 531 20:33 aa7
-rw-r--r--. 1 rsync rsync       0 531 20:33 aa8
-rw-r--r--. 1 rsync rsync       0 531 20:33 aa9
-rw-r--r--. 1 rsync rsync       0 531 20:33 file10.java
-rw-r--r--. 1 rsync rsync       0 531 20:33 file11.java
-rw-r--r--. 1 rsync rsync       0 531 20:33 file12.java
-rw-r--r--. 1 rsync rsync       0 515 20:54 file1.java
-rw-r--r--. 1 rsync rsync       0 515 20:54 file2.java
-rw-r--r--. 1 rsync rsync       0 515 20:54 file3.java
-rw-r--r--. 1 rsync rsync       0 515 20:54 file4.java
-rw-r--r--. 1 rsync rsync       0 515 20:54 file5.java

是因为没有改x权限吗?
为什么/app的u都有x权限,/app的属主、属组是rsync吗?如果是,/app u的位置都有rwx权限,为什么(ll /app是查看app的权限还是app内文件夹的权限)/app/java_project 中的部分文件u的位置没有x权限。是因为创建文件时属主属组不是rsync吗?文件夹的权限不能覆盖文件内部吗?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

426
在这里插入图片描述
这里是引用

为什么客户端发生删除操作,服务端没有同步

在这里插入图片描述

哦哦
192.168.235.10

[root@code java_project]# mkdir file{13..15}.java
[root@code java_project]# ll
总用量 6144
-rw-r--r--. 1 rsync rsync 6291456 515 21:30 2.java
drwxr-xr-x. 2 rsync rsync       6 515 20:51 aa1
drwxr-xr-x. 2 rsync rsync       6 515 20:51 aa2
-rw-r--r--. 1 rsync rsync       0 531 20:33 aa7
-rw-r--r--. 1 rsync rsync       0 531 20:33 aa8
-rw-r--r--. 1 rsync rsync       0 531 20:33 aa9
-rw-r--r--. 1 rsync rsync       0 531 20:33 file10.java
-rw-r--r--. 1 rsync rsync       0 531 20:33 file11.java
-rw-r--r--. 1 rsync rsync       0 531 20:33 file12.java
drwxr-xr-x. 2 root  root        6 61 15:53 file13.java
drwxr-xr-x. 2 root  root        6 61 15:53 file14.java
drwxr-xr-x. 2 root  root        6 61 15:53 file15.java
-rw-r--r--. 1 rsync rsync       0 515 20:54 file1.java
-rw-r--r--. 1 rsync rsync       0 515 20:54 file2.java
-rw-r--r--. 1 rsync rsync       0 515 20:54 file3.java
-rw-r--r--. 1 rsync rsync       0 515 20:54 file4.java
-rw-r--r--. 1 rsync rsync       0 515 20:54 file5.java
[root@code java_project]#

192.168.235.100

[root@backup app1_java]# rsync -av user3@192.168.235.10::app /backup/app1_java
Password:
receiving incremental file list
./
file13.java/
file14.java/
file15.java/sent 41 bytes  received 409 bytes  180.00 bytes/sec
total size is 6,291,456  speedup is 13,981.01
[root@backup app1_java]# ls
1.java  6.java  aa5  file10.java  file15.java  file5.java
2.java  aa1     aa6  file11.java  file1.java   file6.java
3.java  aa2     aa7  file12.java  file2.java   file7.java
4.java  aa3     aa8  file13.java  file3.java   file8.java
5.java  aa4     aa9  file14.java  file4.java   file9.java

192.168.235.100


[root@backup app1_java]# rsync -av user3@192.168.235.10::app /backup/app1_java
Password:
receiving incremental file list
./
file13.java/
file14.java/
file15.java/sent 41 bytes  received 409 bytes  180.00 bytes/sec
total size is 6,291,456  speedup is 13,981.01
[root@backup app1_java]# ls
1.java  6.java  aa5  file10.java  file15.java  file5.java
2.java  aa1     aa6  file11.java  file1.java   file6.java
3.java  aa2     aa7  file12.java  file2.java   file7.java
4.java  aa3     aa8  file13.java  file3.java   file8.java
5.java  aa4     aa9  file14.java  file4.java   file9.java
[root@backup app1_java]# ll
总用量 6144
-rw-rw-r--. 1 caozx26 caozx26       0 524 13:35 1.java
-rw-r--r--. 1    1002    1002 6291456 515 21:30 2.java
-rw-rw-r--. 1 caozx26 caozx26       0 524 13:35 3.java
-rw-rw-r--. 1 caozx26 caozx26       0 524 13:35 4.java
-rw-rw-r--. 1 caozx26 caozx26       0 524 13:35 5.java
-rw-rw-r--. 1 caozx26 caozx26       0 524 13:35 6.java
drwxr-xr-x. 2    1002    1002       6 515 20:51 aa1
drwxr-xr-x. 2    1002    1002       6 515 20:51 aa2
drwxr-xr-x. 2 root    root          6 515 20:51 aa3
-rw-r--r--. 1 root    root          0 531 20:33 aa4
-rw-r--r--. 1 root    root          0 531 20:33 aa5
-rw-r--r--. 1 root    root          0 531 20:33 aa6
-rw-r--r--. 1    1002    1002       0 531 20:33 aa7
-rw-r--r--. 1    1002    1002       0 531 20:33 aa8
-rw-r--r--. 1    1002    1002       0 531 20:33 aa9
-rw-r--r--. 1    1002    1002       0 531 20:33 file10.java
-rw-r--r--. 1    1002    1002       0 531 20:33 file11.java
-rw-r--r--. 1    1002    1002       0 531 20:33 file12.java
drwxr-xr-x. 2 root    root          6 61 15:53 file13.java
drwxr-xr-x. 2 root    root          6 61 15:53 file14.java
drwxr-xr-x. 2 root    root          6 61 15:53 file15.java
-rw-r--r--. 1    1002    1002       0 515 20:54 file1.java
-rw-r--r--. 1    1002    1002       0 515 20:54 file2.java
-rw-r--r--. 1    1002    1002       0 515 20:54 file3.java
-rw-r--r--. 1    1002    1002       0 515 20:54 file4.java
-rw-r--r--. 1    1002    1002       0 515 20:54 file5.java
-rw-r--r--. 1 root    root          0 515 20:54 file6.java
-rw-r--r--. 1 root    root          0 515 20:54 file7.java
-rw-r--r--. 1 root    root          0 515 20:54 file8.java
-rw-r--r--. 1 root    root          0 515 20:54 file9.java
[root@backup app1_java]# ps -ef |grep rsync
root      96154  94631  0 16:01 pts/1    00:00:00 grep --color=auto rsync

这里的属主属组是1002是什么意思

在这里插入图片描述

客户端、服务端是相对的概念吗

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

192.168.235.10

[root@code java_project]# touch cc{1..3}
[root@code java_project]# ls
2.java  aa2  aa4  aa6  aa8  bb3  bb5  cc1  cc3          file11.java  file13.java  file15.java  file2.java  file4.java
aa1     aa3  aa5  aa7  aa9  bb4  bb6  cc2  file10.java  file12.java  file14.java  file1.java   file3.java  file5.java

192.168.235.100

[root@backup app1_java]# rsync -av user3@192.168.235.10::app /backup/app1_java >& /dev/null 2>&1
Password:
[root@backup app1_java]# ls
1.java  4.java  aa1  aa4  aa7  bb3  bb6  cc3          file12.java  file15.java  file3.java  file6.java  file9.java
2.java  5.java  aa2  aa5  aa8  bb4  cc1  file10.java  file13.java  file1.java   file4.java  file7.java
3.java  6.java  aa3  aa6  aa9  bb5  cc2  file11.java  file14.java  file2.java   file5.java  file8.java
[root@backup app1_java]#

192.168.235.10

[root@code java_project]# touch dd{101..103}.java
[root@code java_project]# ls
2.java  aa3  aa6  aa9  bb5  cc2         dd102.java   file11.java  file14.java  file2.java  file5.java
aa1     aa4  aa7  bb3  bb6  cc3         dd103.java   file12.java  file15.java  file3.java
aa2     aa5  aa8  bb4  cc1  dd101.java  file10.java  file13.java  file1.java   file4.java

192.168.235.100

[root@backup caozx26]# cat /root/rsync_java.sh
!/bin/bash
rsync -av user3@192.168.235.10::app /backup/app1_java >& /dev/null 2>&1
[root@backup caozx26]# crontab -e
crontab: installing new crontab
[root@backup caozx26]# crontab -k
crontab:无效选项 -- k
crontab: usage error: unrecognized option
Usage:crontab [options] filecrontab [options]crontab -n [hostname]Options:-u <user>  define user-e         edit user's crontab-l         list user's crontab-r         delete user's crontab-i         prompt before deleting-n <host>  set host in cluster to run users' crontabs-c         get host in cluster to run users' crontabs-s         selinux context-x <mask>  enable debuggingDefault operation is replace, per 1003.2
[root@backup caozx26]# crontab -l
02 19 * * * /root/rsync_java.sh[root@backup caozx26]# cd /backup/app1_java
[root@backup app1_java]# ls
1.java  4.java  aa1  aa4  aa7  bb3  bb6  cc3          file12.java  file15.java  file3.java  file6.java  file9.java
2.java  5.java  aa2  aa5  aa8  bb4  cc1  file10.java  file13.java  file1.java   file4.java  file7.java
3.java  6.java  aa3  aa6  aa9  bb5  cc2  file11.java  file14.java  file2.java   file5.java  file8.java
[root@backup app1_java]# ls
1.java  5.java  aa3  aa7  bb4  cc2         dd103.java   file13.java  file2.java  file6.java
2.java  6.java  aa4  aa8  bb5  cc3         file10.java  file14.java  file3.java  file7.java
3.java  aa1     aa5  aa9  bb6  dd101.java  file11.java  file15.java  file4.java  file8.java
4.java  aa2     aa6  bb3  cc1  dd102.java  file12.java  file1.java   file5.java  file9.java
[root@backup app1_java]#

如果设置虚拟用户为使用密码登录,能定时备份吗?

192.168.235.10

[root@code caozx26]# cat /etc/rsyncd.conf
# /etc/rsyncd: configuration file for rsync daemon mode# See rsyncd.conf man page for more options.# configuration example:uid = rsyncgid = rsync
# use chroot = yes
# max connections = 4
# pid file = /var/run/rsyncd.pid
# exclude = lost+found/
# transfer logging = yes
# timeout = 900
# ignore nonreadable = yes
# dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2# [ftp]
#        path = /home/ftp
#        comment = ftp export area
#[app]
path=/app/java_project
log file=/var/log/rsync.log
auth users = user1,user2,user3
secrets file=/etc/rsyncd.secrets
read only=no
[root@code caozx26]# cat /etc/rsyncd.secrets
user1:123
user2:123
user3:
[root@code caozx26]# cd /app/java_project
[root@code java_project]# ls
2.java  aa3  aa6  aa9  bb5  cc2         dd102.java   file11.java  file14.java  file2.java  file5.java
aa1     aa4  aa7  bb3  bb6  cc3         dd103.java   file12.java  file15.java  file3.java
aa2     aa5  aa8  bb4  cc1  dd101.java  file10.java  file13.java  file1.java   file4.java
[root@code java_project]# mkdir ee{1..5}
[root@code java_project]# ls
2.java  aa3  aa6  aa9  bb5  cc2         dd102.java  ee2  ee5          file12.java  file15.java  file3.java
aa1     aa4  aa7  bb3  bb6  cc3         dd103.java  ee3  file10.java  file13.java  file1.java   file4.java
aa2     aa5  aa8  bb4  cc1  dd101.java  ee1         ee4  file11.java  file14.java  file2.java   file5.java

192.168.235.100

[root@backup backup]# crontab -l
02 19 * * * /root/rsync_java.sh[root@backup backup]# crontab -e
crontab: installing new crontab
[root@backup backup]# crontab -l
30 21 * * * /root/rsync_java.sh[root@backup backup]# cat rsync_java.sh
cat: rsync_java.sh: 没有那个文件或目录
[root@backup backup]# cat /root/rsync_java.sh
!/bin/bash
rsync -av user3@192.168.235.10::app /backup/app1_java >& /dev/null 2>&1
[root@backup backup]# vim /root/rsync_java.sh
[root@backup backup]# cat /root/rsync_java.sh
!/bin/bash
rsync -av user1@192.168.235.10::app /backup/app1_java >& /dev/null 2>&1
[root@backup backup]# cd app1_java
[root@backup app1_java]# ls
1.java  5.java  aa3  aa7  bb4  cc2         dd103.java   file13.java  file2.java  file6.java
2.java  6.java  aa4  aa8  bb5  cc3         file10.java  file14.java  file3.java  file7.java
3.java  aa1     aa5  aa9  bb6  dd101.java  file11.java  file15.java  file4.java  file8.java
4.java  aa2     aa6  bb3  cc1  dd102.java  file12.java  file1.java   file5.java  file9.java[root@backup backup]# cd app1_java
[root@backup app1_java]# ls
1.java  5.java  aa3  aa7  bb4  cc2         dd103.java   file13.java  file2.java  file6.java
2.java  6.java  aa4  aa8  bb5  cc3         file10.java  file14.java  file3.java  file7.java
3.java  aa1     aa5  aa9  bb6  dd101.java  file11.java  file15.java  file4.java  file8.java
4.java  aa2     aa6  bb3  cc1  dd102.java  file12.java  file1.java   file5.java  file9.java
[root@backup app1_java]# ls
1.java  5.java  aa3  aa7  bb4  cc2         dd103.java   file13.java  file2.java  file6.java
2.java  6.java  aa4  aa8  bb5  cc3         file10.java  file14.java  file3.java  file7.java
3.java  aa1     aa5  aa9  bb6  dd101.java  file11.java  file15.java  file4.java  file8.java
4.java  aa2     aa6  bb3  cc1  dd102.java  file12.java  file1.java   file5.java  file9.java
[root@backup app1_java]# date
2025年 06月 01日 星期日 21:37:07 CST
[root@backup app1_java]# ls
1.java  5.java  aa3  aa7  bb4  cc2         dd103.java   file13.java  file2.java  file6.java
2.java  6.java  aa4  aa8  bb5  cc3         file10.java  file14.java  file3.java  file7.java
3.java  aa1     aa5  aa9  bb6  dd101.java  file11.java  file15.java  file4.java  file8.java
4.java  aa2     aa6  bb3  cc1  dd102.java  file12.java  file1.java   file5.java  file9.java

未发生同步
192.168.235.100

[root@backup app1_java]# crontab -e
crontab: installing new crontab
[root@backup app1_java]# crontab -l
40 21 * * * /root/rsync_java.sh[root@backup app1_java]# vim /root/rsync_java.sh
[root@backup app1_java]# cat /root/rsync_java.sh
!/bin/bash
rsync -av user3@192.168.235.10::app /backup/app1_java >& /dev/null 2>&1
[root@backup app1_java]# ls
1.java  5.java  aa3  aa7  bb4  cc2         dd103.java  ee4          file12.java  file1.java  file5.java  file9.java
2.java  6.java  aa4  aa8  bb5  cc3         ee1         ee5          file13.java  file2.java  file6.java
3.java  aa1     aa5  aa9  bb6  dd101.java  ee2         file10.java  file14.java  file3.java  file7.java
4.java  aa2     aa6  bb3  cc1  dd102.java  ee3         file11.java  file15.java  file4.java  file8.java
[root@backup app1_java]# date
2025年 06月 01日 星期日 21:40:51 CST
[root@backup app1_java]#

发生同步

硬链接、软链接

[root@code axel-2.4]# ./configure --prefix=/opt/axel

The strip option is enabled. This should not be a problem usually, but on some
systems it breaks stuff.Configuration done:Internationalization enabled.Debugging disabled.Binary stripping enabled.

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[root@code code]# ls
axel-1.0a.tar.gz  inotify-tools-3.13         nohup.out  模板  图片  下载  桌面
inotify.sh        inotify-tools-3.13.tar.gz  公共       视频  文档  音乐
[root@code code]# tar -zcf axel-1.0a.tar.gz
tar: 谨慎地拒绝创建空归档文件
请用“tar --help”或“tar --usage”获得更多信息。
[root@code code]# ls
axel-1.0a.tar.gz  inotify-tools-3.13         公共  图片  音乐
axel-2.4.tar.gz   inotify-tools-3.13.tar.gz  模板  文档  桌面
inotify.sh        nohup.out                  视频  下载
[root@code code]# tar -zcf axel-2.4.tar.gz
tar: 谨慎地拒绝创建空归档文件
请用“tar --help”或“tar --usage”获得更多信息。
[root@code code]# tar -xf axel-2.4.tar.gz
[root@code code]# ls
axel-1.0a.tar.gz  inotify.sh                 nohup.out  视频  下载
axel-2.4          inotify-tools-3.13         公共       图片  音乐
axel-2.4.tar.gz   inotify-tools-3.13.tar.gz  模板       文档  桌面
[root@code code]# cd axel-2.4/
[root@code axel-2.4]# cd ~
[root@code ~]# ls
2010      anaconda-ks.cfg       linux.txt  root@192.168.0.25
2011.txt  initial-setup-ks.cfg  q          shop
[root@code ~]# cd /.
[root@code /]# ks
bash: ks: 未找到命令...
[root@code /]# ls
aa3  aa6  boot  dir11  dir2  home   media  proc  sbin  sys  var
aa4  app  dev   dir12  dir3  lib    mnt    root  shop  tmp
aa5  bin  dir1  dir13  etc   lib64  opt    run   srv   usr
[root@code /]# cd ./
[root@code /]# ls
aa3  aa6  boot  dir11  dir2  home   media  proc  sbin  sys  var
aa4  app  dev   dir12  dir3  lib    mnt    root  shop  tmp
aa5  bin  dir1  dir13  etc   lib64  opt    run   srv   usr
[root@code /]# cd /home/code
[root@code code]# ls
axel-1.0a.tar.gz  inotify.sh                 nohup.out  视频  下载
axel-2.4          inotify-tools-3.13         公共       图片  音乐
axel-2.4.tar.gz   inotify-tools-3.13.tar.gz  模板       文档  桌面
[root@code code]# cd
[root@code ~]# ls
2010      anaconda-ks.cfg       linux.txt  root@192.168.0.25
2011.txt  initial-setup-ks.cfg  q          shop
[root@code ~]# cd /
[root@code /]# ls
aa3  aa6  boot  dir11  dir2  home   media  proc  sbin  sys  var
aa4  app  dev   dir12  dir3  lib    mnt    root  shop  tmp
aa5  bin  dir1  dir13  etc   lib64  opt    run   srv   usr
[root@code /]# cd /home/code/axel
bash: cd: /home/code/axel: 没有那个文件或目录
[root@code /]# cd /home/code
[root@code code]# ls
axel-1.0a.tar.gz  inotify.sh                 nohup.out  视频  下载
axel-2.4          inotify-tools-3.13         公共       图片  音乐
axel-2.4.tar.gz   inotify-tools-3.13.tar.gz  模板       文档  桌面
[root@code code]# cd axel-2.4/
[root@code axel-2.4]# ls
API             axel_zh_CN.1  conn.c   ftp.c   Makefile  search.h
axel.1          CHANGES       conn.h   ftp.h   nl.po     tcp.c
axel.c          conf.c        COPYING  gui     README    tcp.h
axel.h          conf.h        CREDITS  http.c  ru.po     text.c
axelrc.example  configure     de.po    http.h  search.c  zh_CN.po
[root@code axel-2.4]# ./configure -help
Axel configureUsage: ./configure [OPTIONS]Option          Description                             Default--prefix=...    Directories to put files in             /usr/local
--bindir=...                                            $prefix/bin
--etcdir=...                                            $prefix/etc
--mandir=...                                            $sharedir/man
--locale=...                                            $sharedir/locale--i18n=0/1      Disable/enable internationalization     1
--debug=0/1     Disable/enable debugging                0
--strip=0/1     Disable/enable binary stripping         1
[root@code axel-2.4]# ./configure --prefix=/opt/axel
The strip option is enabled. This should not be a problem usually, but on some
systems it breaks stuff.Configuration done:Internationalization enabled.Debugging disabled.Binary stripping enabled.
[root@code axel-2.4]# ./configure --prefix=/opt/axel --disable-strip
Axel configureUsage: ./configure [OPTIONS]Option          Description                             Default--prefix=...    Directories to put files in             /opt/axel
--bindir=...                                            $prefix/bin
--etcdir=...                                            $prefix/etc
--mandir=...                                            $sharedir/man
--locale=...                                            $sharedir/locale--i18n=0/1      Disable/enable internationalization     1
--debug=0/1     Disable/enable debugging                0
--strip=0/1     Disable/enable binary stripping         1
[root@code axel-2.4]# make
gcc -c axel.c -o axel.o -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os
gcc -c conf.c -o conf.o -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os
gcc -c conn.c -o conn.o -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os
gcc -c ftp.c -o ftp.o -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os
gcc -c http.c -o http.o -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os
gcc -c search.c -o search.o -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os
gcc -c tcp.c -o tcp.o -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os
gcc -c text.c -o text.o -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os
gcc *.o -o axel  -lpthread
strip axel
msgfmt -vo nl.mo nl.po
40 条已翻译消息,6 条模糊消息,4 条未翻译消息.
msgfmt -vo de.mo de.po
46 条已翻译消息,4 条模糊消息.
msgfmt -vo ru.mo ru.po
46 条已翻译消息,2 条模糊消息,2 条未翻译消息.
msgfmt -vo zh_CN.mo zh_CN.po
42 条已翻译消息,6 条模糊消息,2 条未翻译消息.
[root@code axel-2.4]# make install
mkdir -p /opt/axel/bin/
cp axel /opt/axel/bin/axel
mkdir -p /opt/axel/etc/
cp axelrc.example /opt/axel/etc/axelrc
mkdir -p /opt/axel/share/man/man1/
cp axel.1 /opt/axel/share/man/man1/axel.1
mkdir -p /opt/axel/share/man/zh_CN/man1/
cp axel_zh_CN.1 /opt/axel/share/man/zh_CN/man1/axel.1
Installing locale files...
[root@code axel-2.4]# axel https://mirrors.aliyun.com/centos-stream/
bash: axel: 未找到命令...
[root@code axel-2.4]# which axel
/usr/bin/which: no axel in (/sbin:/bin:/usr/sbin:/usr/bin)
[root@code axel-2.4]# ll /opt/axel/bin
总用量 36
-rwxr-xr-x. 1 root root 35864 61 22:25 axel
[root@code axel-2.4]# cd /opt/axel/bin
[root@code bin]# ls
axel
[root@code bin]# cd ~
[root@code ~]# cd /home/code
[root@code code]# ls
axel-1.0a.tar.gz  inotify.sh                 nohup.out  视频  下载
axel-2.4          inotify-tools-3.13         公共       图片  音乐
axel-2.4.tar.gz   inotify-tools-3.13.tar.gz  模板       文档  桌面
[root@code code]# cd axel-2.4/
[root@code axel-2.4]# ls
API             CHANGES    conn.o   gui                README    tcp.o
axel            conf.c     COPYING  http.c             ru.mo     text.c
axel.1          conf.h     CREDITS  http.h             ru.po     text.o
axel.c          config.h   de.mo    http.o             search.c  zh_CN.mo
axel.h          configure  de.po    Makefile           search.h  zh_CN.po
axel.o          conf.o     ftp.c    Makefile.settings  search.o
axelrc.example  conn.c     ftp.h    nl.mo              tcp.c
axel_zh_CN.1    conn.h     ftp.o    nl.po              tcp.h
[root@code axel-2.4]# which axel
/usr/bin/which: no axel in (/sbin:/bin:/usr/sbin:/usr/bin)
[root@code axel-2.4]# ln -s /opt/axel/bin/axel /usr/bin
[root@code axel-2.4]# axel https://mirrors.aliyun.com/centos-stream/
初始化下载: https://mirrors.aliyun.com/centos-stream/
HTTP/1.1 403 Forbidden
[root@code axel-2.4]#

ln -s /源文件路径 /软链接路径


http://www.hkcw.cn/article/SAiNusYMJB.shtml

相关文章

[Android] APK安装器 V20160330-6.0

【应用名称】APK安装【应用版本】V20160330-6.0版本【软件大小】154KB【适用型号】安卓【应用说明】此版本兼容性极强&#xff0c;Android6-Android15都可以用&#xff0c;兼容平板和手机&#xff0c;已经过测试&#xff01; 软件优点&#xff1a; 不占内存&#xff0c;大小比…

017搜索之深度优先搜索——算法备赛

深度优先搜索 如果说广度优先搜索是逐层扩散&#xff0c;那深度优先搜索就是一条道走到黑。 深度优先遍历是用递归实现的&#xff0c;预定一条顺序规则&#xff08;如上下左右顺序&#xff09; &#xff0c;一直往第一个方向搜索直到走到尽头或不满足要求后返回上一个叉路口按…

电子电路:时钟脉冲与上升沿的详细解析

一、时钟脉冲的量子物理本质 1. 电磁波能量量子化 时钟脉冲本质是电磁能量的周期性传递,其最小能量单元为: E = h f E = hf E=hf 其中 h = 6.626 10 − 34 J ⋅ s h=6.62610^{-34} \ Js h=6.62610−34 J⋅s(普朗克常数), f f f 为时钟频率。当3GHz CPU运行时,单个时…

HTTPS

HTTPS 是什么 它其实就是网站的保镖版 HTTP。平常你用普通HTTP上网&#xff0c;你浏览器和网站服务器之间传的东西&#xff0c;不管是密码、聊天内容还是信用卡号&#xff0c;都是“裸奔”的&#xff0c;谁都能半路偷看或者篡改。 HTTPS 就不同了&#xff0c;它在你们开始传东…

LTSPICE仿真电路:(三十)压流变换器

1.压流转换器&#xff08;NPN型三极管&#xff09; 压流转换器&#xff1a;将电压转换为电流信号。 直接看仿真 这个电路是负反馈电路&#xff0c;分析使用续断虚短&#xff0c;输入信号是3V&#xff0c;所以在Rset电阻处的电压始终是3V &#xff0c;Uce为6V&#xff08;发射…

电动机定子铁芯冲槽模设计与多物理场仿真优化

摘要 本文系统阐述电动机定子铁芯冲槽模的设计规范与仿真验证方法。通过分析冲裁机理&#xff0c;提出模具材料选型、间隙计算、结构优化的关键技术方案&#xff0c;并借助ANSYS Workbench平台进行应力-疲劳联合仿真&#xff0c;为高精度冲槽模设计提供理论依据和工程实践参考…

window 显示驱动开发-复制深度模具值

Microsoft Direct3D 运行时调用用户模式显示驱动程序的 Blt 函数&#xff0c;将深度模具值从视频内存复制到系统内存&#xff0c;反之亦然。 驱动程序和硬件必须从或转换到驱动程序支持的所有不透明深度模具格式 (&#xff0c;即 D3DDDIFORMAT 枚举类型定义的所有格式&#xff…

pc端小卡片功能-原生JavaScript金融信息与节日日历

代码如下 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>金融信息与节日日历</title><…

Redis最佳实践——购物车优化详解

Redis在电商购物车高并发读写场景下的优化实践 一、购物车业务场景分析 典型操作特征 读/写比例 ≈ 8:2高峰QPS可达10万单用户最大商品数500操作类型&#xff1a;增删改查、全选/反选、数量修改 技术挑战 高并发下的数据一致性海量数据存储与快速访问实时价格计算与库存校验分…

[网页五子棋][对战模块]处理连接成功,通知玩家就绪,逻辑问题(线程安全,先手判定错误)

文章目录 处理连接成功通知玩家就绪逻辑图问题 1&#xff1a;线程安全问题 2&#xff1a;先手判定错误两边都是提示&#xff1a;轮到对方落子![image.png](https://i-blog.csdnimg.cn/img_convert/c570cd26eadbe87ed467bc4edaa7945e.png) 处理连接成功 实现 GameAPI 的 afterC…

Python训练打卡Day39

图像数据与显存 知识点回顾 图像数据的格式&#xff1a;灰度和彩色数据模型的定义显存占用的4种地方 模型参数梯度参数优化器参数数据批量所占显存神经元输出中间状态 batchisize和训练的关系 一、图像数据的格式 1.1灰度图像 作为图像数据&#xff0c;相较于结构化数据&#x…

pycharm打印时不换行,方便对比观察

原来&#xff1a; 优化&#xff1a; import torch torch.set_printoptions(linewidth200) 优化结果&#xff1a;

Practice 2025.6.1—— 二叉树进阶面试题(2)

文章目录 二叉树进阶面试题(2)Leetcode_144 二叉树的前序遍历(使用非递归)Leetcode_94 二叉树的中序遍历(使用非递归)Leetcode_145 二叉树的后序遍历(使用非递归) 二叉树进阶面试题(2) 本篇文章将继续进行二叉树的进阶面试题的讲解&#xff0c;其中&#xff0c;本部分将重点针…

DOCKER使用记录

1、拉取镜像 直接使用docker pull <image>&#xff0c;大概率会出现下面的报错信息&#xff1a; (base) jetsonyahboom:~$ docker pull ubuntu:18.04 Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while …

Vert.x学习笔记-EventLoop与Context的关系

Vert.x学习笔记 1. EventLoop 的核心作用2. Context 的核心作用3. EventLoop 与 Context 的关系1. 事件循环&#xff08;EventLoop&#xff09;的核心职责2. 上下文&#xff08;Context&#xff09;的核心职责3. 事件循环与上下文的关系&#xff08;1&#xff09;一对一绑定&am…

LTSPICE仿真电路:(三十一)HOWLAND电流源

1.HOWLAND电流源 推导过程&#xff1a;这个运放是正负反馈都存在&#xff0c;但负反馈是大于正反馈的&#xff0c;因正反馈多出一个Rload&#xff0c;所以可以使用虚短续断&#xff0c;运放的U等于U-&#xff0c;负反馈处得出Uout与U-的关系&#xff0c;再利用正相端节点电流算…

LLaMA-Factory - 批量推理(inference)的脚本

scripts/vllm_infer.py 是 LLaMA-Factory 团队用于批量推理&#xff08;inference&#xff09;的脚本&#xff0c;基于 vLLM 引擎&#xff0c;支持高效的并行推理。它可以对一个数据集批量生成模型输出&#xff0c;并保存为 JSONL 文件&#xff0c;适合大规模评测和自动化测试。…

引擎下线缺陷检测系统ENAgent

引擎下线缺陷检测系统ENAgent采用信号处理技术以及人工智能技术对引擎生产线下线的各种引擎在生产线上进行缺陷实时检测&#xff0c;通过振动信号、声纹信号等信号融合集成&#xff0c;在线实时判断其是否存在缺陷以及进行故障诊断。ENAgent系统采用全Python语言&#xff0c;以…

【量化交易学习】布林线(BOLL)指标

目录 1. 布林线&#xff08;BOLL&#xff09;指标定义与构成1.1 定义1.2 布林线的构成 2. BOLL&#xff08;布林线&#xff09;的应用场景3. BOLL指标的研判标准3.1 BOLL指标中的上、中、下轨线的意义3.2 BOLL指标中的上、中、下轨线之间的关系3.3 K线和布林线上、中、下轨之间…

ArcGIS Pro 创建渔网格网过大,只有几个格网的解决方案

之前用ArcGIS Pro创建渔网的时候&#xff0c;发现创建出来格网过大&#xff0c;只有几个格网。 后来查阅资料&#xff0c;发现是坐标不对&#xff0c;导致设置格网大小时单位为度&#xff0c;而不是米&#xff0c;因此需要进行坐标系转换&#xff0c;网上有很多资料讲了ArcGIS …