Linux环境快速搭建(Ubuntu)

Linux环境快速搭建(Ubuntu)

Created
Jun 19, 2024 01:24 PM
Tags

安装git

安装

git --version # 查看git版本, 如果有git就不用安装了, 跳过下面步骤 sudo apt-get install git # 需要sudo权限

配置

# 配置git git config --global user.name "张三" git config --global user.email "email@sian.com"

生成密钥

  • 输完之后一直敲回车即可
ssh-keygen -t rsa
  • 添加密钥到github/gitee
查看密钥,复制到剪贴板
cat ~/.ssh/id_rsa.pub # ssh-rsa *****************

安装Zsh

如果你还不知道什么是zsh以及为什么要用zsh, 可以阅读以下文章

安装Zsh

which zsh # 查看是否有zsh, 如果有就不用安装了 sudo apt-get install zsh

安装oh-my-zsh

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

安装插件

  • zsh-syntax-highlighting
提供语法高亮,爱护眼睛首选
git clone https://gitee.com/lu-dingtao/zsh-syntax-highlighting.git ~/.oh-my-zsh/plugins/zsh-syntax-highlighting
  • zsh-autosuggestions
自动补全, 爱护手指首选,敲tab键即可
git clone https://gitee.com/lu-dingtao/zsh-autosuggestions.git ~/.oh-my-zsh/plugins/zsh-autosuggestions

修改~/.zshrc插件配置

sed -i "s/plugins=.*/plugins=(git sudo zsh-autosuggestions zsh-syntax-highlighting conda-zsh-completion z sublime vscode)/g" ~/.zshrc
或者手动打开~/.zshrc, 找到plugins这一行替换插件
vi ~/.zshrc

其它配置(看自己的使用习惯)

也可以手动打开~/.zshrc进行修改
  • 修改主题为ys
sed -i "s/ZSH_THEME=\".*/ZSH_THEME=\"ys\"/g" ~/.zshrc
  • 添加~/bin到path
PATH用于查找可执行文件路径
sed -i '$a export PATH=~/bin:${PATH}' ~/.zshrc
  • 设置时间显示格式
sed -i '$a HIST_STAMPS="yyyy-mm-dd"' ~/.zshrc
  • git快捷键
    • git status
sed -i '$a alias gst="git status"' ~/.zshrc

使用心得

tab键补全
敲命令的时候按tab键可以补全命令, 继续按可以切换
  1. cd -切换路径
      • cd - + tab查看历史路径
      • cd - + number 快速跳转路径, eg: cd -2
  1. >历史命令补全
如果你在敲命令的时候发现后面已经显示出来你想要敲的命令,按->方向键直接补全
3.gst
等价于git status, 快速查看仓库 status
 

fzf安装

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf ~/.fzf/install

更新apt源

 

Ubuntu20.04 LTS

更改文件`/etc/apt/sources.list`
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse # 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换 deb http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse deb-src http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse # 预发布软件源,不建议启用 # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
sudo apt-get update sudo apt-get upgrade

工具下载

1. htop
top的进阶版,查看进程及资源使用,类似于windows的任务管理器
sudo apt-get install htop
2. ncdu
查看当前路径内存占用
sudo apt-get install ncdu

conda安装

conda用于配置python虚拟环境, 可以在一个机器上拥有多个版本不同配置的python(很多python包不兼容, 如果都安装到一起会很多问题)

下载

cd /your/workspace # 新建一个放下载文件的地方,将下载的安装包放进去 wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh

安装

一路yes加回车即可
bash Miniconda3-latest-Linux-x86_64.sh
配置bashrc或者zshrc
将下列代码加到~/.zshrc和~/.zshrc后面, 然后重新执行zsh或者bash
# >>> conda initialize >>> # !! Contents within this block are managed by 'conda init' !! __conda_setup="$('/root/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"if [ $? -eq 0 ]; then eval "$__conda_setup"else if [ -f "/root/miniconda3/etc/profile.d/conda.sh" ]; then . "/root/miniconda3/etc/profile.d/conda.sh"else export PATH="/root/miniconda3/bin:$PATH"fi fi unset __conda_setup # <<< conda initialize <<<

配置(清华镜像)

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ conda config --set show_channel_urls yes

新建虚拟环境

新建一个名字叫myenv的虚拟环境
conda create --name myenv

C++环境搭建

TODO:
sudo apt-get install gdb gcc g++ make cmake cgdb

vscode 环境搭建(远程)

安装插件

  • Back & Forth
    • 前进后退按钮
  • ssh
    • 远程连接工具
  • clangd
    • langd用于提供c++、c代码补全,跳转,格式化等功能
    • linux安装clangd服务器
      • which clangd # 老规矩,看一下装了没有, 没有就安装一个 sudo apt-get install clangd
    • vscode安装插件
    • -DCMAKE_EXPORT_COMPILE_COMMANDS=1
  • 通义灵码
    • 开挂,“快码加编译”
 
 

Wsl2一键科学上网

使用Clash for WindowsTun模式
在打开之前记得安装一下服务模式
notion image

云服务器科学上网

下载clash for linux

wget https://github.com/lulu-DT/Source/raw/main/linux/clash_2.0.24_linux_amd64.tar.gz

解压安装

tar -xvf clash_2.0.24_linux_amd64.tar.gz sudo cp clash /usr/local/bin/clash sudo chmox +x /usr/local/bin/clash

添加配置文件

配置文件路径为~/.config/clash
如果没有这个文件则手动创建一个
mkdir ~/.config/clash
  • 添加config.yaml
将上述文件上传到云服务器的~/.config/clash路径下并重命名为config.yaml
  • 添加Country.mmdb(放到~/.config/clash
wget https://github.com/Dreamacro/maxmind-geoip/releases/download/20240112/Country.mmdb

添加为开机自启和后台运行

sudo vim /etc/systemd/system/clash.service #写入以下内容 [Unit] Description=Clash daemon, A rule-based proxy in Go. After=network.target [Service] Type=simple Restart=always ExecStart=/usr/local/bin/clash -d /etc/clash [Install] WantedBy=multi-user.target
# 设置开机自启 sudo systemctl enable clash # 运行clash sudo systemctl start clash # 查看clash状态 sudo systemctl status clash

启用代理

~/.bashrc或者~/.zshrc后面写入以下内容
proxy_on() { export https_proxy=http://127.0.0.1:7890 export http_proxy=http://127.0.0.1:7890 export all_proxy=socks5://127.0.0.1:7890 echo "Proxy is ON. Environment variables:"echo "https_proxy=$https_proxy"echo "http_proxy=$http_proxy"echo "all_proxy=$all_proxy" } proxy_off() { unset https_proxy unset http_proxy echo "Proxy is OFF. Environment variables unset." }
# 重新source脚本, 取决于你用的是bash还是zsh source ~/.zshrc source ~/.bashrc
proxy_on开启代理
proxy_off关闭代理