Linux小技巧

1.修改hostname不重启生效

[root@localhost ~] vim /etc/sysconfig/network
[root@localhost ~] vim /etc/hosts
修改完后,再将当前修改后的hostname写入内核
[root@localhost ~] echo  servername > /proc/sys/kernel/hostname
再次打开新的终端即显示为新的hostname

1.1 ifconfig

ifconfig在centos7上默认不在安装了,ifconfig属于net-tools包

获取 eth0 的IP,有水平的写法:
[root@localhost data]# /sbin/ifconfig eth0 |awk -F '[ :]+' '$0 ~ "inet addr"{print $4}'
192.168.86.84
[root@localhost data]# 

1.2 Centos7 修改默认网卡ens33为eth0

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-eth0
[root@localhost network-scripts]# vim ifcfg-eth0 
NAME=eth0
DEVICE=eth0
[root@localhost network-scripts]# vim /etc/sysconfig/grub 
关闭命名规则
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 biosdevname=0"
生成新的启动菜单
[root@localhost network-scripts]# grub2-mkconfig -o /boot/grub2/grub.cfg   

2.vim 优化

[root@cloud ~]# cat /root/.vimrc 
set number		#显示行号
set tabstop=4	 #第一行设置tab键为4个空格,第二行设置当行之间交错时使用4个空格
set shiftwidth=4
set autoindent	#第一行,vim使用自动对起,也就是把当前行的对起格式应用到下一行
set smartindent   #第二行,依据上面的对起格式,智能的选择对起方式,对于类似C语言编
set vb t_vb=	  #当vim进行编辑时,如果命令错误,会发出一个响声,该设置去掉响声(没错=是空的)


if has(“vms”)	 #修改一个文件后,自动进行备份,备份的文件名为原文件名加“~“后缀
   set nobackup " do not keep a backup file, use versions instead
else
   set backup " keep a backup file
endif
[root@cloud ~]# cat /root/.vimrc
set number		
set tabstop=4	
set shiftwidth=4
set autoindent	
set smartindent   
set vb t_vb=	  
if has("vms")
	set nobackup " do not keep a backup file, use versions instead
else
	set backup " keep a backup file
endif
[root@cloud ~]#

查找后高亮显示取消 输入 :nohl
如果设置完后,发现功能没有起作用,检查一下系统下是否安装了vim-enhanced包,查询命令为:
[root@cloud ~]# rpm –q vim-enhanced

2.1 vim 锁定

[root@cloud ~]# vim /data/test
#!/usr/bin/python
name = ['haha','hehe','xixi']
for i in name:
print(i)
`
`
`

按组合键 Ctrl+s 时会将当前的界面锁定
解锁为 Ctrl+q 即可解锁

2.2 vim内补全

按Ctrl+n键

2.3 vim 粘贴 保留原来格式,不自动缩进

:set paste

2.3 vim 删除指定字符串

按d+t+字符串结束符

2.4 vim 添加新建 shell 默认信息

[root@MyFirstwon ~]# cat .vimrc 
set tabstop=4	
set shiftwidth=4
set autoindent	

autocmd BufNewFile *.sh exec ":call SetTitle()"
func SetTitle()
        if expand("%:e") == 'sh'
        call setline(1,"#!/bin/bash")
        call setline(2,"###############################################")
        call setline(3,"# Author:		 MyFirstwon")
        call setline(4,"# Data:			".strftime("%Y-%m-%d"))
        call setline(5,"# FileName:	        ".expand("%"))
        call setline(6,"# Description:		 The test script")
        call setline(7,"# Copyright(C):		".strftime("%Y")."  All rights reserved")
        call setline(8,"###############################################")
        call setline(9,"")
        endif
endfunc
autocmd BufNewFile * normal G


[root@MyFirstwon ~]# 

vim

3 history 添加时间

4.Xshell 支持rz和sz命令

安装:yum -y install lrzsz

原理是利用 ZModem 协议来从Linux服务器传送/发送文件到本地/服务器,一次可以传送/发送一个或多个文件。

sz:将选定的文件发送(send)到本地机器
rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器

-b 以二进制方式传输(binary)。

-e 对控制字符转义(escape),这可以保证文件传输正确。

为保证上传的文件内容在服务器端保存之后与原始文件一致,最好同时设置这两个标志,如下所示方式使用:

rz -be 或 sz -be
rz/sz的文件存储路径:Xshell文件--属性--文件传输--下载路径

5.Firewall

Centos7.x 开始防火墙已由iptables转为firewall
查看已经开放的端口:
firewall-cmd --list-ports
开启端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含义:
–zone #作用域

–add-port=80/tcp #添加端口,格式为:端口/通讯协议

–permanent #永久生效,没有此参数重启后失效

重启防火墙

firewall-cmd --reload #重启firewall
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

Tip

如何查找对应的yum安装包

[root@localhost ~]# which ssh
/usr/bin/ssh
[root@localhost ~]# rpm -qf `which ssh`
openssh-clients-5.3p1-123.el6_9.x86_64
[root@localhost ~]# man yum
[root@localhost ~]# yum provides /usr/bin/ssh

或

[root@node_1 ~]# yum whatprovides */ifconfig
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.shu.edu.cn
* extras: mirrors.aliyun.com
* updates: mirrors.nju.edu.cn
net-tools-2.0-0.22.20131004git.el7.x86_64 : Basic networking tools
源    :base
匹配来源:
文件名    :/sbin/ifconfig

net-tools-2.0-0.22.20131004git.el7.x86_64 : Basic networking tools
源    :@base
匹配来源:
文件名    :/sbin/ifconfig

[root@node_1 ~]# 

如何快速清空大量目录及文件

[root@localhost ~]# mkdir /tmp/test          //创建一个空目录
[root@localhost ~]# rsync -a --delete-before /tmp/test /path(需清空的目录路径)

查看服务器硬件信息

[root@localhost ~]# yum -y install dmidecode
[root@localhost ~]# dmidecode -t 1
# dmidecode 3.0
Scanning /dev/mem for entry point.
SMBIOS 2.8 present.

Handle 0x0100, DMI type 1, 27 bytes
System Information
Manufacturer: Alibaba Cloud
Product Name: Alibaba Cloud ECS
Version: pc-i440fx-2.1
Serial Number: 0b5a87b9-6335-42a6-8e7f-ccbc5f742f2b
UUID: 0B5A87B9-6335-42A6-8E7F-CCBC5F742F2B
Wake-up Type: Power Switch
SKU Number: Not Specified
Family: Not Specified

[root@localhost ~]# exit

[root@localhost ~]# ls  ^Cxargs -i -t cp /dev/null {}
[root@localhost ~]# 

查看用的是哪种虚拟化技术

[root@MyFirstwon ~]# virt-what 
kvm
[root@MyFirstwon ~]# 

获取服务器外网IP

[root@cloud ~]# curl cip.cc

Man Linux命令

查看某个程序运行了多久

其中 804 为进程id

ps -eo pid,lstart,etime|grep 804

[root@node02 filebrowser]# netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1228/master         
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      897/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      1228/master         
tcp6       0      0 :::3306                 :::*                    LISTEN      23107/mysqld        
tcp6       0      0 :::80                   :::*                    LISTEN      25571/docker-proxy  
tcp6       0      0 :::22                   :::*                    LISTEN      897/sshd            
[root@node02 filebrowser]#
[root@node02 filebrowser]# ps -eo pid,lstart,etime|grep 25571
  25571 Mon Dec 16 17:51:07 2019    16:07:27
[root@node02 filebrowser]# ps -eo pid,lstart,etime|grep 897
  897 Wed Dec 11 11:47:51 2019  5-22:12:00
[root@node02 filebrowser]# 
comments powered by Disqus