Linux 系统由于无图形界面(图形界面不是主流),主要采用的 Shell 命令的形式,是服务器上使用的最佳选择。这里记录下Linux常用的命令及设置方法
Linux 开机启动
1 2 3 4 5 6 |
/etc/rc.local 中加入脚本代码,可实现服务器重启后即启动(不需要登录用户) example:/root/aaaa.sh sh脚本中可自由添加 Python脚本等 执行 /etc/rc.local命令,发现/etc/rc.local映射文件是/etc/rc.d/rc.local,/etc/rc.d/rc.local发现这个文件没有执行权限(少了x); 所以执行chome +x /etc/rc.d/rc.local命令后,启动可以执行这个文件了。 |
Centos7 防火墙配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# Linux 防火墙端口 (iptables) 查看防火墙状态: service iptables status 开启防火墙(重启后永久生效):chkconfig iptables on 关闭防火墙(重启后永久生效):chkconfig iptables off 开启防火墙(即时生效,重启后失效):service iptables start 关闭防火墙(即时生效,重启后失效):service iptables stop 重启防火墙: /etc/init.d/iptables restart Linux 防火墙(使用systemctl) 查看防火墙状态:systemctl list-unit-files|grep firewalld.service 关闭防火墙:systemctl stop firewalld.service #停止firewall 禁止firewall开机启动:systemctl disable firewalld.service 开放端口:firewall-cmd --zone=public --add-port=123456/tcp --permanent |
环境变量的设置
所有安装到系统的软件都需要配置环境变量,方便在任何目录中可以随时执行,而不是一定到 bin 文件夹中
1 2 3 4 5 6 7 8 |
#查看 echo $PATH #添加环境变量 export PATH=xxxxx/bin:$PATH #使环境变量立即生效 source .bash_profile |
Linux 脚本通常以.sh 的形式运行:
通常写好了需要经常运行的脚本,放到.sh 文件中,使用bash xx.sh
命令运行;除此之外,还可以通过 Python 脚本的形式运行
1 2 3 4 |
<test.sh> #!/bin/bash nohup /usr/local/mongodb/bin/mongod & bash test.sh |
服务器定时运行脚本
经常遇到需要定时运行 i 脚本的需求(如:爬虫、数据备份等),在 Windows 系统中可使用“Task Scheduler”。Linux系统中也有类似的功能 Crontab 命令
1 2 3 4 5 6 7 8 9 10 |
#查看已有的计划命令 crontab -l #编辑计划命令 crontab -e #第1列分钟0~59 #第2列小时0~23(0表示子夜) #第3列日1~31 #第4列月1~12 #第5列星期0~7(0和7表示星期天) #第6列要运行的命令 |
crontab执行的脚本,无法自动导入环境变量,需要在脚本中写明绝对路径
1 2 3 4 5 6 |
*/5 * * * * /root/anaconda3/bin/python /xxx/xxx.py >/dev/null 2>&1 #表示每隔五分钟运行一次脚本 #/root/anaconda3/bin/python 表示py的环境变量 #/root/anaconda3/bin/scrapy 表示scrapy的环境变量 #“/dev/null 2>&1”表示先将标准输出重定向到/dev/null,然后将标准错误重定向到标准输出. #由于标准输出已经重定向到了/dev/null,因此标准错误也会重定向到/dev/null,这样日志输出问题就解决了。 /etc/init.d/crond restart #立即执行crontab中的内容 |
Linux 后台执行的方法
难免会遇到在Linux,后台执行任务。总结了一下关闭窗口后,仍在后台执行的方法
1. &
1 2 |
--ctrl+d 退出才可以;如果直接关闭窗口,进程任然会被关闭 python xxx.py & |
2. nohup
1 2 3 4 |
nohup python xxx.py --ctrl+z #挂起到后台 bg #后台执行 可以先通过jobs 查看当前有多少job --ctrl+d #或者 关闭窗口 进程任然会在后台执行 |
3. nohup + &
1 2 |
nohup python xxx.py & ctrl+d 或者 关闭窗口 进程仍会在后台执行 |
与 windows 间文件传输
- 这里选用的是 WinCP ,可方便地实现文件上传及下载操作;Linux Shell 则使用 Putty,可如本地般操作服务器
- 也可以采用命令符的形式传输。将 putty 的安装位置加入到环境变量中
1 |
pscp <filename> user@host:location |