常用工具及小技巧
目录
6、客户端(Xshell、SecureCRT)拖拉文件到服务器
1、centos -Tab键命令补全
yum install -y bash-completion
#执行脚本,使其生效或重新登录生效
source /usr/share/bash-completion/bash_completion
2、自定义命令补全
#自定义生成kubectl命令补全
source <(kubectl completion bash)
#将命令添加入bashrc文件,每次登录当前用户执行,使命令补全生效,也可添加入其它开机执行的脚本
echo "source <(kubectl completion bash)" >> ~/.bashrc
3、ubuntu-Tab键命令补全
编辑/etc/bash.bashrc 里面有这几行语句,去掉#注释
#enable bash completion in interactive shells
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
4、Linux设置环境变量
在 linux 里设置环境变量的方法 ( export PATH )
一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量。例如我的mips-linux-gcc编译器在“/opt/au1200_rm /build_tools/bin”目录下,build_tools就是我的编译工具,则有如下三种方法来设置环境变量:
4.1、直接用export命令:
立即生效,重启丢失。
export PATH=$PATH:/opt/au1200_rm/build_tools/bin
查看是否已经设好,可用命令export查看:
#export
declare -x BASH_ENV="/root/.bashrc"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTSIZE="1000"
PATH里面已经有了我要加的编译器的路径。
4.2、修改profile文件:
# vi /etc/profile
在里面加入:
export PATH=”$PATH:/opt/au1200_rm/build_tools/bin”
# . /etc/profile #执行命令使配置生效
4.3. 修改.bashrc文件:
# vi /root/.bashrc
在里面加入:
export PATH=”$PATH:/opt/au1200_rm/build_tools/bin”
后两种方法一般需要重新注销系统才能生效,最后可以通过echo命令测试一下:
# echo $PATH #输出变量
看看输出里面是不是已经有了 /my_new_path这个路径了。
5、实时查看日志
tail -f /var/log/messages
6、客户端(Xshell、SecureCRT)拖拉文件到服务器
yum install lrzsz
7、YUM下载rpm包及依赖包
#只下载bash-completion包到home目录,不进行安装
yum install --downloadonly --downloaddir=/home bash-completion
8、删除多少前天备份
#删除目录/mnt/backup_data下30天前后缀为.sql的文件
find /mnt/backup_data/ -name "*.sql" -type f -mtime +30 -exec rm -f {} \;
9、nmon显示系统性能显示工具
yum install nmon
nmon
参考https://linux.cn/article-6467-1.html
10、Htop进程浏览器
yum install htop
11、查看磁盘i/o工具
yum install sysstat
#每2秒更新一次,-m 以MB显示,-k以kb显示
iostat -d -m 2
#or
iostat -d -k 2
#or
iostat -d -m /dev/sda1
yum install iotop
#c查看哪个进程占用i/o
iotop
使用详解参考:http://man.linuxde.net/iotop
12、linux常用的监控命令
12.1. top
显示所有正在运行而且处于活动状态的实时进程, 而且会定期更新显示结果;它显示了CPU使用率,内存使用率,交换内存使用大小,调整缓存使用大小,缓冲区使用大小,进程PID, 使用的命令等信息。
12.2. vmstat
一般是通过两个数字参数来完成的,第一个参数是采样时间间隔,单位是秒, 第二个参数是采样的次数
r: 表示运行队列,如果队列过大说明CPU很繁忙,一般会造成CPU使用率高
b: 表示阻塞的进程数
swap: 虚拟内存已使用的大小,如果大于0,说明机器的物理内存不够了
free: 空闲的物理内存大小
buff: 系统占用的缓存大小(写缓存)
cache: 直接用来记忆我们打开的文件,给文件做缓冲,读缓存
si: 每秒从磁盘读入虚拟内存大小,如果这个值大于0,表示物理内存不足了
so: 每秒虚拟内存写入磁盘的大小,如果这个值大于0, 表示物理内存不足了
us: 用户cpu时间
sy: 系统CPU时间, 如果值 太高,说明系统调用,例如是IO操作频繁
id: 空闲CPU时间,一般来说 id + us + sy = 100
wt: 等待IO的CPU时间
12.3. lsof
列出打开的文件;它常用于以列表形式显示所有打开的文件和进程,包括磁盘文件,网络套接字,管道,设备和进程。
主要情形之一就是 无法挂载磁盘和显示正在使用或者打开某个文件的错误时,查看谁正在使用。
12.4. tcpdump
apt-get install tcpdump
用于捕捉或过滤网络上指定接口上接收或者传输的TCP/IP包。
-i : 网络接口
-c : 需要输出包数量
12.5. netstat
用于监控进出网络的包和网络接口统计的命令行工具,非常有用,用来监控网络性能,解决网络相关问题。
-h : 查看帮助
-r : 显示路由表
-i : 查看网络接口
12.6. Htop
一个非常高级的交互式实时linux进程监控工具,和top相似,但更友好, 还支持鼠标。
sudo apt-get install htop
12.7. iotop
监控linux磁盘I/O, 用于查找大量使用磁盘读写进程的时候。python版本需要2.7以上。
sudo apt-get install iotop
-h: 查看帮助
12.8. iostat
查看存储设备输入和输出状态统计的工具,用来追踪存储设备的性能 问题;包括设备,磁盘,NFS远程磁盘。
sudo apt-get install sysstat
%user: 在用户级别运行所使用的CPU百分比
%nice: 优先进程消耗的CPU时间,占所有CPU百分比
%system: 在系统级别运行所使用的CPU百分比
%iowait: cpu等待硬件I/O时,所占用的CPU百分比
%steal: 管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比
%idle: CPU空闲时间的百分比
tps: 每秒发送到I/O的请求数
KB_read/s: 每秒读取的block数
KB_wrtn/s: 每秒写入的block数
KB_read: 启动到现在block总数
KB_wrtn: 启动到现在写入的block总数
12.9. iptraf
用于采集通过网络接口的IP流量信息,包括tcp标记,icmp信息,TCP,UDP信等。
sudo apt-get install iptraf
sudo iptraf
12.10. nethogs
监控每个进程使用的网络带宽
sudo apt-get install nethogs
sudo nethogs
12.11. iftop
监控网络接口的应用网络带宽使用情况
sudo apt-get install iftop
sudo iftop
=> : 表示 流量方向
TX: 发送的流量
RX: 接收的流量
TOTAL: 总流量
Cumm: 运行iftop到目前总流量
peak: 流量峰会
rates: 分别表示 过去2秒,10秒,40秒的平均流量
12.12. system monitor
监控cpu,内存,进程,硬盘的信息;分为进程监控,资源监控,文件监控; 遗憾的是需要图形界面支持。
sudo apt-get install gnome-system-monitor
gnome-system-monitor
13、禁止用户登录系统
#禁止
usermod -s /bin/false ftpuser
#开启
usermod -s /bin/base ftpuser
14、nmtui配置网卡
使用nmtui命令(上一篇博客里有介绍界面)