diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml new file mode 100644 index 0000000..65947d3 --- /dev/null +++ b/.github/workflows/pre-commit.yml @@ -0,0 +1,14 @@ +name: pre-commit + +on: + pull_request: + push: + branches: [main] + +jobs: + pre-commit: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + - uses: pre-commit/action@v3.0.1 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..b25b2a8 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,11 @@ +repos: + - repo: https://github.com/crate-ci/typos + rev: v1.24.5 + hooks: + - id: typos + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v2.3.0 + hooks: + - id: check-yaml + - id: end-of-file-fixer + - id: trailing-whitespace diff --git a/README.md b/README.md index 9a37328..9891111 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ -# WIP: oreo.life-v2 -Use Docusaurus to build oreo.life +# oreo.life-v2 + +Use Docusaurus to build [oreo.life](https://oreo.life). diff --git a/_typos.toml b/_typos.toml new file mode 100644 index 0000000..785f886 --- /dev/null +++ b/_typos.toml @@ -0,0 +1,5 @@ +[default] + + +[default.extend-identifiers] +levlSkipRequest = "levlSkipRequest" diff --git a/website/blog/2022-03-03-file-download-process/file-download-process.md b/website/blog/2022-03-03-file-download-process/file-download-process.md index 88ca322..22f401b 100644 --- a/website/blog/2022-03-03-file-download-process/file-download-process.md +++ b/website/blog/2022-03-03-file-download-process/file-download-process.md @@ -141,4 +141,4 @@ for name in os.listdir(): 通过前面的一系列折腾终于完成了一键下载+批量改名,在下载的文件数量较多时,还可以采用并行的方法,提高效率。 -关于并行部分的内容或许会在下次更新。 \ No newline at end of file +关于并行部分的内容或许会在下次更新。 diff --git a/website/blog/2022-07-31-reading-list.md b/website/blog/2022-07-31-reading-list.md index d2920c6..ef347f9 100644 --- a/website/blog/2022-07-31-reading-list.md +++ b/website/blog/2022-07-31-reading-list.md @@ -104,4 +104,4 @@ I usually type some commands frequently and use ↑ to find commands. The articl - To resolve a domain, use `dig` instead of `nslookup`. - To display network connections, use `ss` instead of `netstat`. - To get the network interface configuration, use `ip` instead of `ifconfig`. -- To manipulate entries in the kernel routing tables , use `ip route` instead of `route`. \ No newline at end of file +- To manipulate entries in the kernel routing tables , use `ip route` instead of `route`. diff --git a/website/blog/2023-09-04-cpp-beginner-cmake.md b/website/blog/2023-09-04-cpp-beginner-cmake.md index 29de2ab..d32ac80 100644 --- a/website/blog/2023-09-04-cpp-beginner-cmake.md +++ b/website/blog/2023-09-04-cpp-beginner-cmake.md @@ -107,15 +107,15 @@ make # This will execute the build files and build the project Merge: e5b1c472 20d0c586 Author: Oreo Date: Mon Sep 4 21:37:57 2023 +0800 - + Merge commit '20d0c58622d07bf66f125efff52cc440b88fe2eb' as 'thirdparty/fmt' - + commit 20d0c58622d07bf66f125efff52cc440b88fe2eb Author: Oreo Date: Mon Sep 4 21:37:57 2023 +0800 - + Squashed 'thirdparty/fmt/' content from commit e8259c52 - + git-subtree-dir: thirdparty/fmt git-subtree-split: e8259c5298513e8cdbff05ce01c46c684fe758d8 ``` @@ -146,15 +146,15 @@ make # This will execute the build files and build the project Receiving objects: 100% (32886/32886), 14.09 MiB | 23.39 MiB/s, done. Resolving deltas: 100% (22295/22295), done. ``` - + 查看 `git status`: ```bash git status On branch main - + No commits yet - + Changes to be committed: (use "git rm --cached ..." to unstage) new file: .gitmodules diff --git a/website/blog/2024-01-12-cpp-beginner-stringtoint-stringstream.md b/website/blog/2024-01-12-cpp-beginner-stringtoint-stringstream.md index 3b8b871..2e6e913 100644 --- a/website/blog/2024-01-12-cpp-beginner-stringtoint-stringstream.md +++ b/website/blog/2024-01-12-cpp-beginner-stringtoint-stringstream.md @@ -53,11 +53,11 @@ To extract the price and unit from the string stream `iss`, use the following co - + ```cpp #include #include - + int main() { std::istringstream iss("9.15 pounds."); std::ostringstream oss("The price of the shirt is "); @@ -72,7 +72,7 @@ To extract the price and unit from the string stream `iss`, use the following co - + ```text The price of the shirt is 9.15 pounds. ``` @@ -84,11 +84,11 @@ What is the behavior of `iss >> price >> unit`? We can modify the type of `price - + ```cpp #include #include - + int main() { std::istringstream iss("9.15 pounds."); std::ostringstream oss("The price of the shirt is "); @@ -104,7 +104,7 @@ What is the behavior of `iss >> price >> unit`? We can modify the type of `price - + ```text The price of the shirt is 9 .15 ``` @@ -120,18 +120,18 @@ Now, we can use `>>` to extract an integer from a string. Let's implement a func - + ```cpp name="stringToInteger.cpp" #include #include - + int stringToInteger(const std::string& str) { std::istringstream iss(str); int value; iss >> value; return value; } - + int main() { std::string str = "123"; int value = stringToInteger(str); @@ -143,7 +143,7 @@ Now, we can use `>>` to extract an integer from a string. Let's implement a func - + ```text The value is: 123 ``` @@ -166,12 +166,12 @@ To check the stream state, we can use the `good()`, `eof()`, `fail()`, and `bad( - + ```cpp #include #include #include - + void get_stream_state(std::istringstream &iss) { if (iss.good()) { std::cout << "G"; @@ -187,7 +187,7 @@ To check the stream state, we can use the `good()`, `eof()`, `fail()`, and `bad( } std::cout << std::endl; } - + int stringToInteger(const std::string &str) { std::istringstream iss(str); std::cout << "Before: "; @@ -198,7 +198,7 @@ To check the stream state, we can use the `good()`, `eof()`, `fail()`, and `bad( get_stream_state(iss); return value; } - + int main() { std::vector test_strings{"123", "123abc", "abc123", ""}; for (const auto &str : test_strings) { @@ -212,7 +212,7 @@ To check the stream state, we can use the `good()`, `eof()`, `fail()`, and `bad( - + ```text stringToInteger("123"): Before: G diff --git a/website/blog/2024-01-29-implement-website-feedback/2024-01-29-implement-website-feedback.md b/website/blog/2024-01-29-implement-website-feedback/2024-01-29-implement-website-feedback.md index 4e91170..fe2b9bc 100644 --- a/website/blog/2024-01-29-implement-website-feedback/2024-01-29-implement-website-feedback.md +++ b/website/blog/2024-01-29-implement-website-feedback/2024-01-29-implement-website-feedback.md @@ -42,31 +42,31 @@ Code example: [commit/10a7107](https://github.com/Oreoxmt/writerside-feedback-ex ```yaml title=".github/workflows/deploy.yml" name: Build documentation - + on: push: branches: ["main"] workflow_dispatch: - + env: INSTANCE: writerside-feedback/hi ARTIFACT: webHelpHI2-all.zip DOCKER_VERSION: 233.14272 - + jobs: build: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - + - name: Build Writerside docs using Docker uses: JetBrains/writerside-github-action@v4 with: instance: ${{ env.INSTANCE }} artifact: ${{ env.ARTIFACT }} docker-version: ${{ env.DOCKER_VERSION }} - + - name: Upload documentation uses: actions/upload-artifact@v4 with: @@ -75,7 +75,7 @@ Code example: [commit/10a7107](https://github.com/Oreoxmt/writerside-feedback-ex artifacts/${{ env.ARTIFACT }} artifacts/report.json retention-days: 7 - + deploy: needs: build runs-on: ubuntu-latest @@ -174,12 +174,12 @@ Therefore, it is necessary to have a server in place to receive this request and ## 3. Configure TiDB Cloud Data Service for feedback storage 1. [Create a TiDB Serverless cluster](https://docs.pingcap.com/tidbcloud/create-tidb-cluster-serverless) and initialize the database as follows. For convenience, you can use [Chat2Query](https://docs.pingcap.com/tidbcloud/explore-data-with-chat2query) in the TiDB Cloud console. - + ```sql CREATE DATABASE demo; - + USE demo; - + CREATE TABLE feedback ( id INT PRIMARY KEY AUTO_INCREMENT, @@ -203,7 +203,7 @@ Therefore, it is necessary to have a server in place to receive this request and - Set the **Path**, for example, `/feedback`. - Select **POST** as the **Request Method**. - Input the following SQL statements into the editor: - + ```sql USE demo; INSERT INTO feedback ( @@ -215,7 +215,7 @@ Therefore, it is necessary to have a server in place to receive this request and ``` - Configure the parameters as follows: - + | Parameter | Type | Description | |-----------|--------|--------------------------| | articleId | String | The article ID. | @@ -271,7 +271,7 @@ Code example: https://github.com/Oreoxmt/writerside-feedback-example/commit/dd61 This function forwards the feedback request to TiDB Cloud Data Service, which is configured in the `API_HOST` and `API_AUTH` environment variables. 2. Incorporate the *Add function folder to output file* step in the `deploy.yml` workflow. After building the documentation, this step adds the `functions` folder to the output file, facilitating the deployment of the function to Cloudflare Pages. - + ```yaml title=".github/workflows/deploy.yml" name: Build documentation diff --git a/website/blog/tags.yml b/website/blog/tags.yml index e684b60..18ce380 100644 --- a/website/blog/tags.yml +++ b/website/blog/tags.yml @@ -71,4 +71,4 @@ Tips & Tricks: Writerside: label: 'Writerside' description: 'Blog posts related to Writerside' - permalink: /writerside \ No newline at end of file + permalink: /writerside diff --git a/website/docs/cpp/cpp-wiki.md b/website/docs/cpp/cpp-wiki.md index 8099742..19ff965 100644 --- a/website/docs/cpp/cpp-wiki.md +++ b/website/docs/cpp/cpp-wiki.md @@ -54,7 +54,7 @@ The following code examples show the difference between using `std::endl` and no ```cpp #include - + int main() { for (int i = 0; i < 5; i++) { std::cout << i << std::endl; @@ -74,7 +74,7 @@ The following code examples show the difference between using `std::endl` and no ```cpp #include - + int main() { for (int i = 0; i < 5; i++) { std::cout << i; // 01234 @@ -107,9 +107,9 @@ The following code examples show the same output with `std::endl` and `\n` in st ```cpp name="std_endl.cpp" #include - + #include - + int main() { for (int i = 0; i < 5; i++) { sleep(1); @@ -133,9 +133,9 @@ The following code examples show the same output with `std::endl` and `\n` in st ```cpp name="new_line_character.cpp" #include - + #include - + int main() { for (int i = 0; i < 5; i++) { sleep(1); @@ -204,7 +204,7 @@ The following example shows the duration for printing 100,000 numbers with `std: ```cpp #include // for timers #include // for cin, cout - + int endl_each_time(int n = 10000) { const auto start_time = std::chrono::steady_clock::now(); for (int i = 0; i < n; i++) { @@ -215,7 +215,7 @@ The following example shows the duration for printing 100,000 numbers with `std: end_time - start_time); return duration_ns.count(); } - + int new_line_each_time(int n = 10000) { const auto start_time = std::chrono::steady_clock::now(); for (int i = 0; i < n; i++) { @@ -227,7 +227,7 @@ The following example shows the duration for printing 100,000 numbers with `std: start_time); return duration_ns.count(); } - + int main() { int endl_duration = endl_each_time(); int new_line_duration = new_line_each_time(); diff --git a/website/docs/cpp/stringtoint-stringstream.md b/website/docs/cpp/stringtoint-stringstream.md index e35029c..e78d365 100644 --- a/website/docs/cpp/stringtoint-stringstream.md +++ b/website/docs/cpp/stringtoint-stringstream.md @@ -49,11 +49,11 @@ To extract the price and unit from the string stream `iss`, use the following co - + ```cpp #include #include - + int main() { std::istringstream iss("9.15 pounds."); std::ostringstream oss("The price of the shirt is "); @@ -68,7 +68,7 @@ To extract the price and unit from the string stream `iss`, use the following co - + ```text The price of the shirt is 9.15 pounds. ``` @@ -80,11 +80,11 @@ What is the behavior of `iss >> price >> unit`? We can modify the type of `price - + ```cpp #include #include - + int main() { std::istringstream iss("9.15 pounds."); std::ostringstream oss("The price of the shirt is "); @@ -100,7 +100,7 @@ What is the behavior of `iss >> price >> unit`? We can modify the type of `price - + ```text The price of the shirt is 9 .15 ``` @@ -116,18 +116,18 @@ Now, we can use `>>` to extract an integer from a string. Let's implement a func - + ```cpp name="stringToInteger.cpp" #include #include - + int stringToInteger(const std::string& str) { std::istringstream iss(str); int value; iss >> value; return value; } - + int main() { std::string str = "123"; int value = stringToInteger(str); @@ -139,7 +139,7 @@ Now, we can use `>>` to extract an integer from a string. Let's implement a func - + ```text The value is: 123 ``` @@ -162,12 +162,12 @@ To check the stream state, we can use the `good()`, `eof()`, `fail()`, and `bad( - + ```cpp #include #include #include - + void get_stream_state(std::istringstream &iss) { if (iss.good()) { std::cout << "G"; @@ -183,7 +183,7 @@ To check the stream state, we can use the `good()`, `eof()`, `fail()`, and `bad( } std::cout << std::endl; } - + int stringToInteger(const std::string &str) { std::istringstream iss(str); std::cout << "Before: "; @@ -194,7 +194,7 @@ To check the stream state, we can use the `good()`, `eof()`, `fail()`, and `bad( get_stream_state(iss); return value; } - + int main() { std::vector test_strings{"123", "123abc", "abc123", ""}; for (const auto &str : test_strings) { @@ -208,7 +208,7 @@ To check the stream state, we can use the `good()`, `eof()`, `fail()`, and `bad( - + ```text stringToInteger("123"): Before: G diff --git a/website/docs/git-wiki.md b/website/docs/git-wiki.md index 31beea3..599b00f 100644 --- a/website/docs/git-wiki.md +++ b/website/docs/git-wiki.md @@ -333,7 +333,7 @@ To modify the commit message or author information of your project's initial com - + ```shell mkdir test cd test @@ -341,19 +341,19 @@ To modify the commit message or author information of your project's initial com git commit -m "iinit" --allow-empty git log ``` - + - + ```bash Initialized empty Git repository in test/.git/ [main (root-commit) abcdefg] iinit commit abcdefg Author: ttest - + iinit ``` - + @@ -361,26 +361,26 @@ To modify the commit message or author information of your project's initial com - + ```shell git rebase -i --root # edit abcdefg iinit # empty ``` - + - + ```bash Stopped at abcdefg... iinit # empty You can amend the commit now, with - + git commit --amend '-S' - + Once you are satisfied with your changes, run - + git rebase --continue ``` - + @@ -388,19 +388,19 @@ To modify the commit message or author information of your project's initial com - + ```shell git commit --amend -m "init" --author="test " --allow-empty ``` - + - + ```bash [detached HEAD 1234567] init Author: test ``` - + @@ -408,19 +408,19 @@ To modify the commit message or author information of your project's initial com - + ```shell git rebase --continue # git push --force ``` - + - + ```bash Successfully rebased and updated refs/heads/main. ``` - + diff --git a/website/docs/hadoop/hadoop-01-introduction.md b/website/docs/hadoop/hadoop-01-introduction.md index 3768b7f..dc19250 100644 --- a/website/docs/hadoop/hadoop-01-introduction.md +++ b/website/docs/hadoop/hadoop-01-introduction.md @@ -47,7 +47,7 @@ Hadoop 是一个数据存储和分析的分布式系统 ## 1.3 查询所有数据 -**MapReduce** +**MapReduce** - 每个查询需要处理整个数据集或至少一个数据集的绝大部分 - 可以在合理的时间范围内处理针对整个数据集的动态查询 @@ -56,7 +56,7 @@ Hadoop 是一个数据存储和分析的分布式系统 MapReduce 是批处理系统,但是更适合那种没有用户在现场等待查询结果的离线场景,需要一定的等待时间,**不适合交互式分析** -Hadoop +Hadoop - 随着发展,超越了批处理本身 - 指代一个更大的、多个项目(分布式计算、大规模数据处理)组成的生态系统 @@ -187,4 +187,4 @@ Hadoop Hadoop 出现的意义 —— 大数据、 -Hadoop 区别其他系统的优势 \ No newline at end of file +Hadoop 区别其他系统的优势 diff --git a/website/docs/hadoop/hadoop-02-about-mapreduce.md b/website/docs/hadoop/hadoop-02-about-mapreduce.md index a22b364..1540ec3 100644 --- a/website/docs/hadoop/hadoop-02-about-mapreduce.md +++ b/website/docs/hadoop/hadoop-02-about-mapreduce.md @@ -95,7 +95,7 @@ MapReduce 本质上是并行运行的,因此可以将**大规模的数据**分 #!/usr/bin/env bash for year in all/* do - echo -ne `basename $year .gz`"\t" + echo -ne `basename $year .gz`"\t" gunzip -c $year | \ awk '{ temp = substr($0, 88, 5) + 0; q = substr($0, 93, 1); @@ -116,7 +116,7 @@ done - 显示年份 - `echo -ne `basename $year.gz`"\t"` + `echo -ne `basename $year.gz`"\t"` - echo 是显示函数 @@ -255,7 +255,7 @@ MapReduce 任务分为两个处理阶段:map 阶段和 reduce 阶段,每个 *因为 Linux 里的后缀名是无意义的,不像 Windows,`.py` 结尾的就会用 Python 执行,所以必须有这么一行来告诉操作系统,这是个 Python 脚本* -以下是转换后的 Python3 版本,并将输出改成了 `f-string` ,应该不需要翻译 ...... +以下是转换后的 Python3 版本,并将输出改成了 `f-string` ,应该不需要翻译 ...... `max_temperature_map.py` @@ -329,4 +329,4 @@ pipe pipe> sort | ch02-mr-intro/src/main/python/max_temperature_reduce.py "我这系列读书笔记还没有写完,你要继续读下去" -这样看起来,MapReduce 也没有很难的样子 ...... 虽然依然不懂,但是 ...... 但是我知道了要写 map 函数和 reduce 函数啦 \ No newline at end of file +这样看起来,MapReduce 也没有很难的样子 ...... 虽然依然不懂,但是 ...... 但是我知道了要写 map 函数和 reduce 函数啦 diff --git a/website/docs/hadoop/hadoop-03-install-step-by-step.md b/website/docs/hadoop/hadoop-03-install-step-by-step.md index 2d1a720..e1e92b6 100644 --- a/website/docs/hadoop/hadoop-03-install-step-by-step.md +++ b/website/docs/hadoop/hadoop-03-install-step-by-step.md @@ -36,7 +36,7 @@ Docker 采用 Linux 的容器技术实现内外环境隔离。由于 Hadoop 安 $ # 安装前置项 $ sudo apt update $ sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -$ # 添加 Docker Repo +$ # 添加 Docker Repo $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - $ sudo apt update $ # 安装 Docker @@ -294,4 +294,4 @@ hadoop fs -copyFromLocal hadoop-book/input/docs/quangle.txt \ hdfs://localhost/u ```bash hadoop fs -copyToLocal quangle.txt quangle.copy.txt md5sum hadoop-book/input/docs/quangle.txt quangle.copy.txt -``` \ No newline at end of file +``` diff --git a/website/docs/placeholder.md b/website/docs/placeholder.md index c8188ac..c75bab5 100644 --- a/website/docs/placeholder.md +++ b/website/docs/placeholder.md @@ -2,4 +2,4 @@ sidebar_label: 'ToDo' --- -# ToDo \ No newline at end of file +# ToDo diff --git a/website/docs/python/python-iterator.md b/website/docs/python/python-iterator.md index 81717a2..c6378da 100644 --- a/website/docs/python/python-iterator.md +++ b/website/docs/python/python-iterator.md @@ -47,10 +47,10 @@ class Message: self._tokens = Queue() for item in range(10): self._tokens.put(item) - + def __iter__(self): return self - + def __next__(self): next_token = self._tokens.get() if next_token is None: diff --git a/website/docs/reading-list/tips-tricks.md b/website/docs/reading-list/tips-tricks.md index 367a078..3dfd678 100644 --- a/website/docs/reading-list/tips-tricks.md +++ b/website/docs/reading-list/tips-tricks.md @@ -48,4 +48,4 @@ I usually type some commands frequently and use ↑ to find commands. The articl - To resolve a domain, use `dig` instead of `nslookup`. - To display network connections, use `ss` instead of `netstat`. - To get the network interface configuration, use `ip` instead of `ifconfig`. -- To manipulate entries in the kernel routing tables , use `ip route` instead of `route`. \ No newline at end of file +- To manipulate entries in the kernel routing tables , use `ip route` instead of `route`. diff --git a/website/docs/shell/sed-wiki.md b/website/docs/shell/sed-wiki.md index f2cfb09..cc2f470 100644 --- a/website/docs/shell/sed-wiki.md +++ b/website/docs/shell/sed-wiki.md @@ -55,4 +55,4 @@ echo "12345678,test.md,..." | sed -E 's~^[0-9]+,~~' -For more details, refer to [`--regexp-extended`](https://www.gnu.org/software/sed/manual/sed.html). \ No newline at end of file +For more details, refer to [`--regexp-extended`](https://www.gnu.org/software/sed/manual/sed.html). diff --git a/website/docsearch.json b/website/docsearch.json index 5419ea3..bb193be 100644 --- a/website/docsearch.json +++ b/website/docsearch.json @@ -48,4 +48,4 @@ }, "js_render": true, "nb_hits": 856 - } \ No newline at end of file + } diff --git a/website/i18n/en/docusaurus-plugin-content-blog/2022-07-31-reading-list.md b/website/i18n/en/docusaurus-plugin-content-blog/2022-07-31-reading-list.md index be642ca..83e18f5 100644 --- a/website/i18n/en/docusaurus-plugin-content-blog/2022-07-31-reading-list.md +++ b/website/i18n/en/docusaurus-plugin-content-blog/2022-07-31-reading-list.md @@ -102,4 +102,4 @@ I usually type some commands frequently and use ↑ to find commands. The articl - To resolve a domain, use `dig` instead of `nslookup`. - To display network connections, use `ss` instead of `netstat`. - To get the network interface configuration, use `ip` instead of `ifconfig`. -- To manipulate entries in the kernel routing tables , use `ip route` instead of `route`. \ No newline at end of file +- To manipulate entries in the kernel routing tables , use `ip route` instead of `route`. diff --git a/website/i18n/en/docusaurus-plugin-content-blog/tags.yml b/website/i18n/en/docusaurus-plugin-content-blog/tags.yml index e684b60..18ce380 100644 --- a/website/i18n/en/docusaurus-plugin-content-blog/tags.yml +++ b/website/i18n/en/docusaurus-plugin-content-blog/tags.yml @@ -71,4 +71,4 @@ Tips & Tricks: Writerside: label: 'Writerside' description: 'Blog posts related to Writerside' - permalink: /writerside \ No newline at end of file + permalink: /writerside diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/placeholder.md b/website/i18n/en/docusaurus-plugin-content-docs/current/placeholder.md index c8188ac..c75bab5 100644 --- a/website/i18n/en/docusaurus-plugin-content-docs/current/placeholder.md +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/placeholder.md @@ -2,4 +2,4 @@ sidebar_label: 'ToDo' --- -# ToDo \ No newline at end of file +# ToDo diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/reading-list/tips-tricks.md b/website/i18n/en/docusaurus-plugin-content-docs/current/reading-list/tips-tricks.md index 367a078..3dfd678 100644 --- a/website/i18n/en/docusaurus-plugin-content-docs/current/reading-list/tips-tricks.md +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/reading-list/tips-tricks.md @@ -48,4 +48,4 @@ I usually type some commands frequently and use ↑ to find commands. The articl - To resolve a domain, use `dig` instead of `nslookup`. - To display network connections, use `ss` instead of `netstat`. - To get the network interface configuration, use `ip` instead of `ifconfig`. -- To manipulate entries in the kernel routing tables , use `ip route` instead of `route`. \ No newline at end of file +- To manipulate entries in the kernel routing tables , use `ip route` instead of `route`.