2015.10.7
IDE硬盘:hda1,hda2,....
scsi/sas/sata碍盘:sda1,sda2,....
linux 分区
BOOT 一般分200M左右即可,标记为主分区 force to be a primary partition
SWAP 内存小于8G ,建议1.5倍
内存大于8G ,建议8-16G即可 标记为主分区 force to be a primary partition
/ 剩余所有空间 标记为主分区 force to be a primary partition
#uname -r 查看版本
#uname -a 查看版本
先选择最小化安装,然后自定义安装选项中:
Base System 下勾选
Base
Compatilility libraries
Debugging Tools
Development 下勾选
Development tools
如果没装,用以下命令行安装即可:
yum groupinstall "Compatibility libraries" "Base" "Development tools"
yum groupinstall "debugging Tools" "Dial-up Networking Support"
可以通过yum groupinfo 包组查看具体安装的组件。
3、下面安装6.5后登陆系统的时候查看选包的情况:
yum grouplist:
Installed Groups:
Base
Compatibility libraries
Debugging Tools
Development tools
E-mail server
Graphical Administration Tools
Hardware monitoring utilities
Legacy UNIX compatibility
Networking Tools
Performance Tools
Perl Support
Scientific support
Security Tools
*可以看到除了我们选择的外,系统还是默认安装了一些额外的软件包组。
安装完毕,登录系统
先配置网卡
#setup 用界面进行配置
vi /etc/sysconfig/network-scripts/ifcfg-eth0
将ONBOOT=no 改为 ONBOOT=yes 即表示开机启动网卡
查看网络配置情况
#cat /etc/sysconfig/network-scripts/ifcfg-eth0
查看网络连接情况
#ifconfig
配置网卡后需重启网卡
#ifup eth0
或
#/etc/init.d/network restart
或
#service network restart
2015.10.9
至此,虚拟机系统安装及网卡配置已完成
疑问:Centos6.6 最小化模式安装默认开启SSH 22端口 ?? 安全??
3.安装SecureCRT,并新建连接至Centos6.6 系统
如果能ping通,但无法连接,请依次检查网络配置,DHCP服务及防火墙是否关闭
#/etc/init.d/iptables stop 关闭防火墙 最好执行二次
SecureCRT 设置:选项--会话选项--仿真 类型改为: linux 回滚缓冲区改为: 3200
外观--标准字体和精确字体改为 适应大小 光标颜色改为 醒目颜色
日志文件-- %S-%Y-%M-%D.txt 勾选:在连接上启动记录 追加到文件 每天一个
4.Linux命令约150个,常用约80个
命令操法语法:
命令 参数 路径文件
如 rm -f /temp/t.log
TAB键:命令、路径补全
命令 --help 命令的简单帮助
man ===命令的复杂帮助
ls ===查看目录列表
mkdir ===创建一个目录,例如:mkdir /data 或 cd /;mkdir data
-p 递归创建目录
ls ===查看这个目录,例如:ls -ld /data
touch ===创建一个文件,例如:touch 123.txt 或 touch /data/123.txt
pwd ===查看当前路径
vi ===编辑器,相当于记事本,功能较弱
输入 i a o 进入编辑模式 Esc 退出命令模式 :wq 保存退出
vim ===复杂编辑器,相当于notepad++,emeditor,editplus
echo ===显示输出作用
echo "asdf123lsdf">>/data/123.txt
echo 111444 1>>123.txt 2>>err.txt 正确追加至123.txt 错误追加到err.txt
cat ===查看文件 -n 显示行号
特殊用法:增加多行内容
cat >>/data/123.txt<<EOF
123456
EOF
EOF要成对出现,EOF可以被任意成对内容替换
cp ===拷贝命令 例:cp 123.txt /tmp/
-a:相当于 -pdr
-d:若源文件为链接文件(link file),则复制链接文件属性而非档案本身
-f:强制,若目标档案已存在且无法开启,则移除后再尝试
-p:连同档案的属性一起复制过去,而非使用默认属性
-r:递归,用于复制目录
-u:若目标文件存在,则目标文件比源文件旧时才复制
提示:若源文件是多个,则目的文件在最后,且是目录
cp的重要参数:apr
覆盖文件不提示办法: \bin\cp /123.txt /root
或 \cp /123.txt /root
diff ===比较文件 diff 111.txt 222.txt
vimdiff ===高亮显示对比文件不同地方
mv ===移动目录或文件,例: mv /data /root/
rm ===删除命令 -f 强制 -r 删除目录
find ===查找命令 find /root/data/ -type f 按文件类型查找
find /root/data/ -type f -exec rm -f {} \; 且入理
find /root/data/ -type f|xargs rm -f 且加入管道处理
find /data/ -type f ! -name "4.txt"|xargs rm -f 除4.txt 外处理
-type 按文件类型查找 f 表示普通文档 d 目录 !取反
-name "文件名" 按文件名查找
head ===头部,取文件前N行,默认前10行,取前三行 -n 3 简写-3
tail ===尾部,取文件后N行,默认前10行,取前三行 -n 3 简写-3
-f 跟踪一个文件尾部的实时变化
awk 取列===一门语言,过滤内容(取列) 三剑客老大
awk '{print $1}' 文件 <===$1 第一列
awk -F "分隔符" '{print $1}' 文件 -F 指定分隔符
例:awk -F ":" '{print $(NF-2)}' /etc/passwd NF-1:倒数减1列
例:awk '{if(NR>20&&NR<26) print $0"\n" }' /etc/passwd 显示出文件21-25行
NR代表行号,&&并且 \n 回车 $0 表示整行
grep ===过滤器,把想要或不想要的分开 -v 排除 -i 不区分大小写,-E过滤多个字符串,
-o输出精确匹配的字符而不是默认的整行 三剑客老三
例 grep -v "123" /data/123.txt 显示排除123的123.txt
grep "string" -B 5 /路径文件 -B 除匹配行外并显示前5行,-A后5行,-C前后5行
sed 取行=== 例 sed -n ' /过滤的内容/处理的命令' 文件 三剑客老二
-n 取消sed默认输出
处理的命令:p print打印,d delete删除
例:取1.txt文件5~10行显示 sed -n '5,10p' 1.txt
head -10 | tail 4
awk '{if(NR<11 && NR>4) print $1"\n"}' 1.txt NR代表行号 &&(and) \n 回车
sed -i 's#123#456#g' a.txt s 查找并替换 g 与s联合使用时,表示对当前行全局替换 -i 修改文件内容 "#"分隔符,可以用/@等替换.
yum ===linux里包管理器
例:yum install tree -y 下载tree包,然后调用rpm安装,如需依赖,帮你下载提前安装
rpm -ivh (安装、显示输出、人类可读)
例: rpm -ivh 包名.rpm (提前下载好) 最大问题,依赖问题不好解决
rpm -qa 包名 ---检查包是否安装
tree ====显示树形目结构
alias ====查看以及定义别名 注:别名定义为临时生效,重启后还原
例:alias rm=' echo "rm can not be used,please use mv"' 禁止使用RM命令
alias cp='cp -i"
如何覆盖不提示确认
全路径使用命令 例: /bin/cp /1.txt /root/
命令前加\ 例: \cp /1.txt /root/
取消命令别名
别名生效位置:针对root用户 : /root/.bashrc
全局生效: /etc/basrc 或 /etc/profile定义
生效: source /etc/profiles
unalias ====取消别名 例: unalias cp
别名的作用:1.通过给危险命令加一些保护参数,防止人为误操作. 2.把很多复杂的字串或命令变为简单
seq ====序列 -s 指定序列的分隔符 例:seq -s "@" 1 5 100 5为步长
history ====历史,查看命令行历史
cat /etc/redhat-release ===查看系统版本
uname ===打印系统信息 -a -r -m ....
hostname ===查看主机名
$ ===普通用户提示符
# ===超级用户提示符
whoami ===查看当前用户
su ===角色切换 su - 用户名 -参数切换用户环境变量,普通切管理需密码,root切普通无需输密码
getenforce 检查selinux状态
setenforce 设置selinux状态 1启用 0警告/不启用
runlevel 查看当前系统运行级别
init 5 切换运行级别 切换数字有0~6
chkconfig 设定开机自启动服务
特殊字符命令:
">"或"1>" ===意为重定向,会清除文件里所有以前数据,增加新数据
">>"或"1>>" ===追加重定向,文件结尾加入内容,不会删除已有文件内容
例如:echo "123456" >123.txt echo "123456" >>123.txt
"<0" ===输入重定向
"<<00" ===追加重入重定向
标准输入(stdin): 代码为0 使用 < 或 << 数据流向从右向左
正常输出(stdout):代码为1 使用 > 或 >> 数据流向从左向右
错误输出(stderr):代码为2 使用 2> 或 2>>
箭头指向就是数据的流向
\ ===让一个有意义的字符,脱掉马甲
.. ===上级目录
. ===当前目录
| ===管道(把前一个命令结果的输出交给后一个程序续继处理)
~ ===用户家目录,针对root环境 ~ 就表示/root
; ===命令分隔符
{} ===生成字符或数字序列,一般配合echo 等命令使用,find里的{}意思为前面命令的结果
例:创建以AA开头的100个序列文件 touch AA{001..100}
! ===1 !+字母 表示调出最近一次以此字母开头的命令
2 !! 表示使用最近一次操作的命令
3 !+数字 表示调出历史的第几条命令
- ===上一次操作的目录, - 由OLDPWD变量控制 例: cd - 返回到上一次操作目录
基础正则表达式:一些特殊的符号 表示一些特殊的作用和功能
. 单个任意字符
* 重复前面任意0个或多个字符
.* 匹配任意字符
sed -r 's#(可以用正则表达式)#\1#g' 456.txt 把前面的正则匹配的结果,在后面用\1取出来操作
快捷键
TAB 命令补全+补全路径
ctrl + c 终止当前任务命令或程序
ctrl + d 退出当前用户环境,相当于exit logout
ctrl + l 清屏 clear
ctrl + a 光标移至最前
ctrl + e 光标移至最后
ctrl + u 清除光标前字符
ctrl + k 清除光标后字符
互传文件
windows<======>linux
ftp/winscp/http/rz-sz
yum install telnet lrzsz nmap dos2unix -y
例: 使用 rz-sz 工具上传下载
配置 SecureCRT 会话选项中 Xmodem/Zmodem 上传下载目录
在服务器中安装lrzsz
yum install lrzsz -y
使用rpm -qa lrzsz 检查软件安装情况
上传 rz -y 弹出上传对话框 选择上传文件 (注意不要勾选以ASCII方式上传) 参数 -y 覆盖
下载 sz -y 文件路径/文件名
-------------------------------------------
Linux优化
建立普通帐户,使用普能用户登录
处理SELinux
处理防火墙
精简开机自启动服务。 sshd,network,crond,rsyslog,sysstat
linux最小化安全理念
关闭SELinux功能
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config 替换内容 重启生效
grep =disabled /etc/selinux/config 检查内容
getenforce 检查selinux状态
setenforce 设置selinux状态 1启用 0警告/不启用
运行级别
cat /etc/inittab 运行级别说明
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode ---------默认运行级别
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
runlevel 查看当前系统运行级别
init 5 切换运行级别
精简开机启动
1.sshd 远程边接服务
2.rsyslog 将各种信息记录到日志中的服务
3.network 网络接口服务
4.crond 周期性执行系统及用户配置的任务计划
5.sysstat 监测系统性能及效率的一组工具
集成主要工具为: iostat 工具提供CPU使用率及硬盘吞吐率的数据
mpstat 工具提供与单个或多个处理器相关的数据
sar 工具负责收集\报告并存储系统活跃的信息
cat /var/log/messages
dmesg
setup---第四项 系统服务
ntsysv---
处理保留开启服务的方法(3种):
for name in `chkconfig --list|grep 3:on|awk '{print $1}'|grep -Ev "sshd|network|rsyslog|crond|sysstat"`;do chkconfig $name off;done
chkconfig --list|grep 3:on|awk '{print $1}'|grep -Ev "sshd|network|rsyslog|crond|sysstat"|sed -r 's#(.*)#chkconfig \1 off#g'|bash
chkconfig --list|grep 3:on|awk '{print $1}'|grep -Ev "sshd|network|rsyslog|crond|sysstat"|awk '{print "chkconfig " $1 " off"}'|bash
chkconfig --list|grep 3:0n 检查运行级别3 默认开机启动服务
关闭防火墙:/etc/init.d/iptables stop
查看防火墙:/etc/init.d/iptables stop 或 iptables -L -n
关闭开机自启动防火墙:chkconfig iptables off
运维思想最小化原则
安装linux系统最小化,即选包最小化,yum安装软件包也要最小化,无用的包不装
开机自启动服务最小化,即无用的服务不开启
操作命令最小化 如:rm -f 1.txt 而不用 rm -fr 1.txt
登录linux用户最小化,无需求不用root登录,用普通用户登录即可
普能用户授权最小化,即只给必须的管理系统命令即可
linux系统文件及目录设置最小化,禁止随意创建、更改、删除
-------------------------------------------
修改SSH登出端口
/etc/init.d/sshd start 开启服务
备注原文件 cp /etc/ssh/sshd_config /etc/ssh/sshd_config.server.20160108
vim /etc/ssh/sshd_config :set nu 加行号
修改13行 #Port 22 为 Port 52113
修改14行 #ListenAddress 0.0.0.0 为 ListenAddress 内网IP
修改42行 #PermitRootLogin yes 为 PermitRootLogin no
修改81行 GSSAPIAuthentication yes 为 GSSAPIAuthentication no 多台远程SSH慢问题
修改122行 #UseDNS yes 为 UseDNS no
本文出自 “AirSky学习Linux” 博客,谢绝转载!