博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
centos7运维
阅读量:4325 次
发布时间:2019-06-06

本文共 6453 字,大约阅读时间需要 21 分钟。

#安装远程登录

yum install ssh
systemctl start sshd
systemctl status sshd

#查看所使用的bash

echo $SHELL

查看系统语言

echo $LANG
修改系统字符集:
vim /etc/locale.conf
LANG=zh_CN.UTF-8

#查看当前用户

who is it/whoami/id -nu

#查看系统版本:

cat /etc/os-release
lsb_release -a
uname -a #可显示电脑以及操作系统的相关信息
cat /proc/version #说明正在运行的内核版本
cat /etc/issue #显示的是发行版本信息
cat /etc/os-release
rpm -qi centos-release

#查看cpu级别(操作系统位数)

arch

变量在export后 可以在后续的程序中用$来引用 如echo $PATH

变量拼接入path后可直接在控制台用(如tomcat启动)否则要写全($CATALINA_HOME/bin/startup.sh)

环境变量

全局环境变量设置:
不建议在 etc/profile中设置,在子目录/etc/profile.d下添加*.sh

安装netstat

yum -y install net-tools

systemd学习

http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html
http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html

系统命令:

systemctl reboot #重启
systemctl halte #关机
service配置文件命令路径必须是绝对路径,修改后要重新加载
systemctl daemon-reload
查看所有级别:
ls -lh /usr/lib/systemd/system/runlevel*.target
查看默认的运行级别:
systemctl get-default
修改当前运行级别:
systemctl set-default multi-user.target
# 查看 multi-user.target 包含的所有服务
$ systemctl list-dependencies multi-user.target
# 切换到另一个级别
$ sudo systemctl isolate multi-user.target

查看类型为service的单元

systemctl list-units --type=service(运行中的)
systemctl list-units -all --type=service(包含非运行中的)
#查看系统运行状态
systemctl status
#列出所有服务的层级和依赖关系,可以指定某个服务
systemctl list-dependencies tomcat.service
systemctl list-dependencies multi-user.target

#restart与try-restart区别

systemctl restart httpd.service #如服务在运行将重启,不在运行将会启动

systemctl try-restart httpd.servic  #只有服务在运行才重启

 

查看服务启动日志

systemctl status tomcat 或 journalctl -xe
查看单个服务日志
journalctl -f -u prometheus.service

查看journalctl日志占用磁盘的空间的总大小

journalctl --disk-usage
由于Linux是一个非常敏感的操作系统,若删除文件错误,很容易造成系统崩溃。
journalctl --vacuum-time=2d 删除比指定时间旧的文件
journalctl --vacuum-size=500M 保留大小

限制日志

修改配置文件
/etc/systemd/journald.conf

journalctl学习:

查看指定时间以后的日志
journalctl --since "2018-03-26" --until "2018-03-26 03:00"

清理日志

日志位置:
/var/log/journal

设置缓存history命令条数

修改/etc/profile
HISTSIZE=100
查看已缓存的命令:cat .bash_history

设置别名:

在~目录下, vim .bash_profile
alias ll="ls -al"
source .bash_profile

断开用户连接:

ps -ef|grep ssh
kill -9 (pts/0类似这样的进程)

#查看对外,对内连接数 (LISTEN表示启动的程序,ESTABLISHED表示外部访问)

netstat -an|awk '/tcp/ {print $6}'|sort|uniq -c
或 netstat -ant|awk '/tcp/ {print $6}'|sort|uniq -c

yum源配置(云源为阿里云)
备份系统原来的repo文件
mv /etc/yum.repos.d/CentOs-Base.repo CentOs-Base.repo.bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
云源缓存
yum clean all
yum makecache
yum update

查看系统可用的yum源和所有的yum源

yum repolist enabled
yum repolist all

yum upgrade和yum update

yum -y update
升级所有包同时也升级软件和系统内核
yum -y upgrade
只升级所有包,不升级软件和系统内核

安装软件

rpm -ivh kernel-devel-3.10.0-514.el7.x86_64.rpm
yum install kernel-devel

查看已安装详情

rpm -qa|grep mysql
rpm -ql mysql-community-server-5.6.37-2.el7.x86_64

卸载软件

rpm -e mysql-community-server-5.6.37-2.el7.x86_64
rpm -e mailx-12.5-19.el7.x86_64 --nodeps (卸载时不检测依赖,只卸载该包)
yum -y remove VirtualBox-5.2 (卸载不干净)

#查找which,whereis,locate,find

find / -name mysqld.service 在根目录下查找名字为mysqld.service的文件

#网络

systemctl status network
ifconfig不显示ip
vim /etc/sysconfig/network-scripts/ifcfg-ens33
将ONBOOT=no改为ONBOOT=yes
设置dns方式
编辑vi /etc/sysconfig/network-scripts 网卡下面的ifcfg-eth0 配置文件修改DNS1
终端输入 setup命令即可调出图形界面设置(配置信息会写入/etc/resolv.conf文件里面)
编辑 vi /etc/resolv.conf 设置首选DNS和次要DNS。排在前面的就是首选DNS,后面一行就是次要的DNS服务器DNS
解析域名顺序:
1 hosts文件 (/etc/hosts)---- 2 网卡配置文件DNS服务地址 ---3 /etc/resolv.conf

 

#磁盘操作

df -h #查看磁盘使用情况
df -Th #显示文件系统类型
fdisk -l #显示挂载和未挂载的分区
为了避免每次重启系统后都要手动mount,可以在/etc/fstab中加入一行挂载配置,即可开机自动挂载,该方法简单方便
cat /etc/fstab
dumpe2fs -h /dev/vda1(或 blkid /dev/vda1) #查看设备uuid
查看正在使用某个文件的进程id
fuser -um /dev/sda2
查看磁盘管理器
udevadm info -a -n /dev/vda
udevadm info --query=all --name=/dev/vda
udevadm info --query=all --name=/dev/vda1
查看挂载情况
mount

#打包操作(压缩和解压)
tar -czvf docker.tar.gz docker
tar -xzvf docker.tar.gz

zip -r docker.zip docker 递归压缩

unzip docker.zip
unzip -o docker.zip 覆盖文件没有提示

gzip cjh.txt 会生成cjh.txt.gz (不会归档)

gzip -d cjh.txt.gz

#执行sh

eval 执行一个命令
exec 在新进程中执行一个命令,并且终止当前进程
source 在当前进程中执行脚本

#vim编辑器使用技巧

:set number #显示行号
:u #撤消
:%s/1024/512/g #全局替换
删除一行
:dd

#centos间相互复制传送文件

scp -r -P 222 /root/docker root@sanjuscm.4plservice.com:/root/docker

#清空文件内容

>catalina.out/du -sh catalina.out

#防火墙设置

启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld
firewall-cmd --zone=public --add-port=8080/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone=public --query-port=8080/tcp
删除
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
查看当前开了哪些端口
其实一个服务对应一个端口,每个服务对应/usr/lib/firewalld/services下面一个xml文件。
firewall-cmd --list-services
查看还有哪些服务可以打开
firewall-cmd --get-services
查看所有打开的端口:
firewall-cmd --zone=public --list-ports
firewall-cmd --zone=public --add-port=8080/tcp --permanent
增加端口后,要重新启动

#备份和还原目录

dump -0 -f ./cjh.dump ./cjh
restore -r -f ../cjh.dump

linux连接linux
ssh -i /root/xxx.pem root@10.10.10.100

#awk使用

ps -A | grep httpd | grep -v grep | awk '{ print $1; }' | xargs -L 1 kill -HUP

( ps 和 grep 命令用来在所有的进程中搜索 httpd(并且忽略用来搜索 httpd 进程的 grep 进程)

接下来,awk 只显示输出结果中的进程 ID,并将它传递给 xargs

然后,xargs 命令接受每个进程 ID(因为使用了 -L 1 以便一次提取一行内容),并使用 sudo kill -HUP 向相应的进程发送一个挂起信号。

#输出:
$cat test.txt 1>/dev/null 标准输出
$cat test.txt 2>/dev/null 标准错误输出

#sh脚本

$$
Shell本身的PID(ProcessID)
$!
Shell最后运行的后台Process的PID
$?
最后运行的命令的结束代码(返回值)
$-
使用Set命令设定的Flag一览
$*
所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$@
所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$#
添加到Shell的参数个数
$0
Shell本身的文件名
$1~$n
添加到Shell的各参数值。$1是第1参数、$2是第2参数…。

变量的定义是有一定的规则的,比如变量和变量内容之间使用等号链接,且等号两边不能直接跟空格.

如果变量内容含有空格,可以使用单引号或者双引号括起来.
当然使用单引号和使用双引号是有区别的,
如果使用双引号,那么如果内容里面有特殊字符比如$LANG,那么将会被解析成对应的数据.
如果使用单引号,则不会解析.

echo -e '#!/bin/bash\necho $panda'>one.sh

解释一下上面的命令echo的e选项用于允许转义\标记的内容.
chmod u+x one.sh(给当前用户赋予)
chmod a+x one.sh(给所有用户赋予)
$()与${}的区别:
$()中放的是命令,相当于` `(在脚本文件中才有效)
${}中放的是变量

blocks=${1:-$MINBLOCKS}

相当于
if [ -n "$1" ]
then
blocks=$1
else
blocks=$MINBLOCKS
fi

#查看运行程序内存

ps aux|grep java (b为单位)

首先注意usr 指 Unix System Resource,而不是指User

通常/usr/bin下面的都是系统预装的可执行程序,会随着系统升级而改变
/usr/local/bin目录是给用户放置自己的可执行程序的地方,推荐放在这里,不会被系统升级而覆盖同名文件
如果两个目录下有相同的可执行程序,谁优先执行受到PATH环境变量的影响,比如我的一台服务器的PATH变量为
echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/dean/bin
这里/usr/local/bin优先于/usr/bin, 一般都是如此

转载于:https://www.cnblogs.com/cghhnty/p/9036719.html

你可能感兴趣的文章
Java Web 常用在线api汇总(不定时更新)
查看>>
删除本地文件
查看>>
FOC实现概述
查看>>
base64编码的图片字节流存入html页面中的显示
查看>>
这个大学时代的博客不在维护了,请移步到我的新博客
查看>>
GUI学习之二十一——QSlider、QScroll、QDial学习总结
查看>>
[Python设计模式] 第25章 联合国维护世界和平——中介者模式
查看>>
nginx反向代理docker registry报”blob upload unknown"解决办法
查看>>
gethostbyname与sockaddr_in的完美组合
查看>>
kibana的query string syntax 笔记
查看>>
基于Lua插件化的Pcap流量监听代理
查看>>
旋转变换(一)旋转矩阵
查看>>
thinkphp3.2.3 bug集锦
查看>>
[BZOJ 4010] 菜肴制作
查看>>
C# 创建 读取 更新 XML文件
查看>>
KD树
查看>>
VsVim - Shortcut Key (快捷键)
查看>>
C++练习 | 模板与泛式编程练习(1)
查看>>
HDU5447 Good Numbers
查看>>
08.CXF发布WebService(Java项目)
查看>>