在微软爱上 Linux 之后,PowerShell 这个原本只是 Windows 才能使用的组件,于 2016 年 8 月 18 日开源并且成为跨平台软件,登陆了 Linux 和 macOS。

PowerShell 是一个微软开发的自动化任务和配置管理系统。它基于 .NET 框架,由命令行语言解释器(shell)和脚本语言组成。

PowerShell 提供对 COM (组件对象模型Component Object Model) 和 WMI (Windows 管理规范Windows Management Instrumentation) 的完全访问,从而允许系统管理员在本地或远程 Windows 系统中 执行管理任务,以及对 WS-Management 和 CIM(公共信息模型Common Information Model)的访问,实现对远程 Linux 系统和网络设备的管理。

通过这个框架,管理任务基本上由称为 cmdlets(发音 command-lets)的 .NET 类执行。就像 Linux 的 shell 脚本一样,用户可以通过按照一定的规则将一组 cmdlets 写入文件来制作脚本或可执行文件。这些脚本可以用作独立的命令行程序或工具。

在 Linux 系统中安装 PowerShell Core 6.0

要在 Linux 中安装 PowerShell Core 6.0,我们将会用到微软软件仓库,它允许我们通过最流行的 Linux 包管理器工具,如 apt-get、yum 等来安装。

在 Ubuntu 16.04 中安装

首先,导入该公共仓库的 GPG 密钥,然后将 Microsoft Ubuntu 仓库注册到 APT 的源中来安装 PowerShell:

$ curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

$ curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list

$ sudo apt-get update

$ sudo apt-get install -y powershell

在 Ubuntu 14.04 中安裝

$ curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

$ curl https://packages.microsoft.com/config/ubuntu/14.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list

$ sudo apt-get update

$ sudo apt-get install -y powershell

在 CentOS 7 中安裝

首先,将 Microsoft RedHat 仓库注册到 YUM 包管理器仓库列表中,然后安装 PowerShell:

$ sudo curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/microsoft.repo

$ sudo yum install -y powershell

如何在 Linux 中使用 PowerShell Core 6.0

在这一节中,我们将会简单介绍下 PowerShell;我们将会看到如何启动 PowerShell,运行一些基础命令,操作文件、目录和进程。然后学习怎样列出所有可用的命令、显示命令帮助和别名。

输入以下命令来启动 PowerShell:

$ powershell

在 Linux 中启动 PowerShell

你可以通过以下命令来查看 PowerShell 版本:

$PSVersionTable

查看 PowerShell 版本

在 Linux 中运行基本的 PowerShell 命令。

get-date [# 显示当前日期]

get-uptime [# 显示开机时间]

get-location [# 显示当前工作目录]

在 PowerShell 中操作文件和目录

1、 可以通过两种方法创建空文件:

new-item tecmint.tex

或者

"">tecmint.tex

然后往里面添加内容并查看文件内容。

set-content tecmint.tex -value "TecMint Linux How Tos Guides"

get-content tecmint.tex

在 PowerShell 中创建新文件

2、 在 PowerShell 中删除一个文件

remove-item tecmint.tex

get-content tecmint.tex

在 PowerShell 中删除一个文件

3、 创建目录

mkdir tecmint-files

cd tecmint-files

“”>domains.list

ls

在 PowerShell 中创建目录

4、 执行长格式的列表操作,列出文件/目录详细情况,包括模式(文件类型)、最后修改时间等,使用以下命令:

dir

Powershell 中列出目录长列表

5、 显示系统中所有的进程:

get-process

在 PowerShell 中显示运行中的进程

6、 通过给定的名称查看正在运行的进程/进程组细节,将进程名作为参数传给上面的命令,如下:

get-process apache2

在 PowerShell 中查看指定的进程

输出中各部分的含义:

NPM(K) – 进程使用的非分页内存,单位:Kb。

PM(K) – 进程使用的可分页内存,单位:Kb。

WS(K) – 进程的工作集大小,单位:Kb,工作集由进程所引用到的内存页组成。

CPU(s) – 进程在所有处理器上所占用的处理器时间,单位:秒。

ID – 进程 ID (PID).

ProcessName – 进程名称。

7、 想要了解更多,获取 PowerShell 命令列表:

get-command

列出 PowerShell 的命令

8、 想知道如何使用一个命令,查看它的帮助(类似于 Unix/Linux 中的 man);举个例子,你可以这样获取命令 Describe 的帮助:

get-help Describe

PowerShell 帮助手册

9、 显示所有命令的别名,輸入:

get-alias

列出 PowerShell 命令别名

10、 最后,不过也很重要,显示命令历史记录(曾运行过的命令的列表):

history

显示 PowerShell 命令历史记录

就是这些了!在这篇文章里,我们展示了如何在 Linux 中安装微软的 PowerShell Core 6.0。在我看来,与传统 Unix/Linux 的 shell 相比,PowerShell 还有很长的路要走。目前看来,PowerShell 还需要在命令行操作机器,更重要的是,编程(写脚本)等方面,提供更好、更多令人激动和富有成效的特性。

请在评论中分享你的观点。

作者简介:

Aaron Kili 是一个 Linux 和 F.O.S.S 狂热爱好者,将来的 Linux 系统管理员、web 开发者,目前是 TecMint 的内容编辑,是一个热爱研究计算机与坚定的分享知识的人。

本文由 LCTT 原创编译,Linux中国 荣誉推出

powershell获取linux文件,技术|微软爱上 Linux:当 PowerShell 来到 Linux 时相关推荐

  1. powershell获取exe文件返回值

    一.目的 1.powershell能简单写一些小脚本,不需要exe开发这么笨重. 2.在windows实现某个特定功能,做成一个exe能方便查看管理. 二.实现 1.C# code 运行结束加入返回值 ...

  2. linux 文件上传扫描_SecureCRT实现windows与linux文件上传下载

    利用SecureCRT的SFTP功能实现windows与linux服务器之间文件的上传下载 windows和linux之间文件传出有很多,比较常用的一般通过linux中的rz和sz命令上传和下载,这里 ...

  3. linux文件夹加密忘记密码,如何通过密码保护Linux上的文件夹或目录?

    假设你在Linux主目录下有一个文件夹,你把不希望任何人没有密码就能访问的安全文档文件存储在里面.那样一来,即使有人设法搞到了你的计算机,进而访问主目录,仍有另外一道防线守护着你的私密文件. Cryp ...

  4. linux 文件夹图标,推荐 4 款漂亮的 Linux 图标主题

    推荐 4 款漂亮的 Linux 图标主题 Mark Do 2014年9月6日 暂无评论 阅读 17,744 次 来自 OmgUbuntu 的四款漂亮的Linux 图标主题,让你的桌面不再单调.Ubun ...

  5. Linux文件信息中的rwx表示什么?Linux权限理解

    目录 文件访问者的分类 Q:为什么要有所属组这个概念? 文件的权限属性分类 文件的权限属性的设置 1.chmod(change mode) 2.chgrp(change group) 3.chown( ...

  6. win10拷贝到linux文件夹很慢,samba和nfs互相拷贝时速度奇慢的原因

    下面的3行网上说可以用来解决samba和nfs互访速度奇慢问题,但是并不奏效,后来发现mount-t nfs -o nolock可以解决这个问题,如果nfs和samba之间不能拖动复制,可以使用ctr ...

  7. linux文件给另一用户名和密码错误,linux重命名root后,使用su命令切换新用户时,提示密码错误...

    1.考虑到安全因素,用户希望把服务器上的root用户进行重命名,于是把/etc/passwd文件和/etc/shadow文件中的root修改为xxx.修改完毕后,测试正常,普通用户可以通过su - x ...

  8. linux 文件夹同步备份软件下载,rsync从linux到linux的文件同步备份方法_rsync在linux下同步备份教程_飞翔教程...

    一.环境 须要备份文件的服务器(服务器端):192.168.1.201 (RHEL 5) 接收备份文件的服务器(客户端):192.168.1.202 (CENTOS 5) 二.安装配置 1.服务器端的 ...

  9. linux 文件在哪个硬盘,中国大学MOOC: 在Linux文件系统中,文件名也存放在磁盘上,存放于磁盘的下述哪个区域 答案:文件存储区...

    相关问题 中国大学MOOC:"唐蕃会盟碑又称为甥舅会盟碑,对吗?"; 中国大学MOOC:"If students plan to study in a second la ...

最新文章

  1. 2018/12/08 L1-042 日期格式化 Java
  2. 计算机设置内存储器的必要性,计算机设置内存储器的必要性
  3. openStack使用宿主机监控
  4. OEL上使用yum install oracle-validated 简化主机配置工作
  5. C语言实现循环链表Circularly Linked List(附完整源码)
  6. 3.type关键字.rs
  7. 【详解】()调试方法从线索(错误征兆)出发,通过分析这些线索之间的关系而找出故障,是从个别推断一般的方法。
  8. JAVA笔记(十四)
  9. Java程序开发三步骤:编写、编译、运行
  10. java从1开始计时用线程_java – Python – 线程,计时或函数使用?
  11. 高颜值可定制在线绘图工具
  12. python常用代码总结-python字典的常用方法总结
  13. java使用jxl包读写excel表格文件,即xls格式文件
  14. MFC 小知识总结五
  15. sql server 触发器
  16. paip.python错误解决9
  17. ENVI--气象及环境卫星数据处理
  18. 冲印常见问题杂锦(网上摘录)
  19. 新泽西理工计算机科学硕士,新泽西理工学院计算机科学专业硕士申请需要满足哪些条件?...
  20. 老男孩Day1作业(二):三级菜单

热门文章

  1. 凉了7年的快播,竟然以这种方式登上排行榜第一
  2. Mysql 设计超市经营管理系统,包括商品信息表(goods) 和 商品类型表(goodstype)
  3. Mysql中使用select into语句给变量赋值没有匹配记录时的结果
  4. POI-TL生成带有表格word的坑 POI重复依赖
  5. poi jar包报错:java.lang.NoSuchFieldError:Factory
  6. java程序员平时都使用哪些软件??
  7. mysql 谓语提前,英语倒装句全倒装时什么时候要把did提前?这个老搞不清楚
  8. 前端晋升ppt_web前端幻灯片.ppt
  9. 局域网arp攻击_arp网络攻击,局域网要瘫痪了,网络工程师教你怎么做
  10. 原生js实现公历转农历