logo NodeSeekbeta

[分享]一键脚本-帮小鸡安装常用软件与环境(oh-my-zsh, omz-plugins, fd, bat, lsd,等)

嗯, 来了也有二十几天了, 分享一下自用的小脚本吧.

写这个脚本的初衷是因为每次买了新小鸡, 或重新安装了系统, 就又要敲一堆几乎相同的命令去进行配置, 感到心力憔悴.

声明:

  • 脚本内的所有用到的项目地址(点赞较多的开源项目)均已放置在脚本中首部, 方便自行审阅与增删.
  • 本人承诺本脚本只是进行一些常规设置, 不存在主观恶意代码在其中, 但不对运行该脚本而导致的一切后果负责, 如果你有疑虑, 请勿使用!

如果确实有一些问题或报错, 也可以在贴子里回复, 我将尽力改进.

还要单独说下, 虽然说是一键, 但还是有几个要手动敲击确认命令, 因为我觉得你可能需要二次确认, 如果是以非root身份, 且使用sudo运行的脚本, 会有提示是否修改家目录以匹配当前用户, 请按c; 安装完zsh后, 会提示是否将zsh设为默认shell, 请按y.(大家如果觉得确实没必要, 也可以告诉我, 我直接取消让其真正一键化.)

脚本的主要功能

  • 以系统初始化为目的, 使用系统自带的包管理器aptdnf升级并安装常用软件, 如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为上一个(上翻). 如果你感兴趣可以搜索并了解这些插件的作用.
  • 通过pip3apt安装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命令aliasbatman文档输出, 并使用bat进行优化样式 如man fd man-doc-layout.png
  • 修改了l, l., ls, ll, lf, lt等文件列表的表现形式(可能不是你喜欢的风格), 注意由于lsd软件可以根据文件类型而输出不同的图标! 所以你所使用的ssh终端最好要配置一款Nerd Font字体才能正确显示! 这里的cd没有写全路径, 该快速跳转功能是zoxide的实现的. lsd-layout.png

以上列出的是个人认为值得一提的安装与更改.

  • 更改时间时区为: 上海(默认未启用)
  • 更改网卡名称为: (没有仔细写, 默认未启用)
    另附: 本配置纯属个人口味, 我不知道大家是否了解oh-my-zsh, 不过可以尝试用用. 对vim设置了一个通用模板可能也不对你的胃口, (我个人考虑小鸡也不太可能真的使用ssh远程上去做大量开发, 所以就这样吧)

再次申明, 如果你有疑虑, 请勿使用.

脚本中的任何功能任务, 都没有设计进行回滚, 以下是生成的主要文件:
generate-files.png

因为很多软件从GitHub上下载, 所以本土鸡就不要用了(虽然我写过一些小的处理逻辑, 但要使用代理, 所以没有启用).
使用方式:
确保你已经你的系统上面已经安装了sudocurl命令, 如果没有请先安装

(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
12
  • 支持 xhj003

  • 大佬

  • 绑定

  • 感谢分享!!!

  • 没装curl就不是一键了

  • @a徐静雨 #5 谢谢提醒, 已修改!

  • 好像缺少 字体 执行之后文件前面都带个那个[]

  • @sayyiku #7 这个我倒是疏忽了, 这个是lsd使用了--icon选项导致的, 你使用的terminal终端要使用任意一款[Nerd Font]才能正常显示图标

  • 可以的,一直想写一个,但是没抽出来时间,感谢你让我省下了这部分时间 xhj015

  • 让我试试! ac20

12

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有15411位seeker

🎉欢迎新用户🎉