影魔法Dos(持续更新)

影魔法Shell与Dos

*跳转到文章结尾* 原文链接:https://www.cnblogs.com/Asterism-2012/p/10049115.html

Dos

真正的黑客会用自己的行为去贯彻它的精神。而不只是把黑客这两个字时时刻刻挂在嘴边。如果你遇到这样的人,请记住,他不配称为黑客。

目录

Dos部分

DOS

写在前面

Dos是我的钟爱,在我学习之前曾经听闻这是不值得学习的东西。我想,我想试试看。我会自己来判断,但是事到如今,我依旧不后悔。但入门DOS 之前 要想明白 为什么,怎么做。准备要花费多少时间。

用两句话讲一点点dos的历史,DOS曾经是独立的磁盘操作系统。后来被收购后,内嵌于微软的windows系统中。但是在windows98与win-me之后的版本中之后,已经移除了真正的dos,我们看到的cmd命令提示符是windows为我们虚拟的,它保留了dos的绝大部分功能。

我们现在也可以在网络上下载dos系统进行学习,不过,我个人觉得不是特别有必要。因为学习的目的是为了在了解历史的同时能够保证用于实践,而从远古的各个版本更迭至今,很多命令已经不复使用。
除非如果你实在有兴趣,或是有一些特殊的目的。
目前来说,我们完全可以使用windows系统进行学习dos的内容。

  • 在学习DOS 接触的第一本完整的书籍是《DOS Programmer’s Reference, 4thEdition》(《DOS程序员参考手册》第四版),里面有这样一句话:

如果你已做了很长时间的编程工作,就会明白:仅仅将程序代码敲入计算机并保证它无错误,也会消耗大量的时间。这样的经验同样适用于本书中的程序代码。尽管读者可以将书中所包含的程序全部敲入机器中,但完成此工作也得耗费几天的时光。而要改正敲入的错误,则又会花费更长的时间。如果读者时间富裕,那就没什么好说的;否则,可考虑购买本书所配的程序附盘

这段话的意思是,完全的自主学习可能是缺乏一些效率的。要掌握好的学习方法。

  • 相关的学习链接:

《DOS程序员参考手册(第四版)》全书博客收录

《DOS命令学习(从入门到精通)》 博客

DOS的启蒙

一、Dos操作系统也就是磁盘操作系统 Disk operating system 简称Dos.

  • 命令操作系统与视窗操作系统的概念
  • 可以启动计算机:核心启动程序,通过这三个文件就可以直接启动计算机到dos状态。
    1. io.sys
    2. msdos.sys
    3. command.com
  • 通过命令管理计算机:命令
    1. 内部命令,直接使用,(包含在command.com
    2. 外部命令,不能直接使用,需要调用内存(不包含在command.com

目前广泛使用的MS-Dos是微软公司买下Dos专利权后命名的,MS-Dos前身是Seattle computer products 公司于1980年推出的86-Dos.微软公司在1981年买下了86-Dos的专利,经修理,扩充后更名为MS-Dos.即1981年推出的MS-Dos V1.0版.

自从DOS在1981年问世以来,版本就不断更新,从最初的DOS1.0升级到了最新的DOS8.0(Windows ME系统 ),纯DOS 的最高版本为DOS6.22,这以后的新版本DOS都是由Windows系统所提供的,并不单独存在。下 面的讲解所使用的DOS为Windows98 4.10.2222A的DOS7.0系统。

1)常见的DOS有两种:
IBM公司的PC-DOS和微软公司的MS-DOS,它们的功能、命令用途格式都相同,我们常用的是MS-DOS。
MS-Dos与PC-Dos本质上并没有太大区别,而且命令是基本兼容.

2)Dos的启动
DOS的核心启动程序有Boot系统引导程序、IO.SYS、MSDOS.SYS和COMMAND.COM。它们是构成DOS系统最基 础的几个部分,有了它们系统就可以启动。如果你安装了WIN98,在电脑启动时按住Ctrl不放,出现启动选择菜单,选择5"Command Prompt Only"即 可进入DOS方式。
目前我们常用的操作系统有windows 9x/Me,NT,2000等,都是可视化的界面。在这些系统之前的人们使用 的操作系统是DOS系统。DOS系统目前已经没有什么人使用了,但是dos命令却依然存在于我们使用的 windows系统之中。大部分的DOS命令都已经在Windows里变成了可视化的界面,但是有一些高级的DOS命 令还是要在DOS环境下来执行。所以学习命令行对于我们熟练操作Windows系统是很有必要的。
不同的操作系统要用不同的命令进入命令行界面。在Win9x/Me的开始菜单中的运行程序中键入"command"命令,可进入命令行界面。
在Win2000/NT的开始菜单中的运行程序中键?quot;cmd"命令,可进入命令行界面.
Dos的启动包括冷启动与热动[Ctrl+Alt+Del]或[Reset键].[Ctrl+Alt+Del]热启动与冷启动的最大区别就是热启动下, 电脑不进行内存芯片检测.[Reset键]热启动与冷启动的最大区别就是热启动下不须重开电源,呵呵.

二、文件和文件目录
Dos系统规定:一个文件的文件名由主文件名和扩展文件名两部分组成.
1)文件名命名

主文件名由1-8个合法字符组成;扩展名由1-3个合法字符组成.扩展名可略.
2)组成文件名的字符

大小写英文字母 数字 汉字 一些特别符号: ! @ # $ % ^ & - _ 等等

3)Dos保留字符与Dos保留设备名均不能用于Dos文件名命名
保留字符名
*与?  文件通配符

与<  操作重定向
,   并列参数分隔符
.  扩展名前导符
:  磁盘定义符
空格  命令-参数-参数分隔符
=   赋值符

  • copy命令连接符
    \   目录路径分隔符
    /  DOS命令开关前导符
     |  和“” 也是

保留设备名(由于计算机本身使用,所以不能用)
com 控制台(键盘/显示器)
PRN 第一并行通信口/打印机
LPT1 第一并行通信口/打印机
LPT2 第一并行通信口/打印机
LPT3 第一并行通信口/打印机
NUL 空文件

三、文件通配符
Dos系统提供了两个文件通配符"“和”?".均可用于主文件名和扩展文件名.
"
" 表示在该文件名(主文件名和扩展文件名)中代表任意个字符;
“?” 表示在文件名中代表该字符位置的任意一个字符.
. 代表所有文件.
eg:

  1. a*.txt 主文件名为a打头,扩展名为txt的所有文件;
  2. ade?.* 主文件名为ade打头,不超过四个字符的所有文件;
  3. ?a*.* 主文件名第二字符为a的所有文件(包括任何扩展名和无扩展名的文件).
    在Dos文件操作命令中,有些命令不允许使用文件通配符,如最常用的TYype命令,有些命令使用
    通配符会引起乱码,如Rename 命令.所以使用过程中必须特别注意.

四、文件属性
system 系统属性 (S) 表示该文件为Dos系统文件;
read only 只读属性 ® 表示该文件只能只读,而不能删除或修改;
hidden 隐藏属性 (H) 表示该文件在一般显示命令下不显示文件名;
arehive 归档属性 (A) 表示该文件从上一次修改后又修改过.

五、目录结构
1)DOS 的文件目录采用树形目录结构.简称树形结构.
它是在DOS2.0以上版本,为了改善文件管理,提高速度,而采用的一种目录体系.
最顶一层叫做根目录,它在格式化磁盘时由DOS建立的目录,用"“表示.
在根目录中可以存放文件,也可以存放其它文件名,这个目录名叫做跟目录的子目录.每个目录里存放的文件个数和目录个数不限(只要你有足够的磁盘空间).
2)路径是在连接目录到所需子目录之间的一串目录名序列,各目录名之间用”“连接.
例如:
要到子目录ade3所走的路径表示:
\ade1\ade2\ade3
说明: 上面第一左斜杆”“表示根目录,其后的”“是间隔符.
3)树形目录结构的特点:
A、同一个字目录不能有同名文件,不同字目录中可以有通明文件;
B、一个磁盘只有一个根目录.根目录没有目录名,用”“来表示.例如: C:>A表示C盘根目录.
C、子目录命名规则与文件名相同,但子目录名一般不用扩展名.子目录名不能与同级文件名重复.
D、每个子目录下都有两个特殊的文件目录项:第一个是”.",内含子目录本身的目录信息;第二个是"…",内含上一级目录的信息.这两个目录项是在建立目录时自动建立的.不能删除.

六、路径PATH
1)路径是指从根目录或当前目录到所要访问对象(文件或目录)所在目录所经过的通道组合.
路径可以分为绝对路径与相对路径两种.
绝对路径 有从根目录到指定文件或目录所经过的一组子目录名表示,必须以根目录符号""开始.
例如 \ade1\ade2\ade3
相对路径 由从当前目录到指定文件或目录所经过的一组子目录名表示.
例如 ade1\ade2\ade3

2)文件标识
由于DOS采用树形文件目录结构允许多个同名文件存在不同的子目录,使用时必须用文件标识确定对哪一个文件进行操作.
文件标识有 符盘 路径和文件名三部分组成 即[<盘符>:][<路径>]<文件名>

七、文件标示符
DOS文件标示符符可以看作是文件名的扩展,它是在文件名前边加上磁盘标识符和路径信息,进一步指明文件存储的具体位置。
格式:[<盘符>:][<路径>][<文件名>][.<文件扩展名>]

八、DOS命令状态提示符和盘符约定
DOS命令状态有一个状态提示标记,这个标记就是位于屏幕当前行左部的大于号。
例如: C>_
其中“>”号前面的字母指明“驱动器名”或“当前驱动器名”或“盘符”。
注:约定软盘驱动器名用字母A、B标识,硬盘用字母C~Z标识。如果机器上只有一个软盘驱动器,就用字母A标识。

九、内部命令与外部命令
1)内部命令是常驻内存的处理命令,它集中在根目录下的Command.com文件里,电脑每次启动时都会将这个文件读入内存,也就是说,在电脑运行时,这些内部命令都驻留在内存中,用dir命令是看不到这些内部命令的。
2)外部命令是以独立文件形式存储在磁盘上的程序。每一个外部命令对应一个可执行文件。所有扩展名为.com .exe .bat 的文件都可被视为外部命令。外部命令不常
驻内存,只有电脑需要时才被调入内存使用。

十、DOS命令格式
DOS命令格式:
<命令字>︼[<文件标识>]︼[<开关参数1>]︼[<开关参数2>]︼[<开关参数3>]…
说明“…"三点 表示可重复项;“<命令字> ”包括[驱动器:][PATH][Filename]

DOS命令格式中,用方括号[]括起来的内容,表示它是可以先择项,用户可以根据需要可以不使用它。用尖括号< >括起来的内容,表示它是必选项,用户根据需要填写相应的信息。
[驱动器:][路径]是指明“命令”所在的位置,对于内部命令可以省略,对外部命令需要根据不同情况确定是否指明。
DOS规定:一个命令行的字符数不能超过127个字符(以前允许长度不能超过254个字符)。命令字、文件标识和开关参数之间必须用空格分开(一个空格与多个空格的作用是相同的);开关参数用“/”作前导符,开关参数顺序不影响执行执行结果,参数对有些命令是必选项,而对另一些命令可有可无。用“ENTER”结束命令的输入。

从内容上看,批处理文件包含了大量的基本DOS命令,是一种可执行文件。该文件运行时能按照其规则将其中的命令逐一执行。使用批处理文件进行的批量的命令处理的过程,称之为批处理。

批处理文件(Batch File,简称BAT文件)是一种在DOS下最常用的可执行文件。它具有灵活的操纵性,可适应各种复杂的计算机操作。

了解与使用基本DOS命令

“命令”(“Command”)一词,实际上就体现了我们与计算机的交流过程。图形化界面已经为我们把复杂难以理解的命令操作封装成人人都能非常容易上手的操作方式,使得我们只需要点点鼠标或是敲几下键盘就能轻而易举地完成。

help帮助命令:
比如直接输入 help 可以得到命令的帮助信息。输入 help dir 就能得到命令 dir 的具体参数及其用法(等同与 dir /? )。不仅仅是DOS命令,很多带有命令提示的工具都有help提供帮助和提示,例如MATLAD中的命令行,又如BattleNet中的以斜杠 / 开头的命令等等。

这些内容来自于一个网上看到的个人网站,这位可敬的仁兄写了这一篇文档。
即便是我这样笨拙的人,也从中吸取了很多知识。
我万分感谢。

讲到这里,简单的DOS命令知识已介绍完了,希望这些入门知识对你在后期学习DOS知识中有启蒙作用。

*返回目录*

windows的常用快捷键

  • Windos版本:Windows10
  • 核心数:4核

在使用windows的时候,快捷键能够提高我们的工作效率。

  • 显示桌面 将所有窗口最小化到托盘 Win+D
  • 锁定屏幕 Win+L
  • Win+X 显示一个非常好用的窗口
  • Win+E 显示资源管理器
  • Ctrl+Shift+Esc 打开任务管理器
  • 切换任务 Alt+Tab
  • 搜素 Win+Q
  • 打开运行窗口 Win+R

如何建立一个 .bat文件

dos的命令可以输入到于windows系统中cmd终端中。这些命令可以写到.bat后缀的bat脚本中,运行脚本命令就会执行。后续我指的文本内容指的就是.bat文件的内容。

*返回目录*

内部命令:

切换分区,切换到E盘 分区卷标:"

C:\>e:
E:\>

注释rem 注释

rem 我是注释

设置变量:set;

翻译过来就是“设置”的意思,相当于数学里的“令”。

set x=1

打印变量: echo %变量名%

假设我们设置了x的值为99:

C:\> echo %x%
99

阻塞等待:pause

C:\> pause
请按任意键继续. . .

显示(输出)信息:echo 输出内容

C:\> echo here not a world.
here not a world.

关闭命令的回显@命令

格式:@ 放在命令前面;关闭该行的回显,回显就是执行命令之前将命令打印在终端中。

文件内容:

@echo here not a world.

运行效果:

here not a world.

开启或关闭后续所有回显 echo onecho off

【echo off】

文件内容

echo off
echo 1234
pause

运行结果

C:\WINDOWS\system32>echo off
1234
请按任意键继续. . .

【echo on】

文件内容

echo on
echo 1234
pause

运行结果

C:\WINDOWS\system32>echo on
C:\WINDOWS\system32>echo 1234
1234  
C:\WINDOWS\system32>pause
请按任意键继续. . .

以当前日期命名一个新建文件 【源代码】

文件内容

rem 关闭单行回显,关闭后续回显
@echo off
rem 从date(日期)中获取年月日,初始化三个变量
set Y=%date:~0,4%
set m=%date:~5,2%
set d=%date:~8,2%
rem 建立一个文件
echo.> 当日待办%Y%-%m%-%d%.txt

文件的增删改查 与 使用

文件分类:

可执行文件:.exe,直接输入完整文件名即可直接运行
临时文件:.tmp,这类文件一般都可以直接删掉
计算器 的绝对路径:
位置C:\Windows\System32>calc.exe
在dos系统中,也有绝对路径与相对路径的概念,这里不多赘述,可以去查看Linux系统中的相对路径与绝对路径概念。*:返回上级目录 使用cd ..

查看文件dir :查看当前目录下的所有内容(目录与子目录)

dir /? 查看帮助,就可以查看所有参数,格式
dir 文件绝对路径 绝对路径查看
dir /p 分页(分屏)查看 
dir /w 宽列表格式查看(简要信息查看):只查看文件的名称 
dir /p /w - 联合选项:  
dir /a 隐藏文件查看
dir /ad 查看指定格式(比如目录)
dir /a-d` 查看除了指定格式的之外的所有文件 
dir *.exe` 查询指定后缀名文件,dir支持通配符,可以使用通配符来实现,找到当前目录所有可执行文件
dir /b 使用空格式,没有其他任何标题和摘要

删除文件del 文件

del newList.txt

复制文件copy:

copy /? (查看帮助)
copy /文件路径 /目标目录路径 (将文件复制到指定位置)

创建文件 echo. > 文件.文件后缀名

例:在当前文件夹中创建一个 text.txt的文本文档
echo. >text.txt

运行可执行文件callstart

  • 在当前终端下运行
call pycharm64.exe
  • 新建终端运行
start pycharm64.exe

清屏命令cls

cls

查看操作系统版本 ver

ver

查看日期 date/time

date/time

目录的增删改查

创建目录 md 目录名称

md newdirectory

删除目录 rd 目录名称

  • 无参数删除
rd 文件夹(只能删除空文件夹)
  • 递归删除
    删除文件夹内所有内容
rd /s 目录 
  • 强制删除
rd /q 
  • 递归强制删除
rd /s/q newdir (这是相对路径,替换成绝对路径同理)
  • 查看帮助
rd /? 查看有关rd命令的选项

切换目录:cd 目录路径

  • 切换到指定 绝对路径的目录
`cd E:\$RECYCLE.BIN`
  • 切换到上层目录
cd ..
  • 切换到根目录
cd \

通过命令更改cmd终端的颜色 color 颜色编号

color命令更改终端的背景色与字体色。
在windows窗口状态下,可以在顶部空白区域点击鼠标右键,选择属性,还可以设置窗口透明度、字体大小等命令行无法达成的功能,永久生效。

  • 将终端颜色恢复默认颜色 color
C:\> color

应用前景色(这里是字体颜色),6代表黄色。系统不会允许color命令将前景色和背景色设置成一样的颜色。

文件内容:

@echo off
color 6

运行效果:

color 6

应用背景色,5代表紫色,f代表亮白色,浅色不会让人感觉心情沉闷。第一个参数是背景色,第二个参数是前景色。

  • 文件内容:
@echo off
color 5f
  • 运行效果:

color 5f

  • 帮助信息:
C:\> color /?
设置默认的控制台前景和背景颜色。

COLOR [attr]

  attr        指定控制台输出的颜色属性。

颜色属性由两个十六进制数字指定 -- 第一个
对应于背景,第二个对应于前景。每个数字
可以为以下任何值:

    0 = 黑色       8 = 灰色
    1 = 蓝色       9 = 淡蓝色
    2 = 绿色       A = 淡绿色
    3 = 浅绿色     B = 淡浅绿色
    4 = 红色       C = 淡红色
    5 = 紫色       D = 淡紫色
    6 = 黄色       E = 淡黄色
    7 = 白色       F = 亮白色

如果没有给定任何参数,此命令会将颜色还原到 CMD.EXE 启动时
的颜色。这个值来自当前控制台
窗口、/T 命令行开关或 DefaultColor 注册表
值。

如果尝试使用相同的
前景和背景颜色来执行
 COLOR 命令,COLOR 命令会将 ERRORLEVEL 设置为 1。

示例: "COLOR fc" 在亮白色上产生淡红色

通过注册表更改命令行颜色的默认值

  1. 键盘输入:win+R
  2. 输入regedit,点击运行进入注册表
  3. 定位到 HKEY_CURRENT_USER\Software\Microsoft\Command Processor
  4. 编辑DWORD(系统位数)值
┌────────────────────────────────────────────────────────┐
│ Edit DWORD(32bit)                                _ □ x │
├────────────────────────────────────────────────────────┤
│ The numerical name(N):                                 │
│ ┌────────────────────────────────────────────────────┐ │
│ │DefaultColor                                        │ │
│ └────────────────────────────────────────────────────┘ │
│ numerical data(V):          ┌─cardinal number────────┐ │
│ ┌────────────────────────┐  │ ● hexadecimal(H)       │ │
│ │3e                      │  │ ● decimalism(D)        │ │ 
│ └────────────────────────┘  │                        │ │
│                             └────────────────────────┘ │
│                             ┌────────┐  ┌────────┐     │
│                             │ OK     │  │ cancel │     │
│                             └────────┘  └────────┘     │
└────────────────────────────────────────────────────────┘

(画这个图很累)

在数值数据(numerical data)这个里面填上我们需要的颜色。点击确认,当我们再次cmd命令行 时候,可以看到看到颜色已经被应用了。

注册表这一部分参考地址:

改变cmd窗口背景和字体颜色~永久~

换行追加文本到文档中 echo 文本内容 >> 文档

文件内容:

C:\> echo 123 >> new_text.txt

C:\> echo 456 >> new_text.txt

运行效果:new_text.txt内容

123
456

设置时间 time

  • 文件内容
@echo off
time
  • 运行效果
当前时间: 23:01:54.79
输入新时间:
  • 帮助信息
C:\Users\DELL>time /?
显示或设置系统时间。

TIME [/T | time]

显示当前时间设置和输入新时间的提示,请键入
不带参数的 TIME。要保留现有时间,请按 Enter。

如果命令扩展被启用,TIME 命令会支持 /T 命令行开关;该命令行开关告诉
命令只输出当前时间,但不提示输入新时间。

设置日期 date

  • 文件内容
@echo off
date
  • 运行效果:
当前日期: 2018/12/08 周六
输入新日期: (年月日)

  • 帮助信息:
C:\Users\DELL>date /?
显示或设置日期。

DATE [/T | date]

显示当前日期设置和输入新日期的提示,请键入
不带参数的 DATE。要保留现有日期,请按 Enter。

如果命令扩展被启用,DATE 命令会支持 /T 开关;
该开关指示命令只输出当前日期,但不提示输入新日期。

接受输入 set /p 变量=提示语

  • 文件内容:
@echo off
echo --------------------------------------------
set /p OP1=请输入用户名:
echo %OP1%
pause
  • 运行效果:
--------------------------------------------
请输入用户名:root
root
请按任意键继续. . .

把批处理文件设置为开机启动

将bat新建一个快捷方式,拖到 开始菜单>程序>启动目录。

dos的异常处理:

ECHO 处于关闭状态
请检查输出的内容以及变量名称是否正确。

hack(漂亮事) 与 hacker十二守则

  • hacker:管理好自己网络的同时,探索其他网络的安全,并将漏洞告知其管理员。
  • 学习 cracker的伎俩,知己知彼,百战不殆。

hacker 的十二守则(彩蛋)

1.不恶意破坏任何的系统,这样做只会给你带来麻烦

2.不修改任何系统文件,如果你是为了要进入系统而修改它,请在达到目的后将它还原。

3.不将你已破解的账号分享给你的朋友

4.不要在BBS/论坛上谈论关于你hack的任何事情

5.在post文章的时候不要使用真名

6.在入侵期间,不要随意离开你的电脑

7.不要入侵或者攻击电信、政府机关的主机

8.不在电话中谈论关于你hack的任何事情

9.将你的笔记放在安全的地方

10.读遍所有有关系统安全或系统漏洞的文件(英文快点学好!)

11.以侵入电脑中的账号不得删除或修改

12.不得修改系统文件,如果为了隐藏自己的侵入而作的修改则不在此限,但仍需要维持原来的系统安全性,不得因得到系统的控制权而破坏原有的安全性。

(这些守则,让你远离成为一个cracker,也为了你自己的安全)

以上就是hacker的十二守则

*回到目录再看看*

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章