OS
文件和目录结构
- Windows中的文件和文件夹以层级目录树的形式组织,主目录包含子目录和文件。
- 路径以驱动器字母开头(如C:),目录之间用反斜杠“\”分隔,根目录表示为“C:\”。
文件浏览与隐藏文件
- 通过“此电脑”可以导航到具体目录,如C盘下的Users\Cindy\Desktop。
- 默认情况下隐藏文件不可见,可通过“查看”选项勾选“隐藏的项目”来显示隐藏文件。

ls -Force可以看到回收站(Recycle Bin)和ProgramData等隐藏目录,这些目录存储回收文件和程序数据。

Linux文件系统结构
- 根目录(root directory)是所有目录的起点,用斜杠“/”表示。
- 重要目录包括:/bin(存放基本程序)、/etc(系统配置文件)、/home(用户个人目录)、/proc(运行中的进程信息)、/usr(用户安装的软件)、/var(系统日志和变化文件)。
ls命令及其选项
- ls命令用于列出目录内容,默认显示当前目录。
- 常用选项包括-l(长格式显示详细信息)、-a(显示所有文件,包括隐藏文件)。
- 可以组合使用多个选项,如ls -la。
获取命令帮助
- 使用--help选项查看命令的简要帮助信息。
- 使用man命令查看命令的详细手册页(man pages),提供更全面的说明。
PowerShell中的当前目录和查看命令
- 打开PowerShell时通常位于主目录,提示符显示当前目录。
- 使用pwd(print working directory)命令可以查看当前所在的目录路径。
切换目录的命令和路径类型
- 使用cd(change directory)命令切换目录,需要指定目标路径。
- 路径可以是绝对路径(从驱动器根目录开始)或相对路径(相对于当前目录)。
- 例如,cd C:\Users\Cindy\Documents是绝对路径切换。
目录切换的快捷方式
- cd..命令可以切换到当前目录的上一级目录,是相对路径的用法。
- 可以组合使用cd..和子目录名,如cd.. \desktop,快速切换到兄弟目录。
- cd ~命令是回到主目录的快捷方式,结合子目录使用如cd ~\desktop。
Bash中的文件系统导航
- 使用pwd命令查看当前工作目录,显示当前路径。
- 使用cd命令切换目录,可以使用绝对路径(如cd /home/cindy/documents)或相对路径(如cd ../documents)。
路径快捷方式和功能
- 波浪号(~)代表用户的主目录,cd ~ /desktop可以快速返回桌面目录。
- Bash支持自动补全功能,按Tab键可以显示所有可能的补全选项,而不是像Windows那样循环切换。
跨平台命令行操作的联系
- Bash和Windows PowerShell在基本命令(如pwd和cd)上非常相似,便于用户在两种操作系统间切换和理解命令行操作。
处理目录名称中的空格
- 直接在mkdir命令中使用空格会导致错误,因为命令行将空格后的内容误认为是其他参数。
- 解决方法是用引号将目录名括起来(如mkdir "my cool folder"),或者使用转义字符(PowerShell中是反引号)来表示空格是目录名的一部分(如mkdir my cool` folder)。
转义字符的作用
- 转义字符告诉命令行将紧随其后的字符按字面意义处理,而不是作为命令或参数的一部分。
- 不同的shell或编程语言可能使用不同的转义字符,PowerShell使用反引号作为转义符。
处理带空格的目录名
- 在Bash中,使用反斜杠(\)来转义空格,例如mkdir my\ cool\ folder。
- 也可以使用引号将整个目录名括起来,如mkdir "my cool folder"。
PowerShell历史命令功能
- 每次输入的命令都会被保存,可以通过history命令查看之前的命令列表。
- 使用键盘上的上下箭头可以快速浏览和重复使用之前的命令。
历史命令的高级用法
- 使用Ctrl-R可以搜索历史命令,输入关键词即可匹配相关命令。
- 旧版本PowerShell没有Ctrl-R时,可以用#加部分命令,再用Tab键循环选择历史命令。
其他实用命令和技巧
- clear命令可以清理屏幕输出,但不会清除历史命令记录。
- 结合历史命令、Tab补全和get-help命令,可以更高效地使用PowerShell。
复制文件的基本操作
- 在Windows图形界面中,可以通过右键复制粘贴或使用快捷键Ctrl-C和Ctrl-V完成文件复制。
- 在PowerShell中,使用命令cp加上源文件和目标路径来复制文件,例如将mycoolfile.txt复制到桌面。
使用通配符批量复制
- 通配符(如星号*)用于匹配文件名中的任意字符,方便一次性选择多个文件。
- 例如,cp *.jpg 可以复制当前目录下所有扩展名为.jpg的文件到指定目录。
复制目录及其内容
- 直接使用cp命令复制目录时,只会复制空目录,不包含目录内的文件。
- 需要加上-Recurse参数递归复制目录及其所有内容,-Verbose参数则显示复制过程中的详细信息。
复制文件的基本用法
- 可以使用与 Windows 中相同的命令(cp)来复制文件,例如将 my_very_cool_file.txt 复制到桌面。
- 支持使用通配符(如 )来匹配文件名模式,比如 cp .png 可以复制所有以 .png 结尾的文件。
递归复制目录
- 复制目录时需要使用 -r 参数来递归复制目录及其所有内容。
- 例如,使用 cp -r 命令可以将整个文件夹(如 cat pictures 文件夹)复制到目标位置。
重命名文件
- 在Windows图形界面中,重命名文件通常通过右键点击文件选择“重命名”完成。
- 在命令行中,可以使用move(移动)命令来重命名文件,而不改变文件所在的目录。
移动文件
- move命令不仅可以重命名文件,还可以将文件从一个目录移动到另一个目录。
- 该命令支持使用通配符一次移动多个文件,方便批量操作。
移动和重命名文件的命令
-
在Linux中,mv(move)命令既可以用来移动文件,也可以用来重命名文件或目录。
-
例如,将名为“red document”的文件重命名为“blue document”,然后将其移动到Documents文件夹中。 使用通配符批量移动文件
-
mv命令支持使用通配符,可以一次性移动多个符合条件的文件。
-
例如,将所有带有下划线的文档文件移动到桌面(Desktop)文件夹中。
删除文件和目录的基本操作
- 在Windows图形界面中,删除文件或文件夹通常通过右键点击并选择删除,文件会进入回收站。
- 在PowerShell中,使用命令RM或Remove来删除文件和目录,删除后文件不会进入回收站,操作不可恢复。
权限和安全机制
- 删除操作需要相应的权限,系统文件或权限不足的文件无法直接删除。
- 使用-Force参数可以强制删除某些受保护的文件,但需要谨慎操作。
删除目录的特殊处理
- 删除包含文件的目录时,PowerShell会提示确认,防止误删。
- 使用-Recurse参数可以递归删除目录及其所有内容,避免确认提示。

命令行查看文件内容
- 使用PowerShell中的cat命令可以显示文件全部内容,但内容会一次性输出,可能不便阅读。
- more命令可以分页显示文件内容,按Enter键翻页一行,空格键翻页一页,按Q键退出more程序返回命令行。
查看文件部分内容
- 使用cat命令加上-head参数可以查看文件的前10行,方便快速浏览文件开头。
- 使用tail命令可以查看文件的最后10行,适合查看文件结尾内容。
查看和读取文件的命令
- 使用cat命令可以简单地查看文件内容,但不适合查看大文件。
- less命令功能更强大,支持分页浏览和搜索,常用按键包括上下键、Page Up/Down、g(跳到文件开头)、G(跳到文件结尾)、/(搜索)和q(退出)。
文件内容的部分查看
- head命令默认显示文件的前10行,类似于Windows中的head参数。
- tail命令默认显示文件的后10行,方便查看文件末尾内容。
less命令的优势
- less命令支持交互式浏览和文件内搜索,比传统的more命令功能更丰富。
- 由于less命令的实用性,more命令逐渐被less取代。
Notepad++的特点
- Notepad++是开源的文本编辑器,支持多种文件类型。
- 它支持多文件标签页和语法高亮,方便区分不同内容。
命令行中编辑文件
- Windows PowerShell默认没有好的文本编辑器。
- 可以通过命令行启动Notepad++,例如输入“start notepad++ 文件名”来打开或创建文件进行编辑。
nano文本编辑器简介
- nano是几乎所有Linux发行版中都自带的轻量级文本编辑器。
- 通过命令“nano 文件名”即可打开并编辑指定文件。
基本操作与快捷键
- 在nano中可以像普通文本编辑器一样编辑文件内容。
- 屏幕底部显示的“^G”、“^K”等表示使用Ctrl键组合的快捷操作。
保存与退出
- Ctrl+G打开帮助页面,Ctrl+X用于保存文件或退出编辑。
- 退出时会提示是否保存更改,按Y确认保存后退出nano。
nano的实用性
- nano适合需要快速编辑文本文件的场景,操作简单且功能实用。
- 通过示例验证了文件修改成功,体现了nano的基本编辑流程。
PowerShell命令与别名
- PowerShell命令通常较长且描述性强,便于理解,但交互时输入较多。
- 常用命令有别名,如ls实际上是Get-ChildItem命令的别名,用于列出目录内容。
查看命令帮助与别名
- Get-Help命令用于查看PowerShell命令的帮助信息。
- Get-Alias命令可以查看某个别名对应的真实PowerShell命令。
Windows中执行命令的三种方式
- 可以使用真实的PowerShell命令。
- 可以使用PowerShell命令的别名。
- 还可以使用旧版的cmd.exe命令(如dir),但功能不如PowerShell强大。
- Get-Help用于PowerShell命令帮助,旧命令帮助用“/?”参数,两者不通用。
Windows搜索服务及其配置
- Windows搜索服务通过索引文件名和属性来加快搜索速度,但默认不搜索文件内容。
- 可以在控制面板的索引选项中配置搜索服务,使其索引文件内容,但这会增加索引时间。
使用图形界面工具查找文件内容
- Windows资源管理器在启用内容索引后,可以搜索文件中的特定单词。
- Notepad++编辑器提供“在文件中查找”功能,支持指定目录和文件类型的内容搜索。
使用PowerShell命令行查找文件内容
- PowerShell中的Select-String命令(sls)可以搜索文件中的文本字符串,支持正则表达式。
- 该命令可以指定文件路径和通配符,方便批量文件内容搜索,适合不使用图形界面的场景。
使用 -Filter 参数筛选文件
- -Filter 参数用于根据文件名模式过滤搜索结果。
- 例如,使用 "*.exe" 可以筛选出所有以 .exe 结尾的可执行文件。
结合 -Recurse 参数递归搜索
- -Recurse 参数允许在目录及其子目录中递归搜索文件。
- 结合 -Filter 和 -Recurse,可以快速找到目录及其子目录中所有符合条件的文件,如所有可执行文件。
grep命令的基本用途
-
grep可以用来查找文件中匹配某个模式的单词,比如查找文件中是否包含某个词。
-
例如,使用grep搜索文件farm animals中是否包含单词cow。 grep命令的高级用法
-
grep不仅可以搜索单个文件,还可以通过通配符(如*)搜索多个文件。
-
例如,使用grep结合通配符搜索多个文件,找到所有包含单词cow的文件,如farm animals和ranch animals。
PowerShell中的I/O流基础
- 每个进程和PowerShell命令都有三个流:标准输入(stdin)、标准输出(stdout)和标准错误(stderr)。
- 输入通过标准输入流进入进程,输出通过标准输出流返回,错误信息通过标准错误流返回。
输出重定向操作符
- 使用“>”符号将标准输出重定向到文件,覆盖已有文件或创建新文件。
- 使用“>>”符号将标准输出追加到文件末尾,不覆盖原文件。
管道和错误重定向
- 管道符“|”将一个命令的输出作为另一个命令的输入,实现命令组合。
- 使用“2>”将标准错误重定向到文件,数字“2”代表标准错误流。
- 使用“2>$null”将错误信息丢弃,不显示也不保存。
输入输出重定向基础
- Linux有三种标准输入输出流:标准输出(stdout)、标准输入(stdin)和标准错误(stderr)。
- 使用重定向符号(>、>>、<、2>)可以将输出写入文件、追加到文件、从文件读取输入或将错误信息重定向到文件。
标准输入输出重定向示例
- 使用“echo woof > dog.txt”将文本写入文件,覆盖原有内容;使用“>>”则是追加内容。
- 使用“<”符号可以让命令从文件而非键盘获取输入,例如“cat < file_input”。
错误输出和过滤
- 标准错误用“2>”符号重定向,例如“ls /dir/fake_dir 2> error_output.txt”将错误信息写入文件。
- 使用特殊文件“/dev/null”可以丢弃不需要的输出,实现过滤错误信息。
管道操作
- 管道符“|”允许将一个命令的输出作为另一个命令的输入。
- 例如,“ls -la /etc | grep Bluetooth”可以快速查找目录中包含特定关键词的子目录。


