嗯, 来了也有二十几天了, 分享一下自用的小脚本吧.
写这个脚本的初衷是因为每次买了新小鸡, 或重新安装了系统, 就又要敲一堆几乎相同的命令去进行配置, 感到心力憔悴.
声明:
- 脚本内的所有用到的项目地址(点赞较多的开源项目)均已放置在脚本中首部, 方便自行审阅与增删.
- 本人承诺本脚本只是进行一些常规设置, 不存在主观恶意代码在其中, 但不对运行该脚本而导致的一切后果负责, 如果你有疑虑, 请勿使用!
如果确实有一些问题或报错, 也可以在贴子里回复, 我将尽力改进.
还要单独说下, 虽然说是一键, 但还是有几个要手动敲击确认命令, 因为我觉得你可能需要二次确认, 如果是以非 安装完zsh后, 会提示是否将zsh设为默认root
身份, 且使用sudo
运行的脚本, 会有提示是否修改家目录以匹配当前用户, 请按c
;shell
, 请按y
.(大家如果觉得确实没必要, 也可以告诉我, 我直接取消让其真正一键化.)
脚本的主要功能
- 以系统初始化为目的, 使用系统自带的包管理器
apt
或dnf
升级并安装常用软件, 如wget, vim, git, tree, tar, gzip, bzip2, xz, dos2unix, manpage, dig, nmap, net-tools, screen
等 - 安装
oh-my-zsh
, 及其相关的插件: zsh-autosuggestions, zsh-completions, zsh-syntax-highlighting, zsh-history-substring-search, zsh-you-should-use, 更改了zsh-history-substring-search
的快捷键(个人认为这个蛮好用的), 该插件会自动从命令历史中匹配相似的命令, 此时当你键入命令时会自动帮你补全以前用过的命令. 相关的命令历史快捷键修改为了:Alt+f
为接受当前自动补全上屏,Alt+n
为下一个(下翻),Alt+p
为上一个(上翻). 如果你感兴趣可以搜索并了解这些插件的作用. - 通过
pip3
或apt
安装thefuck, tldr
. - 修改vim配置, 为github.com/amix/vimrc, 这个通用配置本身有着不少的点赞, 不失为新手的选择(如果已存在
~/.vimrc
, 则该任务不会执行.), 使用了dracula
配色主题. - 从GitHub release中下载更为现代的命令行工具, 可使用
fd
平替find
,bat
替代cat
,zoxide
替代cd
,lsd
替代ls
, 这些软件会被安装到当前用户的~/.local/bin
下. - 设置
sudo
超时时间为: 360秒. - 添加了自定义的zsh function, 可以使用
hp command
来查看帮助, 修改默认的man
命令alias
为batman
文档输出, 并使用bat
进行优化样式 如man fd
- 修改了
l, l., ls, ll, lf, lt
等文件列表的表现形式(可能不是你喜欢的风格), 注意由于lsd
软件可以根据文件类型而输出不同的图标! 所以你所使用的ssh终端
最好要配置一款Nerd Font
字体才能正确显示! 这里的cd
没有写全路径, 该快速跳转功能是zoxide
的实现的.
以上列出的是个人认为值得一提的安装与更改.
- 更改时间时区为: 上海(默认未启用)
- 更改网卡名称为: (没有仔细写, 默认未启用)
另附: 本配置纯属个人口味, 我不知道大家是否了解oh-my-zsh
, 不过可以尝试用用. 对vim设置了一个通用模板可能也不对你的胃口, (我个人考虑小鸡也不太可能真的使用ssh远程上去做大量开发, 所以就这样吧)
再次申明, 如果你有疑虑, 请勿使用.
脚本中的任何功能任务, 都没有设计进行回滚, 以下是生成的主要文件:
因为很多软件从GitHub
上下载, 所以本土鸡就不要用了(虽然我写过一些小的处理逻辑, 但要使用代理, 所以没有启用).
使用方式:
确保你已经你的系统上面已经安装了sudo
与curl
命令, 如果没有请先安装
(dnf update -y && dnf install -y sudo curl) || (apt update && apt install -y sudo curl)
# 先下载脚本
curl -LsSO https://raw.githubusercontent.com/catterdx/shell_scripts/main/init_system.sh
# 如果使用root账户可以直接
bash -c "$(curl -fsSL https://raw.githubusercontent.com/catterdx/shell_scripts/main/init_system.sh)"
# 下载完成后运行, 默认是完成所有上面列出的任务
sudo bash init_system.sh
# 使用 "-u" 只更新git二进制可执行软件
sudo bash init_system.sh -u
支持
大佬
绑定
感谢分享!!!
没装curl就不是一键了
@a徐静雨 #5 谢谢提醒, 已修改!
好像缺少 字体 执行之后文件前面都带个那个[]
@sayyiku #7 这个我倒是疏忽了, 这个是
lsd
使用了--icon
选项导致的, 你使用的terminal终端
要使用任意一款[Nerd Font]才能正常显示图标可以的,一直想写一个,但是没抽出来时间,感谢你让我省下了这部分时间
让我试试!