powershell 目录

本文介绍了如何在Windows和Mac上使用命令行工具,包括Powershell和Terminal进行目录与文件操作,如浏览、创建、移动、复制和删除等。还介绍了如何在不同操作系统中使用命令行进行路径操作。

路径(一):拥抱命令行(Windows:Powershell,Mac:Terminal)

作者:王皓
发布于:2015-01-17 16:13
更新于:2015-03-11 13:11

命令行工具是做 Web 设计与开发的必备工具。通过输入一些命令,去做你要做的事情。不同的命令可以做不同的事情,比如基本的文件与目录的操作,去安装,更新,删除软件,控制与管理服务器等等。

很多 Web 项目都自带了命令行工具,会提供一些跟项目相关的命令,可以用到平时的开发流程里面。比如 Drupal 的 drush ,WordPress 的 WP-CLI,Laravel 的 artisan  等等,基本上一个现代的 Web 项目都会附带一个命令行工具。

准备

在哪里输入要执行的命令?不同的操作系统提供了不同的软件,Windows 上可以使用 系统自带的 命令提示符(cmd) 或者 Powershell(win7 以上的版本,推荐使用) ,在 Mac 上用的是系统自带的 终端(Terminal)。

命令提示符

Windows 7:打开 开始 菜单,在搜索框里输入 cmd,点击结果里的 cmd 。

Windows 8+:win + Q,搜索 cmd 。

Powershell

Windows 7:打开 开始 菜单,在搜索框里输入 powershell,点击结果里的 Windows Powershell。

Windows 8+:win + Q,搜索 powershell。

QQ20150117-9

终端

打开 Launchpad(F4) ,搜索 Terminal ,点击 终端。或者使用快捷键 ctrl + 空格,在 Spotlight 里面搜索 Terminal 。

QQ20150117-8

区别

命令行工具的用法在不同的操作系统上是有区别的,不过使用的思路是一样的, Mac 与 Linux 的用法基本一样,因为它们有血源关系。Windows 相比来说是比较特别的,它有一些独有的可以执行的命令,不过如果你用的是 Windows 7 以上的版本,可以在 Powershell 这个工具上执行命令,因为它的用法跟 Mac 与 Linux 很像。

目录与文件的基本操作

你可以通过一些命令浏览系统里的目录,创建,移动,删除目录还有文件。目录与文件的操作是使用命令行工具的基础。Windows 用户打开 Powershell ,Mac 用户打开 终端。然后试一下接下来的这些命令。

查看你当前的位置:pwd

Powershell,还有 终端,在光标的左边默认会显示你当前所在的目录。你也可以使用 pwd ( print working directory )这个命令,查看自己当前所在的位置。

pwd

Powershell 返回:

Path
____
C:\Users\wanghao

C:\Users\wanghao ,就是我当前所在的位置,这是默认打开 Powershell 的时候进入到的工作目录,C:\  是系统的盘符,这是 Windows 特有的,在 Mac 与 Linux 上面没有盘符,Users 是存储系统里的所有用户文档的地方。wanghao 是当前登录到系统上的用户的名字。这个  C:\Users\wanghao,就是 wanghao 这个用户的主目录(Home)。

终端 返回:

/Users/xiaoxue

上面这个路径的最前面是一个 / ,表示系统的根目录。整个路径就是当前登录到系统上的用户的主目录。这个目录是在系统根目录下面的 Users 目录里面的 xiaoxue 这个目录。

显示当前目录下在的东西:ls

想查看某个目录下面的都有什么东西,用的是 ls 命令,在命令的后面可以指定一个目录的路径 ,这样会显示这个指定路径里的东西,如果直接使用 ls ,会显示当前你所在的位置里面的东西。

ls

Windows 的 Powershell 会比较详细的显示出目录下面的所有的东西,比如文件与目录的权限,最近更新的时间等等。

QQ20150117-4

Mac 上的 终端 只会简单的显示出文件与目录的名称,想得到更详细的信息,可以在 ls 命令的后面加上一个 -l 参数。另外默认 ls 命令不包含目录下面的隐藏的文件或者目录,也就是名字用点(.)开头的文件或目录,你需要加上一个 -a 参数把这些隐藏的文件与目录也显示出来。

ls -la

QQ20150117-5

在 ls 命令后面可以加上一个路径 ,这样会显示出这个路径下面的东西,这个路径可以是一个绝对的路径 ,也可以是一个路径的路径。比如要看一下用户主目录下面的所有的东西:

ls desktop

上面用了一个相对的路径 ,也就是 ls 命令会在当前所在的目录下面去查看 desktop 这个目录下的东西。如果用绝对的路径,是这样的:

Windows Powershell

ls C:\Users\wanghao\desktop

Mac 终端

ls /Users/xiaoxue/desktop

注意 Windows 路径里面用的是反斜线(\),不过在 Powershell 里面,你也可以使用斜线(/)。Mac 上的路径里用的是斜线(/)。上面的 wanghao 与 xiaoxue 是登录到系统上的用户名,你需要换成你自己的用户名。

清空命令行上面的显示:clear

在屏幕上显示的东西太多了,清空一下,可以使用 clear 这个命令。Windows 上也可以使用 cls ,Mac 上可以用快捷键 command + K 。

路径中的符号

在命令行里浏览或者操作目录的时候,会用到一些符号。

用户主目录
~

操作系统会为每个登录到系统上的用户分配一个特定的目录,这个目录的名字一般跟用户的名称是一样的,在这个目录的下面,会存放属于这个用户的文档。这个目录就是用户的主目录,这个目录在命令行里面,用 ~ 来表示。

根目录
/

一个斜线(/),表示系统的根目录,Windows 上表示的是在某个盘符下的根目录,比如 ls / 这条命令会显示出 C 盘根目录下面的所有的东西。Mac 与 Linux 上都表示的是系统的根目录。

当前目录
./

./  或者 . ,表示当前目录,比如你要处理当前目录下面的东西,可以在路径的前面加上 ./ ,比如上面介绍的 ls 命令,你想列出当前目录下面的东西,可以用 ls ./ ,不过一般可以省略掉它,直接用 ls 命令就表示要显示当前目录下面的东西。

上一级目录
../

你想处理你所在位置的上一级别的目录里的东西,可以在路径的一开始用一个 ../,比如想要显示当前目录的上一个级别里的东西,可以输入  ls ../ 。一个 ../ 就表示前一个级别的目录,前两个级别就是 ../../ 。

进入到某个目录下面:cd

在图形界面上,你想进入到某个目录里面,可以双击打开这个目录,然后在这个目录下面去做一些事情。在命令行下面,你需要使用 cd ( change directory )这个命令,后面加上你想要进入到的地方。

cd 进入到的路径

比如我打算进入到桌面上,如果我当前的位置是在用户主目录的根目录下面,这样就可以使用相对的路径,像这样:

cd desktop

如果我是在别的位置上,可以在路径里面用一个 ~ 表示用户的主目录:

cd ~/desktop

创建目录:mkdir

在指定的地方创建一个新的目录,可以使用 mkdir (make directory),后面加上要创建的目录的名字。

mkdir 目录名

我现在的位置是在桌面上,打算在桌面上创建一个叫 projects 的目录:

mkdir projects

如果需要创建一个目录结构,就是你可能想要在某个目录下面,再创建一个子目录。Windows 上,可以直接在 mkdir 命令的后面加上要创建的目录的路径,这个路径上面的所有的目录,如果还不存在 ,就会去创建一个。但是在 Mac 与 Linux 上面,需要用一个 -p 的参数。比如我还想在 projects 目录下面创建一个叫 ninghao.net 的目录,在这个目录的下面,还需要一个 www 目录:

mkdir -p projects/ninghao.net/www

Windows Powershell 可以不用 -p 参数:

mkdir projects/ninghao.net/www

QQ20150117-7

移动目录与文件:mv

把目录或者文件移动到一个新的地方,用的是 mv (move)命令,这个命令也可以用来重命名目录或者文件。命令的后面先是要移动的东西,再用一个空格,然后接着是移动到的新的位置。

mv 源 目标

比如我要把桌面上的 projects 里面的 ninghao.net 这个目录移动到桌面上,先确定你当前的位置是在桌面上,你 pwd 可以查看当前的位置,如果不是,可以用 cd ~/desktop 进入到桌面。

mv projects/ninghao.net ./

上面的命令里的 ./ 表示的是当前的目录,也就是你所在的位置,这条命令的意思就是把当前目录下面的 projects 里的 ninghao.net 这个目录移动到当前目录的下面。用 ls 可以查看当前目录下面的东西。

下面,可以再把这个 ninghao.net 重新放到 projects 这个目录的下面。

mv ninghao.net projects/

如果 projects 这个目录已经存在,表示要把 ninghao.net 这个目录移动到 projects 这个目录里面,如果 projects 这个目录不存在,就会把 ninghao.net 这个目录重命名成 projects 。

注意在移动文件的时候,文件移动到的位置的结尾一定要加上 / ,不然 mv 命名会把你想要移动的文件重命名成你想移动到的那个位置。

复制目录与文件:cp

cp (copy)命名可以复制指定的文件或者目录,先指定一下要复制的东西,空格分隔一下,接着是要复制到的位置。

cp 源 目标

你可以在桌面上新建一个空白的文件,比如 README.md ,然后再把它复制一份到 projects/ninghao.net/www 这个目录的下面。

cp README.md projects/ninghao.net/www/

要复制目录,需要加上一个 -R 参数,比如把桌面上的 projects 复制一份,放到桌面上,命名为 projects_bak 。

cp -R projects projects_bak

删除目录与文件:rm

要把指定的目录或者文件删除掉,用的是 rm (remove)命令,在它后面加上要删除掉的东西就行了,在删除目录的时候,需要用一个 -r 参数,另外,可以再加上一个 -f 参数,这样在删除目录里的文件的时候不会出现提示。注意在 Windows Powershell 上面用 rm 命令,不需要使用参数。

比如我的位置是在桌面上,有一个之前创建的文件叫 README.md 这个文件,删除掉这个文件可以这样:

rm README.md

再把桌面上的 projects_bak 这个目录也删除掉:

rm -rf projects_bak

Windows Powershell 不需要使用参数:

rm projects_bak

路径 Powershell 终端

转载于:https://my.oschina.net/u/2524960/blog/689353

<think>嗯,用户现在问的是如何在PowerShell中创建目录。之前他们问了如何查看硬盘序列号,现在转向了文件管理的基础操作,可能是同一个项目中的不同步骤,或者是开始学习Windows系统管理。 首先,我需要确认用户的需求。创建目录听起来简单,但可能有不同的情况。比如,是否需要创建多级目录?是否需要处理已存在的目录?用户可能对PowerShell不太熟悉,所以需要详细说明步骤,确保他们不会出错。 接着,回顾之前的对话,用户已经接触过PowerShell命令,比如用Get-PhysicalDisk来获取序列号,所以可能对基本的PowerShell命令有一定了解。但创建目录用的是不同的cmdlet,这里需要介绍New-Item,以及常用的参数,比如-ItemType和-Force。 然后,用户可能不知道PowerShell和命令提示符的区别,或者是否命令相似。需要指出PowerShell更强大,但基本命令如mkdir可能和CMD中的类似,不过背后其实是调用New-Item。 还要考虑错误处理。比如,如果目录已经存在,使用-Force参数是否可以覆盖?实际上,-Force在New-Item中用于创建包含不存在的父目录,或者强制创建,但不会覆盖现有目录。需要澄清这一点,避免用户误操作。 另外,用户可能需要创建多级目录,这时候需要用到mkdir的-p参数,或者在PowerShell中使用-Force参数。需要解释清楚这两种方法的不同之处,以及推荐的方式。 还有,是否需要举例说明不同的使用场景?比如,创建单个目录,创建带有子目录的结构,或者如何验证目录是否创建成功。这些例子可以帮助用户更好地理解。 最后,注意事项部分要提醒用户权限问题,可能需要以管理员身份运行PowerShell,尤其是在系统目录中创建时。同时,路径格式的正确性也很重要,比如使用反引号转义空格,或者使用引号包裹路径。 可能用户的需求不仅仅是创建目录,而是想在脚本中自动化这个过程,所以提供多种方法和参数选项会更有帮助。确保回答结构清晰,步骤明确,让用户能够一步步跟随操作,避免混淆。</think>在 Windows 系统下使用 PowerShell 创建目录,可通过以下 5 种常用方法实现: =基础方法 1:New-Item 命令= 1. 按 $\text{Win + X}$ 选择「Windows PowerShell」 2. 输入命令: ```powershell New-Item -Path "C:\MyNewFolder" -ItemType Directory ``` - `-Path`:指定完整路径 - `-ItemType Directory`:声明创建类型为目录 - 支持创建多级目录(需配合 `-Force` 参数) =快捷方法 2:mkdir 别名= ```powershell mkdir "D:\Project\2023\Data" ``` * 等效于 `New-Item` 的简化写法,但会: - 自动添加 `-ItemType Directory` 参数 - 遇到中间路径缺失时提示确认(与 CMD 的 mkdir 不同) =强制创建方法 3:递归目录创建= ```powershell New-Item -Path "E:\Level1\Level2\NewFolder" -ItemType Directory -Force ``` * `-Force` 参数可实现: - 自动创建缺失的父目录 - 覆盖已存在目录(实际不会删除原有目录内容) =方法 4:文件系统提供器创建= ```powershell Set-Location C:\ $null = md "Backup\System\$(Get-Date -Format 'yyyyMMdd')" ``` * 使用 `md`(MakeDirectory)别名 * `$null = ` 用于抑制输出信息 * 支持动态路径命名(如含日期时间) =方法 5:批量创建目录= ```powershell 1..5 | ForEach-Object { New-Item -Path "C:\BatchFolders\Folder_$_" -ItemType Directory } ``` * 创建 `Folder_1` 到 `Folder_5` 的系列目录 * `$_` 表示当前管道对象(数字 1-5) 注意事项: 1. 路径规范: - 使用英文引号包裹含空格的路径(如:`"C:\Program Files\My App"`) - 支持网络路径(`\\Server\Share\NewFolder`) 2. 权限要求: - 系统目录需管理员权限启动 PowerShell 3. 验证创建: ```powershell Test-Path "C:\MyNewFolder" # 返回 True 表示成功 Get-Item "C:\MyNewFolder" | Select-Object Name,FullName,CreationTime ``` 推荐使用 `-Force` 参数实现智能创建: ```powershell New-Item -Path "C:\Multi\Level\Path" -ItemType Directory -Force | Out-Null ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值