输出重定向
ls > name.list ls -l > name.list 覆盖 ls >> name.list 追加
进程和服务管理
进程管理三个主要任务: 判断服务器健康状态 查看所有正在运行的进程 强制终止进程
进程查看系统运行状况
1 ps aux 查看当前系统所有运行的进程 -a 显示前台所有进程 -u 显示用户名 -x 显示后台进程 user: 用户名 pid: 进程id。PID init 系统启动的第一个进程 %CPU cpu占用百分比 %MEM 内存占用百分比 VSZ 虚拟内存占用量 KB RSS 固定内存占有量 tty 登录终端 本地终端 远程终端 stat 状态 S:睡眠 D:不可唤醒 R:运行 T:停止 start 进程触发时间 time 占用cpu时间 command 进程本身 2 pstree 查看进程树 3 top (动态查看) 第一行: 系统当前时间 系统持续时间 登录用户 1,5,15分钟之前的平均负载 第二行:进程总数 第三行:CPU占用率 %id 空闲百分比 第四行:内存使用: 总共 使用 空闲 缓存 第五行:swap使用 操作命令 M 内存排序 P CPU排序 q 退出 4 w 查看系统运行情况和登录用户(静态查看) 5 进程管理 终止进程 kill -9 PID 结束单个进程 -9 强制 killall -9 进程名 终止进程树 pkill -9 -t 终端号 把某个终端登录的用户踢出 例:pkill -9 -t tty1 把本地登录终端1登录用户踢出
服务管理
1 分类 1)系统默认安装的服务 安装二进制包的服务 2)源码包安装的服务 (一)系统默认安装的服务 1 确定服务分类 chkconfig --list 查看服务的自启动状态 运行级别:0-6 0 关机 1 单用户模式 2 不完全多用户,不包含NFS服务 3 完全多用户 字符界面 4 未分配 5 图形界面 6 重启 init 0 关机 init 6 重启 runlevel 查询系统当前运行级别 vi /etc/inittab id:3:initdefault: 定义系统默认运行级别 2 系统默认安装的服务器管理 1)启动 /etc/rc.d/init.d/服务 start|stop|restart|status 例: /etc/rc.d/init.d/httpd start service 服务名 start|stop|restart|status 2)自启动 chkconfig --list 查看 chkconfig --level 245 服务名 on|off !!! 245 都可以 尽量不要写3,因为是系统服务 !!! 推荐用下面这种方法 vi /etc/rc.local---->/etc/rc.d/rc.local /etc/rc.d/init.d/httpd start (二)源码包安装的服务 1)手动管理 绝对路径启动 不可以状态查询 /usr/local/apache2/bin/apachectl start 2)开机自启动 vi /etc/rc.local /usr/local/apache2/bin/apachectl start
计划任务
crontab -e 编辑定时任务 * * * * * 命令(命令一般是绝对路径) 第一个*:一小时中第几分钟 0-59 第二个:一天中第几个小时 0-23 第三个:一个月中第几天 1-31 第四个:一年第几个月 1-12 第五个:一周中星期几 0-6 例: 5 3 * 5,7,10 * 命令 5,7和10月每天三点5分执行 */10 * * * 1-3 命令 星期一到星期三每隔10分钟执行 命令: 开启/关闭服务 service sshd start service sshd stop /usr/local/apache2/bin/apachectl restart 备份文件/目录 cp -r /root/bbs /tmp crontab -l 查看系统定时任务 crontab -r 删除所有定时任务 注意事项: 选项都不能为空,必须填入,不知道的值使用通配符*表示任何时间 每个时间字段都可以指定多个值,不连续的值用,间隔,连续的值用-间隔 间隔固定时间执行书写为*/n格式 命令应该给出绝对路径 星期几何第几天不能同时出现 最小时间范围是分钟,最大时间范围是月
网络配置
IP设置 ifconfig eth0 192.168.2.251 临时IP setup 设置永久IP 关闭防火墙 service network restart (/etc/rc.d/init.d/network restart) 重启网络服务 网卡信息文件 vim /etc/sysconfig/network-scripts/ifcfg-eth0 8 IPADDR=192.168.2.251 IP地址 9 NETMASK=255.255.255.0 掩码 10 GATEWAY=192.168.2.1 网关 BOOTPROTO=none 是否自动获取IP。none:不生效 static:手动 dhcp:动态获取IP DEVICE=eth0 网卡设备名 ONBOOT=yes 网卡开机启动 主机名修改 hostname 查看主机名 hostname lampbrother 临时修改主机名 vim /etc/sysconfig/network 永久修改主机名 HOSTNAME=lampbrother DNS设置 setup 设置DNS vim /etc/resolv.conf nameserver 114.114.114.114 网络命令 vim /etc/services 查看网络端口 ifup eth0 开启网卡 ifdown eth0 关闭网卡 netstat -an 查看网络状态 netstat -tlun 查看查看tcp和udp协议监听端口 t tcp u udp l listen netstat -rn 查看网关(默认路由default) route del default gw 192.168.2.1 删除默认网关 route add default gw 192.168.2.1 添加默认网关 ping 192.168.2.250 ICMP协议 测试网络连通协议 ping -c 5 -s 10000 192.168.2.250 -s 发送数据大小
VSFTP服务
一 文件服务器简介 ftp:在内网和公网使用。 服务器:windows,linux 客户端: windows,linux 服务器 用 s 表示 客户端用 c 表示 1 ftp软件 linux: wu-ftp 早期,安全一般 proftp 增强ftp工具 vsftp 安全,强大 windows IIS windows下网页搭建服务,可以搭建ftp服务 Serv-U 专用ftp服务器 2 原理 开启 21 命令传输端口 20 数据传输端口 3 ftp的用户 1)ftp允许登录用户 就是系统用户 使用密码也是系统密码 上传位置:/home/家目录 2)匿名用户 anonymous 密码: 空 下载位置:/var/ftp/pub 二 安装 mount /dev/sr0 /media cd /media/Packages/ yum -y install vsftpd 三 相关文件(了解) /etc/vsftpd/ftpusers 用户访问控制文件(不是必要步骤) /etc/vsftpd/vsftpd.conf 配置文件 四 配置文件配置 vim /etc/vsftpd/vsftpd.conf 1主机相关配置 listen_port=21 监听端口 connect_from_port_20=YES 数据传输端口 ftpd_banner= 欢迎信息 2 匿名用户登录 在linux下识别为 ftp 用户 nonymous_enable=YES 允许匿名用户登录 3 本地用户 local_enable=YES 允许系统用户登录 write_enable=YES 允许上传 local_umask=022 默认上传权限 4 限制用户访问目录 chroot_local_user=YES 所有用户限制在家目录下 5 关闭防火墙和selinux 关闭防火墙 setup 关闭 selinux vim /etc/selinux/config SELINUX = disabled 6 重启生效 reboot 重启 五 ftp客户端使用 1、使用windows窗口 ftp://用户名@IP 匿名用户可以不用用户名和密码 ftp://@ip 2、使用第三方工具登录 FileZilla
实验 限制用户目录权限 vim /etc/vsftpd/vsftpd.conf 96 chroot_local_user = YES service vdftpd restart 重启服务 FileZilla 登录
Samba服务器
文件共享服务 windows -> linux (一)端口 smbd:为clinet提供资源访问 tcp 139 445 nmbd:提供netbios主机名解析 udp 137 138 (二)安装 ISO mount /dev/sr0 /media yum -y install samba samba-common 主要配置文件 samba-client 客户端文件 (三)修改配置文件 安全级别 share 无密码 user 添加samba用户设置samba密码 server 需要服务器做解析 实验1: 安全级别 share 共享目录 /movie 1)建立目录/movie mkdir /movie chmod 777 /movie 2)修改配置文件 vim /etc/samba/smb.conf 101 security = share 263 [movie] (这步是添加共享文件) 264 comment = dianying (说明) 265 path = /movie (路径) 266 browseable = yes (目录对用户可见) 267 guest ok = yes (访问) 268 writable = yes (可写) 3)启动服务 测试 关闭防火墙 关闭selinux vim /etc/selinux/config SELINUX = disabled service smb start service nmb start netstat -tlun (查看端口是否出现) 测试 \\192.168.2.251 网络驱动映射 进入共享文件,右键,网络驱动映射,就可以在我的电脑里查看信息 实验2:安全级别 user 共享 /pub 所有用户能访问上传 /soft 只有aa能访问上传 1)建立目录 mkdir /pub mkdir /soft chmod 777 /pub chmod 700 /soft useradd aa passwd aa chown aa /soft 2)修改配置文件 vim /etc/samba/smb.conf 101 security = user 263 [pub] 264 comment = public 265 path = /pub 266 browseable = yes 267 writable = yes 268 269 [soft] 270 comment = software 271 path = /soft 272 browseable = yes 273 writable = yes 3)添加samba用户 smbpasswd -a aa smbpasswd -a f1 pdbedit -L 查看samba用户 4)重启服务 测试 service smb restart service nmb restart 测试 f1 登录 windows 界面登录 CMD net use * /del 删除连接缓存 aa 登录
SSH安全登录(必会)
联机加密工具 非对称钥匙对加密 默认(不用改): 安装 openssh 开机自启 service sshd restart 配置文件 vim /etc/ssh/sshd.config 远程连接 ssh root@192.168.2.251 网络复制 scp scp root@192.168.2.140:/root/httpd-2.2.29.tar.gz /root 下载文件 scp hello.list root@192.168.2.140:/root/ 上传文件 scp -r root@192.168.2.140:/etc/ /root/ 下载目录 scp -r /etc root@192.168.2.140:/root/ 上传目录 SSH密钥登录 ssh-keygen -t rsa -P '' (必须要写) -P 表示密码 cd .ssh 进入自动生成的隐藏目录 cp id_rsa.pub authorized_keys 必须要写(文件49行要求) chmod 600 authorized_keys 客户端: 下载私钥 登录测试 设置 /etc/ssh/sshd_config 禁止使用密码登录(慎用!!) 66 PasswordAuthentication no 重启sshd服务 service sshd restart
lamp环境搭建
1配置yum源 mount /dev/sr0 /media vim /etc/yum.repos.d/CentOS-Media.repo [c6-media] name=CentOS-$releasever - Media baseurl=file:///media/ * 修改为光盘挂载点 gpgcheck=0 enabled=1 * 改为1意为启用 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 2)剪切/etc/yum.repos.d/CentOS-Base.repo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak 3)依次安装gcc、gcc-c++ yum -y install gcc gcc-c++
关闭防火墙 和 selinux setup 或 iptables -F iptables -X iptables -Z vim /etc/selinux/config SELINUX=disabled
复制源码包 解压缩 mv lamp /lamp vim tar.sh cd /lamp /bin/ls *.tar.gz > ls.list for TAR in `cat ls.list` do /bin/tar -zxf $TAR done /bin/rm ls.list chmod 777 tar.sh
./tar.sh 查看磁盘空间(产看安装软件有没有足够的空间)
安装辅助软件包
安装libxml2 yum -y install python-devel 必须安装 cd /lamp/libxml2-2.9.1 ./configure --prefix=/usr/local/libxml2/ make make install yum install -y libxml2-devel 如果报错,安装此包后再尝试安装
安装libmcrypt cd /lamp/libmcrypt-2.5.8 ./configure --prefix=/usr/local/libmcrypt/ make make install
安装libltdl cd /lamp/libmcrypt-2.5.8/libltdl ./configure --enable-ltdl-install make make install
安装mhash cd /lamp/mhash-0.9.9.9 ./configure make make install
安装mcrypt cd /lamp/mcrypt-2.6.8 LD_LIBRARY_PATH=/usr/local/libmcrypt/lib:/usr/local/lib \ ./configure --with-libmcrypt-prefix=/usr/local/libmcrypt make make install
安装zlib cd /lamp/zlib-1.2.3 ./configure make make install
安装libpng cd /lamp/libpng-1.2.31 ./configure --prefix=/usr/local/libpng make make install
安装jpeg6 mkdir /usr/local/jpeg6 mkdir /usr/local/jpeg6/bin mkdir /usr/local/jpeg6/lib mkdir /usr/local/jpeg6/include mkdir -p /usr/local/jpeg6/man/man1 ###目录必须手工建立 cd /lamp/jpeg-6b ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static make make install
安装freetype cd /lamp/freetype-2.3.5 ./configure --prefix=/usr/local/freetype/ make make install
安装APACHE
cp -r /lamp/apr-1.4.6 /lamp/httpd-2.4.7/srclib/apr cp -r /lamp/apr-util-1.4.1 /lamp/httpd-2.4.7/srclib/apr-util cd /lamp/pcre-8.34 ./configure && make && make install cd /lamp/httpd-2.4.7 ./configure --prefix=/usr/local/apache2/ --sysconfdir=/usr/local/apache2/etc/ --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared make make install 启动服务 /usr/local/apache2/bin/apachectl start ps aux | grep httpd netstat –tlun | grep :80 测试 打开浏览器 192.168.2.251 有 IT works 设置开机自启动 vim /etc/rc.local /usr/local/apache2/bin/apachectl start
安装ncurses yum -y install ncurses-devel cd /lamp/ncurses-5.9 ./configure --with-shared --without-debug --without-ada --enable-overwrite make make install
#安装cmake和bison yum -y install cmake yum -y install bison