基础命令讲解(一)
常用命令
ls 命令
参数 | 注释 |
---|---|
-a, --all | 不隐藏任何以. 开始的项目; |
-A, --almost-all | 列出除. 及.. 以外的任何项目; |
--author | 与-l 同时使用时列出每个文件的作者; |
-b, --escape | 以八进制溢出序列表示不可打印的字符; |
--block-size=大小 | 块以指定大小的字节为单位; |
-B, --ignore-backups | 不列出任何以"~"字符结束的项目; |
-d, --directory | 当遇到目录时列出目录本身而非目录内的文件; |
-D, --dired | 产生适合 Emacs 的 dired 模式使用的结果; |
-f | 不进行排序,-aU 选项生效,-lst 选项失效; |
-i, --inode | 显示每个文件的 inode 号; |
-I, --ignore=PATTERN | 不显示任何符合指定 shell PATTERN 的项目; |
-k | 即--block-size=1K; |
-l | 使用较长格式列出信息; |
-n, --numeric-uid-gid | 类似 -l,但列出 UID 及 GID 号; |
-N, --literal | 输出未经处理的项目名称 (如不特别处理控制字符) ; |
-r, --reverse | 排序时保留顺序; |
-R, --recursive | 递归显示子目录; |
-s, --size | 以块数形式显示每个文件分配的尺寸; |
-S | 根据文件大小排序; |
-t | 根据修改时间排序; |
-u | 同-lt 一起使用:按照访问时间排序并显示; |
同-l 一起使用:显示访问时间并按文件名排序; | |
其他:按照访问时间排序; | |
-U | 不进行排序;按照目录顺序列出项目; |
-v | 在文本中进行数字(版本)的自然排序。 |
-l 长格式显示文件信息
-d 显示目录本身信息
-a 显示全部文件,包括隐藏的文件
-A 显示除了.或者..以外的文件,包括隐藏文件
-i 显示文件的inode号
-t 按修改时间进行排序
长格式显示
-l 参数主要是可以看到文件的更详细的信息
[root@xiaobei ~]# ll
total 4
-rw-------. 1 root root 1840 Jun 30 15:18 anaconda-ks.cfg
#第一个横行表示文件类型,常见有
#- 普通文件:
#d 目录
#l 链接文件
#c 字符设备(即串行端口的接口设备,例如伪终端等)
#b 块设备(磁盘)
#s 套接字文件(通常用在网络数据连接)
#p 管道文件
[root@xiaobei /]# ll
total 16
lrwxrwxrwx. 1 root root 7 Jun 30 15:07 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 Jun 30 15:17 boot
drwxr-xr-x. 20 root root 3240 Jun 30 15:40 dev
drwxr-xr-x. 81 root root 8192 Jun 30 15:40 etc
drwxr-xr-x. 3 root root 21 Jun 30 15:16 home
lrwxrwxrwx. 1 root root 7 Jun 30 15:07 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Jun 30 15:07 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Apr 11 2018 media
drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt
drwxr-xr-x. 2 root root 6 Apr 11 2018 opt
dr-xr-xr-x. 116 root root 0 Jun 30 15:40 proc
dr-xr-x---. 2 root root 114 Jun 30 15:18 root
drwxr-xr-x. 25 root root 740 Jun 30 15:40 run
lrwxrwxrwx. 1 root root 8 Jun 30 15:07 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Apr 11 2018 srv
dr-xr-xr-x. 13 root root 0 Jun 30 15:40 sys
drwxrwxrwt. 8 root root 167 Jun 30 15:40 tmp
drwxr-xr-x. 13 root root 155 Jun 30 15:07 usr
drwxr-xr-x. 19 root root 267 Jun 30 15:40 var
### Linux目录结构:
/ 根目录
/boot: 放置linux系统启动时的内核文件以及引导文件。
/dev: 存放linux系统下的设备文件
/etc: 系统配置文件存放的目录
/home: 系统默认的用户家目录
/lib,lib64: 动态连接共享库
/media: 挂载可移动的设备
/opt: 存放第三方软件
/root: 管理员家目录
/bin,/sbin: 可执行二进制命令
/run: 临时文件系统目录
/srv: 早期存放数据目录
/tmp: 存放临时文件
/usr: 应用程序目录
/var: 存放动态文件,比如日志
/mnt: 临时挂载目录
管道文件又分为有名管道和无名管道:
有名管道:
在磁盘上会存储一个管道文件表示(inode 存于内存上),但它并不会占据磁盘空间(block),数据并不会存储到磁盘上。 创建有名管道: mkfifo xiaobei.pipe
[root@xiaobei home]# mkfifo xiaobei.pipe [root@xiaobei home]# ls xiaobei xiaobei.pipe [root@xiaobei home]# ll total 0 drwx------. 2 xiaobei xiaobei 62 Apr 11 2018 xiaobei prw-r--r--. 1 root root 0 Jun 30 16:39 xiaobei.pipe
无名管道:
无名管道不存在管道文件 ip addr | grep "inet"
[root@xiaobei home]# ip addr | grep "inet" inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host inet 192.168.115.129/24 brd 192.168.115.255 scope global noprefixroute dynamic ens33 inet6 fe80::1036:aab8:fd73:8e4f/64 scope link noprefixroute
显示隐藏文件
-a 参数可以显示隐藏文件
[root@xiaobei ~]# ls -a
. .. anaconda-ks.cfg .bash_logout .bash_profile .bashrc .cshrc .tcshrc
[root@xiaobei ~]# ls
anaconda-ks.cfg
pwd 命令
pwd 命令主要用于显示或者查看当前所在的目录路径
[root@xiaobei ~]# pwd
/root
echo 命令
输出指定得字符或者变量
[root@xiaobei ~]# echo xiaobei
xiaobei
参数 | 注释 |
---|---|
\a | 发出警告声 |
\b | 删除前一个字符 |
\c | 最后不加上换行符号; |
\f | 换行但光标仍旧停留在原来的位置; |
\n | 换行且光标移至行首; |
\r | 光标移至行首,但不换行; |
\t | 插入 tab; \v 与\f 相同; |
\ | 插入\字符; |
\033[30m 黑色字 \033[0m
\033[31m 红色字 \033[0m
\033[32m 绿色字 \033[0m
\033[33m 黄色字 \033[0m
\033[34m 蓝色字 \033[0m
\033[35m 紫色字 \033[0m
\033[36m 天蓝字 \033[0m
\033[37m 白色字 \033[0m
\033[40;37m 黑底白字 \033[0m
\033[41;37m 红底白字 \033[0m
\033[42;37m 绿底白字 \033[0m
\033[43;37m 黄底白字 \033[0m
\033[44;37m 蓝底白字 \033[0m
\033[45;37m 紫底白字 \033[0m
\033[46;37m 天蓝底白字 \033[0m
\033[47;30m 白底黑字 \033[0m
cat >/home/echo.sh<<EOF
echo -e "\033[36mPlease Select Install Menu follow:\033[0m"
echo -e "\033[32m1)Install Apache Server\033[1m"
echo "2)Install MySQL Server"
echo "3)Install PHP Server"
echo "4)Configuration index.php and start LAMP server"
echo -e "\033[31mUsage: { /bin/sh $0 1|2|3|4|help}\033[0m"
EOF
alias 命令
设置别名,便于执行相关命令
查看当前环境设置的别名:
alias
设置临时别名(关闭shell就失效了):
alias v33='vim /etc/sysconfig/network-scripts/ifcfg-ens33'
设置永久别名。
vim ~/.bashrc
alias v33='vim /etc/sysconfig/network-scripts/ifcfg-ens33'
du 命令
du 命令常用于查看文件在磁盘中的使用量,常用命令 du -sh,查看当前目录所有文件及文件及的大小
文件管理
cat、cp、mv、touch、mkdir、less、more、diff、zip、gzip、bzip2、tar
cat 命令
cat 命令可以用于查看文件内容,或者利用重定向创建文件
查看文件内容或追加文件内容
-n 或--number:从 1 开始对所有输出的行数编号; -b 或--number-nonblank:对于空白行不编号; -s 或--squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行; -A:显示不可打印字符,行尾显示“$”; 实例:
[root@xiaobei ~]# cat -n /etc/sysconfig/network-scripts/ifcfg-ens33
1 TYPE="Ethernet"
2 PROXY_METHOD="none"
3 BROWSER_ONLY="no"
4 BOOTPROTO="dhcp"
5 DEFROUTE="yes"
6 IPV4_FAILURE_FATAL="no"
7 IPV6INIT="yes"
8 IPV6_AUTOCONF="yes"
9 IPV6_DEFROUTE="yes"
10 IPV6_FAILURE_FATAL="no"
11 IPV6_ADDR_GEN_MODE="stable-privacy"
12 NAME="ens33"
13 UUID="b16d8e90-b790-4873-9747-8a7b50783470"
14 DEVICE="ens33"
15 ONBOOT="yes"
创建文件
# EOF表示结束符,可以自定义,如下
#以覆盖得方式写文件
[root@xiaobei xiaobei]# cat > xiaobei.txt << eof
> this
> is
> xiaobei
> test
> eof
#以追加得方式写文件
[root@xiaobei xiaobei]# cat >> xiaobei.txt << f
> new line
> f
cp 命令
用来将一个或多个源文件或者目录复制到指定的目的文件或目录
语法: cp [OPTION]... SOURCE DEST option: -a:此参数的效果和同时指定"-dpR"参数相同; -d:可复制符号连接,不会破坏链接文件与源文件的链接关系。 -f:强行复制文件或目录,不论目标文件或目录是否已存在; -i:覆盖既有文件之前先询问用户; -l:对源文件建立硬连接,而非复制文件; -p:保留源文件或目录的属性; -R/r:递归处理,将指定目录下的所有文件与子目录一并处理; -s:对源文件建立符号连接,而非复制文件(指定绝对路径); -u:使用这项参数后只会在源文件的更改时间较目标文件要新的时候或是目标文件并不存在时,才复制文件; -S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀~; -b:覆盖已存在的文件目标前将目标文件备份,后缀默认是~; -v:详细显示命令执行的操作。
复制更新的文件
【-u】只复制源文件有更新的,否则不执行。
#第一次将xiaobei.txt复制到data目录
[root@xiaobei xiaobei]# cp xiaobei.txt /home/data/
#更新文件
[root@xiaobei xiaobei]# echo "this is update" > xiaobei.txt
#-u参数复制:
[root@xiaobei xiaobei]# cp -u xiaobei.txt /home/data/
cp: overwrite ‘/home/data/xiaobei.txt’? y
[root@xiaobei xiaobei]# cat /home/data/xiaobei.txt
this is update
#不更新文件,再次复制,并没有进行替换:
[root@xiaobei xiaobei]# cp -u xiaobei.txt /home/data/
复制软连接
【-d|-a】复制软连接,这里要注意创建软连接时最好为绝对路径,否则可能会出现失效的软连接。
[root@xiaobei xiaobei]# ln -s /home/xiaobei/xiaobei.txt xiaobei2.txt
[root@xiaobei xiaobei]# ll
total 4
lrwxrwxrwx. 1 root root 25 Jun 30 17:40 xiaobei2.txt -> /home/xiaobei/xiaobei.txt
-rw-r--r--. 1 root root 15 Jun 30 17:30 xiaobei.txt
#如果直接复制,不带参数,会导致软连接失效,直接创建普通文件
[root@xiaobei xiaobei]# cp xiaobei2.txt /home/data/
[root@xiaobei xiaobei]# ll /home/data/
total 8
-rw-r--r--. 1 root root 15 Jun 30 17:42 xiaobei2.txt
-rw-r--r--. 1 root root 15 Jun 30 17:31 xiaobei.txt
#加上参数
[root@xiaobei xiaobei]# cp -d xiaobei2.txt /home/data/
cp: overwrite ‘/home/data/xiaobei2.txt’? y
[root@xiaobei xiaobei]# ll /home/data/
total 4
lrwxrwxrwx. 1 root root 25 Jun 30 17:43 xiaobei2.txt -> /home/xiaobei/xiaobei.txt
-rw-r--r--. 1 root root 15 Jun 30 17:31 xiaobei.txt
备份复制
【-S】复制同名文件到目的目录时,对源文件进行备份,且自定义备份文件后缀名
#第一次复制
[root@xiaobei xiaobei]# echo "xiaobei3" > xiaobei3.txt
[root@xiaobei xiaobei]# cp xiaobei3.txt /home/data/
#第二次复制,对源文件进行备份
[root@xiaobei xiaobei]# \cp -S ".`date +%F`" xiaobei3.txt /home/data/
[root@xiaobei xiaobei]# ls /home/data/
xiaobei2.txt xiaobei3.txt xiaobei3.txt.2020-06-30 xiaobei.txt
通用参数
【-a 】如果参数都记不住,就记住它吧,可以实现递归,复制软连接,保留文件属性
touch 命令
touch 命令有两个功能:一是创建新的空文件,二是改变已有文件的时间戳属性。
touch 命令会根据当前的系统时间更新指定文件的访问时间和修改时间。如果文件不存在,将会创建新的空文件,除非指定了”-c”或”-h”选项。
注意:在修改文件的时间属性的时候,用户必须是文件的属主,或拥有写文件的访问权限
touch file -a 只修改访问时间(属性更改时间也会变) -m 只更改修改时间(属性更改时间也会变) stat file 查看文件的属性 语法格式:touch [参数][文件] | 参数 | 注释 | | :---------: | :----------------------------------------- | | -a | 改变档案的读取时间记录 | | -m | 改变档案的修改时间记录 | | -r | 使用参考档的时间记录,与 --file 的效果一样 | | -c | 不创建新文件 | | -d | 设定时间与日期,可以使用各种不同的格式 | | -t | 设定档案的时间记录,格式与 date 命令相同 | | --no-create | 不创建新文件 | | --help | 显示帮助信息 | | --version | 列出版本讯息 |
# 创建空文件
[root@xiaobei xiaobei]# touch file.txt
# 批量创建文件
[root@xiaobei xiaobei]# touch file{1..5}.txt
[root@xiaobei xiaobei]# ls
file1.txt file2.txt file3.txt file4.txt file5.txt file.txt
# 修改文件的access(访问)时间
[root@xiaobei xiaobei]# stat file.txt
File: ‘file.txt’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 16847736 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:home_root_t:s0
Access: 2020-07-02 18:56:34.099010059 +0800
Modify: 2020-07-02 18:56:34.099010059 +0800
Change: 2020-07-02 18:56:34.099010059 +0800
Birth: -
[root@xiaobei xiaobei]# touch -a file.txt
[root@xiaobei xiaobei]# stat file.txt
File: ‘file.txt’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 16847736 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:home_root_t:s0
Access: 2020-07-02 18:58:24.913003454 +0800
Modify: 2020-07-02 18:56:34.099010059 +0800
Change: 2020-07-02 18:58:24.913003454 +0800
Birth: -
mkdir 命令
创建目录
递归创建目录
-p 如果上级目录不存在,自动创建上级目录,;如果目录已经存在,则不创建,不会提示报错
[root@xiaobei xiaobei]# mkdir -p /home/data/xiaobei/xiaobei
指定目录权限
-m 可以指定创建目录时的权限
[root@xiaobei xiaobei]# mkdir -m 700 /home/xiaobei/xiaobei2
[root@xiaobei xiaobei]# ll /home/xiaobei/xiaobei2 -d
drwx------. 2 root root 6 Jun 30 18:03 /home/xiaobei/xiaobei2
rm 命令
rm 命令主要用于删除文件或者目录,用法 rm –rf test.txt (-r 表示递归,-f 表示强制) rm -rf 后面不带路径是最危险的动作,没有之一
mv 命令
mv 命令是“move”单词的缩写,其功能大致和英文含义一样,可以移动文件或对其改名。
这是一个使用频率超高的文件管理命令,我们需要特别留意它与复制的区别:mv 与 cp 的结果不同。mv 命令好像文件“搬家”,文件名称发生改变,但个数并未增加。而 cp 命令是对文件进行复制操作,文件个数是有增加的。
语法格式:mv [参数]
参数 | 注释 |
---|---|
-i | 若存在同名文件,则向用户询问是否覆盖 |
-f | 覆盖已有文件时,不进行任何提示 |
-b | 当文件存在时,覆盖前为其创建一个备份 |
-u | 当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作 |
#将文件file_1重命名为file_2:
[root@xiaobei dir]# mv file_1 file_2
# 将文件file移动到目录dir中 :
[root@xiaobei dir]# mv file /dir
# 将目录dir1移动目录dir2中(前提是目录dir2已存在,若不存在则改名):
[root@xiaobei dir]# mv /dir1 /dir2
# 将目录dir1下的文件移动到当前目录下:
[root@xiaobei dir]# mv /dir1/* .
less 命令
查看大文件,分屏显示,可以使用键盘翻屏
空格 显示下一屏内容 b 显示上一屏内容 f 显示下一屏内容
more 命令
也可以实现分屏显示
空格 显示下一屏内容 b 显示上一屏内容 f 显示下两屏内容
gzip 命令
压缩文件,默认压缩完会删除源文件
gzip [option] file -c 将压缩结果通过重定向至其他文件,以此保留源文件。 -d 解压缩 -r 递归压缩目录内文件,只压缩文件,不会压缩目录 -1~9 指定压缩级别,-1 最快压缩,-9 最大压缩,更消耗 cpu,默认级别是 6. 实例
# 压缩一个文件
# gzip file
[root@xiaobei xiaobei]# gzip xiaobei.txt
# 压缩一个目录下的所有文件,并显示过程
[root@xiaobei xiaobei]# gzip -rv /home/data
/home/data/xiaobei.txt: 0.0% -- replaced with /home/data/xiaobei.txt.gz
gzip: /home/data/xiaobei2.txt: Too many levels of symbolic links
/home/data/xiaobei3.txt.2020-06-30: -22.2% -- replaced with /home/data/xiaobei3.txt.2020-06-30.gz
/home/data/xiaobei3.txt: -22.2% -- replaced with /home/data/xiaobei3.txt.gz
# 压缩一个文件,并保留源文件
[root@xiaobei xiaobei]# gzip -c /home/xiaobei/xiaobei.txt > xiaobei.gz
# 解压一个文件
[root@xiaobei xiaobei]# gunzip xiaobei.gz
[root@xiaobei xiaobei]# gzip -d xiaobei.txt.gz
# 不解压,直接查看文件内容
[root@xiaobei xiaobei]# zcat xiaobei3.txt.gz
xiaobei3
bzip2 命令
压缩文件,默认压缩完会删除源文件,不支持递归压缩目录文件
bzip2 [option] file -k 保留源文件 -d 解压缩 -1~9 定义压缩级别 实例
# 压缩文件,并保留源文件
[root@xiaobei xiaobei]# bzip2 -k xiaobei.txt
# 解压缩文件
[root@xiaobei xiaobei]# bzip2 -d xiaobei.txt.bz2
# 不解压,直接查看文件内容
[root@xiaobei xiaobei]# bzcat xiaobei.txt.bz2
this is update
tar 命令
归档工具,用来打包和备份 首先要弄清两个概念:打包和压缩
- 打包是指将一大堆文件或目录变成一个总的文件
- 压缩则是将一个大的文件通过一些压缩算法变成一个小文件
tar [option] file -c 创建新的 tar 包 -f 指定 tar 包名 -r 添加文件到归档文件,须与 f 结合使用,指定归档文件 -z 指定 gzip 压缩 tar 包,后缀为.tar.gz -j 指定 bzip2 解压缩文件,后缀为.tar.bz2 -p 保留文件的权限和属性 --remove-files 归档后删除源文件 实例
# 创建一个新的归档文件:
tar cvf xiaobei.tar file [dirs]
# 在一个归档文件中添加新的文件:
tar rf xiaobei.tar newfile
# 提取归档文件,可以使用-C,提取到指定目录:
tar xf xiaobei.tar
# 更新归档文件中的newfile个文件
tar uf xiaobei.tar newfile
#列出归档文件中的内容,但是如果有更新文件,显示的会有所误差:
tar tf xiaobei.tar
zip 命令
压缩文件,执行不会删除源文件
# 压缩单个文件:
zip fstab.zip fstab
# 指定压缩级别:
zip -9 fstab2.zip fstab
# 压缩目录,并删除源文件:
zip -rm xiaobei.zip xiaobei/
文件传输命令
scp、rsync
scp 命令
加密的方式在本地主机和远程主机之间复制文件。
本地目录复制到远程
[root@xiaobei xiaobei]# scp -r /home/xiaobei/ 192.168.115.129:/home/data/
# ps:xiaobei后面不管带不带/,都可以同步xiaobei目录
# 如果只想同步目录下文件
[root@xiaobei xiaobei]# scp -r /home/xiaobei/* 192.168.115.129:/home/data/
本地文件复制到远程
[root@xiaobei xiaobei]# scp /home/xiaobei/file 192.168.115.129:/home/data/
启动压缩
[root@xiaobei xiaobei]# scp -rC /home/xiaobei/ 192.168.115.129:/home/data/
rsync 命令
远程数据同步工具,它传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 需要注意:本地与远程服务器都需要安装好 rsync 软件包。 | 参数 | 注释 | | :--: | :------------------------------------------------------------------- | -v,–verbose| 详细模式输出,传输时的进度等信息 -z,–compress| 传输时进行压缩以提高传输效率,–compress-level=NUM 可按级别压缩 -a,–archive| 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rtopgDl -r,–recursive| 对子目录以递归模式,即目录下的所有目录都同样传输,注意是小写 r -t,–times| 保持文件时间信息 -o,–owner| 保持文件属主信息 -p,-perms |保持文件权限 -g,–group| 保持稳健属组信息 -P,–progress|显示同步的过程及传输时的进度等信息 -D,–devices| 保持设备文件信息 -l,–links| 保留软链接 -e,–rsh=COMMAND| 使用的信道协议,指定替代 rsh 的 shell 程序。 例如:ssh –exclude=PATTERN 指定排除不需要传输的文件模式(和 tar 参数一样) –exclude-from=file(文件名所在目录文件,和 tar 参数一样) –bwlimit=RATE limit socket I/O bandwidth (案例:某 DBA 做数据同步,导致用户无法访问网站) rsync、scp、ftp 都有限速的功能
目录保持绝对一致
# 同步本地目录。
rsync -av --delete A/ /data/B
rsync -av --delete A /data/B
#ps1: B目录可以不存在,如果不存在则自动创建,但是上级data必须存在。
#ps2: A目录带不带斜杠/,意义是不一样的,带斜杠表示同步A目录下的文件,不带则同步A目录以及其中文件。
#--delete: B与A保持绝对的一致,B中存在,而A中不存在的文件将被删除。
# demo:
[root@xiaobei xiaobei]# rsync -av --delete /home/xiaobei /home/data/b
sending incremental file list
created directory /home/data/b
xiaobei/
xiaobei/file
xiaobei/file.txt
xiaobei/file1.txt
xiaobei/file2.txt
xiaobei/file3.txt
xiaobei/file4.txt
xiaobei/file5.txt
xiaobei/file_1
xiaobei/file~
sent 2,809 bytes received 226 bytes 6,070.00 bytes/sec
total size is 2,224 speedup is 0.73
[root@xiaobei xiaobei]# ls /home/data/b/
xiaobei
root@xiaobei xiaobei]# rsync -av --delete /home/xiaobei/ /home/data/a
sending incremental file list
created directory /home/data/a
./
file
file.txt
file1.txt
file2.txt
file3.txt
file4.txt
file5.txt
file_1
file~
sent 2,793 bytes received 225 bytes 6,036.00 bytes/sec
total size is 2,224 speedup is 0.74
[root@xiaobei xiaobei]# ls /home/data/a/
file file~ file_1 file1.txt file2.txt file3.txt file4.txt file5.txt file.txt
本地同步到远程
[root@xiaobei xiaobei]# rsync -av /home/xiaobei/a 192.168.115.129:/home/a/
#将本地a目录所有文件,同步至远程服务器上,
#同理,要想实现绝对的一致,需要加上--delete参数。
#使用ssh协议连接到远程,所以可以将本机公钥发给远程主机,
#否则每次执行都会提示出入密码。
远程同步到本地
[root@xiaobei xiaobei]# rsync -av 192.168.115.129:/home/data/a/ .
[root@xiaobei xiaobei]# rsync -av 192.168.115.129:/home/data/a .
# . 表示将远程目录a,同步到本地a目录。
#ps:要注意不带斜杠会在本地目录创建一个C目录,如果带上斜杠/,则只会同步C目录下的文件。
开启 shell 扩展
[root@xiaobei xiaobei]# shopt -s extglob
[root@xiaobei xiaobei]# rm -rf !(anaconda-ks.cfg)