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  # 這是縮寫
相關文章
相關標籤/搜索