命令行笔记

@命令行笔记

create by db on 2018-12-30 15:42:36
Recently revised in 2018-12-31 03:42:31

Hello 小伙伴们,如果觉得本文还不错,麻烦点个赞或者给个 star,你们的赞和 star 是我前进的动力!GitHub 地址

 最近在网易云课堂看了米斯特吴老师讲的关于命令行的课程,写下这篇学习笔记,以记录自己的学习心得。现分享给大家,以供参考。

 如果大家有兴趣,可以戳这里观看原视频:提高办公效率必学的键盘操作技巧

 作为一只菜鸟,这是我掘金分享的第三篇文章。如有不足,还请多多指教,谢谢大家。

前言

关于键盘

 什么是键盘?————我就不啰嗦了。马上9012了,也许你没见过猪跑,但估计不会没敲过键盘。

 当然,如果你非要问个究竟,那我只能说:

这——就是键盘!

————有木有流口水呢~~反正我在流……

  1. Mac系统下使用的是termainal是命令行运行工具
  2. Windows系统下使用的cmd是命令行工具
    问题:两者之前的命令不通用,所以需要统一(powershell)

正文

命令一览

命令 英文全称 功能 备注
pwd Print Working Directory 显示指定路径上所有文件或目录的信息
cd Change Directory 更改目录
ls List 列出当前路径下的内容
mkdir Make Directory 新建文件夹
open open 打开文件 只能在Mac使用
touch 新建文件 只能在Mac使用
mv move 移动/重命名文件
rm remove 删除文件 直接删除,不会放入回收站

命令详解

dir

  • 显示指定路径上所有文件或目录的信息

它的格式为”dir [盘符:][路径][文件名] [参数]”,
比如
DIR E:\FF.M3U
| 参数 | 功能 |
| —— | ————————————————- |
| 无参数 | :查看当前所在目录 的文件和文件夹。 |
| /s | :查看当前目录已经其所有子目录的文件和文件夹。 |
| /a | :查看包括隐含文件的所有文件。 |
| /ah | :只显示出隐含文件。 |
| /w | :以紧凑方式(一行显示5个文件)显示文件和文件夹。 |
| /p | :以分页方式(显示一页之后会自动暂停)显示。 |
more:前面那个符号是“\”上面的那个,叫做重定向符号,就是把一个
命令的结果输出为另外一个命令的参数。more也是一个命令,dir /w |more
得到的结果和dir /w /p的结果是一样的。
dir>a.txt 新建文件
第一种方法:
echo veryhuo.com > A.txt 重定向输出,此时创建文本文件A.txt;
echo veryhuo.com >>A.txt 向A.txt文件中追加信息…..;

第二种方法:
copy con A.txt 创建A.txt文本文件;
veryhuo.com      输入内容;
    按CTRL+Z键,之后再回车;

第三种方法:
edit A.txt 编辑A.txt文本文件,调用command.com中创建文本文件的命令,
如果A.txt文件不存在,则创建文件
. 输入内容,保存。
其他的参数大家可以用:dir/?查看。

md

  • (mkdir)–建立目录

它的格式为”md [盘符][路径]”,
例如md TEMP

rd

  • (rmdir)–删除目录
    格式为”RD [盘符][路径]”。
    注意:该命令只能删除空目录,并且不能删除当前目录。

    cd

  • 进入指定目录
    格式为” CD [路径]”
    例如CD HAPPY
    注意:只能进入当前盘符中的目录。其中”CD"为回到根目录,”CD..”为回到上一层目录。

    copy

  • copy–拷贝文件
    格式为”COPY [源目录或文件] [目的目录或文件]”,
    比如COPY C:\*.COM D:\
    注意:使用该命令进行文件拷贝时,目的目录一定要存在。

    del

  • 删除文件
    格式为”DEL [盘符][路径][文件名] [参数]”,
    比如DEL C:\DATA\*.BAK
    它有一个参数:”/P”,可以使用户在删除多个文件时对每个文件都显示删除询问

    ren

  • –改名
    格式为”REN [原名] [现名]”,7.0以后版本的DOS都支持对文件名和目录名的修改,而以前的DOS只能修改文件名。

    type

  • 显示文本文件
    格式为”TYPE [文件名]”,能对文本文件进行查看。

1) discopy–磁盘复制
[功能] 复制出一个和原来磁盘内容一模一样的磁盘
[格式] diskcopy 源驱动器名 目的驱动器名
[说明] 它的主要用途就是用来备份。
1) deltree–删除目录树
[格式] [C:][path]DELTREE [C1:][path1] [[C2:][path2] […]]
[说明] 这个命令将整个指定目录树全部消灭,而不管它是否是只读、隐藏与否。
1) mem–查看你的计算机内存有多少,以及内存的使用情况。
[格式] mem

12) chkdsk–检查你的磁盘的使用情况。
[格式] chkdsk 磁盘名
[说明] 例如要检查A盘使用情况,就输入chkdsk A: ,检查c盘使用情况,就输入chkdsk C: ,如果直接输入chkdsk,就检查当前磁盘的使用情况。
13) sys–传递系统文件命令。将DOS的两个隐含的系统IO.SYS和MSDOS.SYS传送到目标磁盘的特定位置上,并将COMMAND.COM文件复制过去。完成后,目标盘成为DOS的启动盘。
[格式] [C:][path]SYS [C1:][path] d2:
[说明] 由于这几个文件需要复制到特定位置上,所以用COPY命令完成的复制未必能够启动机器。能过SYS命令,DOS可以将目标盘已占据特定位置的文件移动,并将系统文件复制到相应位置上。参数C1:path用来指明系统文件所在目录。如不指明,则缺省为当前盘的当前目录。所以这个命令一般要在源盘的根目录进行。
14) pass–设定DOS寻找.COM、.EXE、.BAT文件的所在目录
[格式] path=[[drive:]path[;…]]或path
[说明] 只打path没有参数时,只显示环境变量内容。有参数时,重新设置path变量。在没有指定path环境变量时,用户发出的命令,DOS首先判断其是否为内部命令,再查找当前目录中是否有主文件名是该命令的可执行文件,如果均不是,则显示信息“Bad command or filename”。如果发出了指定路径的命令,则在指定径中依次查找,仍找不到则出现上述提示。
15) cls–清除显示器屏幕上的内容,使DOS提示符到屏幕左上角。
[格式] cls
16) time–显示和设置DOS的系统时间
[格式] time [hh[:mm[:ss[.cc]]]
17) date–显示和设置DOS的系统日期
[格式] date [MM-DD-YY]
18) ver–显示正在运行的DOS系统版本号
[格式] ver
三、DOS的外部命令
DOS的外部命令就是一些应用程序,能够使用户的操作更加方便和深入。这些外部命令都是以文件的形式存在,Windows系统的DOS外部命令保存在Windwos主目录下的”Command”目录中。下面这些是常用的一些DOS外部命令。
1)FORMAT(Format.COM)–格式化命令
FORMAT命令可以完成对软盘和硬盘的格式化操作
格式为”FORMAT [盘符] [参数]”,例如:”FORMAT A: /S”。
它有两个常见的参数:

/Q:进行快速格式化;
/S:完成格式化,并将系统引导文件拷贝到该磁盘。

注意:该命令会清除目的磁盘上的所有数据,一定要小心使用。如果进行了普通的格式化,那磁盘上的数据还有可能恢复,但如果加上了”/Q”,那要恢复就比蹬天还难了。
2) EDIT(Edit.COM)–编辑命令
其实它就是一个文本编辑软件,使用它可以在DOS下方便地对文本文件进行编辑,格式为”EDIT [文件名] [参数]”。
3) SYS(Sys.COM)–系统引导文件传输命令
它能够将IO.SYS等几个文件传输到目的磁盘,使其可以引导、启动。
格式为”SYS [盘符]”
4) ATTRIB(Attrib.EXE)–文件属性设置命令
通过该命令,我们可以对文件进行属性的查看和更改。
格式为”ATTRIB [路径][文件名] [参数]”,如果不加参数则为显示文件属性。
它的参数有”+?”和”-?”两种,”?”代表属性代号,这些代号有:”H”隐藏;”S”系统;”R”只读,”+”表示赋予,”-“表示去除。
5) XCOPY(Xcopy.EXE)–拷贝命令
该命令在”COPY”的基础上进行了加强,能够对多个子目录进行拷贝。它的参数比较多,但是最常用的是”/S”,它可以对一个目录下属的多个子目录进行拷贝,另外”/E”可以拷贝空目录。
格式为”XCOPY [源路径][源目录/文件名] [目的目录/文件名] [参数]”。
6) SCANDISK(Scandisk.EXE)–磁盘扫描程序
这个命令在实际的操作中有很大的用处,它能对磁盘进行扫描并修复,能够解决大部分的磁盘文件损坏问题。格式为”SCANDISK [盘符:] [参数]”下面是它的几个参数:

/fragment [驱动器名:\路径\文件名]:使用这个参数可以显示文件是否包含有间断的块,我们可以通过运行磁盘整理程序来解决这个问题;
/all:检查并修复所有的本地驱动器;
/autofix:自动修复错误,即在修复时不会出现提示;
/checkonly:仅仅检查磁盘,并不修复错误;
/custom:根据Scandisk.ini文件的内容来运行Scandisk,Scandisk.ini是一个文本文件,它包含了对Scandisk程序的设置,其中的[custom]块是在加上”/custom”参数后才执行的,用户可以根据自己的不同情况来进行不同的设置;
/nosave:在检查出有丢失簇后直接删除,并不转化为文件;
/nosummary:不显示检查概要,完成检查后将直接退出程序;
/surface:在完成初步检查后进行磁盘表面扫描;
/mono:以单色形式运行Scandisk。

我们可以根据不同的情况来加上不同的参数。我们可以执行”scandisk /all /checkonly /nosave /nosummary”来完成对磁盘的检查并且自动退出,另外还可以编辑scandisk.ini文件中设置,再运行”scandisk /custom”。如果被损坏的文件比较多,我们可以使用”/autofix”来进行自动修复,不然会忙死你的。
7) CHKDSK(Chkdsk.EXE)–磁盘检查命令
它会检查磁盘,并会显示一个磁盘状态报告。格式为”CHKDSK [盘符:] [参数]”,最常用的参数是”/F”,可以对文件错误进行修复。
8) MOVE(Move.EXE)–文件移动命令
使用它可以对文件进行移动。
格式为”MOVE [源文件] [目的路径]”。
9) DELTREE(Deltree.EXE)–删除命令
DELTREE是DEL命令的超级加强版,它不仅可以删除文件,并且会将指定目录和其下的所有文件和子目录一并删掉。使用它,我们可以很方便的对目录进行彻底的删除。
格式”DELTREE [文件/路径] [参数]”,
参数有一个”/Y”,使用时系统会对每个文件进行询问,回答”Y”后才删除。

10) FDISK(Fdisk.EXE)–分区命令
更多的DOS命令
命令 功能 命令 功能
ctty 改变控制设备 attrib 设置文件属性
emm386   扩展内存管理 defrag 磁盘碎片整理
fdisk 硬盘分区 doskey  调用和建立DOS宏命令
lh/loadhigh 将程序装入高端内存 debug 程序调试命令
move 移动文件,改目录名 fc  文件比较
prompt  设置提示符 more 分屏显示
smartdrv 设置磁盘加速器 set 设置环境变量
subst 路径替换 setver 设置版本
xcopy     拷贝目录和文件 vol  显示指定的磁盘卷标
大家如果感兴趣的话,不妨自己在DOS窗口中打打这些命令试试

四、关于网络的常用命令

  1. ping
    ping 主机ip或名字:向目标主机发送4个icmp数据包,测试对方主机是否收
    到并响应,一般常用于做普通网络是否通畅的测试。但是ping不同不代表网
    络不通,有可能是目标主机装有防火墙并且阻止了icmp响应。
    ping -t :不停的发送数据包。当然都很小,不能称作攻击。有些人自己写
    了一些类似于ping命令的程序,不停的发送很大的数据包,以阻塞目标主机
    的网络连接。
  1. net
    这个命令是网络命令中最重要的一个,必须透彻掌握它的每一个子命令的用法,因为它的功能实在是太强大了 在这里,我们重点掌握几个常用的子命令。
    net view
    使用此命令查看远程主机的所有共享资源。命令格式为net view \IP。
    net use
    把远程主机的某个共享资源影射为本地盘符,图形界面方便使用。命令格式为net use x: \IP\sharename。上面一个表示把192.168.0.5IP的共享名为magic的目录影射为本地的Z盘。下面表示和192.168.0.7建立IPC$连接(net use $”>\IP\IPC$ “password” /user:”name”),
    建立了IPC$连接后,呵呵,就可以上传文件了:copy nc.exe $”>\192.168.0.7\admin$,表示把本地目录下的nc.exe传到远程主机,结合后面要介绍到的其他DOS命令就可以实现入侵了。
    net start
    使用它来启动远程主机上的服务。当你和远程主机建立连接后,如果发现它的什么服务没有启动,而你又想利用此服务怎么办?就使用这个命令来启动吧。用法:net start servername,如图9,成功启动了telnet服务。
    net stop
    入侵后发现远程主机的某个服务碍手碍脚,怎么办?利用这个命令停掉就ok了,用法和net start同。
    net user
    查看和帐户有关的情况,包括新建帐户、删除帐户、查看特定帐户、激活帐户、帐户禁用等。这对我们入侵是很有利的,最重要的,它为我们克隆帐户提供了前提。键入不带参数的net user,可以查看所有用户,包括已经禁用的。下面分别讲解。
    1,net user abcd 1234 /add,新建一个用户名为abcd,密码为1234的帐户,默认为user组成员。
    2,net user abcd /del,将用户名为abcd的用户删除。
    3,net user abcd /active:no,将用户名为abcd的用户禁用。
    4,net user abcd /active:yes,激活用户名为abcd的用户。
    5,net user abcd,查看用户名为abcd的用户的情况
    net localgroup 查看所有和用户组有关的信息和进行相关操作。键入不带参数的net localgroup即列出当前所有的用户组。在入侵过程中,我们一般利用它来把某个帐户提升为administrator组帐户,这样我们利用这个帐户就可以控制整个远程主机了。
    net time
    这个命令可以查看远程主机当前的时间。如果你的目标只是进入到远程主机里面,那么也许就用不到这个命令了。但简单的入侵成功了,难道只是看看吗?我们需要进一步渗透。这就连远程主机当前的时间都需要知道,因为利用时间和其他手段(后面会讲到)可以实现某个命令和程序的定时启动,为我们进一步入侵打好基础。用法:net time \IP。

  2. netstat
    netstat 主机:查看主机当前的tcp/ip连接状态,如端口的状态。

  3. nbtstat
    nbtstat 主机:查看主机使用的NetBIOS name。

  4. tracert
    tracert 主机:查看从你自己到目标逐机到底经过了那些路径。如:
    tracert www.ncie.gov.cn 然后等待。。。就会看到你经过的一个个路由节
    点,一般大一点的路由器,如电信的主干路由,除了ip以外,都有英文标示
    的。

  5. pathping
    pathping 主机:类似tracert,但可以显示一些tracert不能显示出来的信
    息。可以自己试试。

  6. ftp
    字符方式的ftp,我喜欢用;)不用装cuteftp了。

  7. telnet
    字符方式的远程登录程序,是网络人员极其爱用的远程登录程序。我最近常
    用来调试邮件服务器。

  8. ipconfig
    非常有用的网络配置、排错。。。命令。
    不加参数显示当前机器的网络接口状态。
    /all 先是详细的信息。
    /release 释放当前ip。
    /renew 重新申请ip。
    /flushdns 刷新dns缓存。
    /registerdns 重新栽dns服务器上注册自己。
    。。。。。。

  9. arp 操作当前的arp缓存。

-a 显示arp缓存。
-d 删除一条缓存纪录。
-s 田家一条缓存纪录。

  1. nslookup 排除dns错误的利器。是一个交互的工具。使用之前请先努力弄清楚dns的作用以及dns的工作原理。

xcopy是一个外部命令,也就是说,是一个小程序,有的时候会发现软盘上没有,硬盘上也没有。。。昏倒。。。当然勇气来使比copy好用,我喜欢加/e参数。
smartdrv.exe 加载磁盘缓存,参数是缓存的大小,单位是kb。
如:smartdrv 32768 就是加载32M的缓存。
缓存的作用在你安装WIN2K的时候非常明显!不加缓存装WIN2K PRO要3小时左右,加载8M缓存后,只要30分钟。
原理是在内存中划分出一块区域,在安装期间不断地把硬盘上的数据读取到那块缓存区域中,充分利用了内存。

AT和任务计划作用一样。
以下是使用方法,可以通过在命令提示符下面输入:AT /?获得帮助。

AT 命令安排在特定日期和时间运行命令和程序。
要使用 AT 命令,计划服务必须已在运行中。

AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]] 
AT [\\computername] time [/INTERACTIVE] 
[ /EVERY:date[,...] | /NEXT:date[,...]] "command" 

\\computername 指定远程计算机。 如果省略这个参数,会计划在本地计算机上运行命令。 
\\127.0.0.1代表本机。和不加这个参数意思一样。 

id 指定给已计划命令的识别号。 
用来识别任务,比如你要添加好几个任务,ID=1就代表第一个喽! 

/delete 删除某个已计划的命令。如果省略 id, 
计算机上所有已计划的命令都会被删除。 
/yes 不需要进一步确认时,跟删除所有作业 
的命令一起使用。 
time 指定运行命令的时间。 
/interactive 允许作业在运行时,与当时登录的用户 
桌面进行交互。 
/every:date[,...] 每个月或每个星期在指定的日期运行命令。 
如果省略日期,则默认为在每月的本日运行。 
/next:date[,...] 指定在下一个指定日期(如,下周四)运行命令。 
如果省略日期,则默认为在每月的本日运行。 
"command" 准备运行的 Windows NT 命令或批处理程序。

## 附加小技巧

自定义系统程序快捷键;
> 开始 → 程序 → 属性 → 快捷键

PPT设置撤销次数:
> 文件 → 选项 → 高级 → 设置最多可取消次数`150`次

word设置自动保存时间:
> 文件 → 选项 → 保存 → 设置保存自动回复信息时间间隔`1`分钟

# 总结 

 键盘敲得好,对象找得早。这样不用多久,你就会升职加薪、当上总经理、出任CEO、迎娶白富美、走上人生巅峰,想想是不是还有点小激动呢?

 不扯淡了,练盲打去喽……

**后记:Hello 小伙伴们,如果觉得本文还不错,记得点个赞或者给个 star,你们的赞和 star 是我编写更多更丰富文章的动力![GitHub 地址](https://github.com/danygitgit/document-library/blob/master/other-library/Git%E7%AC%94%E8%AE%B0/Git%E5%91%BD%E4%BB%A4%E5%85%A5%E9%97%A8.md)**

> <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="知识共享许可协议" style="border-width:0" src="https://user-gold-cdn.xitu.io/2018/12/23/167d9537f3e29c99?w=88&h=31&f=png&s=1888" /></a><br /><a xmlns:dct="http://purl.org/dc/terms/" property="dct:title">**db** 的文档库</a> 由 <a xmlns:cc="http://creativecommons.org/ns#" href="db" property="cc:attributionName" rel="cc:attributionURL">db</a> 采用 <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">知识共享 署名-非商业性使用-相同方式共享 4.0 国际 许可协议</a>进行许可。<br />基于<a xmlns:dct="http://purl.org/dc/terms/" href="https://github.com/danygitgit" rel="dct:source">https://github.com/danygitgit</a>上的作品创作。<br />本许可协议授权之外的使用权限可以从 <a xmlns:cc="http://creativecommons.org/ns#" href="https://creativecommons.org/licenses/by-nc-sa/2.5/cn/" rel="cc:morePermissions">https://creativecommons.org/licenses/by-nc-sa/2.5/cn/</a> 处获得。

   转载规则


《命令行笔记》 db 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
浏览器本地存储漫谈 浏览器本地存储漫谈
作为一个前端码农,每天都在跟浏览器打交道,大家有对浏览器的数据存储方案有多少了解呢?
2019-08-20
下一篇 
Vue小白课(一)——CLI搭建项目(Vue2.x) Vue小白课(一)——CLI搭建项目(Vue2.x)
vue-cli作为Vue的脚手架工具,集成了webpack环境及主要依赖,只需要几分钟的时间就可以运行起来一个项目。对于项目的搭建、打包、维护管理等都非常方便快捷。此笔记旨在帮助Vue小白了解并应用Vue2.0项目搭建过程,希望能帮得到大家。
2019-08-08