Cmder命令行工具

3,597 阅读3分钟

Cmder

comder是一个强大的命令行工具,安装使用了cmder之后就不需要再安装git

快捷键

  1. ctrl+T 新开标签
  2. alt+D 分屏
  3. ctrl+w 关闭当前标签

将cmder添加到鼠标右击

用管理员身份运行cmd,执行如下命令,前提是需要将cmder.exe 添加到环境变量

Cmder.exe /REGISTER ALL

在vscode中使用cmder

在settings.json中添加这三行配置

"git.enabled": true,
"git.path": "D:\\Y\\Software\\cmder\\vendor\\git-for-windows\\cmd\\git.exe",
"terminal.integrated.shell.windows": "D:\\Y\\Software\\cmder\\vendor\\git-for-windows\\bin\\bash.exe",

Cmder常用命令

路径操作

  1. pwd 查看当前路径
  2. ls 查看当前路径下的文件
  3. ls 查看当前目录下对应文件中的内容
  4. ls -l 显示文件并显示文件更新时间
  5. cd 更改路径

文件的增删改查

  1. touch 文件不存在则创建,如果文件存在则会更新文件更改的时间
  2. echo 输出内容到文件 echo > *.txt(一个箭头会覆盖两个箭头会追加)
  3. mkdir 创建一个文件夹 使用-p命令创建子文件夹 mkdir -p a/b/c;使用空格分隔创建多个文件夹 mkdir a b c
  4. cp 拷贝文件 cp 1.txt 2.txt 表示从 1.txt 拷贝到 2.txt;cp -r a b将目录a递归的复制一份到b目录
  5. rm 删除 rm 1.txt 删除一个文件 rm -r a 递归删除a文件夹中的所有文件
  6. open 使用默认的方式打开一个文件
  7. echo "" > 1.txt 清空一个文件(将一个空的字符串覆盖文件)
  8. mv 移动一个文件 mv 1.txt ;还可以使用mv重命名一个文件` mv 1.txt 2.txt //
  9. cat 查看文件的所有内容
  10. head 查看文件内容的前十行(使用-n <行数>查看前n行)
  11. tail 查看文件内容的后十行(同理)
  12. less 支持一段一段查看文件内容
  13. alt+.复制上一次输入的参数将1.txt 重命名为 2.txt`

操作成功或失败

使用如下命令查看操作返回的code,返回0为失败,其余返回其他值为成功

echo $?

使用操作符

"&&" 在一个命令成功之后执行后面的命令,反之失败则不执行

touch 2.txt && echo '222' >> 2.txt && head 2.txt

上面命令表示创建一个2.txt 的文件如果创建成功 就将'222'输出到2.txt文件 如果输出成功就查看2.txt文件中的内容。

";" 不管第一条命令是否成功都会执行后面的命令

创建脚本文件

执行方式: 两种方式执行脚本文件

./<文件>
sh<文件>

文件中存储所需要的所有命令,在文件中使用$1代替文件名就可以实现在命令行传参数

#!/usr/bin/env sh
mkdir $1
cd $1
touch index.html
touch style.css
touch main.js

echo -e "<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>" >> index.html

#!/usr/bin/env sh shebang 第一行表示使用的语言

上面代码就实现了一个bash脚本文件,他的语法就是bashscript语法

将创建的的命令行文件添加到环境变量,就可以在然后目录中使用该命令了就像使用ls cd一样。

工具

命令太多不好记怎么办?

安装 tldr 工具 全名为 too long didn't read 太长不看

yarn global add tldr  

使用tldr查看某个命令用法

tldr ls 
tldr touch
tldr cd

总结

脚本文件

除了在windows系统中运行脚本文件其他系统都需要先使用chmod +x <file>执行一下

如果你想要将创建的命令行文件不加任何命令就可以执行,只要将文件的路径添加到环境变量即可。

命令行中的命令为什么可以执行?

命令行的本质就是将一堆命令代码放到一个可执行文件中,然后将该文件的路径添加到环境变量。当在命令行中输入某个文件名,系统就会在配环境变量中的路径中查找是否有同名的文件,并执行或未找到报错。

那如果环境变量中有两个或多个路径中有同名的文件会发生什么?

如果是.exe就优先执行.exe。如果都是那就会执行的是在环境变量中顺序靠上的文件。