您的位置:首页 > 运维架构 > Linux

day 7 Linux基础优化

2018-07-17 22:07 399 查看

Linux命令优化

第1章 13题补充

把/oldboy目录及其子目录下所有以扩展名 .sh结尾的文件中,文件包含oldboy的字符串全部替换为oldgirl

1.1 方法1

[root@oldboyedu50 ~]# find /oldboy/ -type f -name "*.sh"
/oldboy/test/del.sh
/oldboy/test.sh
/oldboy/t.sh
[root@oldboyedu50 ~]# find /oldboy/ -type f -name "*.sh"|xargs ls -l
-rw-r--r--. 1 root root 8 Jul 16 17:48 /oldboy/test/del.sh
-rw-r--r--. 1 root root 8 Jul 16 17:48 /oldboy/test.sh
-rw-r--r--. 1 root root 8 Jul 16 17:48 /oldboy/t.sh



1.2 方法2

预备姿势

[root@oldboyedu50 ~]# which mkdir
/bin/mkdir
[root@oldboyedu50 ~]# ll /bin/mkdir
-rwxr-xr-x. 1 root root 50056 Mar 23 2017 /bin/mkdir
[root@oldboyedu50 ~]# ll which mkdir
ls: cannot access which: No such file or directory
ls: cannot access mkdir: No such file or directory
[root@oldboyedu50 ~]# ll $(which mkdir )
-rwxr-xr-x. 1 root root 50056 Mar 23 2017 /bin/mkdir



#$() 先运行括号里面的命令 然后再执行其他的命令#$() `` 反引号

find /oldboy/ -type f -name "*.sh" 与 ls -l

ll $(find /oldboy/ -type f -name "*.sh" )

1.3 方法3

[root@oldboyedu50 ~]# find /oldboy/ -type f -name "*.sh" -exec ls -l {} \;
-rw-r--r--. 1 root root 8 Jul 16 17:48 /oldboy/test/del.sh
-rw-r--r--. 1 root root 8 Jul 16 17:48 /oldboy/test.sh
-rw-r--r--. 1 root root 8 Jul 16 17:48 /oldboy/t.sh



小结:
find命令找出文件交给其他命令 (ls sed rm)

1、find /oldboy/ -type f -name "*.sh"|xargs ls -l
2、ll $(find /oldboy/ -type f -name "*.sh" )
3、find /oldboy/ -type f -name "*.sh" -exec ls -l {} \;

第2章 |与|xargs 区别

|管道 把前一个命令结果 通过管道传递给后面命令 传递的是文字 文本
|xargs 把前一个命令结果 通过管道传递给后面命令 传递的是文件名
[root@oldboyedu50 ~]# sed -i 's#old#young#g'
sed: no input files

[root@oldboyedu50 ~]# find /oldboy/ -type f -name "*.sh"
/oldboy/test/del.sh
/oldboy/test.sh
/oldboy/t.sh
[root@oldboyedu50 ~]# find /oldboy/ -type f -name "*.sh" |sed -i 's#old#you#g'
sed: no input files
[root@oldboyedu50 ~]# find /oldboy/ -type f -name "*.sh" |xargs sed -i 's#old#you#g'
#find +|xargs

第3章 PS1

3.1 环境变量

变量
x + y = 10 ,已知x=11 y=?

环境变量
1.大写的
2.可以在系统中大部分地方 使用 含义基本没变化
3.系统创建

PS1 ===== 武功秘籍 (葵花宝典)
echo $PS1 ===== 看书
PS1='[\u@\h \W]\$ ' ===== 写入内容 "欲练此功必先自宫若不自宫也能成功"

3.2 PS1 控制命令行样子

3.2.1 #临时

export PS1='[\u@\h \w]\$ '

3.2.2 #永久

vim /etc/profile #编辑文件

[root@oldboyedu50 /data]# tail -2 /etc/profile
alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
export PS1='[\u@\h \w]\$ '

#生效
source /etc/profile

小结:
1.环境变量 特点
2.查看环境变量内容

第4章 ##SElinux

NSA

4.1 关闭SElinux

4.1.1 永久关闭SElinux - 服务器重启之后生效

/etc/selinux/config
# SELINUX= can take one of these three values:
# enforcing 默认 selinux 开启运行中
# permissive selinux 关闭 警告信息
# disabled selinux彻底关闭
SELINUX=enforcing

不要给自己找任何理由重启服务器

vim
u
C 把光标到行尾的内容删除并进入编辑模式

4.1.2 临时关闭SElinux –

[root@oldboyedu50 ~]# getenforce
Enforcing
root@oldboyedu50 ~]# setenforce
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
[root@oldboyedu50 ~]# setenforce 0
[root@oldboyedu50 ~]# getenforce
Permissive

4.1.3 关闭SElinux:

操作前备份,操作后检查
0.备份
1.临时
2.永久
3.检查

esc+ .(点) 使用上一个命令的最后一个东西

第5章 sed修改文件并备份

[root@oldboyedu50 /oldboy]# cat t.sh
yougirl
[root@oldboyedu50 /oldboy]# sed 's#girl#boy#g' t.sh
youboy
[root@oldboyedu50 /oldboy]# sed -i.bak 's#girl#boy#g' t.sh
[root@oldboyedu50 /oldboy]# #-i.bak 先备份文件 t.sh.bak
[root@oldboyedu50 /oldboy]# # 然后修改文件内容
[root@oldboyedu50 /oldboy]# cat t.sh
youboy
[root@oldboyedu50 /oldboy]# cat t.sh.bak
yougirl

CentOS 5.x 6.x 防火墙 iptables
CentOS 7.x firewalld

工作应用:
防火墙 服务器拥有公网ip地址 开启
防火墙 服务器只有内网ip地址 关闭
高并发的时候

5.1 关闭iptables

5.1.1 #1.临时

[root@oldboyedu50 /oldboy]# /etc/init.d/iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
[root@oldboyedu50 /oldboy]# /etc/init.d/iptables stop
[root@oldboyedu50 /oldboy]# /etc/init.d/iptables status
iptables: Firewall is not running.

5.1.2 #2.永久关闭-

关闭开机自启动 软件在开机的时候自动运行
开机自启动软件管理命令
[root@oldboyedu50 /oldboy]# chkconfig iptables off

[root@oldboyedu50 /oldboy]# chkconfig |grep ipt
iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off

第6章 关闭iptables 小结:

6.1 临时-重启服务器之后失效

/etc/init.d/iptables stop

6.2 .永久-重启服务器之后生效

#关闭开机自启动
chkconfig iptables off

6.3 检查

/etc/init.d/iptables status
chkconfig |grep ipt

GBK 国家标准
UTF-8 万国码

6.3.1 查看字符集

[root@oldboyedu50 /oldboy]# echo $LANG
en_US.UTF-8
[root@oldboyedu50 /oldboy]# #en_US 语言
[root@oldboyedu50 /oldboy]# #UTF-8 字符集
[root@oldboyedu50 /oldboy]# #语言.字符集

6.3.2 .修改字符集-临时

[root@oldboyedu50 /oldboy]# export .UTF-8

[root@oldboyedu50 /oldboy]# echo $LANG
zh_CN.UTF-8

6.3.3 永久修改字符集

[root@oldboyedu50 /oldboy]# cat /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
[root@oldboyedu50 /oldboy]# source /etc/sysconfig/i18n
[root@oldboyedu50 /oldboy]# echo $LANG
en_US.UTF-8

linux显示中文乱码:
1.linux系统的字符集与远程连接工具不同

总结:
1.find命令找出文件交给其他命令(ls rm sed) 三种
2.环境变量:PS1 LANG(必须会修改)
3.关闭SElinux和iptables
4.如何修改字符集
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  day7 基础优化