aiken's blog
  • home
  • archives
  • search
  • Aiken's Blog
  • home
  • posts
  • tags
  • categories
  • archives
  • about
  • search
  • linklog
Home » Categories

Linux

linux下载命令之Wget和Curl

想要通过命令行直接下载文件,通常想到的就是下面的两个工具:wget 和 curl,下面简单介绍一下两者的使用。 Wget wget 全称为 web get ,其基本用法为:wget [-para] url ,常用的参数有以下几种: -O 指定下载文件的保存名称 -b 为后台下载模式 -P 下载到指定目录 -c 支持断电续传 -p 下载页面内的所有资源、包括图片视频等 -r 递归下载 -t 最大尝试次数 bash # 默认无需参数的情况下即会将文件下载到当前文件夹下。 # 也是最常见的用法,可以加入-c避免下载中断 wget url wget -O file.tgz url 参考 Man Page 或者 ExplainShell 可以找到完整的参数列表;支持从文件中读取 url ;将 log 写入指定的文件等等功能; ...

July 7, 2023 · 1 min · 177 words · aikenhong ·  Linux ·  CLI
#Linux #CLI

Terminal multiplexer Zellij

Tmux 作为一款优秀的终端复用器,前面已经介绍过,这里在介绍一款有着相同功能的平替,个人认为 zellij 的 UI 各方面的设计,使得其相比于 Tmux 有着更低的入门难度,也避免了需要记大量快捷键,因此这里介绍一下该工具。 Zellij 是一款终端复用器,有什么功能可以完全参考 Tmux ,还支持了许多有趣的特性和自定义 Layout 等功能(可能后续用到的话会完善该部分笔记),详细的可以参考官网的介绍,接下来就简单的介绍一下安装和一些自定义的 Alias。 Install 安装 Zellij 是基于 Rust 编写,因此在安装之前需要安装 rust 和 cargo(类似 rust 的包管理器),安装可以参考 Rust 官方网站(推荐) | The Cargo Book | Rust Wiki CN 官方网站中介绍了 WSL 的安装指令如下: bash curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh #--proto以及--tlsvl在Linux或者Macos安装的时候可以忽略 安装完成后可以使用如下命令,基于 Cargo 安装 zellij: ...

May 20, 2023 · 1 min · 122 words · aikenhong ·  Linux ·  CLI ·  Terminal multiplexer
#Linux #CLI #Terminal multiplexer

Grep、Sed、Awk 03 Awk

Linux 三剑客之 Awk (由三个创始人的姓氏首字母组成),相比于 Grep 和 Sed 而言更为特殊一些,它是一种模式匹配的编程语言,其主要的作用匹配文本进行处理,其擅长实现对文本的格式化输出,而作为一门编程语言:支持函数,变量,循环,运算,但相对简单。 AWK 的执行逻辑是:搜索文件的每一行,如果发现匹配内容,就执行下一个编程步骤,如果没发现,就继续处理下一行的内容。 Intro 由于 AWK 实际上是一个编程语言,本篇主要只介绍其命令行用法。 首先介绍 AWK 命令,其主要用于匹配文本并格式化输出,适用于对表格化的数据机型处理。其使用模板大致如下: bash awk [options] 'program' var=value file... awk [options] 'pattern {action1; action2; ...}' file ... awk [options] -f programfile var=value file... awk [options] 'BEGIN{ action;... } pattern{ action;... } END { action;... }' file ... -f scriptfile: 从脚本文件中读取 awk 命令 -v var=value: 赋值一个用户定义变量,也可用这种方式修改内置变量 -F fs: fs 可为任意字符串或者正则表达式,用于指定分隔符(也可以通过-v 的方式修改内置的分隔符变量来实现) 每个 action 或者说 statement 之间用 ; 分割 ...

April 18, 2023 · 4 min · 720 words · aikenhong ·  Bash
#Bash

Grep、Sed、Awk 02 Sed

Linux 三剑客之 Sed,相比于擅长数据查找定位的 Grep,Sed(Stream Editor)擅长做的是数据修改,做的主要是做一些增删改的功能。 sed 和 awk 的区别是什么? Intro 首先介绍 Sed 命令,Stream Editor 流编辑器,针对字符流来进行文件编辑,同样,其核心也在于正则匹配式,其用法如下: bash sed [option] {script} [input-file] 其中{script}可以理解为三者的组合:sed 动作指令+Reg 用正则&行号确定修改位置+修改的内容:Script 是 Sed 的核心,分别对应着:操作的行为,操作的位置和操作的内容。 Sed 的用法也可以按照这个来记: bash sed [-hnV] [-e <script>] [-f <script文件>] [文本文件] h 显示 helo ;-n 表示静默输出,-V 显示版本;参考第一种用法,-e 可以指定多个 script 对输入的文件进行处理,-f 则可以将多个 script 写在文件中,通过读取文件中的 scripts 来对文本文件进行处理。 ...

April 15, 2023 · 3 min · 636 words · aikenhong ·  Bash
#Bash

Grep、Sed、Awk 01-Grep

Linux 三剑客之 Grep。Grep 估计会是大部分 Linux 用户最常用的文本搜索命令了,在三剑客中的使用场景也是最广泛的。在对正则有了基本了解之后,就可以更好的使用 Grep,同时也可以通过 Grep 的使用来更好的掌握常用的正则表达式。 Intro 首先介绍 Grep 命令,Global Regular Expression Print 全局正则表达式输出,使用正则表达式搜索文本内容输出。其使用模板如下: bash grep [option] pattern file option 指定 grep 的搜索模式 pattern 需要搜索的内容,可以用正则表达式指定一个模式来做匹配 file 可以是文件夹等路径,用来确定搜索的范围(仅支持通配符)[[Published发布/Linux三剑客之正则]] 接下来分别对两个部分进行简单的说明,file 的范围指定参考正则文章中对通配符的介绍即可。 Option 搜索模式 参考资料:man grep ,ManPage-zh 具体完整的有哪些搜索模式可以在 man page 中进行查看。这里主要介绍一些常见的搜索模式和一些使用场景。 ...

April 12, 2023 · 2 min · 262 words · aikenhong ·  Bash
#Bash

Grep、Sed、Awk 00 RegExp

“awk、grep、sed 是 linux 操作文本的三大利器,合称文本三剑客,也是必须掌握的 linux 命令之一。三者的功能都是处理文本,但侧重点各不相同,其中属 awk 功能最强大,但也最复杂。grep 更适合单纯的查找或匹配文本,sed 更适合编辑匹配到的文本,awk 更适合格式化文本,对文本进行较复杂格式处理。“ Linux文本三剑客超详细教程—grep、sed、awk 在介绍这三个命令之前,需要对正则表达式有所了解,结合正则表达式来使用,才能发挥这 linux 三剑客的的全部能力。 正则表达式 RegExp 正则表达式: Regual Expression 为一类特殊字符和文本符号共通约定的一种 pattern,其中的一些字符并不表示其本身的含义,而是用来做通配符号。 其中基本正则表达式 BRE 是普遍支持的,而拓展正则表达式 ERE 通常则是需要特殊的参数来启用的。通过正则表达式中特殊符号的辅助,能够更快的过滤,查找,替换,处理字符流等。 除了在 grep、sed、awk 的 linux 三剑客中,在各个语言和各种搜索函数的地方,正则表达式都被普遍支持,应用相当广泛。 基础正则表达式对应的元字符主要有以下几个: bash ^ $ . [ ] * 而拓展正则表达式在上述元字符的基础上增加了: bash ( ) { } ? + | 等字符,接下来我们将逐一展开各个元字符的作用。 ...

April 11, 2023 · 2 min · 288 words · aikenhong ·  Bash
#Bash

Linux02 基础指令

@Aiken 2022 If u want get detail params info go to: http://www.explainshell.com . tar 压缩命令 linux中主要使用tar来进行文件的打包和解压,如果需要处理zip文件需要额外的支持,在上一章节中已经提到了,该章节压缩文件部分主要介绍tar命令 压缩文件(夹) shell tar -zcvf {final_name}.tgz {dir} --exclude={dir/sub_dire1} tar -cvf ... 解压文件(夹) shell tar -zxvf {tarfile}.tgz -C {指定目录} tar -xvf ... 批量解压tar 编写脚本批量解压tar文件到对应的文件夹中,这里主要的核心在于脚本的编写,而非tar的package ...

September 4, 2022 · 4 min · 644 words · aikenhong ·  Linux
#Linux

Z Jumper for Linux

Star this Project in Github after u decide to use it. Download & Install Firstly, Cpy z.sh to the path u want make this script can be recognizabled by your shell like zsh, bash. shell cd ~ wget https://raw.githubusercontent.com/rupa/z/master/z.sh Secondly, add . ~/z.sh to the end of your .zshrc ,u can use following cmd also ...

May 20, 2022 · 1 min · 89 words · aikenhong ·  CLI
#CLI

Linux 文件传输和同步

@aikenhong 2022 当我们需要在Server之间进行,或者Server和WSL之间进行文件的传输,以及文件夹的同步的时候,如果要打开Xftp之类的软件进行,有繁琐的操作中转,或者说目录较为庞杂的时候,也显得有些麻烦。 于是我们可能希望使用脚本,来实现更便捷,同时也能设置定时功能,使得操作简单便捷,经过简单的调研,我们目前尝试使用以下几种方法,并取得了成功。 Rsync 同步目录 rsync是借助ssh服务进行的文件传输,为了使用起来方便,我们首先需要配置免密登录,在服务器之间传输SSH密钥,参考[[Envs/SSH]] 此后我们便可以编写同步脚本来同步远程的目录和本地目录,当然也可以执行反向的命令, bash rsync -azP --delete -e 'ssh -p port' --progress --stats --exclude "big Files or sth" user@ip:source_path target_path >transfer.log 根据 -progress 和 -stats 选项记录传输过程中的日志,并输出到 transfer.log(如果加入计划任务 crontab 记得使用绝对路径),同时使用 exclude 排除大文件,避免传输过慢。 -a: 归档文件模式(保留文件的时间戳等),保括了 r 的递归 -z: 使用压缩文件传输 -P: 支持断点续传 –delete: 会删除目标文件中多出来的东西,保持同步,使得成为远程的镜像,但是有时候我们可能不需要这点,避免同步损毁 ...

January 17, 2022 · 1 min · 127 words · aikenhong ·  SSH ·  Sync Files ·  Linux
#SSH #Sync Files #Linux

Linux 基础操作 01

学习资源汇总 manual:菜鸟Shell | ExplainShell 收录一些Linux的工具书以及相关的OnLine-Doc,方便后续进行学习和查阅: 鸟哥的Linux私房菜 :相对全面一点但是内容有点太多了 Linux就该这么学 :从开始到结束的流程挺完善的,但是这个网站做的是纯傻逼 Linux Tools Quick Tutorial :简单入门教程好像是 Linux命令行于Shell脚本编程大全:本地PDF,在当前文件夹下面进行查看 文件架构&系统信息 Linux各文件夹的含义 分析LInux下的文件架构体系,包括最外层的一些系统文件夹的基础作用以及对应的特殊功能等等,帮助我们能够更清楚我们文件的存储体系以及系统文件的存储地址。 /tmp:临时文件夹,系统会定期清理其中的文件,用来存放一些下载和安装的文件 /mnt: mount挂载文件夹,作为挂载目录来使用,比如在WSL中,对应的就是windows系统的文件 /etc :用来存放所有的系统管理所需要的配置文件和子目录,linux正是因为这些文件才能正常运行 /home: 个人文件夹,在home下会有自己的user dir,通常情况下我们的工作区和对应的其余资料都会放在这个部分 /bin: 是binary的缩写,包含了引导系统启动所需的命令和普通用户可以使用的常用命令 /root: 系统管理员的主目录 /var:这个目录中存放着那些不断在扩充着的东西,为了保持/usr的相对稳定那些经常被修改的目录可以放在这个目录下,实际上许多系统管理员都是这样干的顺带说一下系统的日志文件就在/var/log目录中。 /usr: 最庞大的目录,要用到的应用程序和文件几乎都在这个目录 GPU & CPU信息 Linux查看显卡信息: shell lspci | grep -i vga # 如果是nvidia还可以 lspci | grep -i nvidia # 最常用:或者使用nvidia的自带命令 nvidia-smi 监视GPU使用情况 ...

November 28, 2021 · 6 min · 1221 words · aikenhong ·  Linux
#Linux
© 2025 aiken's blog Licensed under CC BY-NC 4.0 · Powered by Hugo & PaperMod Visitors: Views: