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

LINUX 61 rsync定时同步;软链接

定时同步报错

[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 /源文件路径 /软链接路径

相关文章:

  • RAGflow详解及实战指南
  • 《C++初阶之入门基础》【C++的前世今生】
  • C++命名空间深度解析
  • 功能丰富的PDF处理免费软件推荐
  • 如何实现告警的自动化响应?
  • Java求职者面试题详解:Spring、Spring Boot、MyBatis技术栈
  • PyTorch——DataLoader的使用
  • Java八股文智能体——Agent提示词(Prompt)
  • IDEA,Spring Boot,类路径
  • 论文阅读(六)Open Set Video HOI detection from Action-centric Chain-of-Look Prompting
  • Linux 学习-模拟实现【简易版bash】
  • 从单机到集群,再到分布式,再到微服务
  • Java String 详细教程
  • 模块联邦:更快的微前端方式!
  • 002 dart刷题
  • 数据结构:递归(Recursion)
  • 【AI论文】R2R:通过小型与大型模型之间的令牌路由高效导航发散推理路径
  • vue-10( 动态路由匹配和路由参数)
  • Linux线程同步实战:多线程程序的同步与调度
  • 数据库系统概论(十)SQL 嵌套查询 超详细讲解(附带例题表格对比带你一步步掌握)
  • 网络推广员为什么做不长/重庆seo招聘
  • 网站策划方案 优帮云/排名优化公司电话
  • 华侨城网站建设/宁波seo推荐推广平台
  • 免费做网站软件2003/白酒营销策划方案
  • 做网站的时候说需求的专业术语/中央广播电视总台
  • 设计感 网站/最好的小说网站排名