whatis 命令 查看命令简短的信息
apropos 配置文件 查看配置文件简短的信息
压缩和解压缩
.gz gzip gunzip(gzip -d)
.tar tar -cf -xf
.tar.gz tar -zcf -zxf
.zip zip -r unzip
.bz2 bzip2 bunzip2
.tar.bz2 tar -cjf -xjf
网络命令
write 给用户发消息,ctrl + D保存结束
ping
ping 192.168.1.156
ping -c 3 192.168.1.156 ping三次
mail 发送邮件, ctrl + D 保存结束
last 列出目前与过去登入系统的用户信息
lastlog 查看某特定用户上次登录的时间的信息
traceroute 显示数据包到主机间的路径(探测网络路由)
netstat 显示网络状态(相关信息)
选项:
-t: tcp协议
-u: udp协议
-l: 监听
-r: 路由
-n: 显示IP地址和端口号
范例:
netstat -tlun 查看本机监听的端口
netstat -an 查看本机所有的网络连接
netstat -rn 查看本机的路由表
shutdown 关机和重启命令
选项:
-c:取消前一个关机命令
-h:关机
-r:重启
系统的运行级别
0: 关机
1: 单用户
2: 不完全多用户,不含NFS服务
3: 完全多用户
4: 未分配
5: 图形界面
6: 重启
vim
命令: r R
r: 替换一个字符, R: 进入替换模式
/string 搜索指定字符串
搜索时忽略大小写: set ic
:%s/old/new/g 全文替换指定的字符串
:n1,n2s/old/new/g 在一定范围内替换指定字符串
:! 命令 在vim中执行命令
:r 文件名 在vim中带导入文件
:r !命令 导入命令的执行结果
定义快捷键:map快捷键 触发命令
范例: :map ^P I#<ESC> (I在行首插入的意思)
:map ^B 0x (跳到行首)
连续行注释:n1, n2s/^/#/g
:n1,n2s/^#//g
:n1,n2s/^/\/\//g
替换
:ab mymail samlee@lampbrother.net
rpm -ivh 包全名 # 安装rpm包
选项:
-i (install) 安装
-v (verbose) 显示详细信息
-h (hash) 显示进度
--nodeps 不检测依赖性
rpm -e 包名
选项: -e (erase) 卸载
--nodeps 不检测依赖性
rpm -q 包名 # 查询包是否安装
选项: -q 查询(query)
rpm -qa # 查询所有已经安装的rpm包
选项: -a 所有(all)
rpm -qi 包名 # 查询软件包的详细信息
选项: -i 查询软件信息(information)
-p 查询未安装包信息(package) 注:要加包全名
rpm -qf 系统文件名 # 查询系统文件属于哪个rmp包
选项: -f 查询系统文件属于哪个软件包 (file)
rpm -qR 包名 # 查询软件包的依赖性
-R 查询软件包的依赖性(requires)
-p 查询未安装包信息(package)
rpm -V rpm包效验
-V 效验指定RPM包中的文件(verify)
验证内容中的8个信息的具体内容如下:
S 文件的大小是否改变
M 文件的类型或文件的权限(rwx)是否被改变
5 文件MD5效验和是否该改变(可以堪称文件内容是否改变)
D 设备的中,从代码是否改变
L 文件路径是否改变
U 文件的属主(所有者)是否改变
G 文件的属组是否改变
T 文件的修改时间是否改变
文件类型
c 配置文件(config file)
d 普通文件 (documentation)
g "鬼"文件(ghost file) 很少见,就是该文件不应该被这个PRM包包含
l 授权文件(license file)
r 描述文件(read me)
rpm2cpio 包全名 | cpis -idv .文件绝对路径 # rpm 包中文件提取
rpm2cpio # 将rpm包转换成cpio格式的命令
cpio # 是一个标准的工具,它用于创建软件档案文件和从档案文件中提取文件
cpis 选项 <[文件|设备]>
-i: copy-in模式, 还原
-d: 还原时自动新建目录
-v: 显示还原过程
启动网卡
vi /etc/sysconfig/network-scripts/ifcfg-eth0
把ONBOOT="no" 改成
ONBOOT="yes"
重启网络服务
service network restart # 重启网络服务
网络yum源
vi /etc/yum.repos.d/CentOS-Base.repo
[base] 容器名称, 一定要放在[]中
name 容器说明, 可以自己随便写
mirrorlist 镜像站点,这个可以注释掉
baseurl 我们的yum源服务器的地址。默认是CentOS官方的yum源服务器,是可以服务的,如果你觉得慢可以改成你喜欢的yum源地址。
enabled 此容器是否生效,如果不写或写成enable=1都是生效,写成enable=0就是不生效
gpgcheck如果是1是指RPM的数字证书生效,如果是0则不生效
gpgkey 数字证书的公钥文件保存位置。不用修改。
常用的yum命令
1) 查询
yum list # 查询所有可用的软件包列表
yum search 关键字 # 搜索服务器上所有和关键字相关的包
2) 安装
yum -y install 包名
选项:
install 安装
-y 自动回答yes
3) 升级
yum -y update 包名
update 升级
-y 自动回答yes
4) 卸载
yum -y remove 包名
remove 卸载
-y 自动回到yes
yum 软件组管理命令
yum group list # 列出所有可用的软件组列表
yum groupinstall 软件组名 # 安装指定软件组,组名可以有grouplist查询出来
yum groupremove 软件组名 # 卸载指定软件组
光盘yum源搭建步骤
1) 挂载光盘
mount /dev/cdrom /mnt/cdrom
2) 让网络yum源文件失效
cd /etc/yum.repos.d/
mv CentOS-base.repo CentOS-Base.repo.bak
mv CentOS-DebugInfo.repo CentOS-Debuginfo.repo.bak
mv CentOS-Vault.repo CentOS-Vault.repo.bak
3) 修改光盘yum源文件
vim CentOS-Medio.repo
[c6-media]
name=CentOS-$releasever-Media
# 地址为你自己的光盘挂载地址
baseurl=file:///mnt/cdrom
# 注释这两个不存在的地址
# file:///media/cdrom/
# file:///media/cdrecorder/
# 把enabled=0改为enabled=1, 让这个yum源配置文件生效
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
RPM默认安装路径
/etc/ 配置文件安装目录
/usr/bin/ 可执行命令安装目录
/usr/lib/ 程序所使用的函数库保存位置
/usr/share/doc/ 基本的软件使用手册保存位置
/usr/share/man/ 帮助文件保存位置
源码包安装位置
/usr/local/软件包/
安装位置不同带来的影响
RPM包安装的服务可以使用系统服务管理命令(service)来管理,例如RPM包安装的apache的启动方法是:
/etc/rc.d/init.d/httpd start
service http start
源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径下。所以只能用绝对路径进行服务的管理,如:
/usr/local/apache2/bin/apachectl start
源码包安装过程
1. 安装准备
安装C语言编译器
下载源码包
http://mirror.bit.edu.cn/apache/httpd/
2. 安装注意事项
源代码保存位置: /usr/local/src/
软件安装位置: /usr/local/
如何确定安装过程报错:
安装过程停止
并出现error、warning或no的提示
3. 源码包安装过程
下载源码包
解压缩下载的源码包
进入解压缩目录
./configure 软件配置与检查
定义需要的功能选项
检测系统环境是否符合安装要求
把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑
用户管理简介
越是对服务器安全性要求高的服务器,越需要建立合理的用户权限等级制度和服务器操作规范。
在linux中主要是通过用户配置文件来查看和修改用户信息
用户的家目录:
普通用户:/home/用户名/, 所有者和所属组都是此用户,权限是700
超级用户:/root/, 所有者和所属组都是root用户,权限是550
用户的邮箱
/var/spool/mail/用户名/ # 可以用mail命令发送邮件,包括发送给同一主机的其他用户,以及发送qq邮件等
用户模版目录
/etc/skel # 创建用户时在家目录下出现的文件
用户管理命令
用户添加命令useradd
修改用户密码passwd
修改用户信息usermod
修改用户密码状态chage
删除用户userdel
用户切换命令su
useradd命令格式
useradd [选项] 用户名
-u UID: 手工指定用户的UID号
-d 家目录: 手工指定用户的家目录
-c 用户说明: 手工指定用户的说明
-g 组名: 手工指定用户的初始组
-G 组名: 指定用户的附加组
-s shell: 手工指定用户的登录shell。默认是/bin/bash
用户默认值文件
/etc/default/useradd
GROUP=100 # 用户默认组
HOME=/home # 用户家目录
INACTIVE=-1 # 密码过期宽限天数(shadow文件7字段)
EXPIRE= # 密码失效时间(shadow文件的8字段)
SHELL=/bin/bash # 默认shell
SKEL=/etc/skel # 模版目录
CREATE_MAIL_SPOOL=yes # 是否建立邮箱
/etc/login.defs
PASS_MAX_DAYS 9999 # 密码有效期(5)
PASS_MIN_DAYS 0 # 密码修改间隔(4)
PASS_MIN_LEN 5 # 密码最小5位(PAM)
PASS_WARN_AGE 7 # 密码到期警告(6)
UID_MIN 500 # 最小和最大UID范围
GID_MAX 60000
ENCRYPT_METHOD SHA512 # 加密模式
passwd命令格式
passwd [选项] 用户名
-S 查询用户密码的密码状态。仅root用户可用
-l 暂时锁定用户。仅root用户可用
-u 解锁用户。仅root用户可用
--stdin 可以通过管道符输出的数据作为用户的密码。
修改用户信息 usermod
usermod [选项] 用户名
-u UID: 修改用户的UID号
-c 用户说明: 修改用户的说明信息
-G 组名: 修改用户的附加组
—L: 临时锁定用户(Lock)
-U: 解锁用户锁定(Unlock)
修改用户密码状态chage
chage [选项] 用户名
-l: 列出用户的详细密码状态
-d日期: 修改密码最后一次更改日期(shadow 3 字段 )
-m天数: 两次密码修改间隔(4字段 )
-M天数: 密码有效期(5字段)
-W天数: 密码过期前警告天数(6字段)
-I天数: 密码过后宽限天数(7字段)
-E日期: 账号失效时间(8字段)
示例: chage -d 0 lamp
# 这个命令其实是把密码修改日期归0了(shadow 第3字段)
# 这样用户一登录就要修改密码
删除用户 userdel
userdel [-r] 用户名
选项:
-r 删除用户的同时删除用户家目录
手工删除用户:
vi /etc/passwd
vi /etc/shadow
vi /etc/group
vi /etc/gshadow
rm -rf /var/spool/mail/lamp
rm -rf /home/lamp
查询用户的uid和gid:
id 用户名
用户切换su:
su [选项] 用户名
选项:
-: 选项只是用"-" 代表连带用户的环境变量一起切换
-c命令: 仅执行一次命令,而不切换用户身份
添加用户组
groupadd [选项] 组名
选项:
-g GID: 指定组
修改用户组
groupmod [选项] 组名
选项:
-g GID: 修改组ID
-n 新组名: 修改组名
删除用户组
groupdel 组名