Linux基础优化

第1章 find补充

问题 查找nfsnobody目录下的所有以.sh结尾的文件并查看文件信息

1.1 第一种find +|xargs

[root@nfsnobody ~]# find /nfsnobody/ -type f -name"*.sh"|xargs ls -l
-rw-r--r--. 1 root root 0 Jul 10 19:08/nfsnobody/linux.sh
-rw-r--r--. 1 root root 0 Jul 10 19:08/nfsnobody/test.sh

1.2 第二种$()

1.2.1 $()

[root@nfsnobody ~]# ll $(which mkdir)
-rwxr-xr-x. 1 root root 45384 Mar 23  2017 /bin/mkdir
####先运行括号里面的命令(括号里面需要放可以执行的命令)  然后在执行其他的命令
[root@nfsnobody ~]# ls -l $(find /nfsnobody/ -typef -name "*.sh")
-rw-r--r--. 1 root root 0 Jul 10 19:08/nfsnobody/linux.sh
-rw-r--r--. 1 root root 0 Jul 10 19:08/nfsnobody/test.sh
[root@nfsnobody ~]# ls -l `find /nfsnobody/ -type f-name "*.sh"`
-rw-r--r--. 1 root root 0 Jul 10 19:08/nfsnobody/linux.sh
-rw-r--r--. 1 root root 0 Jul 10 19:08/nfsnobody/test.sh
[root@nfsnobody ~]#

1.2.2 `` 反引号

反引号与$()意思相同

1.3 第三种 -exec

[root@nfsnobody ~]# find /nfsnobody/ -type f -name"*.sh" -exec ls -l {} ;  可以理解为固定搭配
-rw-r--r--. 1 root root 0 Jul 10 19:08/nfsnobody/test.sh
-rw-r--r--. 1 root root 0 Jul 10 19:08/nfsnobody/linux.sh

1.4 |与|xargs的区别

|管道  把前一个命令的结果 通过管道传递给后面的命令   传递的是文本 文字(文件内容)
|xargs 把前一个命令的结果通过管道传递给后面的命令   传递的是文件名

第2章 变量

PS1 
环境变量
变量

2.1 环境变量特点

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

2.2 显示变量内容PS1

echo$PS1  显示变量里的内容
[root@nfsnobody ~]# echo $PS1
[u@h W]$
修改PS1
临时生效
[root@nfsnobody ~]# export PS1='[u@h w]$ '
###使其路径显示变为绝对路径
 
[root@nfsnobody /tmp/data]# cd /data/
[root@nfsnobody /data]#
 
永久生效
[root@nfsnobody ~]# vim /etc/profile
##把命令内容粘贴写入到文件最后一行  
[root@nfsnobody ~]# source /etc/profile

第3章 SElinux

NSA (美国国家安全局)

3.1 永久关闭

永久关闭 - 服务器重启之后才会生效 但是工作中一般不能重启服务器 所以永久关闭和临时关闭同时配置
先查看下信息

[root@nfsnobody ~]# cat /etc/selinux/config 
# This file controls the state of SELinux on thesystem.
# SELINUX= can take one of these three values:
# enforcing -默认selinux开启运行中     SELinux security policyis enforced.
# permissive -selinux关闭 但不是彻底关闭 还会有警告信息    SELinux prints warnings instead ofenforcing.
# disabled -selinux彻底关闭No SELinux policy is loaded.
SELINUX=enforcing

vim快捷键
大写C 把光标到行尾的内容删除并进入编辑模式

将SELINUX=enforcing 改成 SELINUX=disabled  :wq退出
[root@nfsnobody ~]# grep =disabled/etc/selinux/config  检查下内容
SELINUX=disabled
[root@nfsnobody ~]#

永久关闭selinux 服务器重启之后才会生效 但是工作中一般不能重启服务器
所以永久关闭和临时关闭同时配置

3.2 临时关闭selinux

先使用getenforce查看下是否在运行  然后使用setenforce临时关闭

[root@nfsnobody ~]# getenforce  查看现在selinux是否在运行
Enforcing   表示在运行
[root@nfsnobody ~]# setenforce 
usage:setenforce [ Enforcing | Permissive | 1 | 0 ]
[root@nfsnobody ~]# setenforce 0
[root@nfsnobody ~]# getenforce            检查
Permissive  
###临时关闭没办法彻底关闭 没有disabled选项


操作前备份 操作后检查
 

第4章 关闭iptables

4.1 临时关闭iptables

[root@nfsnobody /nfsnobody]# /etc/init.d/iptablesstop   关闭防火墙
iptables: Setting chains to policy ACCEPT:filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [OK  ]
[root@nfsnobody /nfsnobody]# /etc/init.d/iptablesstop   关闭防火墙建议执行两次命令
[root@nfsnobody /nfsnobody]# /etc/init.d/iptablesstatus   查看防火墙状态
iptables: Firewall is not running. 防火墙没有运行

4.2 永久关闭

关闭开机自启动  软件在开机的时候自动运行
开机自启动软件管理命令 chkconfig

[root@nfsnobody ~]# chkconfig iptables off  关闭防火墙自启动
[root@nfsnobody ~]# chkconfig |grep"ipta"  使用grep过滤 只显示iptables的内容
iptables 0:off   1:off   2:off   3:off   4:off   5:off   6:off

第5章 Linux中文显示设置

Linux中文显示设置 (如何防止显示中文乱码)

5.1 字符集

字符集 字符集就是一套文字符号及其编码
GBk国家标准
UTF-8万国码
LANGlanguage 语言

5.2 临时修改

[root@nfsnobody ~]# export LANG=zh_CN.UTF-8  修改字符集 修改成中文的
[root@nfsnobody ~]# echo $LANG               检查是否修改成功
zh_CN.UTF-8
[root@nfsnobody ~]# setup                    修改成功后可以执行setup查看

5.3 永久修改

[root@nfsnobody ~]# cat /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
将LANG="en_US.UTF-8"  修改成 LANG="zh_CN.UTF-8"
[root@nfsnobody ~]# source/etc/sysconfig/i18n   改后启动下配置 永久修改成功

5.4 Linux修改中文乱码排查思路

查看Linux系统的字符集与远程连接工具的字符集不匹配

第6章 补充

6.1 用户切换

root进入其他用户不需要密码
普通用户进入root需要输入密码
当然也可以 ctrl+d直接退出

6.2 sed备份+替换

sed -i.bak

[root@nfsnobody /nfsnobody]# sed -i.bak's#old#young#g' t.sh  备份并修改
[root@nfsnobody /nfsnobody]# ls                               执行命令后查看
linux.shtest.sh  t.sh  t.sh.bak                             多出了一个.bak备份的文件
[root@nfsnobody /nfsnobody]# cat t.sh                         t.sh已经修改
youngboy
[root@nfsnobody /nfsnobody]# cat t.sh.bak                     t.sh.bak 没有修改 备份成功
nfsnobody
[root@nfsnobody /nfsnobody]#
原文地址:https://www.cnblogs.com/wenrulaogou/p/11982010.html