草庐IT

Linux面试必备20个常用命令

袁袁袁袁满 2023-04-09 原文

文章目录

第一章 什么是linux

多用户,多任务,支持多线程和多CPU的操作系统,linux的应用领域:免费,稳定,高效的, 一般运行在大型服务器上

常用目录介绍

目录名说明
/ 根目录一般根目录下只存放目录,有且只有一个根目录
/home 家目录系统默认的家目录,新增用户账号时,用户的家目录都存放在此目录下
/root系统管理员root的家目录
/bin/usr/bin可执行二进制文件的目录
/etc系统配置文件存放的目录
/mnt /media光盘默认挂载点
/tmp一般用户或正在执行的程序临时存放文件的目录
/var这个目录中存放着不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下,包括各种日志文件

[root@localhost ~]# 的含义:

  • @之前的是当前登录的用户
  • localhost是主机名字
  • ~当前所在的位置(所在的目录)
  • ~家目录
  • /根目录
  • #的位置是用户标识
    • #是超级用户
    • $普通用户

linux的核心思想:一切皆为文件

linux命令的写法

命令名  [选项]  [参数]
  • 命令名:相应功能的英文单词或单词的缩写
  • 选项:可以用来对命令进行控制,也可以省略,选项不同,命令的结果不同
  • 参数:传给命令的参数,可以是0个,也可以一个或多个

linux注意事项

  • 1.严格区分大小写
  • 2.有的命令有选项和参数,有的有其一,有的都没有
  • 3.选项的格式一般是 -字母 -单词 字母
  • 4.可以加多个选项,多个选项可以合并(例 -a -b 可以合并成-ab)
  • 5.命令 选项 参数 之间一定要有空格

第二章 linux的基础命令

1.pwd 命令

功能: 显示用户当前所在的目录

格式pwd

2.ls 命令

功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息

格式ls [选项][目录或文件]

常用选项表

选项说明
-a查看当前目录下的文件,包括隐藏文件
-l长格式显示文件
-lh以方便阅读的长格式显示

3.cd 命令

功能:改变工作目录。将当前工作目录改变到指定的目录下

格式cd 目录名

常用命令

命令说明
cd ..返回上一级目录
cd ../..返回上两级目录
cd ~切换到家目录
cd /切换到根目录
cd /home/lx/linux1/绝对路径:从家目录出发,直到想要去的目录
cd …/lx/相对路径:从当前目录出发,直到想去的目录

4.man 命令

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man

格式:man 其他命令

5.grep 命令

功能:用于查找文件里符合条件的字符串

格式grep [选项] '查找字符串' 文件名

常用选项

选项说明
-a将binary文件以text文件的方式查找数据
-c计算找到 ‘查找字符串’ 的次数
-i忽略大小写的区别,即把大小写视为相同
-v反向选择,即显示出没有 ‘查找字符串’ 内容的那一行

6.find 命令

功能:用来在指定目录下查找文件

格式find [路径] [选项] 操作

常用选项

选项说明
-name test查询指定目录下,命名为test的文件
-size +100k查询指定目录下,文件大于100K的文件
-ctime n查询指定目录下,在过去n天内被修改过的文件

7.chmod 命令

[K’mɒud]

功能:控制用户对文件的权限的命令

格式chmod [选项] 文件名

常用选项

选项说明
-r赋予读取权限
-w赋予写入权限
-x赋予执行权限
777赋予可读、可写、可执行权限(读:4,写:2,执行:1)

权限说明:(例:-rw-r--r-x 的权限为645)

  • 权限显示位一共为10位,分为四段,从第二位算起,每三个一组
  • 第1位代表文件类型(-表示为普通文件)
  • 第2-4位代表文件所属用户拥有的权限(rw-:4+2=6)
  • 第5-7位代表该用户所属组拥有的权限(-r--:4)
  • 第8-10位代表其他用户拥有的权限(r-x:4+1=5)

8.ps 命令

功能:用来列出系统中当前正在运行的那些进程,类似于 windows 的任务管理器。

格式ps [选项]

常用选项

选项说明
-A列出所有的进程 (重要)
-ef查看全格式的全部进程 (重要)
-w显示加宽可以显示较多的资讯
-au显示较详细的资讯
-aux显示所有包含其他使用者的行程

9.kill 命令

功能:用于删除执行中的程序或工作

格式:kill [选项]/[信号] 进程号
常用选项:

选项说明
-l参数会列出全部的信息名称。
-s指定要送出的信息。

常用信号:

信号说明
-1 (HUP)重新加载进程
-9 (KILL)杀死一个进程。(重点)
-15 (TERM)正常停止一个进程。

10.tail 命令

功能:查看测试项目的日志
说明:一般测试的项目里面,有个logs的目录文件,会存放日志文件,有个xxx.out的文件,可以用tail -f 动态实时查看后端日志

格式:tail [选项] 文件名

常用选项:

选项说明
-f实时读取
-1000查看最近1000行日志

11.netstat 命令

功能:查看端口

格式:netstat -anp | grep 端口号

8.date 查看当前系统时间

 date '+%a' 星期几
       +%A  星期几
       +%b   月份 
       +%B   月份
       +%c   直接显示日期与时间
       +%d   日
       +%D   直接显示日期
       +%F   日期(yyyy-mm-dd)

显示今天是几年几月几号:date +%F

显示今天是星期几:date +%a

可以修改日期和时间
-s
只修改日期
date -s 年/月/日

只修改时间
date -s 时:分:秒

一起修改 格式
date -s “年-月-日 时:分:秒”
或者
date 月日时分年.秒

把日期修改成2021-4-2
把时间修改成早上八点
clock -w 保存修改后的时间和日期

10.echo 打印 选项 -e

打印常量 直接打印
打印变量 变量前加$
打印命令 用反引号把命令引起来
终端间传递信息 echo 内容>/dev/pts/终端号

echo -e  "要打印的东西  \c"  

11.ping 地址 检测是否与主机连通

格式:ping 地址

问答题:遇到一个不认识的命令式怎么办

1.man 命令名
2.命令名 – help
3.info cat 命令名 (查看命令的功能,来源,选项等)
4.whatis 命令名
5.通过网络途径

第三章 文件操作的命令

1.mkdir 命令

功能:创建空目录

格式mkdir [选项] [路径] 文件名

常用选项表

选项说明
-p层级创建
-v显示创建顺序

2.rmdir 命令

功能:删除空目录 不能删除非空目录,不能删除文件

格式rmdir [-p] [路径] 目录名

常用选项表:

选项说明
-p当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除

3.touch 命令

功能:新建空文件

格式touch [路径] 文件名 (可以多个)

4.rm 命令

功能:删除文件或目录

格式rm [选项] 文件名

常用选项表

选项说明
-f强制删除
-r多级删除
-rf强制删除给定目录下所有文件和目录

rm 和 rmdir 的区别

  • rm 有选项, rmdir 没有选项
  • rmdir 只能删除空目录,不能删文件
  • rm 带上选项-r可以删除非空目录

5.mv 命令

功能:mv命令是move的缩写,可以用来移动文件或者将文件改名(move(rename)files),是Linux系统下常用的命令,经常用来备份文件或者目录

格式mv [选项] [路径] 旧文件名 [新路径][新文件名]

常用选项

选项说明
-fforce 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i若目标文件 (destination) 已经存在时,就会询问是否覆盖

注意

  • 如果只移动不改名字,新名字可以不写
  • 如果移动的同时改名字,新名字一定要写

6.cp 命令

功能: 复制文件或目录
说明:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

格式cp [选项] [路径] 旧文件名 [新路径][新文件名]

常用选项表

选项说明
-f 或 --force强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive覆盖文件之前先询问用户
-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

7 cat 命令

功能: 查看目标文件的内容

格式cat [选项] 文件名

常用选项

选项说明
-b对非空输出行编号
-n对输出的所有行编号
-s不输出多行空行

第四章 vi/vim

vi/vim 的使用

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last
line mode)。

三种模式的转换图

命令模式

用户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。

若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。

输入模式

在命令模式下按下 i 就进入了输入模式。

在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合:输入字符
  • ENTER:回车键,换行
  • BACK SPACE:退格键,删除光标前一个字符
  • DEL:删除键,删除光标后一个字符
  • 方向键:在文本中移动光标
  • HOME/END:移动光标到行首/行尾
  • Page Up/Page Down:/下翻页
  • Insert:切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC:退出输入模式,切换到命令模式

底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

  • q 退出程序
  • w 保存文件

按ESC键可随时退出底线命令模式

第五章 Linux全部命令详解工具下载

下载地址:Linux命令大全(完整版)+小白速成+面试必备+学不会来找我.rar

有关Linux面试必备20个常用命令的更多相关文章

  1. 华为常用命令 - 2

    system-view进入系统视图quit退到系统视图sysname交换机命名vlan20创建vlan(进入vlan20)displayvlan显示vlanundovlan20删除vlan20displayvlan20显示vlan里的端口20Interfacee1/0/24进入端口24portlink-typeaccessvlan20把当前端口放入vlan20undoporte1/0/10删除当前VLAN端口10displaycurrent-configuration显示当前配置02配置交换机支持TELNETinterfacevlan1进入VLAN1ipaddress192.168.3.100

  2. 【Java 面试合集】HashMap中为什么引入红黑树,而不是AVL树呢 - 2

    HashMap中为什么引入红黑树,而不是AVL树呢1.概述开始学习这个知识点之前我们需要知道,在JDK1.8以及之前,针对HashMap有什么不同。JDK1.7的时候,HashMap的底层实现是数组+链表JDK1.8的时候,HashMap的底层实现是数组+链表+红黑树我们要思考一个问题,为什么要从链表转为红黑树呢。首先先让我们了解下链表有什么不好???2.链表上述的截图其实就是链表的结构,我们来看下链表的增删改查的时间复杂度增:因为链表不是线性结构,所以每次添加的时候,只需要移动一个节点,所以可以理解为复杂度是N(1)删:算法时间复杂度跟增保持一致查:既然是非线性结构,所以查询某一个节点的时候

  3. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

  4. 玩以太坊链上项目的必备技能(初识智能合约语言-Solidity之旅一) - 2

    前面一篇关于智能合约翻译文讲到了,是一种计算机程序,既然是程序,那就可以使用程序语言去编写智能合约了。而若想玩区块链上的项目,大部分区块链项目都是开源的,能看得懂智能合约代码,或找出其中的漏洞,那么,学习Solidity这门高级的智能合约语言是有必要的,当然,这都得在公链``````以太坊上,毕竟国内的联盟链有些是不兼容Solidity。Solidity是一种面向对象的高级语言,用于实现智能合约。智能合约是管理以太坊状态下的账户行为的程序。Solidity是运行在以太坊(Ethereum)虚拟机(EVM)上,其语法受到了c++、python、javascript影响。Solidity是静态类型

  5. 西安华为OD面试体验 - 2

    西安华为OD面试体验开始投简历技术面试进展工作进展开始投简历去年一整年一直在考研和工作之间纠结,感觉自己的状态好像当时的疫情一样差劲。之前刚毕业的时候投了个大厂的简历,结果一面写算法的时候太拉跨了,虽然知道时dfs但是代码熟练度不够,放在平时给足时间自己可以调试通过,但是熟练度不够那面试当时就写不出来被刷了。说真的算法学到后期我感觉最重要的是熟练度和背板子(对于我这种普通玩家来说),面试题如果一上来短时间内想不出思路就完蛋了。然后由于当时找的工作不是很理想就又想考研了。但是考研是有风险的,我自我感觉自己可能冲不上那个学校,而找工作一个没成可以继续找嘛。本着抱着试试看的态度在boss上投了简历,

  6. Ubuntu20.04系统WineHQ7.0安装微信 - 2

    提供3种Ubuntu系统安装微信的方法,在Ubuntu20.04上验证都ok。1.WineHQ7.0安装微信:ubuntu20.04安装最新版微信--可以支持微信最新版,但是适配的不是特别好;比如WeChartOCR.exe报错。2.原生微信安装:linux系统下的微信安装(ubuntu20.04)--微信适配的最好,反应最快,但是微信版本只到2.1.1,版本太老,很多功能都没有。3.深度deepin-wine6安装微信:ubuntu20.04+系统deepin-wine6安装新版微信--综合比较好,当前个人使用此种方法1个月,微信版本3.4;没什么大问题,尚可。一、WineHQ7.0安装微信

  7. 【Linux操作系统】——网络配置与SSH远程 - 2

    Linux操作系统——网络配置与SSH远程安装完VMware与系统后,需要进行网络配置。第一个目标为进行SSH连接,可以从本机到VMware进行文件传送,首先需要进行网络配置。1.下载远程软件首先需要先下载安装一款远程软件:FinalShell或者xhell7FinalShellxhell7FinalShell下载:Windows下载http://www.hostbuf.com/downloads/finalshell_install.exemacOS下载http://www.hostbuf.com/downloads/finalshell_install.pkg2.配置CentOS网络安装好

  8. Linux磁盘分区中物理卷(PV)、卷组(VG)、逻辑卷(LV)创建和(LVM)管理 - 2

    文章目录一基础定义二创建逻辑卷2-1准备物理设备2-2创建物理卷2-3创建卷组2-4创建逻辑卷2-5创建文件系统并挂载文件三扩展卷组和缩减卷组3-1准备物理设备3-2创建物理卷3-3扩展卷组3-4查看卷组的详细信息以验证3-5缩减卷组四扩展逻辑卷4-1检查卷组是否有可用的空间4-2扩展逻辑卷4-3扩展文件系统五删除逻辑卷5-1备份数据5-2卸载文件系统5-3删除逻辑卷5-4删除卷组5-5删除物理卷六LVM逻辑卷缩容6-1缩容注意事项6-2标准缩容步骤一基础定义LVM,LogicalVolumeManger,逻辑卷管理,Linux磁盘分区管理的一种机制,建立在硬盘和分区上的一个逻辑层,提高磁盘分

  9. ruby - 如何在 Ruby 中获取 linux 系统信息 - 2

    如何在Ruby中获取linux系统(这必须适用于Fedora、Ubuntu等)的软件/硬件信息? 最佳答案 Chef背后的优秀人才,拥有一颗名为Ohai的优秀gemhttps://github.com/opscode/ohai以散列形式返回系统信息,例如操作系统、内核、规范、fqdn、磁盘、空间、内存、用户、接口(interface)、sshkey等。它非常完整,非常好。它还会安装命令行二进制文件(也称为ohai)。 关于ruby-如何在Ruby中获取linux系统信息,我们在Stack

  10. ruby - rbenv:在 Linux Mint 上找不到 gem 命令 - 2

    我在LinuxMint17.2上。我最近使用apt-getpurgeruby​​删除了ruby​​。然后我安装了rbenv然后rbenvinstall2.3.0所以现在,~/.rbenv/versions/2.3.0/bin/ruby存在。但是现在,我无法执行geminstallrubocop。我明白了:$geminstallrubocoprbenv:gem:commandnotfoundThe`gem'commandexistsintheseRubyversions:2.3.0但是我可以~/.rbenv/versions/2.3.0/bin/geminstallrubocop。但是,

随机推荐