当前位置: 首页 > news >正文

掌握这十个Linux命令,秒变Linux老手

前言

在Linux下,完成一个事情往往有N种方法。学会命令的使用,有时事半功倍,起到出其不意的效果。大大提升你的工作效率,也带来喜悦感和成就感。学会下面这些命令,Linux老手也不敢小瞧你。

实例

  1. 递归删除文件
    删除以“._”开头的文件:

find . -type f -name “._*” -print0 | xargs -0 rm -f

注意,加上-print0和xargs 的-0参数能解决文件中出现各种特殊字符导致命令失败的问题。

OSX下经常要删除.DS_Store文件:

find . -type f -name “.DS_Store” -print0 | xargs -0 rm -f

也可以用awk命令。删除所有pyc文件:

find . -name “*.pyc” |awk ‘{cmd="rm "$0;system(cmd)}’

  1. 递归找出大文件
    经常需要查看磁盘空间被哪些文件占用了,可以用:

du -a /dir/ | sort -n -r | head -n 20

只查找第一级目录:

du -h --max-depth=1 /var

于是,递归查找最大文件,可以这么写:

find / -type f -printf “%s\t%p\n” | sort -n | tail -1
find $HOME -type f -printf ‘%s %p\n’ | sort -nr | head -10

当前目录下的文件/文件夹大小排序:

du -hs * | sort -n -r

查看inode大小:

find . -xdev -type f | cut -d “/” -f 2 | sort | uniq -c | sort -n

  1. 后台运行一个任务

nohup 命令 > /dev/null 2>&1

将正常输出和错误重定向到/dev/null

  1. 进程查看
    显示进程完整的命令语句,尤其对查看Java进程有用:

ps auxwww | grep java

按内存使用率查看:

ps aux | sort -nk 4

按CPU使用率查看:

ps aux | sort -nk 3

  1. 递归搜索和替换

grep -rl 查找字段 路径|xargs sed -i “s/查找字段/替换字段/g”
sed -i “s/garden/myGarden/g” ls
find . -type f -name ‘*.html’ | xargs perl -pi -e ‘s|北京|上海|g’

删除无用的docker镜像:

docker rmi $(docker images | grep “^” | awk ‘{print $3}’)

  1. 查看哪些端口在监听
    查看某个进程监听的端口号:

netstat -lnp | grep xxx

查看某个端口号谁在监听, 例如查看监听8080的进程

lsof -i:8080

  1. 身份切换
    切换到root:

sudo -i bash
sudo bash -c bash

这两条命令在docker容器环境下很实用,经常不为人知。

  1. 杀进程大法

kill $(pgrep 进程名)
另:
killall -9 webstorm

杀掉所有webstorm进程

  1. post请求
    采用curl命令可以发送各种HTTP请求,程序员必备技能。

curl -H “Content-Type: application/json” -d @/data/my.json http://localhost:8080/api/service/registry/add

如果不指定content-type, 默认是:application/x-www-form-urlencoded

  1. 使用for进行遍历
    可以直接在命令行写一行for语句,无需写到脚本。

for p in ls /home/mini-rds/mysql/; do echo KaTeX parse error: Expected 'EOF', got '&' at position 3: p &̲& mysql -h127.0…p -uroot -e ‘show slave status\G’ | grep ‘Master_Host’; done

一行语句查找满足条件的某个docker容器:

for conId in $(docker ps -q|grep Up);do docker inspect c o n I d ∣ g r e p 170.1.80.12 ; i f [ " conId | grep 170.1.80.12 ;if [ " conIdgrep170.1.80.12;if["?" -eq “0” ];then echo $conId; fi; done

总结

本文通过实际例子展示了Linux基本命令的用法。要想熟练使用Linux,掌握下列命令是必不可少的。

  • 包管理: apt, yum, dpkg
  • 搜索: find和grep
  • 文件处理: cat, more, less
  • 进程:ps, top, htop
  • 网络: netstat, lsof, ip, ifconfig, curl
  • xargs
  • 文本处理:sed、awk、cut
  • 基本的shell语法: for, if

相关文章:

  • 青海省基础地理矢量数据
  • 2024年【四川省安全员B证】新版试题及四川省安全员B证考试试卷
  • Web植物管理系统-下位机部分
  • leetcode 2576.求出最多标记下标
  • Spring为什么要用三级缓存解决循环依赖?
  • Python酷库之旅-第三方库Pandas(117)
  • MAC | linux | SSH 密钥验证
  • C#中全局处理异常方式
  • SRIO--IP讲解及环回测试
  • 打开 Camera app 出图,前几帧图像偏暗、偏色该怎样去避免?
  • canvas水波纹效果,jquery鼠标水波纹插件
  • [FT]chatglm2微调
  • 浅谈SQL Server索引视图(物化视图)以及索引视图与查询重写
  • 排查Linux服务器是否被入侵步骤
  • 聚观早报 | 推特临时培训员工应对世界杯;世界杯足球内置传感器
  • java单例模式--懒汉式、饿汉式(第二次学习)
  • 你真的了解Spring的依赖查找吗?
  • Git项目Readme.md文件编写格式与语法
  • 《精通Neo4j》前言
  • 【安全学习】记一次内网环境渗透
  • HDU中的贪心算法
  • 【Hack The Box】Linux练习-- OpenAdmin
  • 最新科目一攻略(新规)
  • 全球与中国羽绒服行业规模预测及投资策略研究报告2022-2028年
  • SparkRDD详解
  • Python项目一:pygname
  • 数据库的三级模式和二级映像
  • 【Hack The Box】linux练习-- Mango
  • Scientific Reports|比较转录组分析揭示了杀菌剂氰烯菌酯对尖孢镰刀菌的抗性调控机制和杀菌活性
  • 显示DataFrame中每行(或列)中,每个位置以前出现过的最小值:cummin()函数
  • redis过期key的清理/删除策略
  • 基于JavaWeb SSM bootStrap 校园二手市场管理系统的设计与实现