Linux常用命令
查看历史命令:
history | grep 'curl'
执行历史命令:
!1041
执行上一次的命令:
!!
实时查询历史命令(输入后,如果匹配到,点击Enter会执行):
Ctrl + R
压缩(将1.txt、2.txt压缩,压缩文件名为aaa,默认是zip结尾)
zip aaa 1.txt 2.txt
解压缩
unzip aaa.zip
抓包:
通过host文件配置抓(抓多个ip,用or连接):
tcpdump host 124.250.33.128 or 124.250.33.192 open.cap
或者通过网卡抓取
tcpdump -i eth0 host 120.133.28.13 -w open.cap
不同服务器之间复制文件:
将catalina.out文件上传到88.88.17.254服务器
scp catalina.out root@88.88.17.254:/home/admin/
linux与本地传输文件:
从本地拷贝到linux
rz
从linux下载到本地(支持批量下载)
sz aaa.txt bbb.txt
查看所有进程(可参考:top命令详情):
top
查询某个进程下的所有行程线程使用情况:
top -p 11120 -H
linux下默认hosts文件路径:/etc/hosts。修改hosts文件后重启:
/etc/init.d/network restart
修改网络配置后重启:
service network restart
修改hostname(保存后重启):
vi /etc/hostname 主机名
查询路由表:
route -n
在指定文件中,根据关键字查询:
grep 'xwj' catalina.out
查询匹配上指定关键字后的20行
grep -A 20 'xwj' catalina.out
查询指定后缀的所有文件:
find . -type f -regex ".*\yaml"
在指定目录下,通过文件中关键字查询文件:
grep -r "get_data_obj" ./
在指定目录下,查询某类型文件中的关键字,排名前5的:
grep -r "get_data_obj" info.20220618.* | head -5
在指定目录下,查询某类型文件中的关键字,排名后5的:
grep -r "get_data_obj" info.20220618.* | tail -5
查询指定文件中,某个关键字出现的次数:
grep "scanId:123456" info.log | wc -l
查询指定文件中,同时匹配多个关键字:
grep -E "word1|word2|word3" info.log
在指定目录下,通过文件名查询路径:
find ./ -name zookeeper.out
根据关键字,从文件尾部实时过滤查看:
tail -f sys.log | grep '27001'
查看ubuntu系统版本:
lsb_release -a
查看centos系统版本:
cat /etc/redhat-release
centos,查看cpu信息:
lscpu
centos,查看CPU核数:
cat /proc/cpuinfo | grep "physical id"
查看磁盘大小:
du -h #查看当前目录磁盘使用情况(列出所有目录的磁盘大小) du -sh #查看当前目录磁盘使用总量 du -sh * #查看当前目录每个文件夹的磁盘使用情况 du -sh * | sort -rh | head -n10 #查看当前目录下,按文件大小倒序排序,前10的文件及文件大小 df -h #查看磁盘信息
查看运行内存大小:
free #以 KB 为单位查看运行内存使用情况 free -m #以 M 为单位查看运行内存使用情况
free -h #以 G 为单位查看运行内存使用情况
cd 特殊命令:
cd ~ #回到主目录
cd - #回到上一次的目录
centos7 同步时间
timedatectl set-timezone Asia/Shanghai yum -y install ntpdate ntpdate -u pool.ntp.org
vi里的命令
:行号 跳转到指定行 :%s/xwj/zhagnsan/g 全局替换:xwj替换成zhagnsan :set nu 显示行号 g 跳转到文件头 G 跳转到文件尾 u 撤销 dd 删除当前行
cat > 文件名 << EOF
向文件中写内容(全部重写,之前文件中的内容会全部被覆盖)。示例:
cat > /etc/yum.repos.d/kubernetes.repo << EOF [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 EOF
注意:最后的EOF不能少了,表示这是最后一行(不是文件内容)
chown 修改用户组权限
chown qingteng:qingteng mydir #修改目录mydir的用户组为qingteng chown R qingteng:qingteng mydir #递归修改目录mydir的用户组为qingteng
命令后台执行
当命令需要在后台执行,也就是说按Ctrl+C后,从命令模式退出,该命令不会被中断。
做法:在命令后空格并加一个&,示例:
~/software/idea-IU-202.8194.7/bin/idea.sh &
查看端口被占用的进程
场景:很多场景会出现某个端口被占用的情况(比如8012端口),需要找到对应的进程
lsof -i:8012
替换文档内容
场景:将文档中的xwj全部替换成abc
sed -i 's/xwj/abc/g' middleware.yaml
输出第几个字段
场景:将包含关键字xwj的pod的第2个字段输出
$(kubectl get pod -A | grep "xwj" | awk '{print $2}')
批量创建文件
场景:批量创建10个文件,文件前缀为xwj,后面为0001~0010
touch xwj{0001..10}