
=============================================
“请写出尽量多的方法,并说明方法的原理。”
---------------------------------------------
我用Everest Linux 0.6是Redhat系列的远方旁枝。源自Redhat的发行版有类似的服务管理方式。太多的方法没有用,一种基本方法再加两三种附加变体方法足矣。
=============================================
“如何关闭服务及如何手动开启服务”
---------------------------------------------
简而言之:
service [服务名] start
service [服务名] stop
细节见下。
以我的现状为例,所有的主要独立服务都在“/etc/rc.d/init.d”中有对应的控制脚本,能控制服务的启停、重启,甚至不重启而重新加载配置。当然,也可以自己制作自己的控制脚本。我自己制作了Apache、Tomcat、PostgreSQL和花生壳的控制脚本。
[root@TFW-EVL06-LT /]# ls -l /etc/rc.d/init.d/
总计 316
……
-rwxr-xr-x 1 root root 1773 2009-04-20 smb
……
-rwxr-xr-x 1 root root 3340 2008-12-06 sshd
……
lrwxrwxrwx 1 root root66 2009-08-20 tfw_httpd ->/ext/prog/c/Apache/Httpd.EverestLinux-0.6-tb20090422/tfw/rc_script
lrwxrwxrwx 1 root root61 2009-08-20 tfw_pgsql ->/ext/prog/m/PostgreSQL.Everest-Linux-0.6-tb0422/tfw_rc_script
lrwxrwxrwx 1 root root32 2009-08-20 tfw_phlinux ->/usr/local/phlinux/tfw_rc_script
lrwxrwxrwx 1 root root39 2009-08-20 tfw_tomcat ->/ext/prog/c/Apache/Tomcat/tfw/rc_script
……
-rwxr-xr-x 1 root root 2497 2008-12-06 xinetd
……
[root@TFW-EVL06-LT /]#
以此为例,可以用“service smbd start”来启动Windows网络邻居服务;用“service sshd stop”来关闭安全隧道登录服务;用“service tfw_pgsql reload”不重启地重新加载PostgreSQL配置;用“service tfw_phlinux restart”重新启动花生壳。
=============================================
“读哪个文件判断是否启动服务”
---------------------------------------------
没有简述,想了解请看完。
在“/etc/rc.d/rc[N].d”目录里存放着上述脚本的链接。“[N]”为0~6间的数字,对应系统运行级别。以运行级别3为例:
[root@TFW-EVL06-LT /]# ls -l /etc/rc.d/rc3.d/
总计 0
……
lrwxrwxrwx 1 root root 20 03-03 13:00 K04tfw_tomcat ->../init.d/tfw_tomcat
……
lrwxrwxrwx 1 root root 14 2009-08-20 S55sshd ->../init.d/sshd
……
[root@TFW-EVL06-LT /]#
这些链接有的以“K”开头,有的以“S”开头。
系统在切换都一个运行级别时,会首先检查以“K”开头的链接,按其后面两位数字所标明的顺序依次检查这些链接所对应的服务;如果开着就以“stop”参数调用服务控制脚本关闭此服务。
例子中“/etc/rc.d/rc3.d/K04tfw_tomcat”的含义即为“当系统切换到运行级别3时,检查一下Tomcat是否在运行;如果在运行,就用‘service tfw_tomcat stop’关掉Tomcat”。
在关完服务后,系统再根据数字依次检查以“S”开头的链接,如果对应的服务没有开启,就以“start”参数调用服务控制脚本开启此服务。
例子中“/etc/rc.d/rc3.d/S55sshd”的含义即为“当系统切换到运行级别3时,检查一下安全登录遂道是否在运行;如果没在运行,就用‘service sshd start’启动安全登录遂道”。
=============================================
“如何查询已经开启的服务”
---------------------------------------------
没有简述,想了解请看完。
[root@TFW-EVL06-LT /]# service network status
Coppied.
配置设备:
lo eth0 ppp0
当前的活跃设备:
lo eth0 ppp0
[root@TFW-EVL06-LT /]# service tfw_httpd status
Usage: /etc/init.d/tfw_httpd {start|stop|restart}
[root@TFW-EVL06-LT /]#
可以看到,有一些服务控制脚本支持“status”参数,可以用“service [服务名] status”来查看;还有一些服务控制脚本不支持“status”参数,此时就只能凭经验判断了。
=============================================
“可以用TELNET、FTP举例,我的RH系统内有XINETD,也希望讲解下”
---------------------------------------------
在Redhat风格的发行版中,Telnet和FTP一版不是独立服务,而是被“超级服务器”XINETD托管。
XINETD是一个独立服务,和前述服务无异。它的控制脚本是“/etc/rc.d/init.d/xinetd”。
=============================================
“读哪个文件来判断服务的设置”
---------------------------------------------
不同的独立服务一般都拥有自己的配置文件。
典型情况下,“/etc/samba/smb.conf”是Windows网络邻居服务的主要配置文件,“/etc/ssh/sshd_config”是安全隧道服务器端的主要配置文件。
在我的计算机上,“/ext/prog/c/Apache/Httpd.EverestLinux-0.6-tb20090422/conf/”下的文件就是Apache-Httpd服务的主要配置文件。
在我曾经用过的Redhat系发行版Magic Linux 2.0中,Telnet和FTP等非独立服务的端口等配置信息出现在XINETD的配置文件中;而我现在所用的发行版Everest Linux 0.6虽然仍是Redhat系,Telnet和FTP的端口信息已经移到其各自的配置文件中。
ftp(file transfer protocol)功能说明:设置文件系统相关功能。
语法:ftp [-dignv][主机名称或IP地址]
补充说明:FTP是ARPANet的标准文件传输协议,该网络就是现今Internet的前身。
参数: 《Linux就该这么学》
-d 详细显示指令执行过程,便于排错或分析程序执行的情形。
-i 关闭互动模式,不询问任何问题。
-g 关闭本地主机文件名称支持特殊字符的扩充特性。
-n 不使用自动登陆。
-v 显示指令执行过程。
1. 连接ftp服务器
格式:ftp [hostname| ip-address]
a)在linux命令行下输入:
ftp 192.168.1.1
b)服务器询问你用户名和密码,分别输入用户名和相应密码,待认证通过即可。
c)也可以先输入ftp
ftp>
d)然后在输入要连接的IP
ftp>open 192.168.1.1
2. 下载文件
下载文件通常用get和mget这两条命令。
a) get
格式:get [remote-file] [local-file]
将文件从远端主机中传送至本地主机中。
如要获取远程服务器上/usr/your/1.htm,则
ftp>get /usr/your/1.htm 1.htm (回车)
b) mget
格式:mget [remote-files]
从远端主机接收一批文件至本地主机。
如要获取服务器上/usr/your/下的所有文件,则
ftp>cd /usr/your/
ftp>mget *.* (回车)
此时每下载一个文件,都会有提示。如果要除掉提示,则在mget *.* 命令前先执行:prompt off
注意:文件都下载到了linux主机的当前目录下。比如,在 /usr/my下运行的ftp命令,则文件都下载到了/usr/my下。
3.上传文件
a) put
格式:put local-file [remote-file]
将本地一个文件传送至远端主机中。
如要把本地的1.htm传送到远端主机/usr/your,并改名为2.htm
ftp>put 1.htm /usr/your/2.htm (回车)
b) mput
格式:mput local-files
将本地主机中一批文件传送至远端主机。
如要把本地当前目录下所有html文件上传到服务器/usr/your/ 下
ftp>cd /usr/your (回车)
ftp>mput *.htm (回车)
今天因工作需要使用ftp上传一大批图片到远程服务器,是将一整个目录下的图片全部都上传到远程服务器(一个虚拟主机的FTP),就用mput命令,默认的情况下,每上传一个文件都输入一下y来确认,俺没有时间进行这样搞(几千张图片哦),不想每一个文件都确认一下,就需要在命令模式,并登录系统后用prompt来关闭交互模式:ftp>prompt切换交谈式指令(使用mput/mget 时不用每个文件皆询问yes/no)这样就可以使用 mput *让它慢慢上传…喝茶去…注:ftp>help promptprompt force interactive prompting on multiple commandsftp>promptInteractive mode off.ftp>promptInteractive mode on.欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)