面试常考Linux指令

文件权限

操作系统中每个文件都拥有特定的权限、所属用户和所属组。权限是操作系统用来限制资源访问的机制,在 Linux 中权限一般分为读(readable)、写(writable)和执行(executable),分为三组。分别对应文件的属主(owner),属组(group)和其他用户(other),通过这样的机制来限制哪些用户、哪些组可以对特定的文件进行什么样的操作。
通过
ls -lt
在这里插入图片描述

Linux 中权限分为以下几种:

  • r:代表权限是可读,r 也可以用数字 4 表示
  • w:代表权限是可写,w 也可以用数字 2 表示
  • x:代表权限是可执行,x 也可以用数字 1 表示
    在这里插入图片描述

系统状态

top:
用于实时查看系统的 CPU 使用率、内存使用率、进程信

息等。
在这里插入图片描述
通过grep 查看对应的进程的CPU占用情况
在这里插入图片描述

htop:类似于 top,但提供了更加交互式和友好的界面,可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。
在这里插入图片描述
vmstat :vmstat [间隔时间] [重复次数]:vmstat (Virtual Memory Statistics) 的含义为显示虚拟内存状态,但是它可以报告关于进程、内存、I/O 等系统整体运行状态。
在这里插入图片描述
df [选项] [文件系统]:用于查看系统的磁盘空间使用情况,包括磁盘空间的总量、已使用量和可用量等,可以指定文件系统上。例如:df -a,查看全部文件系统。

du [选项] [文件]:用于查看指定目录或文件的磁盘空间使用情况,可以指定不同的选项来控制输出格式和单位。
在这里插入图片描述

这个指令 du random 是用来显示文件或目录占用磁盘空间的大小。在你的例子中,它显示目录或文件 random 占用了 12144 个磁盘块(一般情况下是以字节显示,但也可能以块显示)。
df random 这个命令的意思是检查 random 目录所在的文件系统的磁盘使用情况。df 命令通常用来显示文件系统的磁盘空间使用情况,包括总空间、已用空间、可用空间以及使用百分比。

在你的例子中,输出显示的是 /dev/vda3 文件系统的情况:

  • 1K-blocks: 总共 40,910,528 个 1K 块(即大约 40 GB)。
  • Used: 已用 15,139,260 个 1K 块。
  • Available: 可用 23,880,068 个 1K 块。
  • Use%: 使用百分比为 39%。

这表明 random 目录所在的文件系统的总空间约为 40 GB,已经使用了约 15 GB,还有约 24 GB 可用。

网络通信

  • ping [选项] 目标主机:测试与目标主机的网络连接。
  • ifconfig 或 ip:用于查看系统的网络接口信息,包括网络接口的 IP 地址、MAC 地址、状态等。
  • netstat [选项]:用于查看系统的网络连接状态和网络统计信息,可以查看当前的网络连接情况、监听端口、网络协议等。
  • ss [选项]:比 netstat 更好用,提供了更快速、更详细的网络连接信息。

文件操作

tail 命令
用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

常用参数:

-f 循环读取(常用于查看递增的日志文件)
-n<行数> 显示行数(从后向前)
(1)循环读取逐渐增加的文件内容

ping 127.0.0.1 > ping.log &
后台运行:可使用 jobs -l 查看,也可使用 fg 将其移到前台运行。

tail -f ping.log
(查看日志)

find 命令

用于在文件树中查找文件,并作出相应的处理。

命令格式:

find pathname -options [-print -exec -ok …]
命令参数:

pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为’command’ { } ;,注意{ }和\;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
命令选项:

-name 按照文件名查找文件
-perm 按文件权限查找文件
-user 按文件属主查找文件
-group 按照文件所属的组来查找文件。
-type 查找某一类型的文件,诸如:
b - 块设备文件
d - 目录
c - 字符设备文件
l - 符号链接文件
p - 管道文件
f - 普通文件

-size n :[c] 查找文件长度为n块文件,带有c时表文件字节大小
-amin n 查找系统中最后N分钟访问的文件
-atime n 查找系统中最后n24小时访问的文件
-cmin n 查找系统中最后N分钟被改变文件状态的文件
-ctime n 查找系统中最后n
24小时被改变文件状态的文件
-mmin n 查找系统中最后N分钟被改变文件数据的文件
-mtime n 查找系统中最后n*24小时被改变文件数据的文件
(用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件。 )
-maxdepth n 最大查找目录深度
-prune 选项来指出需要忽略的目录。在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略
-newer 如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件,可以使用-newer选项
实例:

(1)查找 48 小时内修改过的文件

find -atime -2
(2)在当前目录查找 以 .log 结尾的文件。 . 代表当前目录

find ./ -name ‘*.log’
(3)查找 /opt 目录下 权限为 777 的文件

find /opt -perm 777
(4)查找大于 1K 的文件

find -size +1000c
查找等于 1000 字符的文件

find -size 1000c
-exec 参数后面跟的是 command 命令,它的终止是以 ; 为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。{} 花括号代表前面find查找出来的文件名。

实例:

(5)在当前目录中查找更改时间在10日以前的文件并删除它们(无提醒)

find . -type f -mtime +10 -exec rm -f {} ;
(6)当前目录中查找所有文件名以.log结尾、更改时间在5日以上的文件,并删除它们,只不过在删除之前先给出提示。 按y键删除文件,按n键不删除

find . -name ‘*.log’ mtime +5 -ok -exec rm {} ;
(7)当前目录下查找文件名以 passwd 开头,内容包含 “pkg” 字符的文件

find . -f -name ‘passwd*’ -exec grep “pkg” {} ;
(8)用 exec 选项执行 cp 命令

find . -name ‘*.log’ -exec cp {} test3 ;
-xargs find 命令把匹配到的文件传递给 xargs 命令,而 xargs 命令每次只获取一部分文件而不是全部,不像 -exec 选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。

实例:

(9)查找当前目录下每个普通文件,然后使用 xargs 来判断文件类型

find . -type f -print | xargs file
(10)查找当前目录下所有以 js 结尾的并且其中包含 ‘editor’ 字符的普通文件

find . -type f -name ".js" -exec grep -lF ‘ueditor’ {} ;
find -type f -name '
.js’ | xargs grep -lF ‘editor’
(11)利用 xargs 执行 mv 命令

find . -name “*.log” | xargs -i mv {} test4
(12)用 grep 命令在当前目录下的所有普通文件中搜索 hostnames 这个词,并标出所在行:

find . -name *(转义) -type f -print | xargs grep -n ‘hostnames’
(13)查找当前目录中以一个小写字母开头,最后是 4 到 9 加上 .log 结束的文件:

find . -name ‘[a-z]*[4-9].log’ -print
(14)在 test 目录查找不在 test4 子目录查找

find test -path ‘test/test4’ -prune -o -print
(15)实例1:查找更改时间比文件 log2012.log新但比文件 log2017.log 旧的文件

find -newer log2012.log ! -newer log2017.log
使用 depth 选项:

depth 选项可以使 find 命令向磁带上备份文件系统时,希望首先备份所有的文件,其次再备份子目录中的文件。

实例:find 命令从文件系统的根目录开始,查找一个名为 CON.FILE 的文件。 它将首先匹配所有的文件然后再进入子目录中查找

find / -name “CON.FILE” -depth -print

vim常见快捷键

Vim 是一个功能强大的文本编辑器,拥有许多快捷键可以帮助用户提高效率。这里列举一些常用的 Vim 快捷键:

  1. 基本操作

    • i:进入插入模式
    • Esc:返回普通模式
    • :w:保存文件
    • :q:退出 Vim
    • :wq:x:保存并退出
    • :q!:强制退出不保存
  2. 移动光标

    • hjkl:左、下、上、右移动光标
    • 0^:移动到行首
    • $:移动到行尾
    • G:移动到文件末尾
    • gg:移动到文件开头
    • Ctrl + f:向下翻一页
    • Ctrl + b:向上翻一页
  3. 编辑文本

    • x:删除光标下的字符
    • dw:删除一个单词
    • dd:删除整行
    • yy:复制整行
    • p:粘贴
    • u:撤销
    • Ctrl + r:重做
  4. 查找与替换

    • /word:向下查找“word”
    • ?word:向上查找“word”
    • n:重复上次查找操作
    • N:反向重复上次查找操作
    • :%s/old/new/g:替换全文中的“old”为“new”
  5. 多窗口操作

    • :split:sp:水平分割窗口
    • :vsplit:vsp:垂直分割窗口
    • Ctrl + w + 箭头键:在窗口间切换

这些是一些基本的 Vim 快捷键,当然,Vim 的功能远不止这些。通过学习更多的快捷键和命令,你可以更加高效地使用 Vim。

占用端口

在 Linux 系统中,如果想要查看哪个进程正在占用某个文件,可以使用以下命令:

lsof (list open files):
这是最常用的工具,可以显示打开的文件及其相关的进程信息。

bash
复制代码
lsof /path/to/file
例如:

bash
复制代码
lsof /var/log/syslog
该命令会列出所有打开 /var/log/syslog 文件的进程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3267725.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

前端知识笔记之HTML

1.标签元素与属性&#xff0c;注意事项 2.多级标签排序List&#xff0c;无顺序&#xff08;Ul&#xff09;和有顺序(Ol) 3.HTML页面结构 4.页面跳转&#xff0c;注意#是统一页面的跳转 5.图片、视频、音频 标签 6.前端表单与后端方法 数据接收的demo 7.常见表单项 8.注意日期类…

Python爬虫知识体系-----Urllib库的使用

数据科学、数据分析、人工智能必备知识汇总-----Python爬虫-----持续更新&#xff1a;https://blog.csdn.net/grd_java/article/details/140574349 文章目录 1. 基本使用2. 请求对象的定制3. 编解码1. get请求方式&#xff1a;urllib.parse.quote&#xff08;&#xff09;2. ur…

Linux 安装 GDB (无Root 权限)

引入 在Linux系统中&#xff0c;如果你需要在集群或者远程操作没有root权限的机子&#xff0c;安装GDB&#xff08;GNU调试器&#xff09;可能会有些限制&#xff0c;因为通常安装新软件或更新系统文件需要管理员权限。下面我们介绍可以在没有root权限的情况下安装GDB&#xf…

谷粒商城-性能压测

1.压力测试 在项目上线前对其进行压力测试(以每个微服务为单元) 目的:找到系统能承载的最大负荷,找到其他测试方法更难发现的错误(两种类型:内存泄漏,并发与同步). 1.性能指标 响应时间(Response Time (RT)): 响应时间 指用户从客户端发起一个请求开始,到客户端接收到从服务…

2023IMO预选题几何第5题

在锐角 △ A B C \triangle ABC △ABC 中, ω ω ω 是外接圆, O O O 是外心. D D D, E E E 分别是 ω ω ω 上不同于 B B B, C C C 的点, 满足 B D BD BD ⊥ A C AC AC, C E CE CE ⊥ A B AB AB. 设直线 C O CO CO, A B AB AB 交于点 X X X, 直线 B O BO BO,…

怎样在 Nginx 中配置基于请求客户端指纹识别数据的路由?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01; 文章目录 怎样在 Nginx 中配置基于请求客户端指纹识别数据的路由 怎样在 Nginx 中配置基于请求客户端指纹识别数据的路由 在当今数字化的世界中&#xff0c;网站和应用程…

mac M1安装Roop教程及所遇到的问题

1.安装miniconda&#xff0c;下载地址&#xff1a; 按 Python 版本划分的最新 Miniconda 安装程序链接&#xff1a;https://docs.anaconda.com/miniconda/miniconda-other-installer-links/ 下载后直接默认安装即可。 我用的是&#xff1a;Python3.10对应的Miniconda 2.下载…

GIT新手提交操作

1、创建一个本地分支 进入Xshell已经拉取的该项目的项目代码路径下执行git checkout -b 姓名全拼音&#xff0c;例如&#xff1a;git checkout -b xiewei&#xff0c;当前显示已创建。 cuihengyidell-PowerEdge-T550:~/SVN/Git_R11/R11_V4.02.0_Source$ git checkout -b cuih…

[数据集][目标检测]躺坐站识别检测数据集VOC+YOLO格式9488张3类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;9488 标注数量(xml文件个数)&#xff1a;9488 标注数量(txt文件个数)&#xff1a;9488 标注…

STM32开发环境配置记录——关于PlatformIO + VSCode + CubeMX的集成环境配置

目录 前言 介绍 PlatformIO STM32CubeMX Visual Studio Code 正文 使用STM32CubeMX生成PlatformIO可以支持的Makefile文件 1. 选择目标引脚并配置 2. 配置时钟树 3. [关键&#xff01;调试则需要&#xff1a;]选择调试器类型 4. 选择对应的目标IDE配置代码与文件 使…

Spring Boot中如何实现全链路调用日志跟踪?

​ 博客主页: 南来_北往 系列专栏&#xff1a;Spring Boot实战 引言 在Spring Boot中实现全链路调用日志跟踪&#xff0c;主要依赖于Mapped Diagnostic Context&#xff08;MDC&#xff09;功能。MDC是一种用于在多线程条件下记录日志的功能&#xff0c;它可以看作是与当…

【Unity】关于Luban的简单使用

最近看了下Luban导出Excel数据的方式&#xff0c;来记录下 【Unity】关于Luban的简单使用 安装Luban开始使用UnityLubanC# 扩展 安装Luban Luban文档&#xff1a;https://luban.doc.code-philosophy.com/docs/beginner/quickstart 1.安装dotnet sdk 8.0或更高版本sdk 2.githu…

Java面经之Java并发

进程&#xff1a;程序的一次执行 线程&#xff1a;一个进程在执行的过程可以产生多个线程 多个线程共享进程的堆和方法区资源&#xff0c;但每个线程有自己的程序计数器、虚拟机栈、本地方法栈 其中程序计数器是为了线程切换后恢复到正确的执行位置&#xff1b;虚拟机栈和本地…

Zabbix自定义监控内容部署+邮件报警+Zabbix自愈+Zabbix批量添加主机

一、自定义监控项 1.1自定义监控项原理 1&#xff09;先明确获取监控指标数据的命令或脚本; 2&#xff09;在被监控主机配置文件子目录&#xff08;/etc/zabbix/zabbix_agent2.d/)中创建以.conf后缀的监控项配置文件&#xff0c;自定义获取监控指标数据的键值&#xff1b; …

【VUE】个人记录:父子页面数据传递

1. 父传子 在父页面中&#xff0c;调用子页面的组件位置处&#xff0c;通过“&#xff1a;”进行参数传递 <child-component :childData"parentData"></child-component>parentData对象&#xff0c;需要在父页面的data中进行初始化声明 在子页面中&am…

算法与算法分析

目录 一.前言 二.算法的特性和要求 三.分析算法--时间效率 四. 分析算法--空间效率 一.前言 算法就是对特定问题求解方法和步骤的一种描述&#xff0c;它是指令的有限序列。其中&#xff0c;每个指令表示一个或多个操作。总而言之&#xff0c;我们数据结构就是通过算法实现操…

全球CG盛事:世界3D渲染大赛震撼开幕!

在数字艺术的浪潮中&#xff0c;CG&#xff08;计算机图形学&#xff09;已经成为现代视觉艺术不可或缺的一部分。它不仅推动了电影、游戏和动画产业的发展&#xff0c;更激发了无数艺术家的创造力。今天&#xff0c;我们迎来了一个全球CG界的盛事——世界3D渲染大赛的震撼开幕…

【Unity2D 2022:UI】TextMeshPro组件无法显示中文

在Unity中创建了一个预制体Card&#xff0c;上面挂载了一些Text Mesh Pro组件用来显示卡牌信息。但是在输入文字后&#xff0c;发现无法显示中文&#xff1a; 解决方法如下&#xff1a; 一、导入字体文件&#xff08;ttf格式&#xff09;和常用字字集&#xff08;txt格式&…

【LLM大模型】LLaMA3微调部署真不难!拿走这份教程,轻松掌握LLaMA大模型微调!

今天给大家分享一个爆火的llama3教程&#xff0c;也就是下面这份&#xff1a; 这个项目是基于Meta最新发布的新一代开源大模型Llama-3开发的&#xff0c;是Chinese-LLaMA-Alpaca开源大模型相关系列项目的第三期。本项目开源了中文Llama-3基座模型和中文Llama-3-Instruct指令精…

使用curl测试websocket服务是否能正常连入

部分场景&#xff0c;前端连接不上websocket服务&#xff0c;需要从后台验证websocket服务是否能连入&#xff0c;判断防火墙是否开通&#xff0c;反向代理是否配置正确&#xff0c;可以使用curl测试服务器websocket服务是否正常。 分行命令 curl --include \--no-buffer \--…