Linux 常用指令大全

2023-10-30

我是目录:

1、指令格式:

输入指令/命令/程序,可以跟参数,参数值

指令 -参数1[参数值] -参数2[参数值]([ ]内容可有可无)

可以多个参数,没有参数值时,可以合并多个参数:-参数1参数2

2、Windows 和 Linux 通用内容:

路径 : Linux根路径是 /,Linux区分大小写,路径间隔敏感(只能使用 /,不能使用 \)

  • 绝对路径:以 / 开头,都是绝对路径
  • 相对路径:非 / 开头,都是相对路径
    特殊的相对路径: . . 上一级
                                  . 当前这一级
                                  ~ 当前登录用户的目录

Linux树形目录结构:
在这里插入图片描述
常用技巧:

  • tab:命令补全,路径上文件夹/文件名补全
              双击,相同的有多个,会输出匹配的多个指令/文件夹名/文件名

  • ctrl + c(特殊):重新输入,取消当前命令

  • 上下箭头:拿到前边 / 后边执行的命令

3、路径的命令:

(1) cd :切换到某个目录(相对路径 / 绝对路径)

(当前路径 + 相对路径 = 切换到绝对路径)

语法 : (cd 目录名)

举例:

  • cd . . :返回上级目录
  • cd ~ :进入当前登录用户的目录
  • cd - :返回最近访问目录

(2) pwd : 显示当前路径

举例: pwd

(3) ls :列出目录下的所有子目录与文件 或 文件的信息

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

语法: ( ls [选项] [目录或文件])

常用选项:

指令 说明
-a 列出目录下的所有文件,包括以 . 开头的隐含文件
-l 列出文件的详细信息( 别名: ll )
-R 列出所有子目录下的文件(递归)
-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
-r 对目录反向排序。
-t 以时间排序

举例 : ls -l

4、目录 / 文件的指令:

(1) touch 指令: 更改文档或目录的日期时间

(包括存取时间和更改时间,或者新建一个不存在的文件)

语法 : ( touch [选项]… 文件…)

举例: touch test.txt

(2)mkdir 指令:指定目录或当前目录,创建文件夹

(如果已有,会报错,创建多级目录,使用 -p参数)

语法 : (mkdir [选项] dirname…)

常用选项:

  • -p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多级目录

举例: mkdir -p test/test1 : 递归建立多个目录

(3) rm 指令 : 删除目录或文件夹

语法 : (rm [-f-i-r-v] [dirName/dir])

(模糊匹配 : * 代表任意数量的任意字符)

常用选项:

  • -f 强制删除(不询问)
  • -i 删除前逐一询问确认
  • -r 递归删除目录(包括子文件、子文件夹)
    (千万不要使用 rm -rf / (相当于删库跑路))

举例 : rm test.txt

(4)cp 指令 : 复制文件或目录

语法 : (cp [选项] 源文件或目录 目标文件或目录)

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

常用选项:

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

举例 : cp test1.txt test2.txt

(5)mv 指令: 移动文件 或 文件重命名

语法 : (mv [选项] 源文件或目录 目标文件或目录)

功能:

  • 1、视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
  • 2、当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
  • 3、 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中

常用选项:

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

举例 : mv test1.txt test2.txt

5、文件内容操作的指令:

(1)vi :Linux上默认文本编辑器(经常用)

(上面的指令全部支持)

举例 : vi test.txt(这个文件可以是已有的,也可以是新建)

  • 查看模式:
指令 说明
i 进入编辑模式(光标位置插入)
o 进入编辑模式(新行插入)
gg 切换到整个文档的首部
shift + g 切换到整个文档的尾部
j / k 作用和上下箭头一样,到上/下行
/搜索内容 回车后,进行搜索。搜索到以后:按 n 切换到下一个匹配的字符串,shift + n 上一个
dd 删除光标所在行
:q! 强制退出(不保存)
:w 保存不退出
:wq 保存并退出
  • 编辑模式:
    esc    退出编辑模式,进入查看模式

(2)cat 指令:查看目标文件的内容

语法: (cat [选项] [文件])

常用选项:

  • -n 对输出的所有行编号

举例: cat test.txt

(3)man 指令:查看某个指令的文档

语法: (man [选项] 命令)

常用选项:

  • -k 根据关键字搜索联机帮助
  • num 只在第 num 章节找
  • man man 能够看到 man 手册中若干个章节及其含义

举例: man ls(查看指令 ls 的文档)

进入文档的查看模式可进行的操作:

指令 说明
g 切换到整个文档的首部(vi中是 gg)
shift + g 切换到整个文档的尾部
j / k 作用和上下箭头一样,到上/下行
/搜索内容 回车后,进行搜索。搜索到以后:按 n 切换到下一个匹配的字符串,shift + n 上一个
:q 回车后退出查看模式

(4)less 指令:查看文件部分内容

语法 : (less [参数] 文件)

指令 说明
j / k 方向键:向上向下滚动屏幕
-N 显示每行的行号
/字符串 向下搜索 “字符串” 的功能
n 重复前一个搜索(与 / 或 ? 有关)
q 退出

(5)head 指令:以打印的方式输出文件内容(默认10行)

语法 : (head [参数]… [文件]…)

选项:

  • -n<行数> 显示的行数

举例 : head -n15 test.txt

(6)tail 指令:显示指定文件的末尾内容

语法 : (tail [必要参数] [选择参数] [文件] )

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

选项:

  • -f 循环读取
  • -n<行数> (显示文件总行数-n开始,到文件尾部的内容)

(7)进程重定向

Linux 的很多指令, 如 cat、head、tail 等都是默认输出到 “标准输出” 中, 也就是显示器上的. 可以通过 > 这样的符号把本来要输出到标准输出上的内容写到特定文件中. 这样的操作称为 “重定向”

重定向的三种方式:

1、标准 输入 重定向(<)

  • #先构造一个文件,里面添加一些内容
  • cat < test.txt

2、标准 输出 重定向(>)

  • cat test.txt > test2.txt

3、标准 错误 重定向(2>),注意 2 和 > 之间不能有空格

  • 删除一个不存在的文件
    rm aaa > test.txt
  • 输出结果,这个提示并没有被重定向到 test.txt 文件中
    rm : cannot remove ‘aaa’: No such file or directory
  • 正确做法:
    rm aaa 2> test.txt

标准输入, 标准输出, 标准错误是三个特殊的文件, 每个进程在启动的时候都会默认打开. 分别对应到键盘, 显示器, 显示器这样的设备. 在 Java 中, 分别对应到 System.in , System.out , System.err

(8)管道

管道是一种古老的 “进程间通信” 方式. 在 Linux 指令中可以使用 | 作为管道标记

意思是将前一个指令标准输出的内容, 作为第二个指令的标准输入内容.

例如: 有一个文件共有100行内容,请取出第50行内容

  head -n50 test | tail -n1

6、进程、网络、系统统计指令(简历可写)

(1)根据端口号查看进程 pid

  • windows : netstat -ano | findstr 端口号
  • linux : netstat -anp | grep 端口号

(2)根据进程的名称查找 pid

  • ps -ef | grep 进程名
  • ps aux | grep 进程名

7、Linux 权限

(1)认识 Linux 用户

Linux下有两种用户:超级用户(root)、普通用户

  • 超级用户:可以再linux系统下做任何事情,不受限制
  • 普通用户:在linux下做有限的事情。
  • 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”

(2)用户指令:

1、创建用户:

 useradd [用户名]

2、配置密码:

  passwd [用户名]

注意:输入密码的时候, 在控制台中不会有提示. 但实际上已经输入进去了

3、切换用户:

 su [用户名]

(3)文件权限(重点)

在这里插入图片描述

(4)chmod 命令: 修改文件访问权限

格式: (chmod [参数] 权限 文件名)

常用选项:

  • R-> 递归修改目录文件的权限
  • 说明: 只有文件的拥有者和 root 才可以改变文件的权限

方式 1:

  • +: 向权限范围增加权限代号所表示的权限
  • -: 向权限范围取消权限代号所表示的权限
  • =: 向权限范围赋予权限代号所表示的权限

用户符号:

  • u:拥有者
  • g:拥有者同组用
  • o:其它用户
  • a:所有用户

示例:

  # chmod u+w /home/abc.txt 
  # chmod o-x /home/abc.txt 
  # chmod a=x /home/abc.txt

方式 2: 数字相加(每个权限有对应的数字)

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 常用指令大全 的相关文章

  • Qt 嵌入式触摸屏 QMouseEvents 在收到 MouseButtonRelease 之前未收到

    我在带有触摸屏的小型 ARM 嵌入式 Linux 设备上使用 Qt 4 8 3 我的触摸屏配置了 tslib 并对其进行了校准 因此 etc 中有一个 pointcal 文件 我的触摸事件的位置工作得很好 但无论如何我都会在鼠标按下或鼠标释
  • 如何在 Vim 中突出显示 Bash 脚本?

    我的 Vim 编辑器自动突出显示 PHP 文件 vim file php HTML 文件 vim file html 等等 但是当我输入 vim file在里面写一个Bash脚本 它不会突出显示它 我如何告诉 Vim 将其突出显示为 Bas
  • 如何通过 makefile 在 Linux 上安装程序? [复制]

    这个问题在这里已经有答案了 可能的重复 Linux Unix make install 应该包含什么 https stackoverflow com questions 528399 what should linux unix make
  • 如何通过ssh获取远程命令的退出代码

    我正在通过 ssh 从远程计算机运行脚本 ssh some cmd my script 现在 我想在本地计算机上存储 shell 脚本的退出状态 我该怎么做 假设没有任何问题ssh其本身 其退出状态是在远程主机上执行的最后一个命令的退出状态
  • 如何将一个文本文件拆分为多个 *.txt 文件?

    我有一个文本文件file txt 12 MB 包含 something1 something2 something3 something4 有没有办法分开file txt分成 12 个 txt 文件 比方说file2 txt file3 t
  • 任何退出 bash 脚本但不退出终端的方法

    当我使用exitshell 脚本中的命令 该脚本将终止终端 提示符 有什么方法可以终止脚本然后停留在终端中吗 我的剧本run sh预计通过直接获取或从另一个脚本获取来执行 编辑 更具体地说 有两个脚本run2 sh as run sh ec
  • 在本地主机上使用相同的 IP 和端口创建套接字

    我在 Linux 上看到奇怪的行为 我看到远程端和本地端都显示相同的 IP 和端口组合 以下是 netstat 输出 netstat anp 网络统计grep 6102 tcp 0 0 139 185 44 123 61020 0 0 0
  • 在 scapy 中通过物理环回发送数据包

    我最近发现了 Scapy 它看起来很棒 我正在尝试查看 NIC 上物理环回模块 存根上的简单流量 但是 Scapy sniff 没有给出任何结果 我正在做的发送数据包是 payload data 10 snf sniff filter ic
  • 使用 ioctl 在 C++ 中以编程方式添加路由

    我编写了简单的 C 函数 添加了新路线 void addRoute int fd socket PF INET SOCK DGRAM IPPROTO IP struct rtentry route memset route 0 sizeof
  • /sys/device/ 和 dmidecode 报告的不同 CPU 缓存大小

    我正在尝试获取系统中不同缓存级别的大小 我尝试了两种技术 a 使用 sys device 中的信息 这是输出 cat sys devices system cpu cpu0 cache index1 size 32K cat sys dev
  • 正则表达式删除块注释也删除 * 选择器

    我正在尝试使用 bash 从 css 文件中删除所有块注释 我有以下 sed 命令的正则表达式 sed r s w s w d 这可以很好地去除块注释 例如 This is a comment this is another comment
  • 为 Linux 编译 Objective-C 应用程序(API 覆盖范围)

    我可能在这里问一些奇怪的问题 但我不确定从哪里开始 问题是我正在考虑使用 Obj C 和 Foundation 类在 Mac 上编写一个命令行工具 但存在一个非常大的风险 那就是我希望能够为不同的 Linux 发行版编译它 以便将来作为服务
  • 来自守护程序的错误响应:加入会话密钥环:创建会话密钥:超出磁盘配额

    我尝试在我的服务器上安装 docker 使用本教程 https docs docker com install linux docker ce ubuntu 我想远程运行 docker 镜像并使用 portainer Web 界面来管理一切
  • grep 排除文件的数组参数

    我想从我的文件中排除一些文件grep命令 为此我使用参数 exclude excluded file ext 为了更容易阅读 我想使用包含排除文件的 bash 数组 EXCLUDED FILES excluded file ext 然后将
  • Tomcat Intellij Idea:远程部署

    RackSpace 云服务器 Ubuntu 12 04 Intellij Idea 11 1 2 Windows 8 Tomcat 7 0 26 JDK 6 在 Intellij Idea 上 当我尝试在远程 Tomcat 7 服务器上运行
  • ioctl 命令的用户权限检查

    我正在实现 char 驱动程序 Linux 并且我的驱动程序中有某些 IOCTL 命令仅需要由 ADMIN 执行 我的问题是如何在 ioctl 命令实现下检查用户权限并限制非特权用户访问 IOCTL 您可以使用bool capable in
  • ALSA:snd_pcm_writei 调用时缓冲区不足

    当运行我最近从灰烬中带回来的旧程序时 我遇到了缓冲区不足的情况 该程序将原始声音文件完全加载到内存中 2100 字节长 525 帧 并准备 ALSA 进行输出 44 1khz 2 通道 有符号 16 位 if err snd pcm set
  • 适用于 Linux 的轻量级 IDE [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • linux下无法创建僵尸进程

    嗯 我有一个奇怪的问题 我无法在我的项目中创建僵尸进程 但我可以在其他文件中创建僵尸进程 有简单的说明 int main if fork 0 printf Some instructions n else sleep 10 wait 0 r
  • 在 .gitconfig 中隐藏 GitHub 令牌

    我想将所有点文件存储在 GitHub 上 包括 gitconfig 这需要我将 GitHub 令牌隐藏在 gitconfig 中 为此 我有一个 gitconfig hidden token 文件 这是我打算编辑并放在隐藏令牌的 git 下

随机推荐

  • Vue实现swiper轮播组件

    目前市面上有很多轮播组件 但是有的不满足业务需求 因此也需要自己首先轮播组件 以下是一个用vue实现的轮播组件 带动画效果 可以自行设置轮播速度 选择是否需要分页器等 效果如下 思路 结构 一个轮播组件应该由三部分组成 一是轮播的元素 如图
  • 如何在内存中执行二进制代码之win平台

    大家可能会很好奇 我们的任意exe程序 不就是在内存中执行的二进制机器码吗 不 今天我要说的是 我们如何把实现指定功能的一段二进制机器码 放到我们的程序中 然后在需要的时候 直接调用它 当然 这段代码也有其他用途 故而有了shell cod
  • 公众号分享

    配置 gt 登录公众号 gt 设置与开发 gt 公众号设置 gt 功能设置 gt js安全域名域名 gt 网页授权域名 1 先拿集成微信 js 路径写自己的 import wxshare from common js wxShareModu
  • 【树莓派之旅】第01期:一根网线搞定树莓派可视化界面

    一次偶然的机会接触到了树莓派 于是就购了一个板子 入手快两个月了 由于一直忙于工作的事情 所以也就没折腾 今天拿出来的时候发现要想把树莓派运行起来还需要一些其他外接设备 一时也没去某宝或某东上采购 就利用手头现有的资源玩一下 于是就有了此文
  • Sentinel实现动态配置的集群流控的方法

    这篇文章主要介绍了Sentinel实现动态配置的集群流控 本文给大家介绍的非常详细 对大家的学习或工作具有一定的参考借鉴价值 需要的朋友可以参考下 介绍 为什么要使用集群流控呢 相对于单机流控而言 我们给每台机器设置单机限流阈值 在理想情况
  • 部署 - 前端部署https服务,并配置安全证书

    项目中要实现跨tab复制 剪切 粘贴 所以涉及到操作剪切板的操作 选用了navigator clipboard 但是该api有必须在https的服务下才能用 所以就需要把项目部署城https服务 vue cli中可以配置webpack达到启
  • Android OkHttp源码阅读详解一

    博主前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住也分享一下给大家 点击跳转到教程 前言 源码阅读基于okhttp 3 10 0 Android中OkHttp源码阅读二 责任链模式 implementation com
  • 注解实现CRUD

    CRUD 我们可以在工具类创建的时候实现自动提交事务 这个是在MybatisUtils工具类里面的弄的 public static SqlSession getSqlSession return sqlSessionFactory open
  • react 加粗_React入门的家庭作业(1-2)

    作业前准备 React在他的官网上挂了一个入门教程 是做一个xxoo棋的小游戏 在教程的最后留下了6个作业题 现在就来完成一下 准备材料 作业是在已完成教程的基础上做的 所以这里预设已经做好了环境部署 写好了游戏代码 如果没有 可以把这个复
  • 深聊性能测试,从入门到放弃之:性能测试技术栈,看完这篇,保证刷新你对性能测试的认知~~

    性能测试技术栈 1 引言 2 性能测试基础 2 1 性能测试理论 2 2 测试开发技能 3 性能监听诊断 3 1 前端监听诊断 3 2 服务器监听诊断 3 2 1 Linux 3 2 2 Windows Server 3 3 中间件监听诊断
  • 实现http到https的重定向

    vim etc httpd conf httpd conf DocumentRoot var www html redirect temp https www a com RewriteEngine on RewriteRule https
  • tensorflow笔记【9】深度学习-几个经典网络的基本结构

    tensorflow笔记 9 深度学习 几个经典网络的基本结构 文章目录 前言 一 卷积神经网络 二 经典网络结构 1 自制CNN 2 LeNet 3 AlexNet 4 VGGNet 5 InceptionNet 6 ResNet 总结
  • Java - Java基础(一)

    一 计算机基础知识 1 计算机简介 第一台通用计算机 ENIAC 2 数据的存储和运算 计算机中对于数据的存储和运算 都是通过二进制数据来完成 3 人机交互方式 图形化界面 DOS命令行 D 切换盘符 dir 查看当前路径下的文件信息 cd
  • Android中的drawable像素密度适配详解

    本文大纲 1 为什么要分drawable xxx目录 2 Bitmap的介绍 3 不同drawable xxx中的图片内存测试 1 为什么要分drawable xxx目录 android项目资源中对于drawable文件夹可以分为以下类型的
  • 【Transformer】10、HRFormer:High-Resolution Transformer for Dense Prediction

    文章目录 一 背景 二 方法 三 效果 论文链接 https arxiv org abs 2110 09408 代码链接 https github com HRNet HRFormer 一 背景 ViT 的提出让人们看到了 Transfor
  • 一文弄懂神经网络中的BP反向传播算法

    注 本文转自 一文弄懂神经网络中的BP反向传播算法 Charlotte77 博客园 安利 Charlotte77 的深度学习系列博客 最近在看深度学习的东西 一开始看的吴恩达的UFLDL教程 英文版 有中文版就直接看了 后来发现有些地方总是
  • 网卡中断优化

    1 中断的配置 root zxinos etc init d irq balancer status Checking for service irqbalance running etc init d irq balancer 是linu
  • 浅谈sleep、wait、yield、join区别

    sleep sleep 方法是属于 Thread 类中的 sleep 过程中线程不会释放锁 只会阻塞线程 让出cpu给其他线程 但是他的监控状态依然保持着 当指定的时间到了又会自动恢复运行状态 可中断 sleep 给其他线程运行机会时不考虑
  • 小甲鱼学python学习笔记

    一 序章 1 python缩进问题 if a 0 else while a 0 2 字符串拼接与控制台输入输出 input 可从控制台读入数据 括号内地字符串为输入时的提示 输入结果可通过变量保存 print 控制台输出 s input p
  • Linux 常用指令大全

    我是目录 1 指令格式 2 Windows 和 Linux 通用内容 3 路径的命令 1 cd 切换到某个目录 相对路径 绝对路径 2 pwd 显示当前路径 3 ls 列出目录下的所有子目录与文件 或 文件的信息 4 目录 文件的指令 1