前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >10 Nov 2021 shell命令tips

10 Nov 2021 shell命令tips

作者头像
俊采
发布2023-10-17 10:37:12
1980
发布2023-10-17 10:37:12
举报
文章被收录于专栏:LEo的网络日志
  • 命令查找

代码语言:javascript
复制
# install fzf
brew install fzf
$(brew --prefix)/opt/fzf/install
  • 判断cmd是否存在
代码语言:javascript
复制
if command -v cmd >/dev/null 2>&1; then
  echo 'exists cmd'
else 
  echo 'no exists cmd'
fi
  • 判断变量是否存在
代码语言:javascript
复制
if [[ -z "${var}" ]]; then
  echo "var is not set"
fi

or 

if [[ -n "${var}" ]]; then
  echo "var is set"
fi
  • 遇到不存在的变量终止执行
代码语言:javascript
复制
set -u
or
set -o nounset
  • sed替换文件中字符
代码语言:javascript
复制
sed -i 's/old/new/g' file # 全部替换
sed -i 's/old/new/' file # 仅替换每行第一次出现的字符串
  • 脚本执行发生错误就终止执行
代码语言:javascript
复制
set -e

set -o pipefail # 适用于管道命令
  • 调式shell脚本
代码语言:javascript
复制
set -x
  • curl直接运行脚本
代码语言:javascript
复制
curl https://raw.githubusercontent.com/stolostron/multicluster-observability-operator/main/tools/switch-to-grafana-admin.sh | bash -s -- kube:admin
  • xargs传递变量
代码语言:javascript
复制
cat file | xargs -I line grep -r line /path/to/file
  • virtual box在mac上共享文件夹设置
代码语言:javascript
复制
apt-get install virtualbox-guest-utils
mount -t vboxsf -o uid=0,gid=0 share /share
  • 安装ansible
代码语言:javascript
复制
# centos
yum install epel-release
yum install ansible

# ubuntu
apt update
apt install software-properties-common
add-apt-repository --yes --update ppa:ansible/ansible
apt install ansible

# mac
brew install ansible
  • 安装docker
代码语言:javascript
复制
# centos
# 阿里镜像源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
yum install -y yum-utils
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io -y
systemctl start docker

# ubuntu
# 阿里镜像源
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
apt-get remove docker docker-engine docker.io containerd runc
apt-get update
apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io -y
service docker start
  • ssh免密登录
代码语言:javascript
复制
ssh-keygen
ssh-copy-id root@192.168.0.130
ssh root@192.168.0.130
  • 配置github
代码语言:javascript
复制
ssh-keygen -t rsa -b 4096 -C "ssli@redhat.com"
cat ~/.ssh/id_rsa.pub
git config --global user.email "ssli@redhat.com"
git config --global user.name "Song Song Li"
git config --global color.ui auto
  • curl从指定的url安装cmd
代码语言:javascript
复制
curl -sSL -o /usr/local/bin/argocd https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64
chmod +x /usr/local/bin/cmd

wget -O /usr/local/bin/yq https://github.com/mikefarah/yq/releases/download/3.3.0/yq_linux_amd64
chmod +x /usr/local/bin/yq
  • 查看某个端口被某进程使用
代码语言:javascript
复制
lsof -i:22

:) 未完待续……

LEo at 00:12

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档