CentOS 初始化配置事项
1.配置命令提示符
#安装网络管理和管理的基本工具
[root@Centos7.9 ~]#yum -y install net-tools,vim
#查看当前的PS1(已经更该过了)
[root@Centos7.9 profile.d]#echo $PS1
\[\e[1;32m\][\u@\H \W]\$\[\e[0m\]
[root@Centos7.9 ~]#cd /etc/profile.d/
#创建一个以.sh结尾的文件即可
[root@Centos7.9 profile.d]#touch color.sh
#将下面三行代码copy到color.sh文件中,保存退出
PS1='\[\e[1;32m\][\u@\H \W]\$\[\e[0m\]'
# history-显示命令输入的日期和时间
export HISTTIMEFORMAT='%F %T '
#退出系统,重新进入即可生效
exit
2.定制vim的工作特性
全局:/etc/vimrc
个人:~/.vimrc
#刚创建好的机器/root/下是没有.vimrc这个文件的,需要创建
[root@Centos7.9 profile.d]#touch /root/.vimrc
#将下面内容copy到/root/.vimrc中
vim /root/.vimrc
"set nu
syntax on
"set paste
"设置F2开启,平时不开启
set pastetoggle=<F2>
"只要是插入模式就开启,平时不开启
autocmd InsertLeave * set nopaste
autocmd InsertEnter * set paste
set ignorecase
set tabstop=2 "ts=4
set shiftwidth=2
set nohlsearch "取消高亮显示,但是光标依然会跳转
set expandtab "用空格代替tab
set backspace=indent,eol,start
set noautoindent nosmartindent nocindent "设置自动换行,根据文件类型确定换行格式,例如yaml
set listchars=tab:>-,eol:$,space:. "vim低版本会报错,这里使用的是vim 9.1
"set cursorline
autocmd FileType * setlocal formatoptions-=cro
autocmd BufNewFile *.sh exec ":call SetTitle()"
func SetTitle()
if expand("%:e") == 'sh'
call setline(1,"#!/bin/bash")
call setline(2,"#")
call setline(3,"#*******************************************************")
call setline(4,"#Author: xingyuyu")
call setline(5,"#Date: ".strftime("%Y-%m-%d"))
call setline(6,"#Filename: ".expand("%"))
call setline(7,"#Copyright (C): ".strftime("%Y")." All rights reserved")
call setline(8,"#********************************************************")
call setline(9,"")
endif
endfunc
autocmd BufNewFile * normal G
" 当退出 Vim 时自动保存光标位置
au BufReadPost *
\ if line("'\"") > 1 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
" 这将使 Vim 记住每个文件的上次编辑位置
set viminfo='10,\"100,:20,%,n~/.viminfo
# 查看一个模式是否是开启的
# 按下冒号,进入扩展模式,使用: set noexpandtab?只需在后面加上一个问号即可
:set noautoindent nosmartindent nocindent: 这条命令是用来关闭 Vim 中的几种自动缩进模式。在 Vim 中,缩进设置影响着编辑器如何处理新行的缩进。
autoindent: 这个选项会使得新的行自动继承前一行的缩进。关闭它(noautoindent)意味着新行不会自动复制前一行的缩进。
smartindent: 这是一种更智能的自动缩进方式,主要用于编程,尤其是 C 语言。它会根据代码的结构来调整新行的缩进。关闭它(nosmartindent)意味着 Vim 不会尝试根据代码结构来自动设置缩进。
cindent: 类似于 smartindent,但更专门针对 C 语言和类似语法的编程语言。关闭这个选项(nocindent)意味着 Vim 不会自动调整 C 语言代码的缩进。
:set backspace=indent,eol,start: 这条命令设置了在插入模式下退格键的行为。这个设置接受几个值,决定退格键可以删除什么类型的内容。
indent: 允许退格键删除自动缩进。这意味着你可以用退格键删除由 autoindent、smartindent 或 cindent 等设置自动添加的空白字符。
eol: 允许退格键删除换行符,这使你能够用退格键合并两行。
start: 允许退格键删除插入模式开始以来添加的所有内容。也就是说,你可以一直退格到你开始插入时的位置,甚至更早。
这个设置的组合 (indent,eol,start) 提供了在插入模式下较为灵活的退格键行为,允许你删除几乎所有你在插入模式下可能创建的内容。
3.配置命令的子命令补全
[root@Centos7.9 profile.d]#yum -y install bash-completion
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 bash-completion.noarch.1.2.1-8.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
=================================================================================================================================================================================================================
Package 架构 版本 源 大小
=================================================================================================================================================================================================================
正在安装:
bash-completion noarch 1:2.1-8.el7 base 87 k
事务概要
=================================================================================================================================================================================================================
安装 1 软件包
总下载量:87 k
安装大小:263 k
Downloading packages:
bash-completion-2.1-8.el7.noarch.rpm | 87 kB 00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : 1:bash-completion-2.1-8.el7.noarch 1/1
验证中 : 1:bash-completion-2.1-8.el7.noarch 1/1
已安装:
bash-completion.noarch 1:2.1-8.el7
完毕!
[root@Centos7.9 profile.d]#
#生效
[root@Centos7.9 profile.d]#bash
#Ubuntu也可以进行命令补全
[root@Ubuntu ~]#apt install -y bash-completion
4.创建登录提示文件
#进入/etc/motd文件
[root@Centos7.9 ~]#vim /etc/motd
生成ASCII艺术字集:https://www.bootschool.net/ascii-art
例如:将下面拷贝到文件中,或者将文件下载下来直接替换
////////////////////////////////////////////////////////////////////
// _ooOoo_ //
// o8888888o //
// 88" . "88 //
// (| ^_^ |) //
// O\ = /O //
// ____/`---'\____ //
// .' \\| |// `. //
// / \\||| : |||// \ //
// / _||||| -:- |||||- \ //
// | | \\\ - /// | | //
// | \_| ''\---/'' | | //
// \ .-\__ `-` ___/-. / //
// ___`. .' /--.--\ `. . ___ //
// ."" '< `.___\_<|>_/___.' >'"". //
// | | : `- \`.;`\ _ /`;.`/ - ` : | | //
// \ \ `-. \_ __\ /__ _/ .-` / / //
// ========`-.____`-.___\_____/___.-`____.-'======== //
// `=---=' //
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //
// 佛祖保佑 永不宕机 永无BUG //
////////////////////////////////////////////////////////////////////
5.设置alias
#在日常工作中,需要反复执行一个很长的命令,为了提高工作量将一些复杂常用的命令做成alias
#将alias写入到/root/.bashrc中
[root@Centos7.9 network-scripts]#vim /root/.bashrc
alias vi='vim'
alias scandisk='echo '\''- - -'\'' > /sys/class/scsi_host/host0/scan;echo '\''- - -'\'' > /sys/class/scsi_host/host1/scan;echo '\''- - -'\'' > /sys/class/scsi_host/host2/scan'
alias nm='systemctl restart NetworkManager'
alias yy='yum -y install'
alias yr='yum remove'
alias lh='ls -lh --color=auto'
alias cdnet='cd /etc/sysconfig/network-scripts/'
alias cdrepo='cd /etc/yum.repos.d/'
alias viens160='vim /etc/sysconfig/network-scripts/ifcfg-ens160'
alias epel='sed -ri /enabled/s/enabled=0/enabled=1//etc/yum.repos.d/base.repo'
alias disepel='sed -ri /enabled/s/enabled=1/enabled=0//etc/yum.repos.d/base.repo'
alias rm='rm -i'
alias cdnet='cd /etc/sysconfig/network-scripts/'
alias editnet='vim /etc/sysconfig/network-scripts/ifcfg-eth0'
#将这些copy到文件当中
[root@Centos7.9 network-scripts]#source /root/.bashrc
#查看是否生效
[root@Centos7.9 network-scripts]#alias
alias cdnet='cd /etc/sysconfig/network-scripts/'
alias cdrepo='cd /etc/yum.repos.d/'
alias cp='cp -i'
alias disepel='sed -ri /enabled/s/enabled=1/enabled=0//etc/yum.repos.d/base.repo'
alias editnet='vim /etc/sysconfig/network-scripts/ifcfg-eth0'
alias egrep='egrep --color=auto'
alias epel='sed -ri /enabled/s/enabled=0/enabled=1//etc/yum.repos.d/base.repo'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias lh='ls -lh --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias nm='systemctl restart NetworkManager'
alias rm='rm -i'
alias scandisk='echo '\''- - -'\'' > /sys/class/scsi_host/host0/scan;echo '\''- - -'\'' > /sys/class/scsi_host/host1/scan;echo '\''- - -'\'' > /sys/class/scsi_host/host2/scan'
alias vi='vim'
alias viens160='vim /etc/sysconfig/network-scripts/ifcfg-ens160'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
alias yr='yum remove'
alias yy='yum -y install'
6.修改网卡名变成传统的网卡(eth0)
#查看要修改的文件
[root@Centos7.9 ~]#vim /etc/default/grub
#CentOS使用sed进行修改文件
[root@Centos7.9 ~]#sed -ri '/^GRUB_CMDLINE_LINUX/s#(.*)"$#\1 net.ifnames=0"#' /etc/default/grub
#Ubuntu使用sed进行修改文件
#查看文件是否更改
[root@Centos7.9 ~]#cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0"
GRUB_DISABLE_RECOVERY="true"
[root@Centos7.9 ~]#
#生效
[root@Centos7.9 ~]#grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-9b4d5004256f4475a92c1e73d79fea17
Found initrd image: /boot/initramfs-0-rescue-9b4d5004256f4475a92c1e73d79fea17.img
done
[root@Centos7.9 ~]#
#也可以这样写
[root@Centos7.9 ~]#grub2-mkconfig -o /etc/grub2.cf
#因为这两个是软链接的关系
[root@CentOS8 ~]# ll /etc/grub2.cfg
lrwxrwxrwx. 1 root root 22 11月 8 2021 /etc/grub2.cfg -> ../boot/grub2/grub.cfg
#命令解释:
#grub2-mkconfig -o /boot/grub2/grub.cfg 是一个Linux系统命令,用于生成或更新GRUB2引导加载器的配置文件。下面是命令各部分的详细解释:
#grub2-mkconfig:这是一个用于生成GRUB2配置文件的命令。GRUB2是一个通用的引导加载器,它允许在启动时选择不同的操作系统或内核版本。
#-o:这是一个选项,表示输出。它告诉grub2-mkconfig将生成的配置文件内容写入到指定的文件中。
#/boot/grub2/grub.cfg:这是配置文件的路径。/boot/grub2/目录通常包含GRUB2的相关文件,而grub.cfg是GRUB2引导加载器的主要配置文件。此文件包含了引导菜单的设置以及可用操作系统的列表。综上所述,grub2-mkconfig -o /boot/grub2/grub.cfg 命令的作用是生成或更新GRUB2的主要配置文件(grub.cfg),以便正确引导您的Linux系统。在安装新的内核或操作系统时,这个命令通常会被用来更新引导菜单。
#Ubuntu生效
[root@Ubuntu ~]#grub-mkconfig -o /boot/grub/grub.cfg
#重启生效
[root@Centos7.9 ~]#reboot
#删除之前的网卡配置文件,如果不删除,网络会起不来
[root@Centos7.9 ~]#cd /etc/sysconfig/network-scripts/
[root@Centos7.9 network-scripts]#rm -rf ifcef-ens33
#重新创建eth0网卡的配置文件
[root@Centos7.9 network-scripts]#touch ifcfg-eth0
[root@Centos7.9 network-scripts]#vim ifcfg-eth0
#将下面内容拷贝的到文件中
DEVICE=eth0
NAME=eth0
BOOTPROTO=static
IPADDR=10.0.0.108
NETMASK=255.255.255.0
GATEWAY=10.0.0.2
DNS1=10.0.0.2
#重启网络
[root@Centos7.9 network-scripts]#systemctl restart network
或者
[root@Centos7.9 network-scripts]#ifdown ifcfg-eth0
[root@Centos7.9 network-scripts]#ifup ifcfg-eth0
7.修改当前系统的语言环境
#CentOS 6
#临时更改语言环境(仅对当前 shell 会话有效):将立即将当前 shell 的语言环境切换到英文。但请注意,这种更改只对当前会话有效。如果您关闭 shell 或重新启动计算机,更改将不再保留。
export LANG=en_US.UTF-8
#永久更改语言环境(对所有用户和会话生效):
sudo vi /etc/sysconfig/i18n
#在文件中,找到以下行:
LANG="zh_CN.UTF-8"
#修改为:
LANG="en_US.UTF-8"
#reboot
#CentOS 7、8
#临时更改语言环境(仅对当前 shell 会话有效):
export LANG=en_US.UTF-8
#永久更改语言环境(对所有用户和会话生效):
sudo vi /etc/locale.conf
#在文件中,找到以下行:
LANG="zh_CN.UTF-8"
#修改为:
LANG="en_US.UTF-8"
#reboot
8.ssh允许root登录
# 允许root用户SSH登录
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
# 重启SSH服务以应用更改
systemctl restart sshd
9.关闭selinux
sed -ri '/^SELINUX=/s/(.*)enforcing/\1disabled/' /etc/selinux/config
reboot
0 Comments