LinuxTravel
1.Linux之旅
1.1前言
记录本人的Ubuntu之旅
Linux路上凶险很多,实在解决不了的问题就重装系统吧🥹
1.2初始化
1.2.1WSL2下安装 Ubuntu和共享网络
第一步
- 控制面板 - > 程序 -> 启用或关闭windows功能 -> 开启适用于windows的子系统和虚拟机平台 -> 重启电脑
第二步
-
win+r
->powershell
->wsl --install Ubuntu-22.04
Tips : wsl --list --online 查看发行版名称
第三步 -
在C:\Users\用户名.wslconfig里输入(不要#后内容)
1 | [experimental] |
1.2.2Ubuntu换源
第一步
- 前往清华源并找到对应版本替换
/etc/apt/sources.list
第二步
sudo apt update && sudo apt upgrade -y
更新软件包
1.2.3终端美化
1.2.4zsh美化
sudo apt install zsh git curl -y
Tips: curl — client url
chsh -s /bin/zsh
设置默认终端
Method | Command |
---|---|
curl | sh -c “$(curl -fsSL https://install.ohmyz.sh/)” |
wget | sh -c “$(wget -O- https://install.ohmyz.sh/)” |
fetch | sh -c “$(fetch -o - https://install.ohmyz.sh/)” |
国内curl镜像 | sh -c “$(curl -fsSL https://gitee.com/pocmon/ohmyzsh/raw/master/tools/install.sh)” |
国内wget镜像 | sh -c “$(wget -O- https://gitee.com/pocmon/ohmyzsh/raw/master/tools/install.sh)” |
Tips:
curl -f --fail 不显示http错误消息
-s 不输出进度条和错误
-S 只输出错误
-L 支持重定向d
sh -c 使用sh(命令解释器)执行之后的脚本,$(command)符号将输出变成输入
wget -O file将下载的信息保存在file中, 而-O-表示输出到终端
Thoughs:
没有魔法可以去gitee上找开源项目的镜像网址
下载主题
1 | git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k |
修改配置文件
ZSH_THEME="haoomz"
source ~/.zshrc
加载配置文件
下载插件
- zsh-autosuggestion命令补全
1 | git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions |
- zsh-syntax-highlighting语法检验
1 | git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting |
- z
oh-my-zsh 内置了 z 插件。z 是一个文件夹快捷跳转插件,对于曾经跳转过的目录,只需要输入最终目标文件夹名称,就可以快速跳转,避免再输入长串路径,提高切换文件夹的效率
- extract
oh-my-zsh 内置了 extract 插件。extract 用于解压任何压缩文件,不必根据压缩文件的后缀名来记忆压缩软件。使用 x 命令即可解压文件
- websearch
oh-my-zsh 内置了 web-search 插件。web-search 能让我们在命令行中使用搜索引擎进行搜索。使用搜索引擎关键字+搜索内容 即可自动打开浏览器进行搜索。如baidu 天气预报
修改~/.zshrc
plugins=(git zsh-autosuggestions zsh-syntax-highlighting z extract web-search)
source ~/.zshrc
加载配置文件
大功告成…
1.2.5vim美化
下载较新的vim
sudo add-apt-repository ppa:vim/stable
sudo apt update
sudo apt install vim
Tips: 利用git安装最新版
1
2
3 git clone https://github.com/vim/vim.git
cd vim/src
make免责声明: 作者没试过,出现依赖问题自行解决🤣
配置文件
以下是本人的仅供参考
1 | set confirm "确认文件是否保存 |
Tips:
sudo apt install xclip
然后可以ctrl+c把vim的内容复制到系统剪切板
下载vim插件
curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
- ~/.vimrc ->
1 | call plug#begin() |
- 具体插件见vimawsome
- vim命令可见我的拙见
1.3开始启程
1.3 .1 推荐工具
-
neofetch – 展示操作系统等信息 -->
sudo apt install neofetch
-
w3m – 文本浏览器 -->
sudo apt install w3m
-
mpv – 视频播放器 -->
sudo apt install mpv
-
ncmpcpp – 音乐播放器 -->
sudo apt install ncmpcpp
音乐播放器教程作者表示为网易云资深用户不想折腾 -
nomacs – 图片查看器 -->
sudo apt install nomacs
-
pass – 密码管理器 -->
sudo apt install pass
-
zip – 压缩工具 -->
sudo apt install zip
-->zip -r data.zip file1 file2 dir1
1
2
3
4
5
6
7
8
9
10gpg --gen-key # 生成gpg密钥
pass init name # 主目录->.password-store目录
pass add your_service # 创建
pass show your_service # 展示
pass edit your_service # 编辑
pass # 列出所有密码
高级用法
pass add social/facebook # 密码分类
pass | grep facebook # 搜索
pass | xclip -sel clip # 复制到系统剪贴板 -
tree – 查看目录结构 -->
sudo apt install tree
-
mc – 终端双窗口查看目录结构 -->
sudo apt install mc
Tips: 建议在~/.zshrc中写入
aliasmc='mc --nocolor'
进入之后下方的是f1,f2,f3…不是1,2,3
F9 -> o -> p -> 空格选中Panel options -> 只需要方向键既就可以进入目录或退出目录。命令 解释 Tab 两个窗口间移动 参考文章
1.3.2命令知识手册
- Good command -> sudo !! --> 读作!!(代表上一条命令)
1 | foo=1 |
-
$的大作用🤣
"$var"
展开变量,'$var'
不展开变量$?
上一条命令的返回码$_
上一条命令的最后一个参数$$
该shelld的PID -->sudo kill "$$" -9
😁$_
上一条命令最后一个参数$#
上一条命令参数数量$@
上一条命名参数列表 -->for var in $@
$0
第一个参数(脚本名称)${1..9}
参数…
-
; && ||的大作用
cmd1 ; cmd2 ; cmd3
--> 按顺序执行不论是否执行成功cmd && cmd2 && cmd3
--> 状态码为0才执行cmd || cmd2 || cmd3
--> 状态码为1才执行
-
重定向
>
标准输出2>
标准错误&>
标准输出和标准错误
-
了解一些常见的正则表达式
符号 | 解释 | 速记 |
---|---|---|
. | 任意字符 | 点子王 |
\w | 字母,下划线,数字 | 变量名 |
\s | 空白字符 | space |
\d | 数字 | digit |
^ | ^xxx | 以xxx开头 |
$ | xxx$ | 以xxx结尾 |
\W\S\D | 非wsd | … |
[abc] | 任意[]中的一个字符 | 任我选 |
[^abc] | 出来[]中的任我选 | … |
次数 | 解释 | |
* | 0~n | |
+ | 1~n | |
? | 0?1 | 布尔值 |
{n} | n | |
{m,n} | m~n | |
{*,+,?}? | 禁用贪婪模式 |
-
图片转换
convert input_file output_file
- `convert a.jpg -resize widthxheight b.jpg
-
{}的妙用
mkdir foo{1,2,a,b}
会创建四个文件夹mkdir foo{1..9}/{a..z}
会创建9x26个文件夹
-
find
给定路径下找文件(夹)的工具
- 格式
find [path] [condition] [expr]
condition expr 解释 -name
“*.cpp” 以cpp结尾 -size
“+10M” 超过10M -ctime
"+30 修改时间超过30天 -type
f/d/l 文件,文件夹,链接 -exec
command {} 对找到的文件执行操作 Tips: 可以同时指定多个选项
Extension: find支持的通配符并非所有正则表达式
只有 * ? [] {}
可以使用find path -regex "expr"
- 格式
-
locate
依据已经建立的数据库在根目录下快速查找文件(夹)
sudo apt install mlocate
下载软件包sudo updatedb
locate [option] [file]
-i(gnore) -r(egex) -c(olumn)
-
rg
rust写的替代grep的工具,支持正则表达式,默认递归搜索(grep需要-r选项)
,自动忽略.gitignore文件- 格式:
rg <文本> [文件或目录]
- 下载:
sudo apt install ripgrep
选项 作用 --stats
显示统计信息 --type xxx
指定文件类型 -u
不忽略.文件 - 格式:
-
history
history n
显示最近n条命令!-n, !n, !!
执行对应命令
-
tree
常用选项选项 用处 -L x
限制层数 -h
k,m显示文件大小 ulimit
-a
查看系统资源限制-选项 -值
修改系统资源限制
-
tail
查看文件尾部内容
tail -n 20 file
查看倒数20行tail -n +20 file
查看从20到末尾tail -c 10 file
查看倒数20个字符
笑死了,你以为只有这点? – 鲁迅
特此说明 ^ 代表 ctrl
常见信号
操作 | 信号 |
---|---|
^c |
SIGINT |
^z |
SIGSTOP |
logout |
SIGHUP |
nohup |
忽略SIGHUP,退出终端程序依旧运行 |
kill |
SIGKILL |
1 | command & -- 在后台运行 |