什么是 FTPFTP 是文件传输协议File Transfer Protocol的缩写。顾名思义,FTP用于计算机之间通过网络进行文件传输。你可以通过FTP在计算机账户间进行文件传输,也可以在账户和桌面计算机之间传输文件,或者访问在线软件归档。但是,需要注意的是多数的FTP站点的使用率非常高,可能需要多次重连才能连接上。
FTP地址和HTTP地址(即网页地址)非常相似,只是FTP地址使用 ftp://前缀而不是http://
FTP 服务器是什么通常,拥有FTP地址的计算机是专用于接收FTP连接请求的。一台专用于接收FTP连接请求的计算机即为FTP服务器或者FTP站点。
现在,我们来开始一个特别的冒险,我们将会搭建一个FTP服务用于和家人、朋友进行文件共享。在本教程,我们将以vsftpd作为ftp服务。
VSFTPD是一个自称为最安全的FTP服务端软件。事实上VSFTPD的前两个字母表示“非常安全的very secure”。该软件的构建绕开了FTP协议的漏洞。
尽管如此,你应该知道还有更安全的方法进行文件管理和传输,如:SFTP(使用OpenSSH)。FTP协议对于共享非敏感数据是 ...
sFTP(安全文件传输程序)是一种安全的交互式文件传输程序,其工作方式与 FTP(文件传输协议)类似。 然而,sFTP 比 FTP 更安全;它通过加密 SSH 传输处理所有操作。
它可以配置使用几个有用的 SSH 功能,如公钥认证和压缩。 它连接并登录到指定的远程机器,然后切换到交互式命令模式,在该模式下用户可以执行各种命令。
在本文中,我们将向你展示如何使用 sFTP 上传/下载整个目录(包括其子目录和子文件)。
How to use默认情况下,SFTP 协议采用和 SSH 传输协议一样的方式建立到远程服务器的安全连接。虽然,用户验证使用类似于 SSH 默认设置的密码方式,但是,建议创建和使用 SSH 无密码登录,以简化和更安全地连接到远程主机。
要连接到远程 sftp 服务器,如下建立一个安全 SSH 连接并创建 SFTP 会话:
1$ sftp root@server
登录到远程主机后,你可以如下运行交互式的 sFTP 命令:
12345678sftp> ls #列出服务器文件列表sftp> lls #列出本地文件 ...
tailf 一个实时监听文件或日志的强大的命令
命令格式1$ tailf [option] file
命令描述 tailf 将会打印出一个文件的最后10行,等待并持续输出此文件的增长,它和tail -f相似,不同之处是当文件没有增长时,是不访问此文件的;但这会有一个副作用:不会更新文件的访问时间。当没有发生日志活动时,文件系统的冲洗(flush)不会定期发生。 tailf 对于打印日志不频繁,而又在使用笔记本电脑时是非常有用的,这样用户就能降低磁盘转速从而增加笔记本续航。
命令参数
参数
描述
-n,–lines=N,-N
输出最后N行,而不是默认的最后10行
命令实例例一:展示一个文件的最后5行并监听文件的新行(新增加的内容)
123$ tailf -n 5 myfile.txt$ tailf -5 myfile.txt$ tailf --lines=5 myfile.txt
注:这是一个实时监听文件或日志的强大的命令
例二:实时新增日志内容,并通过管道过滤出自己想要的内容
12## 实时监听ip地址为24.10.160.10的访问日志$ tai ...
前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令。
crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
Linux下的任务调度分为两类,系统任务调度和用户任务调度。
系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。
/etc/crontab文件包括下面几行:
1234567891011121314## /et ...
在windows系统中,windows提供了计划任务这一功能,在控制面板 -> 性能与维护 -> 任务计划, 它的功能就是安排自动运行的任务。 通过’添加任务计划’的一步步引导,则可建立一个定时执行的任务。
在linux系统中你可能已经发现了为什么系统常常会自动的进行一些任务?这些任务到底是谁在支配他们工作的?在linux系统如果你想要让自己设计的备份程序可以自动在某个时间点开始在系统底下运行,而不需要手动来启动它,又该如何处置呢? 这些例行的工作可能又分为一次性定时工作与循环定时工作,在系统内又是哪些服务在负责? 还有,如果你想要每年在老婆的生日前一天就发出一封信件提醒自己不要忘记,linux系统下该怎么做呢?
今天我们主要学习一下一次性定时计划任务的at命令的用法!
命令格式1$ at [参数] [时间]
命令功能 在一个指定的时间执行一个指定任务,只能执行一次,且需要开启atd进程(ps -ef | grep atd查看, 开启用/etc/init.d/atd start or restart; 开机即启动则需要运行 ch ...
watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行。在Linux下,watch是周期性的执行下个程序,并全屏显示执行结果。你可以拿他来监测你想要的一切命令的结果变化,比如 tail 一个 log 文件,ls 监测某个文件的大小变化,看你的想象力了!
命令格式1$ watch[参数][命令]
命令功能 可以将命令的输出结果输出到标准输出设备,多用于周期性执行命令/定时执行命令
命令参数
参数
描述
-n或–interval
watch缺省每2秒运行一下程序,可以用-n或-interval来指定间隔的时间
-d或–differences
watch 会高亮显示变化的区域
-d=cumulative
会把变动过的地方(不管最近的那次有没有变动)都高亮显示出来
-t 或-no-title
会关闭watch命令在顶部的时间间隔,命令,当前时间的输出
-h, –help
查看帮助文档
使用实例例一:每隔一秒高亮显示网络链接数的变化情况
1 ...
Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。
ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具。
kill 命令用于杀死进程。linux上进程有5种状态:
运行(正在运行或在运行队列中等待)
中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
停止(进程收到SIGSTOP, S ...
Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。
命令格式1$ wc [选项]文件...
命令功能 统计指定文件中的字节数、字数、行数,并将统计结果显示输出。该命令统计指定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所指定文件的总统计数。
命令参数
参数
描述
-c
统计字节数
-l
统计行数
-m
统计字符数。这个标志不能与 -c 标志一起使用
-w
统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串
-L
打印最长行的长度
-help
显示帮助信息
–version
显示版本信息
使用实例例一:查看文件的字节数、字数、行数
123$ wc 1.txt 5 19 105 1.txt 行数 单词数 字节数 文件名
例二:用wc命令怎么做到只打印统计数字不打印文件名
12345$ wc -l 1.txt5 1.txt ## 5行$ cat 1.txt | wc -l5 ## 值输出数字
例三:用来统计当前目录下的文件和 ...
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。
grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。
命令格式1$ grep [option] pattern file
命令功能 用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用,使用上十分灵活。
命令参数
参数
描述
-a –text
不要忽略二进制的数据
-A<显示行数> –after-context=<显示行数>
除了显示符合范本 ...
cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。
命令格式1$ cal [参数][月份][年份]
命令功能用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
命令参数
参数
描述
-1
显示一个月的月历
-3
显示系统前一个月,当前月,下一个月的月历
-s
显示星期天为一个星期的第一天,默认的格式
-m
显示星期一为一个星期的第一天
-j
显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
-y
显示当前年份的日历
使用实例例一:显示当前月份日历
1$ cal
例二:显示指定月份的日历
1$ cal 6 2016
例三:显示2016年的日历
12$ cal -y 2016$ cal 2016
例四:显示自1月1日的天数
1$ cal -j
例五:星期一显示在第一列
1$ cal -m