BobMaster's Blog

生活的点滴-是热爱呀

Linux优化以及一些好玩的东西

上篇文章介绍了些Linux下的常用软件,终端(terminal)的重要性不言而喻。这篇文章向大家介绍下终端插件的安装(oh-my-zsh)、桌面环境的美化(tweak)以及一些好玩的东西

Terry⼤佬分享了他⽤的Linux⼯具集https://sites.google.com/site/imterry/computer/tools
那⾥⾯的我也没⽤过多少,不过⼤体上也知道⼀些常⽤的⼯具

终端的配置及常⽤的命令

Terminal默认的shell是bash,我们平常使⽤的时候,命令要⼀点点敲,虽然可以配合Tab补全,然⽽机械化的操作还是容易让⼈产⽣疲劳,因此我们可以安装zshoh-my-zsh插件来改善使⽤体验
项⽬地址: https://github.com/ohmyzsh/ohmyzsh
安装zsh

sudo apt install zsh

安装 oh-my-zsh

PS: 如果你还没有安装curlgit,请先安装

sudo apt install curl git -y
sh -c "$(curl -x socks5://127.0.0.1:10808 -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

我在上⾯加的那个 -x 参数是为了⾛代理,提⾼下载速度,之后会问你是否将默认的shell环境改为 zsh ,请输⼊ y

如果你不⼩⼼输错密码,那个命令消失了,你可以⼿动修改当前⽤户的默认 shell 为 zsh

chsh -s $(which zsh)
# $()的意思是先执⾏这⾥⾯的命令
# 假设zsh可执⾏⽂件在 /usr/bin/zsh
# 上⾯命令等效为
chsh -s /usr/bin/zsh

接着为 zsh 安装⼏个插件 zsh-autosuggestionszsh-syntax-highlightingzsh-completions

使⽤前建议为 git 配置代理或者使用proxychains4以提⾼速度

git config --global http.proxy socks5://127.0.0.1:10808
git config --global https.proxy socks5://127.0.0.1:10808

这样配置后,会⽣成⼀个 ~/.gitconfig ⽂件,记录着git的配置
然后克隆插件

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.ohmy-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:=~/.oh-myzsh/custom}/plugins/zsh-completions

之后编辑 ~/.zshrc , 你可以使⽤ nano 或者 vim,如果没装 vim 的话请先通过 apt 来安装

vim ~/.zshrc
# 将 zsh-autosuggestions、zsh-syntax-highlighting、zsh-completions 添加进去
# 同时添加下面的补全命令
autoload -U compinit && compinit

可以通过/plugins ,然后回⻋,会⾃动帮你查找 plugins 所在位置,然后按 i 进⼊编辑模式,然后将插件添加进去,添加好后,按 Esc 退出编辑模式,再按:wq 保存退出

# 再输⼊如下命令使配置⽣效
zsh

vim 的相关命令⼤家可以看看书或者找些资料,⽤习惯了就很⽅便了
http://cn.linux.vbird.org/linux_basic/0310vi.php
https://www.runoob.com/linux/linux-vim.html

现在的是效果是,你输⼊命令时会有 suggestion ,按->键可以直接帮你补全


再说说终端环境下,常用的快捷键

  • 键盘⾥的上下左右,按上会显⽰上⼀个命令
  • Ctrl + a 使光标来到⾏⾸, Ctrl +e 使光标来到⾏末
  • Ctrl + u 删除光标前的所有命令, Ctrl +k 删除光标后的所有命令
  • 如果想同时输⼊两个或者多个命令,可以在命令之间插⼊⼀个 ; ,如
cd ~/Downloads ; ls -lh
  • 如果想输⼊两个或者多个命令,同时要求前者正常执⾏后,后者才能执⾏,如
cd ~/Videos && ls -lh

Linux下还有很多常⽤命令如 sedgreptailheadlessawkcutcpmv 等,⼤家可以看看书学习⼀下,这些都是很实⽤的⼀些命令


建议有能⼒的,可以学习⼀下Shell脚本的编写,这样的⾃动化脚本可以让你摆脱繁琐的重复命令,⽐如我现在将Markdown格式的⽂档⽤ Hexo 博客系统进⾏渲染,然后以在线的⽅式让⼤家阅读,如果我每次都要重复输⼊

hexo g && mv public hexo && rsync -a hexo root@xx.xxx.xxx.xxx:/var/www/
&& rm -r hexo

这是⼀个很痛苦的⼯作,这个时候我只需要写⼀个简单的Shell脚本

#/usr/bin/env bash
mv public hexo &&
rsync -a hexo root@47.102.109.198:/var/www/wordpress &&
rm -r hexo
# 给予可执⾏权限
chmod +x upload.sh
# 运⾏这个脚本
./upload.sh

每次我写完⽂章只需要事先本地调试⼀下,然后运⾏那个脚本就将⽹⻚直接上传到服务器上了,你们就可以看到我最新发布的⽂章了(现在用wordpress),我这⾥只是举⼀个⾮常简单的例⼦

AppImageLauncher

大家使用AppImage的时候会发现图标不好看或者管理很不方便,每次使用需要找到AppImage所在的位置然后双击打开,不像其他应用一样直接在Dock里按一下就出来了,这多方便啊===
项目地址: https://github.com/TheAssassin/AppImageLauncher

sudo add-apt-repository ppa:appimagelauncher-team/stable
sudo apt update
sudo apt install appimagelauncher

安装好后在Applications中打开,添加AppImage文件所在的文件夹

添加好后,点OK,你就可以像其他应用一样在Applications中找到那些AppImage软件对应的图标了,很方便

桌面环境美化

一般Linux默认装的桌面环境对应的主题不是那么的美观,至少和macOS没得比🤔
我先上张我美化过的桌面环境

美化主题我们要用到的工具是gnome-tweak,以及特定的主题文件
主题可以在这里选: https://www.gnome-look.org/
我用的主题是: Orchis gtk theme
图标主题: Tela-icon-theme

# 安装gnome-tweak
sudo apt install gnome-tweak-tool
# 安装chrome-gnome-shell
sudo apt install chrome-gnome-shell

下载主题和图标主题

下载好后解压,将主题解压后的文件夹移动到 /usr/share/themes 下,图标主题移动到 /usr/share/icons

sudo mv Orchis /usr/share/themes/
sudo mv 01-Tela/Tela /usr/share/icons/
sudo mv 01-Tela/Tela-dark/ /usr/share/icons

之后在任务栏里搜索Tweaks,打开后找到Apperance-〉Themes,将applications和icons改为之前添加的主题即可,同时记得在Extensions中勾上ubuntu dock

是不是发现shell没法更改,请看下面

用火狐浏览器打开https://extensions.gnome.org/extension/19/user-themes/

安装这个插件后就可以更改shell theme

既然说到gnome-extensions,顺便可以安装一个显示网速的插件
https://extensions.gnome.org/extension/104/netspeed/

那么如何将dock修改到正下方呢?
先安装dconf-editor

sudo apt install dconf-editor

之后打开dconf-editor,依次进入到 org->gnome->shell->extensions->dash-to-dock

取消勾选extend-height,之后找到dock-position,将里面的value改为底部(即Buttom),你的dock就跑到下面了,其他的大家可以根据情况自行更改,我就不赘述了

好玩的东东

看了这么多让⼈懵的命令,是不是有点⼩⽆聊呢?下⾯再介绍些⾮常好玩的东⻄,给⼤家涨涨兴趣

Screenfetch

是不是好有逼格!!!😋

sudo apt install screenfetch
# 然后输⼊如下命令就可以Print你的专属Ubuntu了!!!
screenfetch

youtube-dl

youtube-dl有好几个月未合并pr了,有权限的开发者也不知道去哪了,而且现在youtube对此有针对限速导致下载速度极慢,目前活跃在一线的youtube-dl fork版本已出现,叫yt-dlp,解决了上述问题和添加了很多功能,请大家安装使用

sudo wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp
sudo chmod a+rx /usr/local/bin/yt-dlp

然后在使用的时候将下面的youtube-dl替换为yt-dlp即可!

吗的,勋哥你怎么⽼是给我们看⼀些花⾥胡哨的东⻄,没点实际⽤处啊。唉,好吧我错了😂,下⾯介绍个Github 上⼀个⽤ Python 写的90.4k+ Star的项⽬ youtube-dl
https://github.com/ytdl-org/youtube-dl

youtube-dl 是个强⼤的视频、⾳频下载⼯具,⽀持很多⽹站的⾳视频下载(当然你也考虑用you-get,请自行举一反三哦)
这⾥有⼀份列表 https://ytdl-org.github.io/youtube-dl/supportedsites.html

学会使⽤ youtube-dl 后我们就可以通过命令⾏下载 youtubebilibilivimeo 等⽹站的视频和⾳乐了


先安装pip

sudo apt install python3-pip

之后通过 pip 来安装 youtube-dl(请使用上面提及的yt-dlp)

sudo -H pip3 install --upgrade youtube-dl -i https://pypi.tuna.tsinghua.edu.cn/simple

或者将 pip 全局设置为清华的镜像源

pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

这样下次安装程序时直接 sudo -H pip3 install [some-package] 即可

由于有些⽹站的⾳视频编码有些”异常”,同时现在有些⽹站的⾳视频是分离的,如 Youtube ,我们需要⼀个额外的⼯具来进⾏⾃动处理( youtube-dl 会⾃动调⽤它)
Here comes our hero — ffmpeg

对多媒体处理了解的同学,对 ffmpeg 肯定不会陌⽣, ffmpeg是常⽤的⾳视频编码、处理的开源⼯具
我们可以通过 apt 来安装

sudo apt install ffmpeg

常⽤命令

  • 获取⾳视频的格式
youtube-dl -F [url]
  • 下载特定格式的视频或⾳频, format_code 通过上⾯的那个命令获得
youtube-dl -f format_code [url]
  • 使⽤代理,请根据实际情况来
youtube-dl --proxy socks5://127.0.0.1:10808

更多命令 请看官⽹ https://github.com/ytdl-org/youtube-dl
我下⾯也会演⽰下载字幕及合并到视频⾥的操作


下载Bilibili视频

以这个视频为例 https://www.bilibili.com/video/BV19t411a7uh
⾸先获取视频的format_code

# 先确定你要将视频下载到的位置,⽐如我要下载到~/Videos 中, 就先cd 进去
cd ~/Videos
# 获取 format_code
youtube-dl -F https://www.bilibili.com/video/BV19t411a7uh

我想下载format code为 2的那⼀个视频

youtube-dl -f 2 https://www.bilibili.com/video/BV19t411a7uh

之后你就可以在你的 Videos那个⽂件夹找到你下载的视频了

下载Youtube视频和⾳乐

演⽰⼀
视频地址: https://youtu.be/NPBCbTZWnq0
第⼀步获取format_code,因为Youtube在国内被墙以下所有命令都要配置代理

youtube-dl --proxy socks5://127.0.0.1:10808 -F https://youtu.be/NPBCbTZWnq0

这⾥回到我前⾯提到的问题,Youtube是采⽤⾳视频分离的,因此你需要选择两个format code,⼀个是视频的,另⼀个是⾳频的。mp4格式的视频只能和m4a的视频组合,webm的视频只能和webm的⾳频组合

下⾯演⽰下载清晰度为1920×1080的mp4格式的视频和m4a那个格式的⾳频,即format code分别为137和140

youtube-dl --proxy socks5://127.0.0.1:10808 -f 137+140 https://youtu.be/NPBCbTZWnq0

PS: 记住视频的format code要放在⾳频的前⾯,如果你只单独要某⼀个部分,那就只使⽤那⼀部分的format code,如上⾯你只要⾳频,你就只使⽤ -f 140 就⾏了

演⽰⼆-下载带字幕的视频
https://www.youtube.com/watch?v=JtOMlDLxEy0

第⼀步也是获取format code

youtube-dl --proxy socks5://127.0.0.1:10808 -F https://www.youtube.com/watch?v=JtOMlDLxEy0

选好你要下载的视频流以及⾳频流
在播放界⾯看一下有什么字幕

可以看到有⼀个⾃动⽣成的英⽂字幕,根据官⽅⽂档,我们如果要下载这种字幕需要在使⽤时加上参数--write-auto-sub

同时 youtube-dl 官⽅⽂档还提及了⼀个 Post-processing 选项中的--embed-subs 参数,那真是太⽅便了,我们可以下载视频的同时把字幕也弄进去

youtube-dl --proxy socks5://127.0.0.1:10808 --write-auto-sub --embed-subs -f 248+250 https://www.youtube.com/watch\?v=JtOMlDLxEy0

之后⽤VLC打开那个视频,字幕默认是被禁⽤的,你可以右击播放的视频,在字幕那个选项中找到字幕轨道,你会发现⾥⾯有⼀个英⽂的字幕轨,选择那个字幕轨就可以开启这个视频的字幕了 !😋

alias 设置快捷命令

别忘了我们使用Linux是要学会提⾼效率的,下⾯我会教⼤家⼀个⽅法设置⼀些快捷命令,来提⾼我们的效率

每次输⼊ youtube-dl --proxy socks5://127.0.0.1:10808 -F 来获取format code是不是很繁琐?其实我们可以⽤ alias 命令来设置⼀些快捷命令,以⽅便⾃⼰的使⽤
在终端输⼊如下命令

alias ytb_l="youtube-dl --proxy socks5://127.0.0.1:10808 -F "

之后我们只需要输⼊ ytb_l [url] 就可以获取视频的format code

但是呢这样配置的alias只能⽤于当前的会话(session),即只在当前终端⽣效,你再开⼀个就⽆效了,对此我们可以将快捷命令写⼊ ~/.zshrc 中,因为每⼀次打开终端都会加载⼀次 ~/.zshrc 中的配置

PS: 如果你没有安装 zsh ,那么请将快捷命令写⼊ ~/.bashrc

vim ~/.zshrc
# 按G可以直接跳转到最后⼀⾏,然后添加如下命令
alias ytb_l="youtube-dl --proxy socks5://127.0.0.1:10808 -F "
alias ytb_d="youtube-dl --proxy socks5://127.0.0.1:10808 -f "
# :wq 保存退出

重新打开⼀个终端,你会发现上述快捷命令也可以正常使用,那就是生效了🥳

总结

Linux下提升效率的东⻄太多了,就看你掌握多少,熟练掌握命令⾏可以快速的处理⼀些图形化⼯具没法完成的事,学Linux,掌握其命令⾏的使⽤是必须的。更⾼级的玩法就是学习Shell脚本或者Python脚本的编写来完成⼀些⾃动化的命令

希望这三篇⽂章能给⼤家⼀些帮助,如果你有任何问题,欢迎在下面留言或者给我发邮件

Have a nice day !


评论

《“Linux优化以及一些好玩的东西”》 有 2 条评论

  1. 网站换风格了哇! 小喇叭里面的文案,颇有 “独立之精神,自由之思想”之感!

    1. 哈哈,这是小土豆魔改过的主题,我觉得很棒,喇叭里的文案也应该也是土豆整的,我只负责使用😋

      本评论由Telegram Bot回复~❤️

回复 BobMaster 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注


©BobMaster 2018~2024