1.安装中文包
yum -y install fonts-chinese
------------------------------------------------------------------------------------------------------------------
2.查看防火墙状态
/etc/init.d/iptables status
----------------------------------------------------------------------------------------------------------------------
3.关闭防火墙
/etc/init.d/iptables stop
------------------------------------------------------------------------------------------------------------------------
4.重新开启防火墙
/etc/init.d/iptables restart
--------------------------------------------------------------------------------------------------------------------------
5.window访问出现超时(CentOS 5 彻底关闭SELinux)可以解决
用vim打开 /etc/selinux/config
在 SELINUX=enforcing 前面加个#号注释掉它
#SELINUX=enforcing
然后新加一行
SELINUX=disabled
--------------------------------------------------------------------------------------------------------------------------
修改ip
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0
BOOTPROTO=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的 ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址
BROADCAST=192.168.0.255 #对应的子网广播地址
HWADDR=00:07:E9:05:E8:B4 #对应的网卡物理地址
IPADDR=12.168.1.2 #如果设置网卡获得 ip地址的方式为静态指定,此字段就指定了网卡对应的ip地址
IPV6INIT=no
IPV6_AUTOCONF=no
NETMASK=255.255.255.0 #网卡对应的网络掩码
NETWORK=192.168.1.0 #网卡对应的网络地址
ONBOOT=yes #系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备
重启网络
/sbin/service network restart 或者 /etc/init.d/network restart

-------------------------------------------------------------------------------------------------------------------------
修改权限
chmod -R 666 file(注意:-R一定要大写表示递归的意思,666权限可写,777权限可写可执行,file是指文件或目录。)
--------------------------------------------------------------------------------------------------------------------------
解释 drwxr-xr-x 2 root root 4096 12-01 20:00 work

文件类型 d 目录directory
- 二进制文件
l 软链接文件link

r-read 读,w-write,x-execute执行,
rwx r-x r-x
所有者u 所属组g 其他人o
user group others

2硬链接数

root 所有者
root 所属组
4096 文件大小 (数据块 block 512字节)
12-01 20:00 时间
work 文件名称

-----------------------------------------------------------------------------------------------------------------------
pwd 查看当前目录
touch 创建文件
cp 复制
mv 移动 (可改名剪切) mv file1 file2 (改变文件名)
rmdir 删除空目录
rm -f 强制删除(无提示)
rm -r 删除目录
rm -rf 强制删除目录

------------------------------------------------------------------------------------------------------------------------
修改ip地址
ifconfig eth0 192.168.1.171

-------------------------------------------------------------------------------------------------------------------------
more 打开文件(分页显示文件内容)
(空格)或者f 显示下一页
enter 显示下一行
q或Q 退出

cat 打开文件
head 查看文件的前几行
tail 查看文件的后几行 tail -5 文件名 tail -f 文件名(动态显示文文件)

ln 文件名 硬连接
ln -s 文件名 软连接

ls -i 显示文件节点

硬连接不能跨文件系统

chmod u + r
g - w
o - x
u所有者
g所属组
o其他人l
rwx 可读可写可执行 chmod u+wx chmod o-rx chmod g=rwx

r-4 w-2 x-1
rwxr-xr-- 754
rw-r-x--x 651 chmod 651

-------------------------------------------------------------------------------------------------------------
chown [用户] [文件或目录] 改变文件的所有者
chgrp [用户] [文件或目录] 改变文件的所属组

useradd [用户名] 添加用户
passwd [用户名] 为用户添加密码

umask -S 显示默认文件的权限 可执行权限没有
umask 显示默认文件的权限 可执行权限没有
0022
0-特殊权限位
022-用户权限位,权限掩码值(777-022=755)

-----------------------------------------------------------------------------------------------------------
查找命令所在的文件路径
which
whereris
find (可超找文件)
locate(数据库中寻找文件或目录) (与updatedb,更新数据库)
grep [字符串] [源文件] (在文件内容中查找)

find /etc -name init (在目录/etc中查找文件init)
find /etc -name init* (在目录/etc中查找文件init开头)
find /etc -name init??? (在目录/etc中查找文件init开头名字长度7)
find / -size +204800 (在根目录查找大于100MB的文件) 1 block=512字节=0.5k
find /home -user username(在根目录下查找所有者为username的文件)
时间
1,天 ctime ,atime, mtime
2,分钟 cmin,amin,mmin
c-change(改变) ,表示文件属性修改过
a-access,(访问)
m-modify(修改),表示文件的内容修改

find /etc -ctime -l (在/etc下查找24小时之内修改过属性的文件和目录)
find /etc -size +163840 -a -size -204800 (在/etc下查找大于80MB小于100MB的文件)
find /etc -name inittab -exec ls -l{} \; (在/etc下查找inittab文件并显示其详细信息)
find /etc -name init* -a -type f
find . -inum 16 -exec rm []\;(查找并删除节点为16的文件)

1,连接符 -a (and),-o (or)
2, 文件类型 -type (f二进制文件,l软链接文件,d目录)

-------------------------------------------------------------------------------------------------------------------------
1.帮助命令man (manual)
man [命令或配置文件]
man 5 是查看配置文件帮助
man 1 查看命令帮助 (默认)

2.帮助指令info
3.帮助指令whatis (与makewhatis 更新索引数据库)
4.帮助指令ls --help
5.apropos (相当于 man -k)

------------------------------------------------------------------------------------------------------------------------
压缩文件
gzip [文件名] 不能压缩目录只能压缩文件,不保留原文件

解压
gunzip
gzip -d

压缩目录
tar 打包目录
-c 产生tar文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
压缩后的文件为.tar.gz后缀名
tar -zcvf [新文件名] [原文件名]

file [文件名] 可以判断文件类型

解压目录
tar -x 解压tar文件
-v 显示详细信息
-f 指定解压文件
-z 解压缩
tar -zxvf dir1.tar。gz

3.压缩
zip -r [压缩后文件名] [文件或目录]
-r 压缩目录
解压
unzip

4.压缩(压缩比非常高)
bzip2 -k [文件名]
-k 解压缩后保留原文件
解压
bunzip2 -k [文件名]

总结
4种压缩格式
.gz
.tar.gz
.zip
.bz2

--------------------------------------------------------------------------------------------------------------------------
网络通信write
write [用户名]

网络通信wall 写给所有人(广播)
wall [消息]

ping -c 3 192.168.1.1 (发送3次请求终止)次数
ping -s 1000 192.168.1.1 (发送1000字节的请求)大小

关机
shutdown -h now 现在关机

--------------------------------------------------------------------------------------------------------------------------
常用快捷键

tab键可以自动命令补全
ctrl + l 清屏幕
ctrl + u 删除光标前面的内容

--------------------------------------------------------------------------------------------------------------------------命令别名
alias copy=cp (把cp用copy代替)
alias xrm=“rm -f”

删除别名 unalias copy

--------------------------------------------------------------------------------------------------------------------------
输入输出重定向
1.输出重定向(0)
ls -l >temp.msg (把ls -l显示的结果保存到temp.msg文件中)
date >>temp.msg (把时间追加到文件中)

2.输入重定向(1)
wall <temp.msg (从文件导入)

3.错误输出重定向(2)
cp -R /usr /backup/user.bak 2> /bak.error (把备份出错的信息保存到bak.error), 2>是错误保存

--------------------------------------------------------------------------------------------------------------------------
管道
命令1|命令2|命令3|.......|命令n
ls -l /etc | more
ls -l /etc | grep init
ls -l /etc | grep init | wc -l

wc -l [文件名] 查看文件有多少行

--------------------------------------------------------------------------------------------------------------------------
连接符
1, : (顺序执行)
2. && (都执行成功)
3. || (只成功一个)

--------------------------------------------------------------------------------------------------------------------------
命令替换符(将一个命令的输出作为另一个命令的参数)
ls -l ·which touch·

--------------------------------------------------------------------------------------------------------------------------
vim 用法
esc
:
set mu 设置行
a A,i I,o O (在光标处插入数据)
h ,j ,k ,l (上下左右)
$ (跳到行尾)
0 (跳到行首)

H (跳到屏幕上端)
M (跳到屏幕中间)
L (跳到屏幕下端)

:set nu 设置行号
:set nonu 取消行号
gg 到第一行
G 到最后一行
nG 到第n行
:n 到第n行

x 删除光标所在字符
nx 删除光标所在处后n个字符
dd 删除光标所在行,ndd删除n行
dG 删除光标所在处到末尾的内容
D 删除光标所在处到行尾
:n1,n2d 删除指定范围的行

yy , Y 复制当前行
nyy , nY 复制当前以下n行
dd 剪切当前行
ndd 剪切当前以下n行
p , P 粘贴在当前光标所在行下或行上

r 取消光标所在处字符
R 从光标所在处开始替换字符,按Esc结束
u 取消上一步的操作

/stirng 搜索(:set ic 忽略大小写)set onic
n 搜索下一个
N 搜索上一个

%s/关键词1/关键词2/g (全文关键词1替换为关键词1 g 不需要确认)
%s/关键词1/关键词2/c (c需要确认)
100,200s/关键词1/关键词2/c (100行到200)

ZZ 保存退出
:wq 保存退出
:wq! 强行保存退出
:q! 不保存退出
:w 保存不退出

:r /etc/issure (把/etc/issure文件导入到当前编辑文件中)
:! [命令] (在编辑状态中不需要退出就可以执行其他的命令)
:r ![命令] (把命令执行的结果导入到文件中)

 

定义快捷键

:map ^P I#<ESC> (crtl+p) 添加注释
:map ^B 0x (crtl+b) 取消注释

添加多行注释
4,8s/^/#/g
取消多行注释
4,8s/^#//g

vim 配置文件为 /root/.vimrc 或 ~/.vimrc

---------------------------------------------------------------------------------------------------------
软件管理

卸载
rpm -e [名称] 卸载

rpm -e --nodeps [名称] 强行卸载
rpm -ivh [文件名] 安装软件包(vh显示安装信息)

挂载光盘
mount /dev/cdrom /mnt/cdrom (从/dev/cdrom光盘载入到/mnt/cdrom)

查询软件包是否安装
rpm -q sudo
rpm -qa | grep samba (查询samba关键字相关软件包)

rpm -ivh --prefix [名称]
--excludedocs (不安装软件包的文档文件)
--prefix path (指定安装路径)
--test (只对安装进行测试,并不实际安装)
--replacefiles (如果文件已经安装了要覆盖)

rpm -Uvh [文件名] (安装包升级)
--------------------------------------------------------------------------------------------------------
yum install (安装yum工具)
yum check-update (检测升级)
yum update (升级)
yum list (软件包查询)
yum info (软件包信息)
yum remove (卸载)
yum -help ,man yum(帮助信息)

rpm 查询软件包信息
查询文件隶属的软件包 rpm -qf
查询软件包信息 rpm -qi,rpm -qip
查询软件包安装文件 rpm -ql,rpm -qlp
查询软件包帮助文档 rpm -qd
插叙软件包配置文件 rpm -qc

rpm -V [名称] 检查软件是否被更改

make 编译源代码
make install 安装
结束进程 kill 'pgrep proftpd'
rm -rf [路径] (删除安装目录可以卸载)

---------------------------------------------------------------------------------------------------------
apt 包管理
apt-cache search (搜索软件包)
apt-cache show (软件包信息)
apt-get install (reinstalll覆盖安装 . -f修复安装) 安装
spt-get remove (autoremove自动解决依赖文件. --purge删除配置文件) 删除
apt-get update (更新软件源)
apt-get upgrade (更新已安装包)

---------------------------------------------------------------------------------------------------------
SetUID=4
chmod u+s u-s
4755 755
SetGID=2

---------------------------------------------------------------------------------------------------------
进程的管理
ps -le | grep httpd 查看进程

a 显示所有用户的进程
u 显示用户和启动时间
x 显示没有控制终端的进程
e 显示所有进程包括没有控制终端的进程
l 长格式显示
w 宽行显示,可以使用多个w进行加宽显示

ps 查看隶属于自己的进程
ps -u or -l 查看隶属于自己进程的详细信息
ps -le or -aux 查看所有用户执行的进程的详细信息
ps -aux --sort pid 可按进程的执行时间,pid,uid 等对进程进行排序

ps -aux | grep sam
ps -uU sam (查看指定用户的执行的进程)
ps -le | grep init (查看指定进程的信息)
pstree (查看树状结构的进程)

------------------------------------------------------------------------------------------------
kill 杀死进程

kill -l (查看进程相关信息)
kill [编号] (杀死进程)
kill -9 [编号] (强行杀死进程)
kill -1 [编号] (从启进程)
xkill (关闭图形界面进程)
killall (关闭所有进程)

ls /proc (所有信息存储文件)
pgrep [名称] (查看进程id)
kill -l 'pgrep http'
pkill httpd

nice -n command (指定程序的运行优先级)
renice n pid (改变一正在运行的进程的优先级) 范围(-20,19)

nohup 用户退出登录后进程仍就执行

Ctrl+z 进程的挂起
Ctrl+c 进程终止
fg 恢复到前台继续运行
bg 恢复到后台运行
jobs 查看挂起的进程

top 查看进程信息
-d 指定刷新时间
c 显示详细信息

---------------------------------------------------------------------------------------------------------
计划任务
at 安排作业在某一时刻执行一次
batch 安排作业在系统负载不重时执行一次
cron 安排周期性运行的作业

at [-f 文件名] [时间]
at -d or atrm 删除队列中的任务
at -l or atq 查看队列中的任务

--------------------------------------------------------------------------------------------------------
df -h (查看分区详细信息)
du -h [名称] (查看文件或目录的大小)
du -sh [名称] (查看文件或目录的大小)
fsck (修复文件系统)
du -h [名称] (查看文件或目录的大小)
fsck -y (修复文件系统)
e2fsck (修复文件)
file (判断文件类型)

mount /dev/cdrom /mnt/cdrom 挂载光驱
df 查看大小
cd /mnt/cdrom 打开
ls /mnt/cdrom 信息
umount /mnt/cdrom 卸载光驱
eject 弹出光驱

---------------------------------------------------------------------------------------------------------
shell 结构
#!指定执行脚本的shell
# 注释行