溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Bash使用技巧有哪些

發(fā)布時(shí)間:2021-12-31 17:14:50 來(lái)源:億速云 閱讀:135 作者:iii 欄目:建站服務(wù)器

本篇內(nèi)容主要講解“Bash使用技巧有哪些”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Bash使用技巧有哪些”吧!

要是你整天使用計(jì)算機(jī),如果能找到需要重復(fù)執(zhí)行的 命令并記下它們以便以后輕松使用那就太棒了。它們?nèi)即粼谀抢铮卦?~/.bashrc 中(或 zsh 用戶的 ~/.zshrc 中),等待著改善你的生活!

當(dāng)我執(zhí)行一個(gè)需要長(zhǎng)時(shí)間運(yùn)行的命令時(shí),我經(jīng)常采用多任務(wù)的方式,然后就必須回頭去檢查該操作是否已完成。然而通過(guò)有用的 say 命令,現(xiàn)在就不用再這樣了(這是在 MacOS 上;請(qǐng)根據(jù)你的本地環(huán)境更改為等效的方式):

function looooooooong {
START=$(date +%s.%N)
$*
EXIT_CODE=$?
END=$(date +%s.%N)
DIFF=$(echo "$END - $START" | bc)
RES=$(python -c "diff = $DIFF; min = int(diff / 60); print('%s min' % min)")
result="$1 completed in $RES, exit code $EXIT_CODE."
echo -e "\n? $result"
( say -r 250 $result 2>&1 > /dev/null & )
}

這個(gè)命令會(huì)記錄命令的開始和結(jié)束時(shí)間,計(jì)算所需的分鐘數(shù),并“說(shuō)”出調(diào)用的命令、花費(fèi)的時(shí)間和退出碼。當(dāng)簡(jiǎn)單的控制臺(tái)鈴聲無(wú)法使用時(shí),我發(fā)現(xiàn)這個(gè)超級(jí)有用。

安裝小助手

我在小時(shí)候就開始使用 Ubuntu,而我需要學(xué)習(xí)的第一件事就是如何安裝軟件包。我曾經(jīng)首先添加的別名之一是它的助手(根據(jù)當(dāng)天的流行梗命名的):

alias canhas="sudo apt-get install -y"

GPG 簽名

有時(shí)候,我必須在沒(méi)有 GPG 擴(kuò)展程序或應(yīng)用程序的情況下給電子郵件簽署 GPG 簽名,我會(huì)跳到命令行并使用以下令人討厭的別名:

alias gibson="gpg --encrypt --sign --armor"
alias ungibson="gpg --decrypt"

Docker

Docker 的子命令很多,但是 Docker compose 的更多。我曾經(jīng)使用這些別名來(lái)將 --rm 標(biāo)志丟到腦后,但是現(xiàn)在不再使用這些有用的別名了:

alias dc="docker-compose"
alias dcr="docker-compose run --rm"
alias dcb="docker-compose run --rm --build"

Google Cloud 的 gcurl 助手

對(duì)于我來(lái)說(shuō),Google Cloud 是一個(gè)相對(duì)較新的東西,而它有極多的文檔。gcurl 是一個(gè)別名,可確保在用帶有身份驗(yàn)證標(biāo)頭的本地 curl 命令連接 Google Cloud API 時(shí),可以獲得所有正確的標(biāo)頭。

Git 和 ~/.gitignore

我工作中用 Git 很多,因此我有一個(gè)專門的部分來(lái)介紹 Git 助手。

我最有用的助手之一是我用來(lái)克隆 GitHub 存儲(chǔ)庫(kù)的。你不必運(yùn)行:

git clone git@github.com:org/repo /Users/glasnt/git/org/repo

我設(shè)置了一個(gè)克隆函數(shù):

clone(){
    echo Cloning $1 to ~/git/$1
    cd ~/git
    git clone git@github.com:$1 $1
    cd $1
}

即使每次進(jìn)入 ~/.bashrc 文件看到這個(gè)時(shí),我總是會(huì)忘記和傻笑,我也有一個(gè)“刷新上游”命令:

alias yoink="git checkout master && git fetch upstream master && git merge upstream/master"

給 Git 一族的另一個(gè)助手是全局忽略文件。在你的 git config --global --list 中,你應(yīng)該看到一個(gè) core.excludesfile。如果沒(méi)有,請(qǐng)創(chuàng)建一個(gè),然后將你總是放到各個(gè) .gitignore文件中的內(nèi)容填滿它。作為 MacOS 上的 Python 開發(fā)人員,對(duì)我來(lái)說(shuō),這些內(nèi)容是:

.DS_Store     # macOS clutter
venv/         # I never want to commit my virtualenv
*.egg-info/*  # ... nor any locally compiled packages
__pycache__   # ... or source
*.swp         # ... nor any files open in vim

到此,相信大家對(duì)“Bash使用技巧有哪些”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI