linux两台机器之间传文件,用的什么端口
Linux主机之间传输文件的几种方法:
1、scp传输
scp传输速度较慢,但使用ssh通道保证了传输的安全性。
命令:
将本地文件拷贝到远程:
scp 文件名 –用户名@计算机IP或者计算机名称:远程路径
从远程将文件拷回本地:
scp –用户名@计算机IP或者计算机名称:文件名 本地路径
2、rsync差异化传输(支持断点续传,数据同步)
rsync是Linux系统下的文件同步和数据传输工具,它采用“rsync”算法,可以将一个客户机和远程文件服务器之间的文件同步,也可以在本地系统中将数据从一个分区备份到另一个分区上。
如果rsync在备份过程中出现了数据传输中断,恢复后可以继续传输不一致的部分。rsync可以执行完整备份或增量备份。
3、管道传输(降低IO开销)
gzip -c sda.img | ssh root@192.168.1.110 “gunzip -c - > /image/sda.img”
#对sda.img使用gzip压缩,-c参数表示输出到stdout,即通过管道传送
#gunzip -c - 中的"-"表示接收从管道传进的sdtin
4、nc传输(一种网络的数据流重定向)
nc所做的就是在两台电脑之间建立tcp或udp链接,并在两个端口之间传输数据流,是一种网络的数据流重定向。
使用dd结合nc命令网络克隆磁盘分区:
主机:
dd if=/dev/vda | gzip -c | nc -l 50522
待恢复机:
nc 192.168.215.63 50522 | gzip -dc | dd of=/dev/sda
dd命令克隆/dev/vda磁盘,并使用gzip压缩,把数据流重定向到本机50522端口,待恢复机上使用nc连接主机50522端口,就能接收主机50522端口的比特数据流,然后使用gzip解压缩,并恢复到/dev/sda磁盘。
dd命令读取的是磁盘扇区,所以不论磁盘文件系统,或者分区表,磁盘MBR信息,dd都能够复制,可以使用bs,count参数控制要克隆的大小
5、建立文件服务器
通过建立文件服务器,然后通过网络挂载的方式传输,适用于经常性的拷贝。
目录与文件命令
pwd(查看当前目录)
显示出绝对路径
cd(打开目录)
cd / :打开根目录
cd /bin:打开根目录下的bin目录
cd … :打开上一级目录
cd …/… :打开上两级目录
ls(查看目录)
ls -a 显示所有文件,包括隐藏文件
ls -l 显示文件名,文件权限,拥有者等
find(搜索文件)
file 目录 文件名
touch(建立文件)
linux中的文件注重权限和文件内容,而不注重文件扩展名
mkdir(建立文件夹)
格式:mkdir [options] 目录名
[options]主要参数
-m, --mode=模式:设定权限<模式>;,与chmod类似。
-p, --parents:需要时创建上层目录;如果目录早已存在,则不当作错误。
-v, --verbose:每次创建新目录都显示信息。
--version:显示版本信息后离开。
rmdir(删除一个空目录)
-p:删除多级目录
cp (文件复制命令)
-i :覆盖文件时,给出提示
-r :若给出的源文件是目录文件,将复制该目录下所有的子目录和文件
mv(文件移动和重命名)
rm(删除文件命令)
-r 递归删除
-i 提示
-d 删除目标目录的硬链接
chmod(文件权限设置命令)
r:可读 ,w :可写 ,x :可执行
chmod g-x liu.c //删除同组用户的可执行权限
查看文件内容
cat
head
head -n5 liu.txt //查看文件前五行
tail
shell编程
局部变量,环境变量,位置变量
运算符:
$[ ]表示数学运算
expr表示改变运算顺序
echo(输出)
echo $str >file //没有创建,有则覆盖
echo $str>>file //追加
read(输入)
read A B C //从终端读取
read A B<file.txt //从file.txt中读取
流程控制语句
if 条件1;then 命令1
elif 条件2;then 命令2
else 条件3
fi
for 变量名 in列表 //for char in a b c d
do
命令 //echo $char
done
export(查看环境变量)
关于linux系统命令
Netstat:
显示网络状态,利用netstat可以让你得知整个Linux系统的网络情况
使用df命令可以查看磁盘的适用情况以及文件系统被挂载的位置
history
history 5
ps命令:
最常用的方法是ps aux
ps a 显示现行终端机下的所有程序,包括其他用户的程序。
ps u 以用户为主的格式来显示程序状况。
ps x 显示所有程序,不以终端机来区分。
top命令:
Linux top命令用于实时显示 process 的动态。
显示进程信息# top
显示完整命令# top -c
以批处理模式显示程序信息# top -b
以累积模式显示程序信息# top -S
file
作用:file通过探测文件内容判断文件类型,使用权限是所有用户。
格式:file [options] 文件名
options]主要参数
-v:在标准输出后显示版本信息,并且退出。
-z:探测压缩过的文件类型。
-L:允许符合连接。
grep
作用:grep命令可以指定文件中搜索特定的内容,并将含有这些内容的行标准输出。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
格式:grep [options]
[options]主要参数:
-c:只输出匹配行的计数。
-i:不区分大小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名
-n:显示匹配行及行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
查看磁盘:
df
列出文件系统的整体磁盘使用量。df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。语法:
df [-ahikHTm] [目录或文件名]
du
查看文件和目录磁盘使用的空间情况
语法:du [-ahskm] 文件或目录名称
fdisk
用于磁盘分区。语法:fdisk [-l] 装置名称
选项与参数:-l :输出后面接的装置所有的分区内容。若仅有 fdisk -l 时, 则系统将会把整个系统内能够搜寻到的装置的分区均列出来。
请你说一下vector的特性
参考回答:
vector特点是: 其容量在需要时可以自动分配,可以在运行时高效地添加元素,本质上是数组形式的存储方式。即在索引可以在常数时间内完成。缺点是在插入或者删除一项时,需要线性时间。但是在尾部插入或者删除,是常数时间的。
查看端口号的两种指令:
netstat –tunlp|grep 端口号
lsof -i:端口号
查询进程的指令
ps -ef |grep 进程
ps:将某个进程显示出来
-A 显示所有程序。
-e 此参数的效果和指定"A"参数相同。
-f 显示UID,PPIP,C与STIME栏位。
动态查看日志
1、先切换到:cd usr/local/tomcat5/logs
2、tail -f catalina.out
3、这样运行时就可以实时查看运行日志了
怎么判断一个端口存不存在:
netstat -anp |grep 端口号,在输出结果中看监控状态为LISTEN表示已经被占用,最后一列显示被服务mysqld占用,查看具体端口号,只要有如图这一行就表示被占用了。
磁盘满了怎么处理
-
df -h 查看是哪个挂在目录满了,常常是根目录/占满
-
快速定位一下应用日志大小情况,比如tomcat日志,应用系统自己的日志等。
-
如果能直观地看到日志文件过大,则酌情进行删除。有时候删除日志文件之后再df -h查看空间依然被占满,继续排查。
lsof file_name 查看文件占用进程情况,如果删除的日志正在被某个进程占用,则必须重启或者kill掉进程。 -
如果不能直观地排除出是某个日志多大的原因,就需要看一下指定目录下的文件和子目录大小情况,使用du命令。
删除一个目录下的txt文件
find . -name “*.txt” | xargs rm -rf
文本编辑指令
vi里面怎么替换字符串
vi/vim 中可以使用 :s 命令来替换字符串
:s/vivian/sky/ 替换当前行第一个 vivian 为 sky
:s/vivian/sky/g 替换当前行所有 vivian 为 sky
:n,
s
/
v
i
v
i
a
n
/
s
k
y
/
替
换
第
n
行
开
始
到
最
后
一
行
中
每
一
行
的
第
一
个
v
i
v
i
a
n
为
s
k
y
:
n
,
s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky :n,
s/vivian/sky/替换第n行开始到最后一行中每一行的第一个vivian为sky:n,s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
n 为数字,若 n 为 .,表示从当前行开始到最后一行
:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky
:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky
将文本中的T全部替换成t,将其中的一行复制新的一行出来
:%s/T/t/g
Crontab
被用来提交和管理用户的需要周期性执行的任务,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
Uptime:
查询服务器已经运行多久