linux第三天
一、linux 三剑客,管道,别名和重定向
1、linux 多使用Tab键
Shift +G 最后一行
gg第一行
dd删除当前一行
2、三剑客:grep
grep "oldboy" test.txt 抓取test.txt文件中的oldboy,默认输出一行
grep -v "oldboy" test.txt 排除test.txt文件中的oldboy
3、三剑客:sed
sed -n '1,2p' test.txt 抓取第一行和第二行
sed '' test.txt 全部输出
sed 's#需要替换的内容#替换成的内容#g' 文件路径
sed -i 's#需要替换的内容#替换成的内容#g' 文件路径 替换对文件生效
-n 取消默认输出
sed '/oldboy/d' test.txt 删除oldboy 类似grep -v
4、三剑客:awk
awk NR(行号)
awk 'NR==20 && NR==30' num.txt
awk 'NR>=20&&NR<=30' num.txt
5、别名 alias
命令执行:alias rm='echo "do not use rm command"' (有等号是定义,没有等号是查看)
查看:alias rm
写入配置文件,让他永久生效:vim /etc/bashrc(配置文件)在会后一行加上alias rm='echo "do not use rm command"'
cat /etc/bashrc 查看(如果文件非常大效率特别低) tail -1 /etc/bashrc 显示最后一行
6、source让变量或者别名生效
source /etc/bashrc
7、临时取消别名的方法
(1)用命令的全路径
(2)用\取消别名
8、>>追加到文件的末尾,输出追加重定向,如果文件存在,则追加到最后一行,如果文件不存在,则创建一个文件,然后追加
{} 命令行中,表示字符串序列
9、绝对路径和相对路径
绝对路径是从根开始的
相对于从当前路径开始的路径
10、管道|
把前一个命令的结果通过|传递给下一个命令(传递的是字符串) head num.txt | tail -2
11、find查找
find . -name "*.txt"查找当前目录下的.txt文件
12、xargs它能够捕获一个命令的输出,然后传递给另外一个命令,普通字符串特殊化变成文件名
find . -name "*.txt" |xargs ls -l
xrange <num.txt 把一个文件变成一行
xrange -n2 <num.txt 把一个文件变成5行来显示
13、重定向

echo "aaa" >> error.txt 2>&1
二、系统的优化
1、关闭SEliunux
setenforce 0 临时生效 查看getenforce
配置文件 cat /etc/selinux/config
sed 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config sed替换
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config sed替换 对文件生效
2、关闭防火墙 iptables
chkonfig 管理开机自启动项目
--list 显示某个服务或全部服务的开机启动情况
chkconfig 服务名 on/off 开机启动或者不启动某个服务
(1)什么时候开启或关闭防火墙
非常大的并发和自己开发测试需要关闭防火墙
服务器有外网ip的时候一般都是开启的
(2)防火墙开启和关闭
关闭防火墙/etc/inint.d/iptables stop
查看防火墙在下次开机是否会启动 chkconfig --list iptables
关闭所有级别的防火墙 chkconfig iptables off
关闭某个级别上的防火墙chkconfig --level 3 iptables on
3、系统运行级别
cat /etc/inittab 系统的运行级别配置文件

三、精简开机自启动服务
1、企业环境安装新linu系统之后必须开的服务

(1)一个一个的关闭
setup system services 或ntsysv
(2)全部关闭,然后开启所需要的
chkconfig 服务名 off
chkconfig --list | awk '{print "chkconfig",$1 }' |bash (,表示空格)
(3)关闭不需要的开机启动项目
chkconfig --list |egrep -v "crond|ssh|sysstst|network|rsyslog" |awk '{print "chkconfig",$1,"off" }' |bash
四、修改字符集
1、查看字符集 locale -a
2、查看当前字符集 echo $LANG
3、修改文件sed 's#en_US.UTF-8#zh_CN.utf8#' /etc/sysconfig/i18n
执行文件sed -i.ori 's#en_US.UTF-8#zh_CN.utf8#' /etc/sysconfig/i18n (i.ori先备份,再修改)
source 路径 生效(针对环境变量的)
五、常用安装工具
yum -y install lrzsz nmap dosunix telnet tree
六、linux目录结构
1、tree -L 1 /

目录树的简单说明:
应用程序:/usr/bin
s数据文件帮助/user/share
配置文件/etc
启动命令/ctc/init.d
默认安装程序 /usr/local

7、网卡配置文件
cat /etc/sysconfig/network-scripts/ifcfg-rth0
重启网卡/etc/init.d/network restart 影响所有网卡
ifdown eth0 && ifup eth0 只针对eth0网卡
配置网卡文件详解

服务器克隆需要提前删除HWADDR和UUID
ONBOOT=yes开机自启动网卡
BOOTPROTO=static 静态ip
ipv6直接删掉
查看默认网关 route -n
8
hastname 修改主机名 /etc/sysconfig/network









浙公网安备 33010602011771号