分享

linux操作

 一本正经地胡闹 2020-10-24

重启ssh systemctl restart sshd或systemctl restart sshd.service

启动失败,用stcpshd -t检查

ubuntu 重启 /etc/init.d/ssh restart

ssh断开太快

方法1:改服务器

vim /etc/ssh/sshd_config

ClientAliveInterval  60      // 每隔60S向客户端发送请求消息,并等待客户端响应

ClientAliveCountMax  10   // 客户端超过十次没响应,自动断开(即10分钟)

方法2:改客户端

使用SecureCRT远程连接后, 选项(O)->会话选项(S)->终端->发送协议 NO-OP(P)->设置时间(秒)->确定


centos

方法1:客户端

1.1 改配置文件:

~/.ssh/config    家目录下,.ssh目录里创建config

ServerAliveInterval 120    每120s,客户端就向服务端发送一个空的包。


1.2 临时设置参数,命令:

ssh -o "ServerAliveInterval 60"  ip_address

ip_address指的是服务器IP,会临时将这个链接设置为60*60=3600秒。比较适用于公网服务器,不需要修改公网服务器配置。


方法2:服务端

/etc/ssh/sshd_config

TCPKeepAlive yes    是否保持TCP连接

ClientAliveInterval 0    一定时间向客户端发送一次数据包判断是否在线,默认值是0(不发送)

ClientAliveCountMax 3    如果客户端没有响应,发送一定次数后断开连接。默认是3次。


ClientAliveInterval  60

ClientAliveCountMax  60

即60s向客户端发送一次数据包,失败60次以后才会断开连接。什么都不做,长达一个小时的时间才会断开连接。


不管是修改客户端的配置,还是修改服务端的配置,都需要重启sshd进程,让配置生效。

CentOS 7.x,systemctl命令,重启速度非常快,而且正常重启时,不会有任何输出内容。

CentOS 6.x,/etc/init.d/sshd


ubuntu

client 端:

echo -e '\nServerAliveInterval 30' >> ~/.ssh/ssh_config

server 端:

echo -e '\nClientAliveInterval 30' >> /etc/ssh/sshd_config



1、在客户端配置(已试,该方法没用)

#vi  /etc/ssh/ssh_config(注意不是/etc/ssh/sshd_config文件),后面添加

    ServerAliveInterval 30

    这表示要让所有的ssh连接自动加上此属性;如果要指定服务端,如下:

    使用-o的参数ServerAliveInterval来设置一个防止超时的时间

     ssh -o ServerAliveInterval=30 IP地址 

2、在服务端

编辑服务器 /etc/ssh/sshd_config,最后增加

ClientAliveInterval 60

ClientAliveCountMax 1




vim

删除当前行 dd

粘贴 p 

搜索 /内容 下一个n 上一个N

ctrl+f 下一页 ctrl+b上一页

撤销u 恢复撤销ctrl+r

行号 set nu 或者set number  取消行号 set nu!

每次打开vi都显示行号 修改vi ~/.vimrc 文件,添加:set number

复制当前行 yy       复制多行 开始行号,结束行号y

查看rpm安装的程序在哪些目录:

rpm -ql 程序名

例如:rpm -ql nginx

ps aux|grep 程序名

查看是否安装了某程序:

rpm -qa 程序名 (这个会慢一点,不知道什么原因)

rpm -q 程序名 (没有安装会提示xxx is not installed)

yum list xxx 列出相关的包

例如,我不知道telnet有哪些包,就用 yum list telnet*,就会列出telnet相关的包

yum install xxx

例如装telnet,yum install telnet*,会给你装telnet和telnet-server

1、先查看进程pid

ps -ef | grep 进程名

2、通过pid查看占用端口

netstat -nap | grep 进程pid

https://www.cnblogs.com/MacoLee/p/5664306.html

查看cron的定时任务列表 crontab -l

添加定时任务 crontab -e

添加完以后会直接生效,

添加完以后要重启 crond restart 通常会失败(需要先kill -9 pid,再crond start)

查看日志,会自动更新 tail -f /var/log/cron

tail -3 /var/log/cron 显示最后3行cron日志

ps -ef|grep crond

cron用户级和系统级

https://magician.blog.csdn.net/article/details/84394809

https://blog.csdn.net/idkevin/article/details/72948962

https://blog.csdn.net/gjggj/article/details/72922036


tail -f      等同于--follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止

tail -F     等同于--follow=name  --retry,根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪

tailf        等同于tail -f -n 10(貌似tail -f或-F默认也是打印最后10行,然后追踪文件),与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件,所以tailf特别适合那些便携机上跟踪日志文件,因为它减少了磁盘访问,可以省电


查看是ubuntu还是centos


cat /etc/issue

方式一:

radhat或centos存在: /etc/redhat-release 这个文件【 命令 cat /etc/redhat-release 】

ubuntu存在 : /etc/lsb-release 这个文件 【命令 cat etc/lsb-release 】

方式二:

看看安装指令,

有yum的就是Centos【yum -help】,

有apt-get的就是Ubuntu 【apt-get -help】。

用户操作

useradd username  创建用户

passwd username  给已创建的用户设置密码

(新创建的用户会在/home下创建一个用户目录)

usermod --help  修改用户这个命令的相关参数

userdel username  删除用户

rm -rf username 进入home目录下,删除用户目录

查看用户属于的组:

id  username

groups username

查看组是否存在

grep groupname /etc/group

切换用户

su username

su是switch user的缩写,表示用户切换

exit 退出当前用户,回到之前的用户

组操作:

groupadd groupname    组的添加

groupdel groupname    组的删除

将用户添加到组:

执行以下命令时,用id username这个命令查看组的变化:

uid=1000(user1) gid=1003(group1) groups=1003(group1),1004(group2)

-a append

-g gid,primary group 主组

-G supplementary group 副组

usermod -g groupname username 替换主组

usermod -G groupname username 替换副组(该命令行默认只有1个副组,如果用户有多个副组,就全没了)

usermod -a -G groupname username 添加副组

gpasswd -d username groupname 将用户从副组删除


账户3文件

/etc/passwd 用户信息

/etc/group 组信息 (developers:x:1002:user2,user3,这里面只列举了用户的副组,没有主组)

/etc/shadow 密码信息


1)管理用户(user)的工具或命令

useradd    注:添加用户

adduser    注:添加用户

passwd     注:为用户设置密码

usermod    注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;

pwcov      注:同步用户从/etc/passwd 到/etc/shadow

pwck       注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;

pwunconv   注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;

finger     注:查看用户信息工具

id         注:查看用户的UID、GID及所归属的用户组

chfn       注:更改用户信息工具

su         注:用户切换工具

sudo       注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;

visudo     注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;

sudoedit   注:和sudo 功能差不多;

2)管理用户组(group)的工具或命令

groupadd    注:添加用户组;

groupdel    注:删除用户组;

groupmod    注:修改用户组信息

groups      注:显示用户所属的用户组

grpck

grpconv     注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;

grpunconv   注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件;

文件权限

1、修改文件所属用户

chown   -R   username   dirname

-R处理指定目录以及其子目录下的所有文件

2、修改文件所属组

chgrp groupname dirname

日期

echo $(date) 打印日期 Sun Nov 22 19:37:55 CST 2020

echo $(date +%Y%m%d) 打印日期格式需要有+号作为标识,20200101

https://www.cnblogs.com/qmfsun/p/4598650.html


同目录下,文件和目录不能同名。

Linux继承了Unix一切皆文件的思想,几乎所有的IO操作都能被看成是对文件操作,文件夹也是一个二进制文件,可以通过文本编辑器打开。相同目录下不能有同名的两个文件,因此linux同一目录下文件和文件夹不能同名。

查看内存使用

cat /proc/meminfo

最简单的方法是通过“/proc/meminfo”来检查内存使用状况。这个动态更新的虚拟文件事实上是诸如free,top和ps这些与内存相关的工具的信息来源。从可用/闲置物理内存数量到等待被写入缓存的数量或者已写回磁盘的数量,只要是你想要的关于内存使用的信息,“/proc/meminfo”应有尽有。特定进程的内存信息也可以通过“/proc/statm”和“/proc/status”来获取。

https://www./check-linux-memory.html


1.free -h

解释下基本概念

Mem 内存的使用信息

Swap 交换空间的使用信息

total 系统总的可用物理内存大小

used 已被使用的物理内存大小

free 还有多少物理内存可用

shared 被共享使用的物理内存大小

buff/cache 被 buffer 和 cache 使用的物理内存大小

available 还可以被使用的物理内存大小(即系统可用内存约等于free+shared+buff/cache)

2.top查看内存占用,shift+m按MEN占用降序

top详解请参考:https://www.cnblogs.com/zhoug2020/p/6336453.html

3.查看45685进程的线程情况

ps p 45685 -L -o pcpu,pmem,pid,tid,time,tname,cmd

4.使用ps命令:

ps -ef | grep java | grep -v grep

查看当前java进程列表

5.使用lsof命令:

lsof | grep java |grep -v grep >> 1.log

查看当前进程的运行状态

vi 1.log 

按:输入/ESTABLISHED,找到正常运行的进程

6.kill掉其余的进程

kill -9 PID

 原文链接:https://www.cnblogs.com/eeexu123/p/10913389.html

最后定位到是tomcat运行的jenkins的问题,具体问题正在排查。

排查的过程中起初以为是tomcat内存优化的问题,特此找到tomcat正确的jvm内存配置方案。

原文链接: https://blog.csdn.net/acwa123/article/details/72626921

Tomcat并不建议直接在catalina.sh里配置变量,而是写在与catalina同级目录(bin目录)下的setenv.sh里。

所以如果我们想要修改jvm的内存配置,那么我们就需要修改setenv.sh文件(如果没有就新建一个setenv.sh),写入(大小根据自己情况修改):

export CATALINA_OPTS="$CATALINA_OPTS -Xms1600m"

export CATALINA_OPTS="$CATALINA_OPTS -Xmx1600m"

export CATALINA_OPTS="$CATALINA_OPTS -XX:MaxPermSize=256m"




查看cpu

一、CPU信息查看

cat /proc/cpuinfo| grep "physical id"| sort -u | wc -l       #查看是物理CPU个数,-u和uniq都是去重作用

cat /proc/cpuinfo| grep "cpu cores"| uniq                    #查看每个物理CPU核数

cat /proc/cpuinfo| grep "processor"| wc -l                   #查看逻辑CPU个数

cat /proc/cpuinfo |grep "model name" |uniq                   #查看CPU型号

二、查看CPU使用情况

2.1查看CPU平均使用情况

sar -u 1             #-u表示CPU,1代表时间间隔

iostat -c 1          #-c表示CPU,1代表时间间隔

vmstat -S M -n 1     #-S代表内存使用的单位,-n代表时间间隔

2.2查看单个CPU使用情况

mpstat -P ALL 1


https://www.cnblogs.com/lsdb/p/7063577.html

查看文件 cat less more

cat 一次性显示整个文件。一般用于内容较少的文件。

more和less一般用于显示文件内容超过一屏的内容,并且提供翻页的功能。more比cat强大,提供分页显示的功能,less比more更强大,提供翻页,跳转,查找等命令。而且more和less都支持:用空格显示下一页,按键b显示上一页。

https://blog.csdn.net/xyw_blog/article/details/16861681


空格键下一页,b键上一页。q键退出

more: 顾名思义显示更多

less: 由于more不能后退,就取more的反义词less加上后退功能

所以Linux里流传着这样一句话:"less is more".

总结下more 和 less的区别:

1.  less可以按键盘上下方向键显示上下内容,more不能通过上下方向键控制显示

2.  less不必读整个文件,加载速度会比more更快。

3.  less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容

more的源码量大约2000行,

less的源码量大约27000行,

more历史比less久,

less功能比more多

详细解释:

more功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。

转自 https://www.cnblogs.com/aijianshi/p/5750911.html


less

按回车,打开底部命令输入行(即出现一个冒号的位置),

然后可以使用  键盘上的 home 键跳到文件开始,end键跳到最后,PgUp向前翻页,PgDn向下翻页,

 {

  也可以使用linux命令实现上面功能:

  g  跳到开头 

  G  跳到文件结尾 

  b  往前翻一页(一屏幕)

  f  往后翻一页(一屏幕)

 }

还可以在冒号后面直接输入  /要搜索的关键字  进行 高亮显示,可以 用  n 向前查找或者 N 向后查找。


将内容输出到文件

> /xxx/xxx

例如将抓包的内容输出到日志:tcpdump -nn -vv -X udp port 5349 > /home/data.log

这种是覆盖式生成文件。

>>/xxx/xxx

这种是追加式生成文件。

tcpdump -nn -vv -X udp port 5349 >> /home/data.log

防火墙

CentOS7 防火墙操作 开放端口

1, 查看防火墙状态:

firewall-cmd --state

systemctl status firewalld.service

2, 开启防火墙:

systemctl start firewalld.service

3,设置开机自启:

systemctl enable firewalld.service

4, 重启防火墙:

systemctl restart firewalld.service

firewall-cmd --reload

5, 查看防火墙设置开机自启是否成功:

systemctl is-enabled firewalld.service;echo $?

6,关闭防火墙:

systemctl stop firewalld.service

7,开端口命令:

打开单个端口:firewall-cmd  --add-port=80/tcp --permanent

打开多个端口:firewall-cmd  --add-port=20000-29999/tcp --permanent

--permanent  为永久生效,不加为单次有效(重启失效)

8,查看开启端口:

netstat -ntlp 或:firewall-cmd --list-ports

9,关闭端口命令:

firewall-cmd --zone= public --remove-port=80/tcp --permanent

10、查看端口是否打开

firewall-cmd --zone= public --query-port=80/tcp


其他版本

关闭防火墙:service iptables stop

开启防火墙:service iptables start

防火墙状态:service iptables status

永久关闭:chkconfig iptables off

永久开启:chkconfig iptables on

方法一(命令):

   1. 开放端口命令: /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

   2.保存:/etc/rc.d/init.d/iptables save

   3.重启服务:/etc/init.d/iptables restart

   4.查看端口是否开放:/sbin/iptables -L -n

方法二(修改文本):

   1.修改文件: vi /etc/sysconfig/iptables

   2.在文本中加入一行:-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT

  3.重启服务:service iptables restart

  4.查看端口命令:service iptables status

关闭端口(命令):

   /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT 

sudo iptables -A OUTPUT -p tcp --dport $PORT -j DROP"   

   其他命令同方法一(命令)

关闭端口(删除文本):

   vi /etc/sysconfig/iptables

   其他命令同方法二(修改文件)



云服务器打开端口:

如果是在本机的话,我们只要将端口加入防火墙的配置文件即可。(centos7默认是使用firewalld服务,centos之前版本一般是使用iptables服务)。

这里用iptables服务举例,比如要开启81端口:

1.先在iptables的配置文件加入开启端口命令(firewalld服务使用firewall-cmd),

-A INPUT -m state --state NEW -m tcp -p tcp --dport 81 -j ACCEPT

重启生效:service iptables restart

2.然后在阿里云ecs控制台的实例配置安全组规则。

这就开启了81端口。



将firewalld换成iptables(centos7及以上版本)

#停止firewalld服务

systemctl stop firewalld

#禁用firewalld服务

systemctl mask firewalld

systemctl mask <service> 是注销服务的意思。

注销服务意味着:

该服务在系统重启的时候不会启动

该服务无法进行做systemctl start/stop操作

该服务无法进行systemctl enable/disable操作


开启

systemctl unmask firewalld

安装iptables-services:

yum install iptables-services

设置开机启动:

systemctl enable iptables

systemctl [stop|start|restart] iptables

#or

service iptables [stop|start|restart]

service iptables save

#or

/usr/libexec/iptables/iptables.init save

然后

service iptables status

开启: service iptables start

关闭: service iptables stop


# 释放缓存区内存的方法

1)清理pagecache(页面缓存)

# echo 1 > /proc/sys/vm/drop_caches     或者 # sysctl -w vm.drop_caches=1

2)清理dentries(目录缓存)和inodes

# echo 2 > /proc/sys/vm/drop_caches     或者 # sysctl -w vm.drop_caches=2

3)清理pagecache、dentries和inodes

# echo 3 > /proc/sys/vm/drop_caches     或者 # sysctl -w vm.drop_caches=3

注:上面三种方式都是临时释放缓存的方法,要想永久释放缓存,需要在/etc/sysctl.conf文件中配置:vm.drop_caches=1/2/3,然后sysctl -p生效即可!

清空日志

echo '' > 日志文件名

删除再建没有用

sudo

who host=(runas)  TAG:command

who :运行者用户名

host:主机

runad:以那个身份运行

TAG:标签

command:命令

样例:user1 ALL=(root) NOPASSWD:/usr/sbin/ifconfig, PASSWD:/usr/sbin/sshd

命令的意思是:user1用户可以在任何地方以root身份无密码执行useradd有密码执行usermod。


进入配置文件,拉到最底部

vim /etc/sudoers

插入以下内容

p1 ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart tomcat

p1为用户名

/usr/bin/systemctl restart tomcat为能用sudo的命令

除了这个命令以外,都无法使用sudo

如果有多条命令需要使用sudo,则加逗号分割,如下

p1 ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart tomcat-1,/usr/bin/systemctl restart tomcat-2


转自https://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_009.html



     ln(即link) 是为某一个文件在另外一个位置建立一个同步的链接。

     有两种链接方式,一种是硬链接(hard link),另一种是符号链接(symbolic link),又称软链接。硬链接和原有文件是存储在同一物理地址的两个不同的名字,因此硬链接是相互的;符号链接的内容只是一个所链接文件的文件名,ll查看文件权限,符号链接是l。 

 当在不同的目录,用到相同的文件时,可以不需要在每一个需要的目录下都放一个必须相同的文件,只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)。

例如:ln -s /bin/hello.sh /usr/local/bin/hello         这个命令最常用的参数是-s, 是symbolic的意思。

如果你用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用ln命令生成的文件,用ls -l命令去察看,就可以看到显示的link的路径了

链接绕不过ln/link 命令(当然,前提是你不用图形界面)。

1.创建软链接

ln  -s  [源文件或目录]  [目标文件或目录]

例如:

当前路径创建test 引向/var/www/test 文件夹 

ln –s  /var/www/test  test

创建/var/test 引向/var/www/test 文件夹 

ln –s  /var/www/test   /var/test 

2.删除软链接

 rm –rf 软链接名称(注意不要在名称后面加“/”,会删除掉目录里的文件)

例如:

删除test

rm –rf test

3.修改软链接

ln –snf  [新的源文件或目录]  [目标文件或目录]

例如:

创建一个软链接

ln –s  /var/www/test   /var/test

修改指向的新路径

ln –snf  /var/www/test1   /var/test

这里有三点要注意:

第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;

第二,ln的链接有软链接 和硬链接两种,

         软链接就是ln -s src  dst,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,

         硬链接ln src  dst,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。

第三,修改和删除。

删除目录:软链接删除目标目录里的文件,源目录里的文件也会没有。硬链接只能用于链接文件,不能链接目录。

删除文件:软链接删除文件只是删除了链接,硬链接删除文件是删除当前的文件(源文件依然在)

修改文件:软链接和硬链接一样,一处修改,所有都改。

-------------------------我是有深度的分割线------------------------

ln –help 查看详细

常用的参数:

-b 删除,覆盖以前建立的链接

-d 允许超级用户制作目录的硬链接

-f 强制执行

-i 交互模式,文件存在则提示用户是否覆盖

-n 把符号链接视为一般目录

-s 软链接(符号链接)

-v 显示详细的处理过程


转自 https://blog.csdn.net/weixin_42293718/article/details/80470093

查看磁盘大小

df -h

du -a

ls -a 查看所有

l. 或者 ls -d .* 只查看隐藏文件或目录

ls -d 显示目录自身,不显示其内容。例如:ls xxx 显示的是xxx中的内容。例如我想找/home目录下tom开头的目录,ls tom* 结果显示的是这些目录的内容,而不是目录的名字。ls -d就用在这个场景。ls -d tom* 显示的就是tom开头的目录了。所以ls -d .* 是查看.开头的目录或文件

修改linux系统时间

ln -snf /etc/localtime /usr/share/zoneinfo/UTC

直接用超链接,比覆盖要简单很多。

tar -zxvf

.tar.gz是一个压缩包,.tar只是打包而没有压缩。

z通过gzip支持的压缩或解压缩。还有其他的压缩或解压缩方式,比如j表示bzip2的方式

x解压缩

v在压缩或解压缩过程中显示正在处理的文件名

ff后面必须跟上要处理的文件名。

查看系统版本


查看内核版本

uname -a


查看centos

cat  /etc/redhat-release

编译安装

./configure        ./configure --prefix=指定安装路径

./configure --prefix=指定安装路径 --with-依赖的包名=包的路径


--with

例如:

搭建apache tomcat集群环境时遇到

./configure --with-apxs=/usr/local/apache-tomcat-7.0.26/bin/apxs

解释如下:

--with-apxs 是指定 apache 的配置程序路径,php编译程序会通过这个程序查找apache的相关路径

--with-libxml-dir 指向的是 libxml 的库路径

--with-gd 指静态编译gd库

--with-png-dir 指定 libpng 的路径


3. 进入php的解压路劲,查看如何指定该软件包

[root@localhost php-5.6.4]# ./configure --help | grep libxml2

  --with-libxml-dir=DIR   LIBXML: libxml2 install prefix

  --with-libxml-dir=DIR   DOM: libxml2 install prefix

  --with-libxml-dir=DIR   SimpleXML: libxml2 install prefix

...

通过以上的信息,我们知道libxml2的路径的指定方式

./configure --prefix=/usr/local/php  --with-libxml-dir=/usr/local/libxml2


卸载

1.1 make uninstall    在安装包目录里执行

1.2 或者直接删除安装的目录,前提是之前安装的时候用了--prefix指定安装路径。

不指定prefix,安装会放在多个路径:可执行文件/usr/local/bin,库文件/usr/local/lib,配置文件/usr/local/etc,其它的资源文件/usr/local/share。


2 make clear    清楚./configure的配置文件,不然上一次的configure会影响到下一次


https://blog.csdn.net/xhaimail/article/details/95000513

yum命令

yum install xxx

yum remove xxx

yum list xxx

yum list installed

yum info xxx

yum search xxx

https://blog.csdn.net/cheng830306/article/details/24780717

/dev/null 和 /dev/zero

测试网速其实利用了传输文件的原理,就是把来自一台机器的/dev/zero 发送给另一台机器的/dev/null,就是把一台机器的无限个0,传输给另一个机器的空设备上,然后新开一个窗口使用dstat命令监测网速

测网速:

nc -l 9990 >/dev/null

A机器接收数据,监听自己的9990端口,把来自这个端口的数据都输出给空设备(这样不写磁盘,测试网速更准确)

nc 10.0.1.161 9990 </dev/zero

B机器发送数据,把无限个0发送给A机器的9990端口

sftp

   cd 路径                        更改远程目录到“路径”

   lcd 路径                        更改本地目录到“路径”  

   ls [选项] [路径]            显示远程目录列表  

   lls [选项] [路径]        显示本地目录列表  

   put 本地路径                    上传文件  

   get 远程路径                    下载文件

...

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多