Linux基础优化

第1章 find补充

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

1.1 第一种find +|xargs

[ ~]# 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 $()

[ ~]# ll $(which mkdir)
-rwxr-xr-x. 1 root root 45384 Mar 23? 2017 /bin/mkdir
####先运行括号里面的命令(括号里面需要放可以执行的命令)? 然后在执行其他的命令
[ ~]# 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
[ ~]# 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
[ ~]#

1.2.2 `` 反引号

反引号与$()意思相同

1.3 第三种 -exec

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

第3章 SElinux

NSA (美国国家安全局)

3.1 永久关闭

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

[ ~]# 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退出
[ ~]# grep =disabled/etc/selinux/config? 检查下内容
SELINUX=disabled
[ ~]#

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

3.2 临时关闭selinux

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

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

?
操作前备份 操作后检查
?

第4章 关闭iptables

4.1 临时关闭iptables

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

4.2 永久关闭

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

[ ~]# chkconfig iptables off? 关闭防火墙自启动
[ ~]# 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 临时修改

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

5.3 永久修改

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

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

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

第6章 补充

6.1 用户切换

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

6.2 sed备份+替换

sed -i.bak

[ /nfsnobody]# sed -i.bak's#old#young#g' t.sh? 备份并修改
[ /nfsnobody]# ls????????????????????????????? ?执行命令后查看
linux.shtest.sh? t.sh? t.sh.bak?????????????????????????? ??多出了一个.bak备份的文件
[ /nfsnobody]# cat t.sh??????????????????????? ?t.sh已经修改
youngboy
[ /nfsnobody]# cat t.sh.bak??????????????????? ?t.sh.bak 没有修改 备份成功
nfsnobody
[ /nfsnobody]#

相关推荐