本章主要讲 Linux 中的网络(和传输)以及进程控制
目录
防火墙
常用的传输方式
- ping
查看机器是否通网
ping 192.111.111.111 这个 ip 十次
- telnet
是一个服务,需要手动开启,默认不开启是因为 telnet 的传输是不加密的,容易被窃取
- SSH
使用 last 查看之前 ssh 登陆的人
- ftp
也是一种服务,可以完全被 SSH 替代,可以不用开用 scp 替代,因为开的服务越多机器就越不安全
scp 是 ssh 的 copy,比 ftp 安全些,是目前传输的主流方式
linux 上 scp 就是一个命令,windows 上是一个软件叫做 winscp
建议不在 linux 和 windows 之间传文件,好好学 vi,通常传到 windows 上是为了做备份
ftp 中 ascii 上传下载的结果是不一样的(末尾的几个字符)
但是 binary 的上传下载结果是一样的
要传就用 binary
而且 ftp 不能直接传文件夹,要传文件夹只能 tar 成一个文件之后再传
- scp
本机之间的文件传递用 cp,两个机器之间的文件处传递用 scp
上传:
scp 源文件 用户名@主机:目的文件名
scp -r 原文件夹 用户名@主机:目的文件夹
下载:
scp 用户名@主机:/path/文件名 /path/文件名
- /etc/hosts 文件, 用来解释局网中的主机名和 ip 地址直接的关系
检查文件处传输的正确性、完整性
linux 中有 md5sum 命令生成文件 MD5 码
检查 md5 是否一样,可以用 diff 检查
假设1.txt是原文件,或正确传输了原文件的md5为1.txt.md5
防火墙
防火墙开了很多服务就用不了了,建议对外网的(公网、固定 ip 地址的)打开防火墙,对内网不用开
CetOS上
检查防火墙状态
打开防火墙
把上一条命令的 start 换成 stop 和 restart 即可停用/重启
Ubuntu上一般是
ufw配置文件位于:/etc/ufw/ufw.conf
也可以直接在该配置文件中修改(修改之后要重启才能生效)
使用wget下载文件
下载http://www.linuxde.net/testfile.zip这个文件并打开断点续传开关 -c
在后台运行程序/脚本
在前台运行就是直接在命令行里输入命令回车,需要在命令行界面等待程序运行完毕,要结束运行使用 Ctrl+C
长时间运行的程序一般放在后台,回车之后无需等待提示符出现
要结束运行用 ps -ef|程序名 然后 kill PID
两种后台运行程序的方式
1、在命令后面加上 &
关闭 shell 后即结束这个后台进程(父进程 shell 结束了,这个用&的在后台运行的子进程也结束)
语法如下
$ command [arguments] &
$ command [arguments ] > cmd.out &
2、 nohup
较常用,此时在后台运行的进程不再是输入命令行的 shell,而是 root
也就是说将在后台运行的事情交给了 root,只要 root 还在,这个后台进程就不会结束
但是程序运行的权限还是用户的,不是 root 的权限
定时运行程序crontab
经常拿来做定时备份
语法: crontab [-e [UserName]|-l [UserName]|-r [UserName]|-v [UserName]|File ]
说明:
-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指 定他人的时程表
如果不使用 -u user 的话,就是表示设定自己的时程表。
参数: -e [UserName]: 执行文字编辑器来设定时程表,内定的文字编辑器是 VI. -l [UserName]: 列出目前的时程表
时程表的格式 : f1 f2 f3 f4 f5 program
f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第 几天。program 表示要执行的程式。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程式,其余类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执 行,其余类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类 推
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推
使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。 由于 unix 版 本不一样,所以部分语法有差别,例如在 hp unix aix 中设定间隔执行如果采用*/n 方式将出现语法错 误,在这类 unix 中 ,间隔执行只能以列举方式,详请见例子。
使用方法:
用 VI 编辑一个文件 cronfile,然后在这个文件中输入格式良好的时程表。编辑完成后,保存并退 出。
tar 和 zip
tar 用二进制形式对一堆文件进行打包(如果单单用 ftp 直接传,会非常慢)
因为 ftp 直传会非常慢,而且传过来格式也不一样,所以一般用 tar 打包
注意 tar 只管打包不压缩,所以 tar 后的结果和原来的文件一样大要压缩用 zip
如果是源文件是纯文本,压缩率非常高,用zip压缩之后会更小
如果源文件是音视频文件,因为mp4等式基于目标的压缩,zip压缩音视频的效率不如mp4,压了之后更大
也可以用 multi-volume 指定达成多少个、多大的文件,要记住顺序
也可以用 split 命令把大文件劈成小份
一般来说在公司时候,利用公司的资源做出来的东西,署名权是你的,但是知识产权不是你的,能不能拷贝走要看公司条款