bash 和 powershell 经常使用命令集锦

Linux Shell

# 1. 后台运行命令
nohup python xxx.py &

# 查找替换

## 只在目录中全部的 .py 和 .dart 文件中递归搜索字符"main()"
grep "main()" . -r --include *.{py, dart}

## 1) 全文搜索并替换
sed -i "s/pattern_str/replace_str/g" `grep "key_pattern" 'path_pattern' -rl`

## 2)文件名搜索,替换文件内容
sed -i "s/pattern_str/replace_str/g" `find . -name "pattern"`

## 3)批量转换大小写
# 将当前文件夹内,全部的 gitlab URL 都转换成小写
# \L 转小写  \U 转大写
sed -i 's@http://GITLAB.*.git@\L&@g' `find . -name pubspec*`

Powershell

powershell 的命令有一致的命名规则:谓词-名词,谓词表示动做:Get/Set/Stop/Start 等,名词指示操做对象:Service/Member/ChildItem/Command 等。
这样的命名格式使咱们能够很容易地猜想到本身须要的命令的名称。python

为了使用方便,powershell 还提供了一些经常使用命令的缩写,而且添加了大量相似 Linux 命令的别名。linux

还有就是,Windows 默认不区分字母大小写,平常使用能够所有小写。git

# 删除文件/文件夹
remove-item xxx  -confirm
ri xxx
rm xxx
rmdir xxx

# 复制
copy-item xxx xx -r
cp -r xxx xx

# 显示工做目录
get-location
gl
pwd

# 切换工做目录
set-location xxx
sl xxx
cd xxx

# 查看环境变量
get-childitem env:
gci env:
gci env:PATH  # 查看 PATH 变量

# 删除文件夹

# 查看命名位置(相似 Linux Shell 的 which)
get-command xxx
gcm xxx

# 查看别名对应的真实命令
get-alias

# 相似 linux 的 find/ls 命令
get-childitem -Recurse -Include *.py
gci -r -i *.py

# 清空终端的输出
clear-host
clear

# 查看文件内容
get-content xx.py | more
get-content xx.py | out-host -paging
cat xx.py
gc xx.py

# 字符串搜索,不能对对象使用
# 相似 linux 的 grep 命令
cat xxx.log | select-string <pattern>
gci env: | out-string  -stream | select-string <pattern>  # 须要先使用 out-string 将对象转换成 string
gci env: | where-object {$_.Name -like <pattern>}

# 计算输出的行数/对象个数
gci env: | measure-object
gci env: | measure  # 这是缩写
相关文章
相关标签/搜索