1. Linux 系统学习

1.1. Linux 文件与目录管理

1.1.1. Linux 文件权限与目录配置

1.1.2. 文件系统与挂载

1.1.3. /bin, /sbin, /usr/sbin, /usr/bin 目录

1.1.4. Linux 文件权限

1.1.5. Linux 查看文件(夹)大小

1.1.6. linux 以树形展示目录结构

1.1.7. linux 下的解压与压缩 (tar)

1.2. Linux 下查找文件

!!! note 1. find 命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。 2. grep 是根据文件的内容进行查找,会对文件的每一行按照给定的模式 (patter) 进行匹配查找。 3. which 查看可执行文件的位置,只有设置了环境变量的程序才可以用 4. whereis 寻找特定文件,只能用于查找二进制文件、源代码文件和 man 手册页 5. locate 配合数据库查看文件位置 ,详情:locate -h 查看帮助信息 - 最常用的还是 find 和 grep

1.2.1. find

!!! example 1. find / -amin -10 查找在系统中最后 10 分钟访问的文件 (access time) 2. find / -atime -2 查找在系统中最后 48 小时访问的文件 3. find / -mmin -5 查找在系统中最后 5 分钟里修改过的文件 (modify time) 4. find / -mtime -1 查找在系统中最后 24 小时里修改过的文件 5. find / -empty 查找在系统中为空的文件或者文件夹 6. find / -group cat 查找在系统中属于 group 为 cat 的文件 7. find / -user fred 查找在系统中属于 fred 这个用户的文件 8. find /etc -type l 查找 /etc 下文件类型为链接文件(l)的文件 9. find / -size +10000c 查找出大于 10000 字节的文件 - c:字节,w:双字,k:KB,M:MB,G:GB - + 大于;- 小于 10. find / -size -1000k 查找出小于 1000KB 的文件 11. find / -perm 644 查找所有权限为 644 的文件,这里 -perm 是精确权限的意思

!!! example 1. find /tmp -size +10000c -and -mtime +2 在 /tmp 目录下查找大于 10000 字节并在最后 2 分钟内修改的文件 2. find / -user fred -or -user george 在 / 目录下查找用户是 fred 或者 george 的文件文件 3. find /tmp ! -user panda 在 /tmp 目录中查找所有不属于 panda 用户的文件

!!! example find . -perm 714 -delete 查找当前目录下权限为 714 的文件删除 find / -perm 714 -ls 查找所有文件权限为 714 的文件并显示路径

1.2.2. grep

!!! abstract title: 常用选项 - -i:忽略大小写进行匹配。 - -v:反向查找,只打印不匹配的行。 - -n:显示匹配行的行号。 - -r:递归查找子目录中的文件。 - -l:只打印匹配的文件名。 - -c:只打印匹配的行数。

!!! example grep -n '2019-10-24 00:01:11' *.log 查找日志中特定时间并显示行数 grep –i "error" out.txt 不区分大小写,查找错误信息 grep –e "正则表达式" test 从文件内容查找与正则表达式匹配的行

1.3. 进程

1.4. 终端

1.4.1. Shell 知识

1.4.1.1. 快捷键

!!! ad-info Ctrl +A 跳转到行首 Ctrl +E 跳转到行尾 Alt + B(<-) 跳转到前一个单词的开头 Alt + F(->) 跳转到下一个单词的开头 Ctrl + U 剪切到行首 Ctrl + K 剪切到行尾 Ctrl + W 剪切到前一个单词 Ctrl + P 恢复到前一个键入的命令 Ctrl + R 查找过往命令 Ctrl + Y 粘贴缓冲区内容(即前面剪切的),注意这里跟 Ctrl + C/V 不是一套体系

1.4.1.2. Head & Tail

1.4.1.3. 重定向

1.4.1.4. exec 命令

1.4.2. bash, sh, source, . 的不同

1.4.3. Shell 选择 —— Zsh 和 Bash

1.4.4. zsh 的使用

1.4.5. Z-Shell ys 主题的修改及与 conda 的适配

1.4.6. Zsh 和 Bash 的切换

1.5. 一些工具的安装与使用

1.5.1. tmux

1.5.1.1. 会话管理

1.5.1.2. 窗格操作

!!! info - tmux split-window -hCtrl+b %:划分左右两个窗格。 - tmux split-windowCtrl+b ":划分上下两个窗格。 - tmux select-pane -U(D、L、R)Ctrl+b <arrow key>:光标切换到其他窗格。 - Ctrl + b ;:光标切换到上一个窗格。 - Ctrl + b o:光标切换到下一个窗格。 - Ctrl + b x:关闭当前窗格。 - tmux swap-pane -UCtrl + b {:当前窗格与上一个窗格交换位置。 - tmux swap-pane -DCtrl + b }:当前窗格与下一个窗格交换位置。 - Ctrl + b Ctrl + o:所有窗格向前移动一个位置,第一个窗格变成最后一个窗格。 - Ctrl + b Alt + o:所有窗格向后移动一个位置,最后一个窗格变成第一个窗格。 - Ctrl + b !:将当前窗格拆分为一个独立窗口。 - Ctrl + b z:当前窗格全屏显示,再使用一次会变回原来大小。 - Ctrl + b Ctrl + <arrow key>:按箭头方向调整窗格大小。 - Ctrl + b q:显示窗格编号。

1.5.1.3. 窗口操作

!!! ad-info - tmux new-window (-n <name>)Ctrl + b c:创建一个新窗口,状态栏会显示多个窗口的信息。 - Ctrl + b p:切换到上一个窗口(按照状态栏上的顺序)。 - Ctrl + b n:切换到下一个窗口。 - tmux select-window -t <name or num>Ctrl + b <number>:切换到指定窗口。 - Ctrl + b w:从列表中选择窗口。 - tmux rename-window <new-name>Ctrl + b ,:窗口重命名。

1.5.1.4. 自定义配置

1.5.2. 在终端中显示 Linux 信息:Neofetch

1.5.3. 软件包管理器之 aptitude

1.5.4. cat 增强之 bat

1.5.5. ncdu —— Linux 下的硬盘空间查看工具

1.5.6. ls 增强之 exa

1.5.7. tldr 查看命令帮助

1.5.8. ranger 的使用与配置

sudo apt install poppler
sudo apt install ueberzug
sudo pip install ueberzug

1.5.9. fd

1.5.10. thefuck

anaconda

1.6. 一些杂项知识点

1.6.1. PPA


2. WSL: Windows Subsystem for Linux

2.1. wsl 启动文件配置

![[uTools_1685154340231.png]]

![[uTools_1685154399472.png]]

2.2. wsl 的网络问题

2.3. wsl 的网络问题——续

2.4. wsl 路径问题

2.5. WSL 下 sudo 后无法链接至 Xserver

2.6. WSL 下 ISE 的安装运行与脚本的使用

$ source /opt/Xilinx/14.7/ISE_DS/settings64.sh && ise
/opt/Xilinx/14.7/ISE_DS/settings64.sh:12: = not found

后来发现并不用 exec,直接指定 bash 就好了。但为什么当时我不行呢?可能姿势出了点问题 好像是因为我一直用 source 来启动脚本的原因,用 . 来另起一个 shell 就正常了

2.7. WSL 的瘦身与空间转移


3. Powershell 与 Windows CLI

3.1. Windows PowerShell 更新命令

3.2. Powershell 和 Zsh 的一些快捷键

3.2.1. Powershell

!!! info ctrl + a 选中全部 ctrl + x(X) 删除整行 ctrl + w 删除到上一个单词 ctrl + h 之后内容上移一行 ctrl + j 之后内容下移一行

3.2.2. Zsh

!!! info ctrl + u 从光标处删除至开头 ctrl + k 从光标处删除至结尾 ctrl + a 将光标移至开头 ctrl + e 将光标移至结尾 ctrl + p 同方向键上 ctrl + n 同方向键下 ctrl + d 删除光标处字符 alt + f 将光标移至下个单词 alt + b 将光标移至上个单词

3.3. Windows 下软件包管理器的安装

!!! info - apps——所有通过 scoop 安装的软件都在里面。 - buckets——管理软件的仓库,用于记录哪些软件可以安装、更新等信息,默认添加main仓库,主要包含无需 GUI 的软件,可手动添加其他仓库或自建仓库,具体在推荐软件仓库中介绍。 - cache——软件下载后安装包暂存目录。 - persit——用于储存一些用户数据,不会随软件更新而替换。 - shims——用于软链接应用,使应用之间不会互相干扰,实际使用过程中无用户操作不必细究。

3.4. Windows Powershell 下的各种操作

3.4.1. powershell 中设置和查看别名

3.4.2. Powershell 的文件查找

3.4.3. Windows powershell 查看字体

Add-Type -AssemblyName System.Drawing
$installedFonts= New-Object 'System.Drawing.Text.InstalledFontCollection'
$installedFonts.Families

3.5. Powershell 下的 conda init 问题修复及 PROFILE 的修改

3.5.1. conda init

3.5.2. VSCode 下的 conda init

3.5.3. PROFILE

3.6. 关于 Powershell 和 VSCode 的中文显示

3.7. Powershell 和 Windows Terminal 美化

for i in {0..255} ; do
    printf "\x1b[38;5;${i}mcolour${i}\n"
done