linux系统
系统
su -
cat /proc/cpuinfo 查看配置
lscpu 查看配置
cat /etc/redhat-release 查看系统版本信息(有时安装一些软件,可改)
df –Th 查看磁盘使用情况(以T为单位)
du -h --max-depth=1 查看当前目录下各文件所占大小
du -sh 当前目录总体大小
du -sh * 查看当前目录下各问价大小
mkfs.ext4 /dev/sdb1 格式化
done
mount /dev/sdb1 /opt/data1 挂载
lsof | grep delete 查看删除但还占空间的文件 可用kill -9 pid 清一下
free –m 内存,m为单位,还可以是g,t
uptime 运行时间及负载 查看load值
w 用来查看登录者的信息及他们的行为(比who更详尽)
top 性能分析工具
ss -s 列出当前socket的详细信息
ss -tanl 列出所有tcp
若命令不能用:
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
清理系统缓存:to free pagecache, dentries and inodes
echo 3 > /proc/sys/vm/drop_caches
for i in {148..161}; do ssh 192.168.14.$i "echo 3 > /proc/sys/vm/drop_caches"; done
for i in {7..12}; do ssh 192.168.14.$i "echo 3 > /proc/sys/vm/drop_caches"; done
在crontab中,需要搞一个脚本,例如:
0 0 * * * /etc/mission/clean_cache.sh 0时执行
* */3 * * * /etc/mission/clean_cache.sh 每隔3小时执行一次
cat /var/log/cron 可以查看定时任务跑的情况
netstat -tulnp | grep 端口号 查看端口的情况
lsof -i:端口号 查看端口的情况(yum install lsof -y)
telnet ip 端口
区别:
[root@bgs-8p83-udp-04 ~]# netstat -tulnp|grep 9001
tcp 0 0 :::9001 :::* LISTEN 79677/java
[root@bgs-8p83-udp-04 ~]# lsof -i:9001
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 79677 udp 300u IPv6 3473785 0t0 TCP *:etlservicemgr (LISTEN)
ps -aux | grep 数字(pid)或者程序名 列出符合条件的目前所有的正在内存当中的程序
ps -ef | grep 数字(pid)或者程序名 显示符合条件的所有进程信息,连同命令行
kill –i 用好像启动进程的用户已注销的方式结束进程
kill -9 强制干掉
ps -ef|grep elasticsearch|grep -v grep|awk '{print $2}'|xargs kill -9 指定干掉某个进程
软连接
ln -s /opt/python2.6 /usr/bin/python 创建
unlink /usr/bin/python 解链
要改变链接指向,只需which 各个版本,然后将链接指向解链重指即可
history|grep
ctrl+r (输入关键字,在ctrl+r)
cd .. 上一层
cd - 上一次
screen -r 进程名 查看相关进程的屏幕
ctrl+a 再按d退出
创建随机密码-l 后面为位数(安装 yum -y install expect)
mkpasswd -l 9
测试带宽
npm install --global speed-test
speed-test 备注:带宽上行达不到,下行可达到
分区
parted(大于 2t) 分区
fdisk(小于 2t) 分区
创建或增减swap分区
[root@bgs-8p141-yangliang openldap]# free -m #查看分区情况
total used free shared buffers cached
Mem: 32109 30925 1184 0 338 27735
-/+ buffers/cache: 2852 29257
Swap: 0 0 0
然后:
1.创建要作为swap分区的文件:增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小)。
# dd if=/dev/zero of=/home/swap bs=1G count=17
2.格式化为交换分区文件:
# mkswap /home/swap #建立swap的文件系统
3.启用交换分区文件:
# swapon /home/swap #启用swap文件
4.使系统开机时自启用,在文件/etc/fstab中添加一行:
/home/swap swap swap defaults 0 0
注意:若已执行过一次,需要扩大或者减少swap空间时要先关闭swap
swapoff -a
压缩与解压
(注:v显示过程信息,可去)
tar -zxvf 名字.tar.gz -C 目录 解压tar.gz文件
tar -zcvf 名字.tar.gz 文件 压缩为tar.gz
tar -jxvf 名字.tar.bz2 解压tar.bz2文件(解压报错,yum install bzip2 -y)
tar -jcvf 名字.tar.bz2 文件 压缩为tar.bz2文件
jar -xvf 名字.war 解压war包
jar -cvf 名字.war 压缩为war
unzip -o 名字.zip 解压zip文件,-o 会同名覆盖不询问
zip -r 名字.zip 文件 压缩为zip文件
文件查找及传输
cd ../目录
find / -name 文件名
grep -R "关键词" *
grep "关键词" *
which 文件名
whereis 文件名
scp -r 文件(或者目录/*) -P 端口号 用户@主机ip或映射:绝对路径或者类似$PWD的相对路径 (本机传向远端)
scp -r -P 端口号 用户@主机ip或映射:文件的绝对路径或者类似$PWD的相对路径 本机存放位置 (远端传至本机)
本机传向远端:
示例:scp -P3222 -r dist a207@172.24.8.97:/opt/a207/web/test/
远端传至本机:(特别适合本机是跳板机的情况,舒服)
示例:scp -P3222 -r a207@172.24.8.97:/opt/a207/web/test/dist .
rz -be 上传 若无,则 yum install lrzsz -y
sz -be 下载
wget 网址 (yum install wget -y)
lftp ftps://ftphzuser:zj2Kl5sDmH0=@117.121.7.29
mget lftp地址
用户及权限
chown 用户名:组名 文件名 -R
groupadd 组名 && useradd -g 组名 -d 用户家目录 用户名 (循环中可一起,单个要分开)
groupadd 组名
useradd -g 组名 -d 用户家目录
示例:groupadd ambari
useradd -g ambari -d /opt/ambari ambari
userdel -r sys 清理用户及其家目录
查看文件
ll
ll -a
ls -rtl r相反顺序 t最后一次修改顺序,从前到后
ls -rtla
查看日志常用命令
tail -n 行数 日志 静态观察指定行数
tail -行数f 日志 动态查看前指定行数的日志
tail -f 日志 紧跟日志文末查看
less -R 日志 以less的方式查看,G在文末,gg到文首,pageup和down翻页,q退出 /搜索 n向前查找 N向后查找
tail -100 文件
head -100 文件
more
less
cat
md5sum 文件名 查看文件的md5值
vi编辑器
100000 dd 快速清空
G 跳到文末
gg 跳至开头
o 跳到下一行
$ 跳至行末
yy 行数 从这行起复制行数的内容
p 粘贴复制的内容
/查找的名称 快速查找
:set nu 查看行数
:q/q!/wq 保存及退出
:%s/\<old\>/new/g 全局替换
set paste 执行后再粘贴可以保证粘贴格式
网络
ping -c 100 -i 0.01 ip或者网址
traceroute ip或者网址
tcpdump -i eth0 看网口
chattr chattr +i /etc/resolv.conf chattr命令防止系统中某个关键文件被修改
iostat -m -x 1 每一秒单位为M查看io性能
route -n 显示路由表
route add -net 172.16.4.0 gw 192.168.44.1 路由表中添加ip及网关
/etc/sysconfig/static-routes 查看静态路由表
nginx
启动Nginx
常见的几种方式
/etc/init.d/nginx start yum安装
service nginx start yum和rpm安装
/usr/local/nginx/sbin/nginx -c /opt/nginx-1.10.2/conf/nginx.conf tar包编译安装
ps一下,可以知道相关配置文件的位置
rpm
rpm -qa|grep mysql
rpm -e --nodeps mysql-community-common-5.7.18-1.el7.x86_64
yum
yum install -y unzip zip
yum install -y lrzsz
yum install bzip2 -y
yum install vim -y
yum list
yum clean all
yum makecache
yum install
yum remove
yum list all | grep
编译安装
./configure && make && make install
mysql
建库
CREATE DATABASE {db-name} DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
授权
GRANT ALL PRIVILEGES ON {db-name}.* TO '{db-user}'@'%' IDENTIFIED BY '{password}';
GRANT ALL PRIVILEGES ON {db-name}.* TO '{db-user}'@'localhost' IDENTIFIED BY '{password}';
刷新
flush privileges;
改密
UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;
备份
mysqldump -u root -p subject ab_permission_view_role > ab_permission_view_role.sql
常见for循环示例
重启
for i in {113..122} ; do ssh 172.24.8.$i "init 6" ; done;
ntp相关
for i in {12..24}; do scp CentOS-Base.repo 192.168.192.$i:$PWD ; done;
for i in {11..24}; do ssh 192.168.192.$i "yum install ntp -y"; done
for i in {12..24}; do ssh 192.168.192.$i "(echo '00 01 * * * ntpdate -u 172.24.2.10 >> /var/log/ntpdate.log 2>&1' ; crontab -l) | crontab" & done
for i in {11..24}; do ssh 192.168.192.$i "ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime";done
for i in {11..24}; do ssh 192.168.192.$i "service ntpd start"; done
for i in {11..24}; do ssh 192.168.192.$i "chkconfig ntpd on"; done
for i in {12..20};do ssh 192.168.192.$i "systemctl disable chronyd" ; done;
做跳板机
ssh-keygen -t rsa
for i in {7..12};do ssh-copy-id root@192.168.14.$i;done
scp
for i in {12..20}; do scp /etc/hosts 192.168.192.$i:/etc/hosts ; done;
for i in {12..20}; do scp /etc/hosts 192.168.192.$i:$PWD ; done;
ambari
for i in {12..20};do ssh 192.168.192.$i "ambari-agent start" ; done;
es
重试分配
curl -XPOST '192.168.14.148:9200/_cluster/reroute?retry_failed'
禁用自动分配
curl -XPUT 192.168.14.148:9200/_cluster/settings -d'{
"transient": {
"cluster.routing.allocation.enable": "none"
}
}'
启用自动分配
curl -XPUT 192.168.14.148:9200/_cluster/settings -d'{
"transient": {
"cluster.routing.allocation.enable": "all"
}
}'
sed -i 's/120s/300s/g' /opt/elasticsearch/config/elasticsearch.yml 注意g为全局替换,要保证其唯一性,不行就多加点
循环干掉es进程
for i in {148..161}; do ssh 192.168.14.$i "ps -ef|grep elasticsearch|grep -v grep|awk '{print $2}'|xargs kill -9"; done
启动
/opt/elasticsearch/bin/elasticsearch -d