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

吊打面试官系列之:掌握了这166个Linux常用命令,面试官果然被我征服了。。

Linux常用命令汇总

  • 1、引言
  • 2、线上查询及帮助
  • 3、文件相关
    • 3.1 搜索文件
    • 3.2 文件和目录操作
    • 3.3 文件查看及内容处理
    • 3.4 文件压缩及解压缩
    • 3.5 磁盘与文件系统
  • 4、网络相关
    • 4.1 网络基础命令
    • 4.2 网络进阶命令
  • 5、权限/授权等相关
    • 5.1 系统权限及用户授权
    • 5.2 系统管理及性能监控
    • 5.3 进程管理相关命令
  • 6、用户相关
    • 6.1 用户管理
    • 6.2 系统用户登录信息
  • 7、 内置命令
  • 8、 信息显示
  • 9、 重启/关机等
  • 10、总结

1、引言

小屌丝:鱼哥,鱼哥, 求助…
小鱼:啥情况, 呜呜轩轩的 !!
小屌丝:我的女神问我linux相关的命令,但是我 …我…
小鱼:别说了,我懂~ 不就是金九银十嘛!
小屌丝:唉我去~ 不愧是我鱼哥, 直接都get到这一点了。
小鱼:没办法啊, 因为你已经是第九个问我关于linux的相关面试知识了。
小屌丝:额~ 没想到,这么多同学被linux相关知识给难住了。
小鱼:其实,linux的知识并没有想象中的难,而且还是必须要会的知识。

接下来,我就把linux常用的命令整理出来,据说160+个命令, 真的…

2、线上查询及帮助

  • man:查看命令帮助;
  • help:查看Linux内置命令的帮助;

3、文件相关

3.1 搜索文件

  • which:查找二进制命令,按环境变量PATH路径查找;
  • find:从磁盘遍历查找文件或目录;
  • whereis:查找二进制命令,按环境变量PATH路径查找;
  • locate:从数据库 (/var/lib/mlocate/mlocate.db) 查找命令,使用updatedb更新库;

3.2 文件和目录操作

  • ls:全拼list,功能是列出目录的内容及其内容属性信息;
  • cd:全拼change directory,功能是从当前工作目录切换到指定的工作目录;
  • cp:全拼copy,其功能为复制文件或目录;
  • find:用于查找目录及目录下的文件;
  • mkdir:全拼make directories,其功能是创建目录;
  • mv:全拼move,其功能是移动或重命名文件;
  • pwd:全拼print working directory,其功能是显示当前工作目录的绝对路径;
  • rename:用于重命名文件;
  • rm:全拼remove,其功能是删除一个或多个文件或目录;
  • rmdir:全拼remove empty directories,功能是删除空目录;
  • touch:创建新的空文件,改变已有文件的时间戳属性;
  • tree:功能是以树形结构显示目录下的内容;
  • basename:显示文件名或目录名;
  • dirname:显示文件或目录路径;
  • chattr:改变文件的扩展属性;
  • lsattr:查看文件扩展属性;
  • file:显示文件的类型;
  • md5sum:计算和校验文件的MD5值;

3.3 文件查看及内容处理

  • cat:全拼concatenate,功能是用于连接多个文件并且打印到屏幕输出或重定向到指定文件中;
  • tac:是cat的反向拼写,因此命令的功能为反向显示文件内容;
  • more:分页显示文件内容;
  • less:分页显示文件内容,more命令的相反用法;
  • head:显示文件内容的头部;
  • tail:显示文件内容的尾部;
  • cut:将文件的每一行按指定分隔符分割并输出;
  • split:分割文件为不同的小片段;
  • paste:按行合并文件内容;
  • sort:对文件的文本内容排序;
  • uniq:去除重复行;
  • wc:统计文件的行数、单词数或字节数;
  • iconv:转换文件的编码格式;
  • dos2unix:将DOS格式文件转换成UNIX格式;
  • diff:全拼difference,比较文件的差异,常用于文本文件;
  • vimdiff:命令行可视化文件比较工具,常用于文本文件;
  • rev:反向输出文件内容;
  • grep/egrep:过滤字符串,;
  • join:按两个文件的相同字段合并;
  • tr:替换或删除字符;
  • vi/vim:命令行文本编辑器;

3.4 文件压缩及解压缩

  • tar:打包压缩;
  • unzip:解压文件;
  • gzip:压缩工具;
  • zip:压缩工具;

3.5 磁盘与文件系统

  • mount:挂载文件系统;
  • umount:卸载文件系统;
  • fsck:检查并修复Linux文件系统;
  • dd:转换或复制文件;
  • dumpe2fs:导出ext2/ext3/ext4文件系统信息;
  • dumpe:xt2/3/4文件系统备份工具;
  • fdisk:磁盘分区命令,适用于2TB以下磁盘分区;
  • parted:磁盘分区命令,没有磁盘大小限制,常用于2TB以下磁盘分区;
  • mkfs:格式化创建Linux文件系统;
  • partprobe:更新内核的硬盘分区表信息;
  • e2fsck:检查ext2/ext3/ext4类型文件系统;
  • mkswap:创建Linux交换分区;
  • swapon:启用交换分区;
  • swapoff:关闭交换分区;
  • sync:将内存缓冲区内的数据写入磁盘;
  • resize2fs:调整ext2/ext3/ext4文件系统大小;

4、网络相关

4.1 网络基础命令

  • telnet:使用TELNET协议远程登录;
  • ssh:使用SSH加密协议远程登录;
  • scp:全拼secure copy,用于不同主机之间复制文件;
  • wget:命令行下载文件;
  • ping:测试主机之间网络的连通性;
  • route:显示和设置linux系统的路由表;
  • ifconfig:查看、配置、启用或禁用网络接口的命令;
  • ifup:启动网卡;
  • ifdown:关闭网卡;
  • netstat:查看网络状态;
  • ss:查看网络状态;

4.2 网络进阶命令

  • nmap:网络扫描命令;
  • lsof:全名list open files,也就是列举系统中已经被打开的文件;
  • mail:发送和接收邮件;
  • mutt:邮件管理命令;
  • nslookup:交互式查询互联网DNS服务器的命令;
  • dig:查找DNS解析过程;
  • host:查询DNS的命令;
  • traceroute:追踪数据传输路由状况;
  • tcpdump:命令行的抓包工具;

5、权限/授权等相关

5.1 系统权限及用户授权

  • chmod:改变文件或目录权限;
  • chown:改变文件或目录的属主和属组;
  • chgrp:更改文件用户组;
  • umask:显示或设置权限掩码;

5.2 系统管理及性能监控

  • chkconfig:管理Linux系统开机启动项;
  • vmstat:虚拟内存统计;
  • mpstat:显示各个可用CPU的状态统计;
  • iostat:统计系统IO;
  • sar:全面地获取系统的CPU、运行队列、磁盘 I/O、分页(交换区)、内存、 CPU中断和网络等性能数据;
  • ipcs:用于报告Linux中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息;
  • ipcrm:用来删除一个或更多的消息队列、信号量集或者共享内存标识;
  • strace:用于诊断、调试Linux用户空间跟踪器。我们用它来监控用户空间进程和内核的交互,比如系统调用、信号传递、进程状态变更等;
  • ltrace:命令会跟踪进程的库函数调用,它会显现出哪个库函数被调用;

5.3 进程管理相关命令

  • bg:将一个在后台暂停的命令,变成继续执行 (在后台执行);
  • fg:将后台中的命令调至前台继续运行;
  • jobs:查看当前有多少在后台运行的命令;
  • kill:终止进程;
  • killall:通过进程名终止进程;
  • pkill:通过进程名终止进程;
  • crontab:定时任务命令;
  • ps:显示进程的快照;
  • pstree:树形显示进程;
  • nice/renice:调整程序运行的优先级;
  • nohup:忽略挂起信号运行指定的命令;
  • pgrep:查找匹配条件的进程;
  • runlevel:查看系统当前运行级别;
  • init:切换运行级别;
  • service:启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态;

6、用户相关

6.1 用户管理

  • useradd:添加用户;
  • usermod:修改系统已经存在的用户属性;
  • userdel:删除用户;
  • groupadd:添加用户组;
  • passwd:修改用户密码;
  • chage:修改用户密码有效期限;
  • id:查看用户的uid,gid及归属的用户组;
  • su:切换用户身份;
  • visudo:编辑/etc/sudoers文件的专属命令;
  • sudo:以另外一个用户身份(默认root用户)执行事先在sudoers文件允许的命令;

6.2 系统用户登录信息

  • whoami:显示当前有效的用户名称,相当于执行id -un命令;
  • who:显示目前登录系统的用户信息;
  • w:显示已经登录系统的用户列表,并显示用户正在执行的指令;
  • last:显示登入系统的用户;
  • lastlog:显示系统中所有用户最近一次登录信息;
  • users:显示当前登录系统的所有用户的用户列表;
  • finger:查找并显示用户信息;

7、 内置命令

  • echo:打印变量,或直接输出指定的字符串;
  • printf:将结果格式化输出到标准输出;
  • rpm:管理rpm包的命令;
  • yum:自动化简单化地管理rpm包的命令;
  • watch:周期性的执行给定的命令,并将命令的输出以全屏方式显示;
  • alias:设置系统别名;
  • unalias:取消系统别名;
  • date:查看或设置系统时间;
  • clear:清除屏幕,简称清屏;
  • history:查看命令执行的历史纪录;
  • eject:弹出光驱;
  • time:计算命令执行时间;
  • nc:功能强大的网络工具;
  • xargs:将标准输入转换成命令行参数;
  • exec:调用并执行指令的命令;
  • export:设置或者显示环境变量;
  • unset:删除变量或函数;
  • type:用于判断另外一个命令是否是内置命令;
  • bc:命令行科学计算器;

8、 信息显示

  • uname:显示操作系统相关信息的命令;
  • hostname:显示或者设置当前系统的主机名;
  • dmesg:显示开机信息,用于诊断系统故障;
  • uptime:显示系统运行时间及负载;
  • stat:显示文件或文件系统的状态;
  • du:计算磁盘空间使用情况;
  • df:报告文件系统磁盘空间的使用情况;
  • top:实时显示系统资源使用情况;
  • free:查看系统内存;
  • date:显示与设置系统时间;
  • cal:查看日历等时间信息;

9、 重启/关机等

  • shutdown:关机。
  • halt:关机。
  • poweroff:关闭电源。
  • logout:退出当前登录的Shell。
  • exit:退出当前登录的Shell。
  • Ctrl+d:退出当前登录的Shell的快捷键。

10、总结

今天的分享,差不多就完事了。
关于吊打面试官系列的文章,小鱼也会持续的更新,例如,吊打面试官系列博文:

  • 吊打面试官系列之:UI自动化面试题汇总,对标P7,从此再也不怕面试官了
  • 从P6 到P7,到底要做哪些准备,掌握多少知(姿)识(势),小鱼亲身分享!!
  • 吊打面试官系列之:移动APP测试开发面试题汇总,对标P7职位~ ~熬夜整理,建议收藏!!!
  • 吊打面试官系列之:掌握兼容性测试21个知识点,让面试官也对你膜拜。
  • 记住这几点,你的offer会拿到手软

更多的吊打面试官系列博文,我就不列举了, 可以直接点击吊打打面试官专栏去查看。

我是小鱼
- CSDN博客专家
- 51Testing认证讲师

关于小鱼,带你学习更多更专业的测试开发知识。

相关文章:

  • 【刷题之路 | Java Python】两数之和(暴力枚举哈希表)
  • [ C++ ] STL_vector -- 迭代器失效问题
  • 06-Linux用户管理
  • 十天学前端之JS篇(五)
  • python 并发、并行处理、分布式处理
  • 推荐一款国人开源的 Redis 可视化管理工具
  • 开发工程师必备————【Day22】前端开发之jQuery更多操作
  • 04【DQL查询】
  • Vscode常用插件
  • 利用MyBatisX插件自动生成代码
  • 【数据结构】——栈和链表的面试题详解
  • 如何从 apt-get 升级中排除特定软件包
  • C++/Python:罗德里格斯旋转矩阵
  • c++征途 --- STL初识
  • 学习编程的第二十三天
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • Akka系列(七):Actor持久化之Akka persistence
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • Fabric架构演变之路
  • iOS 系统授权开发
  • Java 网络编程(2):UDP 的使用
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • mysql中InnoDB引擎中页的概念
  • Python语法速览与机器学习开发环境搭建
  • socket.io+express实现聊天室的思考(三)
  • XML已死 ?
  • 分布式熔断降级平台aegis
  • 关于 Cirru Editor 存储格式
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 一些css基础学习笔记
  • 《码出高效》学习笔记与书中错误记录
  • kubernetes资源对象--ingress
  • RDS-Mysql 物理备份恢复到本地数据库上
  • Spring Batch JSON 支持
  • 翻译 | The Principles of OOD 面向对象设计原则
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • (42)STM32——LCD显示屏实验笔记
  • (pojstep1.1.2)2654(直叙式模拟)
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (转)程序员技术练级攻略
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • **PHP分步表单提交思路(分页表单提交)
  • .NET Core 中插件式开发实现
  • .Net Core 中间件验签
  • .NET 的程序集加载上下文
  • .NET项目中存在多个web.config文件时的加载顺序
  • [20190416]完善shared latch测试脚本2.txt
  • [C++随笔录] 红黑树
  • [Enterprise Library]调用Enterprise Library时出现的错误事件之关闭办法
  • [java/jdbc]插入数据时获取自增长主键的值
  • [LeetCode]Pow(x,n)
  • [lesson17]对象的构造(上)
  • [linux] git lfs install 安装lfs
  • [Linux打怪升级之路]-vim编辑器(看就能马上操作噢)