重启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 远程路径 下载文件
...
|