1.linux安装中文环境(可选)
联网之后执行:sudo yum groupinstall chinese-support,安装完语言包之后修改
/etc/sysconfig/i18n文件,修改LANG=”zh_CN.UTF-8”。如果只想对当前登录用户有效请编辑
~/.bashrc文件,在最后加入:export LANG=”zh_CN.UTF-8”
2. 一些杂项
2.1监听网络端口
netstat -nltp 比如可以看3306是否存在来确定mysql是否启动
service network status 可以查看某个服务的运行状态
2.2查看进程树
pstree
每新开一个命令行窗口都有一个新的bash
2.3set命令
set会显示当前环境中所有的变量包含系统变量和用户变量。export 变量名 会将这个变量提升为全局环境变量,供其它shell使用,完事之后source会把export指令输出一遍,比如source /etc/profile
3.网络连接方式
VMware虚拟机三种联网方法及原理
3.1Brigde——桥接:默认使用VMnet0
这一种联网方式最简单,在局域网内,你的主机是怎么联网的,你在虚拟机里就怎么连网。把虚拟机看成局域网内的另一台电脑就行了! (备注:我在公司用这种方式连接,配置静态IP无法上网,动态获取ip可以)
提示:主机网卡处在一个可以访问Internet的局域网中,虚拟机才能通过Bridge访问Internet。
3.2NAT——网络地址转换 :默认使用VMnet8
NAT 是 Network address translate的简称。NAT技术应用在internet网关和路由器上,比如192.168.0.123这个地址要访问internet,它的数据包就要通过一个网关或者路由器,而网关或者路由器拥有一个能访问internet的ip地址,这样的网关和路由器就要在收发数据包时,对数据包的IP协议层数据进行更改(即 NAT),以使私有网段的主机能够顺利访问internet。此技术解决了IP地址稀缺的问题。VMWare的NAT上网也是同样的道理,它在主机和虚拟机之间用软件伪造出一块网卡,这块网卡和虚拟机的ip处于一个地址段。同时,在这块网卡和主机的网络接口之间进行NAT。虚拟机发出的每一块数据包都会经过虚拟网卡,然后NAT,然后由主机的接口发出。
联网方式:
- 动态IP地址:
主机是静态IP或动态IP,都无所谓,将虚拟机设置成使用DHCP方式上网,Windows下选择“自动获取IP“,linux下开启DHCP服务即可。(这种方法最简单,不用过多的设置,但要在VMware中进行“编辑→虚拟网络设置”,将NAT和DHCP都开启了。一般NAT默认开启,DHCP默认关闭) - 静态IP地址:
如果不想使用DHCP,也可以手动设置:IP设置与vmnet1同网段,网关设置成vmnet8的网关(在“虚拟网络设置”里的Net选项卡里能找到Gateway)通常是xxx.xxx.xxx.2,子网掩码设置与VMnet8相同(设置好IP地址后,子网掩码自动生成),DNS设置与主机相同。3.3Host-Only——私有网络共享主机:默认使用VMnet1
只想让虚拟机和主机之间有数据交换,而不想让虚拟机访问Internet,就要采用这个设置了。
联网方法: - 动态IP地址:
像上面那样开启DHCP后,虚拟机直接自动获取IP地址和DNS。就可以和主机相连了。当然,还要进行一些局域网共享的操作,这里不再赘述。 - 方法2、静态IP地址:
也可以手动设置,将虚拟机IP设置与VMnet1同网段,网关设置成VMnet1的网关相同,其余设置与VMnet1相同,DNS设置与主机相同。
例如:VMnet1 IP:172.16.249.1 Gateway :172.16.249.2
那么虚拟机 IP:172.16.249.100 Gateway: 172.16.249.24.修改网络和主机配置
- 修改ip地址
vi /etc/sysconfig/network-scripts/ifcfg-eth01
2
3
4
5
6DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes #是否开机启用
BOOTPROTO=static #ip地址设置为静态
IPADDR=192.168.0.101
NETMASK=255.255.255.0
service network restart 修改之后重启
修改主机
vi /etc/sysconfig/network1
2NETWORKING=yes
HOSTNAME=server1.catchu.me修改ip地址和主机名的映射关系
vi /etc/hosts1
2
3127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.101 server1.catchu.me关闭iptables(防火墙)并设置其开机启动/不启动
1
2
3
4
5
6service iptables stop 关闭防火墙
service iptables status 查看防火墙状态
service iptables start 开启防火墙
service iptables restart 重启防火墙
chkconfig iptables on 设置防火墙开机启动
chkconfig iptables off 设置防火墙开机不启动
注意:如果在xshell中可以ping通你的linux主机,却无法连接,多半是被防火墙拦截了。
通过chkconfig指令可以查询哪些进程是开机自启动的
5.查询用户密码
cat /etc/passwd1
2
3
4
5
6root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
mysql:x:496:493:MySQL server:/var/lib/mysql:/bin/bash
magic:x:500:500:HAir:/home/magic:/bin/bash
root,密码是占位符x,用户id是0,组id是0,root是别名,/root是家目录,/bin/bash默认用的shell解析器。
用户id为0的超级用户,大于等于500的是超级用户,小于500的是伪用户,不能登录,但是它操作的时候也是以一个用户的身份,比如mysql就是以mysql用户的身份。
cat /etc/group 可以查看所有的组
linux查看帮助:ls –help wc –help
6.防火墙iptables
iptables也叫netfilter,从字面上也不难理解,它是对网络进行过滤的。防火墙(iptables)可以对流入,流出,流经服务器的数据包进行精细的控制。它的底层由四张表构成,分别是filter,nat,mangle和raw,每一张表都包含不同的链,最常用的是filter表。我一般把防火墙理解成过滤ip的表。
6.1基本操作
查看iptables状态
1
2
3
4
5
6service iptables status
或者下面这命令也是同样的效果
列出iptables规则
iptables -L -n
列出iptables规则并显示规则编号
iptables -L -n --line-numbers开启/关闭iptables
1
2service iptables start
service iptables stop查看iptables是否开机启动
1
chkconfig iptables --list
设置iptables开机启动/不启动
1
2chkconfig iptables on
chkconfig iptables off
查看帮助1
2
3iptables -h
iptables -help
man iptables
6.2规则配置
- 清除所有规则
1
iptables -F
-重启iptables发现规则依然存在,那是因为没有保存1
service iptables restart
保存配置规则
1
service iptables save
使用vim编辑器编辑规则
vim /etc/sysconfig/iptables1
2-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
解释一下含义1
2
3
4
5
6
7-A, --append 追加到规则的最后一条
-D, --delete 从规则中删除
-I, --insert 插入,添加到规则的第一条
-p, --proto 协议,常用协议有tcp、udp、icmp、all
-j, --jump 常见的行为有ACCEPT、DROP和REJECT三种,但一般不用REJECT,会带来安全隐患,ACCEPT接受,表示可以访问;DROP扔掉,表示不能访问
INPUT数据流入,OUTPUT数据流出
注意:INPUT和DROP这样的关键字需要大写
其它还有一些规则比如匹配某些端口范围或者多个端口的,可以去网上搜,不记太多不常用的命令。
7.帮助命令
1.内部命令:echo
查看内部命令帮助:help echo 或者 man echo
2.外部命令:ls
查看外部命令帮助:ls –help 或者 man ls 或者 info ls
3.man文档的类型(1~9)
man 7 man
man 5 passwd
4.快捷键:
ctrl + c:停止进程
ctrl + l:清屏
ctrl + r:搜索历史命令
ctrl + q:退出
5.善于使用tab键
8.文件相关命令
8.1ls命令
-a all全部的,包含隐藏文件
-l long长的,表示详细信息
-d directory目录,查看目录的信息
文件类型
drwxr-xr-x 2 root root 4096 10月5 08:24 bin
第一个表示文件类型
d directory 目录
-binary 二进制文件
l link 软链接文件
rwx r-x r-x
r read 读
w write 写
x execute 执行
三组代表三种权限
所有者u(user,onwer,谁创建谁是所有者) 所属组g(group) 其他人o(others)
2代表硬链接数
第一个root代表所有者
第二个root代表所属组
4096代表文件大小,不是准确数值,数据块,存储数据的最小单位,默认512字节
10月5 08:24 创建时间或最后修改时间
bin 文件名或目录类名
8.2cd命令
cd change directory 切换目录
cd / 切换到根目录
cd .. 切换到上级目录
8.3pwd命令
pwd print working directory 打印当前所在的目录
8.4 touch命令
touch 创建空文件
touch newFile
8.5mkdir命令
mkdir make directories 创建目录
mkdir newDir
8.6cp命令
cp copy复制文件
cp 原文件地址 目标文件地址
cp /etc/servers /test 将etc目录下的servers文件复制到test目录下;
cp -R /etc /test 使用-R是复制目录的,将etc目录复制到test目录下;
scp sourecFile romoteUserName@remoteIp:remoteAddr 远程拷贝,scp是远程拷贝命令
8.7mv命令
mv a.txt /ect/ 移动
mv b.txt a.txt 改名
mv a.txt ../b.txt 移动并改名
8.8rm命令
rm remove删除文件
rmdir 删除空目录(使用较少)
rm file1 删除文件1
rm -r dir1 删除目录1,记得加-r
8.9ln命令
ln link产生链接文件
ln -s 产生软链接,不加-s产生硬链接
ln -s /etc/issue /issue.soft
创建issue文件的软链接issue.soft,软链接相当于windows系统的快捷方式
ln /etc/issue /issue.hard
创建issue的硬链接issue.hard,硬链接相当于拷贝,除了时间不同
9.文件查看编辑命令
9.1cat命令
cat fileName 不能分页,一次展示文件内容
9.2more命令
more 分页显示文件
more /etc/services
空格或f 显示下一页
Enter 显示下一行
q或Q 退出
9.3head命令
head 显示文件前几行
head -20 /etc/services 显示services文件前20行 不加默认显示前十行
9.4tail命令
tail 显示文件后几行
tail -30 /etc/services
tail -f logs.log 一直滚动显示logs.log的后几行(f follow)用于查看日志
9.5less命令
比more功能更强大,可以搜索,可以直接进入vi编辑器中
回车键 向下移动一行
空格键 向下滚动一屏
b 向上滚动一屏
g 跳到第一行
G 跳到最后一行
/pattern 搜索pattern ,比如 /MAIL表示在文件中搜索MAIL单词
v 进入vi编辑器
q 退出less
9.6vim命令
- 最基本用法
vi somefile
1、首先会进入“一般模式”,此模式只接受各种快捷键,不能编辑文件内容
2、按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容
3、编辑完成之后,按Esc键退出编辑模式,回到一般模式;
4、再按:,进入“底行命令模式”,输入wq命令(或者shift+z+z),回车即可 - 一些有用的快捷键(在一般模式下使用):
a 在光标后一位开始插入
A 在该行的最后插入
I 在该行的最前面插入
gg 直接跳到文件的首行
G 直接跳到文件的末行
dd 删除行,如果 5dd ,则一次性删除光标后的5行
yy 复制当前行, 复制多行,则 3yy,则复制当前行附近的3行
p 粘贴
v 进入字符选择模式,选择完成后,按y复制,按p粘贴
ctrl+v 进入块选择模式,选择完成后,按y复制,按p粘贴
shift+v 进入行选择模式,选择完成后,按y复制,按p粘贴
:set number 显示行号
:set nonumber 不显示行号
查找并替换(在底行命令模式中输入)
%s/sad/88888888888888 效果:查找文件中所有sad,替换为88888888888888
/you 效果:查找文件中出现的you,并定位到第一个找到的地方,按n可以定位到下一个匹配位置(按N定位到上一个)10.系统相关命令
10.1查看主机名
hostname10.2修改主机名
(重启后无效)
hostname magic
修改主机名(重启后永久生效)
vi /ect/sysconfig/network10.3修改IP
(重启后无效)
ifconfig eth0 192.168.12.22
修改IP(重启后永久生效)
vi /etc/sysconfig/network-scripts/ifcfg-eth010.4查看系统信息
uname -a
uname -r10.5日期
date
date +%Y-%m-%d
date +%T
date +%Y-%m-%d” “%T10.6日历
cal 201210.7挂载硬盘
mount
umount
加载windows共享
mount -t cifs //192.168.1.100/tools /mnt10.8查看文件大小
du -h
du -ah10.9查看分区
df -h10.10ssh连接其它服务器
ssh root@192.168.1.110.11关机和重启
shutdown -h now /init 0/halt 关机命令
shutdown -r now /reboot 重启命令11用户和用户组相关命令
11.1添加一个tom用户,设置它属于users组,并添加注释信息
分步完成:useradd tom
一步完成:useradd -g users -c “hr tom” tomusermod -g users tom usermod -c "hr tom" tom
11.2设置tom用户的密码
passwd tom11.3修改tom用户的登陆名为tomcat
usermod -l tomcat tom11.4将tomcat添加到sys和root组中
usermod -G sys,root tomcat11.5查看tomcat的组信息
groups tomcat11.6添加一个jerry用户并设置密码
useradd jerry
passwd jerry11.7添加一个名为america的组
groupadd america11.8将jerry添加到america组中
usermod -g america jerry11.9将tomcat用户从root组和sys组删除
gpasswd -d tomcat root
gpasswd -d tomcat sys11.10将america组名修改为am
groupmod -n am america12权限相关命令
12.1 chmod命令
chmod change the permissions mode of a file改变文件或者目录的权限
chmod u+r 给所有者增加读权限
u 代表所有者 g所属组 o其他人g-w 给所属组减去写权限 o=x 不管其他人是什么权限,置为执行权限
例如 chmod u+r a 给a文件的所属者添加读权限
但是,通常使用数字表示
r-4 w-2 x-1
rwxr-xr– 代表的就是754
例如:
将/apps目录下的所有文件与子目录皆设为任何人可读取
chmod -R a+r /apps (a代表的就是all)
将/apps目录下的所有文件与子目录的拥有者设为root,用户拥有组为users
chown -R root:users /apps12.2 rwx权限解析
对于文件来说
r 查看文件内容,命令 cat,more,head,tail
w 修改文件内容,命令echo,vi
x 执行文件,包括命令或者脚本
对于目录来说
r 列出目录中的内容,命令ls
w 在目录中创建和删除文件,想要删除文件,即使对这个文件有写权限也不行,只能修改文件,必须要对目录有w权限,才可以删除目录下的文件,命令mkdir,touch,rm
x 可以进入目录,命令cd.所以可以看到对于一个目录文件一般都由rwx权限,不然死活都进不去的12.3chown命令
chown change file ownership 改变文件或目录的所有者
chown nobody file1 改变file1的所有者nobody 注意所有者不能随便写,必须是系统中存在的用户,例如nobody就是系统自带的用户,类似于windows的guest
引入知识点 - 切换用户,命令:su - 用户名 例如su - root 切换到root用户
- 添加用户,命令:useradd 用户名 例如useradd hair 添加hair用户之后设置密码让他登陆,命令:passwd 密码
12.4chgrp命令
chgrp change file group owership 改变文件或目录的所属组
chgrp adm file1 改变file1的所属组为adm adm是系统自带的缺省组12.5umask命令
umask 显示或折这文件的缺省权限
直接umask显示的结果:0022
解析0022
首个0是特殊权限位
后面的022为权限掩码值
777-022=755 表示所有者有读写执行权限,所属组和其他人有读执行权限。
可以使用这样来修改创建文件的默认权限,例如umask -027 则新创建的文件或者目录所有者是读写执行,用户组是读,执行,其他人什么权限也没有
还可以直接使用umask -S命令,结果u=rwx,g=rx,o=rx13查找相关命令
13.1 which命令
which 命令名称 显示命令所在目录
which ls 查找可执行的命令
whereis 命令名称 显示命令所在目录,二者的区别是which可以显示出命令的别名,whereis可以显示出命令所在的帮助文档。使用这个命令可以查看目录所在位置,进而知道命令是超级用户(sbin)或者普通用户(bin)可以执行的。
whereis ls 查找可执行的命令和帮助的位置13.2find命令
语法:find 搜索路径 搜索关键字 查找文件或目录
find /etc -name init 在etc目录下面查找名称为init的文件,还可以使用通配符,init表示以init开头的文件,init*表示包含init的文件
find / -size +204800 在根目录下查找大于100MB的文件,是以block块为单位算的,一个block块是512字节,即0.5kb,100MB=102400kb=204800个0.5kb.
find / -user hair 在根目录下查找所有者为hair的文件
find /etc -ctime -1 在etc目录下查找24小时之内被修改过属性的文件和目录
-ctime -atime -mtime 以天为单位
-cmin -amin -mmin 以分钟为单位
c change修改过文件的属性,比如所有者,所属组等属性信息
a access访问过文件
m modify修改过文件的内容
-之内,+超过
find /etc -mmin -120 在etc目录下查找两小时之内被修改过的文件
find /etc -size +163840 -a -size -204800 在etc目录下查找大于80MB小于100MB的文件
-a and表示逻辑与
-o or表示逻辑或
find /etc -name inittab -exec ls -l {} \;在etc目录下查找名称为inittab的文件并列出它的详细信息
exec执行,固定格式find … -exec 命令 {} \;
解析:{}代表前面find到的文件的集合。\代表执行命令本身。 ;代表语句结束。-exec可以换成-ok,只是ok执行之前会询问
13.3locate命令
locate 寻找文件或目录
locate file 列出所有跟file相关的文件
例如:
locate test.txt 查找文件(需要更新库:updatedb)
13.4grep命令
grep 在文件中搜索字符串匹配的行并输出
grep ftp /etc/services 在services文件中搜索包含ftp的行
14打包与压缩指令
14.1gzip命令
gzip GNU zip的缩写,用于压缩文件,且只能压缩文件,不能压缩目录,压缩完成之后原文件消失,压缩后的文件以.gz结尾
gzip newfile1 压缩newfile1文件
14.2gunzip命令
gunzip GUN unzip解压.gz的压缩文件
gunzip newfile1.gz
14.3bzip2命令
bzip2 与一般的压缩命令不同,这个可以大大提高压缩比,将文件压缩的更小,压缩后文件后缀.bz2
bzip2 -k file1 压缩文件file1,压缩后为文件名为file1.bz2,去掉-k压缩完之后将不保留原文件
14.4bunzip2命令
bunzip2 解压文件
bunzip2 -k file1.bz2 解压file1.bz2文件。解压之后保留原文件,如果不想要原文件,去掉-k
注意:.gz和.bz2的命令不能压缩目录,只能压缩文件
14.5tar命令(重要)
tar 将目录打包成文件后再压缩
tar 选项 打包后的名字 待打包的目录
选项有以下几种
-c 产生.tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
压缩后的文件格式.tar.gz
tar -zcvf dir1.tar.gz dir1 将dir1文件打包并压缩
tar解压命令
-x 解包.tar文件
-v 显示详细信息
-f 指定解压文件
-z 解压
tar -zxvf dir1.tar.gz 解压dir1文件
14.6zip命令
zip 可以压缩文件也可以压缩目录,不同的是压缩目录要加上-r,同样要把压缩后的文件名写在前面,待压缩的文件写在后面,zip比gzip的好处是压缩后原文件并不会消失,同时对于大的文件会显示压缩比。.zip格式的压缩文件是唯一的windows和linux通用的压缩文件
zip services.zip /etc/services 压缩文件,将etc目录下的services文件压缩成services.zip
zip -r test.zip /test 压缩目录,将test目录压缩成test.zip,记得加-r
14.7unzip命令
unzip 解压缩命令
unzip 文件名
unzip test.zip 解压test.zip文件
15网络通信相关指令
15.1write命令
write 用户名 向另外一个用户发信息,Ctrl+D结束
write root 向root发送信息
15.2wall命令
wall 信息 向所有用户发送广播信息
wall happy new year 系统中的所有用户均会收到happy new year的消息
15.3ping命令
ping ip地址,测试与给定的ip是否连通,如果未连通,测试ping 本机地址,如果依然不能ping通,ping 127.0.0.1
ping -s 60000 127.0.0.1 向本机发送60000个数据包(少可能看不出来效果,现在明显看到时间有延迟)
ping -c 4 127.0.0.1 发送4次之后自动停止,不加-c 4的话会一直ping,知道按ctrl+c
15.4ifconfig命令
ifconfig 查看网络设置信息
eth0 实际的物理网卡
lo 会话地址网卡
ifconfig eth0 192.168.1.1 可以临时改变本机的物理网卡,但是下次启动时会显然显示原来的网卡,这就涉及到linux系统的一般规律,只要改变了配置文件信息,下次才依然生效,命令行修改的只在临时有效。
16进程控制相关指令
16.1查看用户最近登录情况
last
lastlog
16.2查看硬盘使用情况
df
16.3查看文件大小
du
16.4查看内存使用情况
free
16.5查看进程
ps -e | grep nginx 查看所有进程并从中选出nginx的进程信息
ps –ef | grep tomcat 查看所有有关tomcat的进程
16.6结束进程
kill 1234
kill -9 4333
17Linux的软件包管理
linux软件包分为二进制软件包管理(RPM,Yum),源代码包安装,脚本安装(shell或java),Debian系软件包管理
17.1RPM软件包管理
RPM软件命令示例
sudo-1.7.2pl-5.el5.i386.rpm
sudo软件名
1.7.2pl版本号
5.el5更新号
i386硬件平台
17.1.1卸载
命令:rpm -e sudo
如果与其他软件包有依赖关系,卸载时会有提示信息,可以使用–nodeps命令
no dependent 没有依赖关系
rpm -e –nodeps sudo
17.1.2安装
安装sudo-1.7.2pl-5.el5.i386.rpm
1.挂在光盘,虚拟机让他关联系统管盘,在mnt目录下创建目录cdrom,mkdir /mnt/cdrom,之后使用mount命令挂载
mount /dev/cdrom /mnt/cdrom,将系统光盘挂在在刚才创建的cdrom下,使用命令ll | grep sudo,查看是否有sudo文件,答案是存在sudo文件。安装命令:rpm -ivh sudo-1.7.2pl-5.el5.i386.rpm
i install安装
v view安装时查看
h hash安装时显示详情信息
i是必须的
命令:rpm -q sudo查看sudo软件是否安装了
命令:rpm -qa|grep samba
a all全部前半部分,查询所有安装的软件包,后半部分,在这些软件包中包含samba关键字
命令:rpm -ivh –test sudo-1.8.6p3-24.el6.x86_64.rpm
test测试,不真实的安装,只测试一下
命令:rpm -ivh –replacepkgs sudo-1.8.6p3-24.el6.x86_64.rpm
覆盖原有的基础上安装
17.1.3RPM其他命令
命令:rpm -qa|grep vim 查看所有安装的包含vim文件的文件(all)
命令:rpm -ql sudo查询sudo安装后的文件所在位置(location)
命令:rpm -qi sudo查询sudo文件的相关信息介绍(information)
命令:rpm -qc sudo查询sudo的配置文件信息(conf)
命令:rpm -qd sudo查询sudo的帮助文档信息(document)
17.1.4RPM文件的校验
我首先修改sudo文件的配置文件,vim /etc/sudo.conf,修改文件
命令:rpm -V sudo校验sudo文件,控制台显示的结果是
S.5….T. c /etc/sudo.conf
S size文件大小改变
5 md5文件md5的校验值改变
L link链接改变
T time创建时间改变
D device设备文件改变
U user文件的用户改变
G group文件的用户组改变
M 文件权限改变
17.2Yum包管理
命令:yum list | grep sudo列出yum源上所有包含文件sudo的文件
命令:yum install sudo使用yum方式安装文件sudo
命令:yum check-update sudo检查sudo有无更新
命令:yum update sudo更新sudo
命令:yum info sudo获取sudo软件包信息
命令:yum remove sudo卸载sudo
命令:yum -help或man yum获取yum的帮助信息
17.3源代码包管理
以proftpd为例:
去http://www.proftpd.org/ 官网下载.tar.gz的源代码文件到本地,通过xshell上传到服务器
1.解压压缩包,命令:tar -xzvf proftpd-1.3.5b.tar.gz
2.进入文件内,命令:cd proftpd-1.3.5b
3.配置安装位置,命令:./configure –prefix=/test/proftpd/proftpdinstall
中间它提示我缺少c编译器,安装无法继续,我就使用yum方法安装gcc用于编译c语言写的文件
rpm -q gcc提示gcc未安装
yum list|grep gcc
yum install gcc到此安装gcc完毕
4.编译,命令:make
5.安装,命令:make install