终端命令行|CLI工具|CMD|PowerShell

news2024/9/21 0:39:33

基本概念

终端是一个文本界面,用于执行基于文本的程序。
果你正在运行任何用于 web 开发的工具,你一定需要打开命令行并运行一些命令来使用你所选择的工具 (这样的工具被称为CLI 工具也就是命令行接口工具)。
命令行接口工具 (CLI 工具) 是什么?
CLI 工具是通过命令行界面与用户交互的程序。它们允许用户通过输入命令来执行特定的任务或操作。这些工具通常用于自动化、开发、系统管理和其他需要精确控制的任务。
终端、命令行与 CLI 工具的关系:

  • 终端:是一个显示和输入命令的窗口。
  • 命令行:是终端中实际执行命令的地方。
  • CLI 工具:是通过命令行执行的具体工具或程序。

Windows 和 Linux 系统上都有各种终端工具可以选择使用。

1. Windows 系统上的终端

  • 命令提示符(Command Prompt, CMD)
    • Windows 系统自带的终端工具。
    • 提供基本的命令行功能。
    • 适用于简单的文件操作和系统管理任务。
    • 启动方法:按 Win + R,输入 cmd,然后按回车。

image.png

  • PowerShell
    • 是 Windows 系统的高级命令行工具和脚本环境。
    • 提供更强大的功能和更丰富的命令集,支持脚本编写。
    • 适用于系统管理、自动化任务和高级操作。
    • 支持部分常用的 Linux 命令
    • 启动方法:按 Win + R,输入 powershell,然后按回车。

image.png

  • Windows Subsystem for Linux (WSL)
    • 允许在 Windows 上运行 Linux 发行版(如 Ubuntu、Debian)。
    • 提供了一个完整的 Linux 终端环境,适用于开发和系统管理。
    • 启动方法:安装 WSL 后,通过独立的 WSL 终端应用启动。

安装 WSL

2. Linux 系统上的终端

  • GNOME Terminal
    • GNOME 桌面环境的默认终端仿真器。
    • 提供基本的终端功能和一些高级特性(如标签页、分屏)。
    • 常见于 Ubuntu 和其他使用 GNOME 桌面环境的发行版。
  • Konsole
    • KDE 桌面环境的默认终端仿真器。
    • 提供丰富的功能和高度的可定制性。
    • 常见于 Kubuntu 和其他使用 KDE 桌面环境的发行版。
  • Xfce Terminal
    • Xfce 桌面环境的默认终端仿真器。
    • 轻量级,适用于资源有限的系统。
    • 常见于 Xubuntu 和其他使用 Xfce 桌面环境的发行版。
  • LXTerminal
    • LXDE 桌面环境的默认终端仿真器。
    • 轻量级,适用于低资源消耗的系统。
    • 常见于 Lubuntu 和其他使用 LXDE 桌面环境的发行版。
  • Tilix
    • 一个高级的终端仿真器,支持分屏、多标签页等功能。
    • 提供丰富的自定义选项和高级功能。
    • 可以在多种 Linux 发行版上安装和使用。

必须使用终端吗

如果使用的工具是这样像 Visual Studio Code,有大量的扩展可以作为代理使用终端命令,而不需要直接使用终端。
image.png

基本的内置终端命令

无论是在 Windows (指的是cmd)还是 Linux 系统上,终端命令都是进行系统管理和操作的重要工具。以下是一些常见的基本内置终端命令:

  • 文件和目录操作命令:如 lscdmkdircpmvrm
  • 文件内容查看命令:如 catmorelessheadtail
  • 系统信息和状态查看命令:如 pwddatepstopdfdu
  • 网络相关命令:如 ipconfigifconfigpingtracertnetstat
  • 帮助和手册命令:如 --helpman
1. 文件和目录操作命令
  • 列出目录内容
    • Windows: dir
    • Linux: ls
      • -l 选项显示更多信息
  • 更改目录
    • Windows: cd [目录名]
    • Linux: cd [目录名]
# 进入上一级目录
cd ..

# 进入上一级目录
cd ...

# 当前目录的src文件夹
cd ./src

  • 创建目录
    • Windows: mkdir [目录名]
    • Linux: mkdir [目录名]
  • 删除目录
    • Windows: rmdir [目录名]
    • Linux: rmdir [目录名]rm -r [目录名]
  • 创建文件
    • Windows:如 echo. > filename.txttype nul > filename.txtcopy con filename.txt
    • **Linux **:如 touch filename.txtecho "" > filename.txtcat > filename.txt> filename.txt
  • 复制文件
    • Windows: copy [源文件] [目标文件]
    • Linux: cp [源文件] [目标文件]
  • 移动或重命名文件
    • Windows: move [源文件] [目标文件]
    • Linux: mv [源文件] [目标文件]
  • 删除文件
    • Windows: del [文件名]
    • Linux: rm [文件名]
2. 文件内容查看命令
  • 显示文件内容
    • Windows: type [文件名]
    • Linux: cat [文件名]
  • 分页显示文件内容
    • Windows: more [文件名]
    • Linux: more [文件名]less [文件名]
  • 显示文件开头部分
    • Windows: 无直接命令(可以使用 PowerShell 的 Get-Content [文件名] -Head [行数]
    • Linux: head [文件名]
  • 显示文件结尾部分
    • Windows: 无直接命令(可以使用 PowerShell 的 Get-Content [文件名] -Tail [行数]
    • Linux: tail [文件名]
3. 系统信息和状态查看命令
  • 显示当前路径
    • Windows: cdchdir
    • Linux: pwd
  • 查看系统时间和日期
    • Windows: timedate
    • Linux: date
  • 查看系统进程
    • Windows: tasklist
    • Linux: pstop
  • 查看磁盘使用情况
    • Windows: dirchkdsk
    • Linux: dfdu
4. 网络相关命令
  • 查看网络配置
    • Windows: ipconfig
    • Linux: ifconfigip a
  • 测试网络连接
    • Windows: ping [地址]
    • Linux: ping [地址]
  • 显示路由信息
    • Windows: tracert [地址]
    • Linux: traceroute [地址]
  • 显示网络状态
    • Windows: netstat
    • Linux: netstat
5. 帮助和手册命令
  • 查看命令帮助信息
    • Windows: [命令] /?
    • Linux: [命令] --help
  • 查看手册页
    • Windows: 无直接命令(可以使用 PowerShell 的 Get-Help [命令]
    • Linux: man [命令]

管道命令

管道命令(Pipeline)是命令行中的一种强大工具,用于将一个命令的输出直接作为下一个命令的输入。这使得可以将多个命令组合起来,进行复杂的数据处理和操作。管道命令在 Unix/Linux 系统和 Windows 系统的 PowerShell 中都非常常见。

1. Unix/Linux 系统中的管道命令

在 Unix/Linux 系统中,管道符号是 |,用于连接两个或多个命令。

  • 列出当前目录中的文件并过滤包含特定字符串的文件
ls -l | grep "pattern"
  • 显示文件内容并分页显示
cat filename.txt | less
  • 统计文件中的行数、单词数和字符数
cat filename.txt | wc
  • 查找文件中包含特定字符串的行并排序
grep "pattern" filename.txt | sort
2. Windows PowerShell 中的管道命令

在 Windows PowerShell 中,管道符号同样是 |,用于连接两个或多个命令。

  • 列出当前目录中的文件并过滤包含特定字符串的文件
Get-ChildItem | Where-Object { $_.Name -like "*pattern*" }
  • 显示文件内容并分页显示
Get-Content filename.txt | Out-Host -Paging
  • 统计文件中的行数
Get-Content filename.txt | Measure-Object -Line
  • 查找文件中包含特定字符串的行并排序
Select-String -Path filename.txt -Pattern "pattern" | Sort-Object LineNumber

添加第三方 CLI 工具

上面那些都是系统自带的一些内置命令,让我们看看如何安装和使用第三方 CLI 工具。
第三方 CLI 工具是指那些由外部开发者或组织创建的命令行工具,它们通常用于特定任务,如版本控制、包管理、构建和部署等。以下是一些常见的第三方 CLI 工具及其使用方法。

npm - Node.js 包管理工具

npm(Node Package Manager)是 Node.js 的包管理工具。它是一个命令行工具,用于安装、管理和发布 Node.js 包(模块)。
npm 通常与 Node.js 一起安装。可以从 Node.js官网 下载并安装 Node.js。
Node.js — Download Node.js®
window操作系统上直接下载安装就可以,需要注意的就是可能需要配置环境变量。
基本命令

npm init                   # 初始化一个新的 Node.js 项目
npm install [包名]         # 安装一个包
npm install -g [包名]      # 全局安装一个包
npm update                 # 更新所有依赖包
npm uninstall [包名]       # 卸载一个包

包的全局安装与项目安装

在使用包管理工具(如 npm)时,通常有两种安装模式:全局安装和项目安装。了解这两种安装模式的区别及其适用场景非常重要。
软件包管理

使用 prettier 工具

Prettier 是一款专门为前端开发人员设计的代码格式化工具,专注于基于 javascript 的语言,并增加了对 HTML、CSS、SCSS、JSON 等的支持。Prettier 能够:

  • 代码一致性: Prettier 会根据预定义的规则自动格式化代码,从而确保团队成员编写的代码风格一致。这样可以减少代码审查时的争论,并使代码库更易于维护。
  • 提高可读性: 通过统一的代码风格,Prettier 使代码更易于阅读和理解。格式化后的代码具有一致的缩进、换行和空格使用,使得开发者在阅读代码时不必适应不同的编写风格。
  • 节省时间: 开发者不再需要手动调整代码格式,从而节省了时间和精力。Prettier 可以在保存文件时自动格式化代码,使得开发者可以专注于编码逻辑,而不是代码样式。
  • 减少错误: 统一的代码风格可以减少由于格式问题引发的错误。例如,Prettier 会自动添加缺失的分号或修正多余的空格,这有助于减少语法错误。
  • 方便代码审查: 由于所有代码都按照相同的格式进行书写,代码审查时可以更专注于代码的逻辑和功能,而不是代码样式问题。
  • 与其他工具集成: Prettier 可以与 ESLint、TSLint 等工具集成使用,从而同时实现代码风格和代码质量的统一管理。此外,Prettier 还可以与 Git hooks(如 Husky)结合,在提交代码前自动格式化代码,确保代码库中的代码始终符合规范。

What is Prettier? · Prettier
安装 Prettier

  • 使用 npm 安装:
npm install --global prettier

命令运行完成后,Prettier 工具现在可以在终端中的文件系统中的任何位置使用。
在试试这个

prettier

输出应该是这样的:
image.png
在命令行中使用 Prettier

  • 格式化单个文件:
prettier --write src/index.js
  • 格式化整个项目:
prettier --write .

与编辑器集成
在项目中创建配置文件: 创建 .prettierrc 文件来配置 Prettier。例如:

{
  "semi": false,
  "singleQuote": true,
  "printWidth": 80
}

VS Code插件使用
安装 Prettier 插件,并在设置中启用自动格式化。
image.png

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

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

相关文章

延伸--人工鱼群算法

目录 基本原理 改进策略 代码示例 应用实例 总结 人工鱼群算法在解决多峰函数问题中的具体应用案例和效果如何? 双群人工鱼群算法与传统人工鱼群算法相比,有哪些具体的改进和优势? 步长自适应调整在人工鱼群算法中的实现机制是什么&a…

vue3踩坑问题记录

//vue3element-plus //1、placeholder换行显示 const startTxt ref() const contentText ref<any>() startTxt.value "请描述问题内容、例如&#xff1a;" historyData.prompt.forEach((el:any)>{contentText.value \n${el.question}}) <ElInputv-mo…

点赞收藏测试文章(让我看看有多少机器人在刷互动量)

前言 这里有一些看似合理但实际毫无意义的句子&#xff0c;我需要用它来看看跟我互动的有多少机器人 如果你是人类用户&#xff0c;可以用评论来代替点赞&收藏&#xff0c;爱你~ 目录 前言 正文 1. 紫色的大象在夜空中游泳。 2. 月亮上的饼干师烤出了一片海洋。 3. 时…

数据结构(邓俊辉)学习笔记】词典 03—— 排解冲突(1)

文章目录 1. 一山二虎2. 泾渭分明3. 开放定址4. 线性试探5. 赖惰删除 1. 一山二虎 此前我们已经多次指出&#xff0c;对于需要动态维护的散列表冲突是不可避免的&#xff0c;无论你的散列函数设计的有多么精妙&#xff0c;因此我们不得不回答的第二个重要问题就是一旦发生冲突&…

苹果电脑维护工具:CleanMyMac X让你的Mac焕发新生!

在我们的数字生活中&#xff0c;苹果电脑&#xff08;Mac&#xff09;已成为不可或缺的一部分&#xff0c;无论是为工作披星戴月&#xff0c;还是为娱乐畅游云端。但是&#xff0c;就像任何长时间运行的机器一样&#xff0c;Mac也可能会因为积累的文件和不必要的数据而开始变慢…

DAMA学习笔记(十一)-元数据管理

1.引言 元数据最常见的定义是“关于数据的数据”。它描述了数据本身&#xff08;如数据库、数据元素、数据模型&#xff09;&#xff0c;数据表示的概念&#xff08;如业务流程、应用系统、软件代码、技术基础设施&#xff09;&#xff0c;数据与概念之间的联系&#xff08;关系…

60页PPT数据湖 + 数据中台实施方案

关注智慧方案文库&#xff0c;学习8700多份智慧城市&#xff0c;智慧医院&#xff0c;智能制造&#xff0c;数字化转型&#xff0c;新质生产力&#xff0c;算力&#xff0c;大模型&#xff0c;AIGC&#xff0c;工业互联网&#xff0c;数字孪生......持续更新热点行业解决方案。…

.NET C# Dictionary Hashtable

.NET C# Dictionary & Hashtable 文章目录 .NET C# Dictionary & Hashtable1 Dictionary1.1 底层实现1.2 优点1.3 缺点 2 Hashtable2.1 底层实现2.2 优点2.3 缺点 3 对比总结4 遍历方式&#xff0c;与耗时对比foreach遍历Keys遍历IDictionaryEnumerator遍历耗时对比 1 …

自动化报表实践小结

这一天午休刚休息完&#xff0c;财务经理就喊我&#xff1a;“***&#xff0c;我们找个会议室聊聊”。我是一脸茫然&#xff0c;心里想着&#xff0c;我跟他也没什么私下的工作交流啊&#xff0c;能聊啥呢&#xff0c;还要找个会议室&#xff1f;究竟是什么事情呢&#xff1f;有…

VsCode无法远程调试

一、问题描述 按照《VsCode gdb gdbserver远程调试C程序》中介绍的方法&#xff0c;配置好VsCode后&#xff0c;按下F5快捷键&#xff0c;或点击“Start Debugging”按钮&#xff0c;没有反应&#xff0c;无法启动调试&#xff1a; 二、解决方法 针对该问题&#xff0c;我尝…

【人工智能】Transformers之Pipeline(八):文生图/图生图(text-to-image/image-to-image)

目录 一、引言 二、文生图/图生图&#xff08;text-to-image/image-to-image&#xff09; 2.1 文生图 2.2 图生图 2.3 技术原理 2.3.1 Diffusion扩散模型原理 2.3.2 Stable Diffusion扩散模型原理 2.4 文生图实战 2.4.1 SDXL 1.0 2.4.2 SD 2.0 2.5 模型排名 三、总…

​【香菇带你学Mysql】Mysql超长执行sql定位和优化【建议收藏】

本文为MySQL数据库管理员和开发人员提供了一套全面的超时SQL定位和优化解决方案。通过合理运用这些方法和技巧&#xff0c;可以显著提升MySQL数据库的性能和稳定性&#xff0c;减少超时SQL语句的发生&#xff0c;确保数据库的高效运行。 0. 引言 最近某个Mysql数据库频繁告警…

统信UOS激活系统故障

统信UOS激活系统故障 1. 离线环境下如何激活系统 ①点击右下角的授权管理 ②点击“激活” ③输入激活码,并点击确定 ④离线环境下此时会弹出二维码,使用微信去扫码,按照提示确定激活 ⑤微信确定以后,激活端会显示成功 2. 激活过程中提示服务器连接失败 激活时如果提示服…

Java多商户新零售超市外卖商品系统

解锁新零售奥秘&#xff0c;多商户外卖超市商品系统大揭秘&#xff01; &#x1f31f; 开篇&#xff1a;新零售时代的浪潮 在这个日新月异的数字化时代&#xff0c;新零售已悄然成为商业变革的新风口。想象一下&#xff0c;足不出户就能逛遍全城商家&#xff0c;心仪商品一键…

智算与大模型人才白皮书学习

目录 智算定义 智算的相关政策 公司的智算战略 服务提供者的定义及服务内容 智算人才需求 典型智算参与者的角色要求 业务流程全过程的分解 自己的定位 智算定义 智算通过智能化技术手段优化和提升技术系统的功能和性能&#xff0c;是为满足未来人工智能发展 和相关应用…

如何快速发现SIM卡托潜在问题?

手机SIM卡托通常是指放置SIM卡的卡槽或卡托。SIM卡托位于手机的侧面或顶部&#xff0c;用于插入SIM卡以连接到移动网络。通常&#xff0c;用户可以通过将SIM卡插入手机SIM卡托来激活手机服务、接收通话、发送短信和使用移动数据。SIM卡托一般设计成易于插拔&#xff0c;使用户能…

DataWhale AI夏令营-英特尔-阿里天池LLM Hackathon

英特尔-阿里天池LLM Hackathon 项目思路项目背景项目思路 Lora微调Qwen模型使用ipex_llm推理加速Gradio交互 项目名称&#xff1a;医疗问答助手 项目思路 项目背景 在当今医疗领域&#xff0c;智能问答系统正在逐步成为辅助医疗诊断的重要工具。随着自然语言处理技术的发展&…

基于STM32的智能家居灯光控制系统

目录 引言环境准备工作 硬件准备软件安装与配置系统设计 系统架构硬件连接代码实现 初始化代码灯光控制代码应用场景 智能家居灯光控制办公环境智能照明常见问题及解决方案 常见问题解决方案结论 1. 引言 随着智能家居技术的发展&#xff0c;灯光控制系统在提升家居生活品质…

尝鲜 HarmonyOS NEXT 开发环境搭建

申请好 HarmonyOS NEXT的开发套件白名单后&#xff0c;就可以下载最的开发套件了&#xff0c;最新的开发工具更新时间是2024-06-17&#xff0c;DevEcoStudio5.0-API12-x86-402。下载后是这样的&#xff1a; 我用的是 MAC PRO&#xff0c;所以下载的是 MAC 版&#xff0c;这里有…

VMware Linux 虚拟机设置了共享文件夹找不到如何解决?

如果在‌虚拟机中设置了‌共享文件夹但找不到&#xff0c;可能是因为没有正确执行挂载操作。挂载操作是将主机上的共享文件夹与虚拟机中的某个目录关联起来的步骤。 目前已经设置了共享文件夹&#xff0c;但是在Linux 上并没有找到 执行以下操作&#xff1a; mkdir /mnt/hgf…