Juntao Tan的个人博客

争取为中文互联网留下点什么。


  • 首页

  • 标签

  • 分类

  • 归档

  • 搜索

Linux学习记录:输入输出重定向与管道

发表于 2020-03-14 | 更新于: 2020-03-25 | 分类于 Linux
字数统计: 1.8k | 阅读时长 ≈ 7

这篇文章来总结下 Linux 中的输入输出重定向功能,以及如何使用管道命令。

1. 背景需求

有时候我们使用find 命令查找文件或目录时,会碰到 Permission denied 这样的错误输出信息。但是这些错误信息并不是我们想要的,我们只需要那些符合查询条件的输出,这种情况下该怎么办呢?输入输出重定向可以帮我们将错误信息和正确信息区分开来。

2. 输入输出重定向

Linux 中的输入输出分为下面 3 种:

  • 标准输入(standard input):简称为 stdin,用数字 0 来做标记,一般用 键盘 作为我们的标准输入;
  • 标准输出(standard output):简称为 stdout,用数字 1 来做标记,一般用 屏幕 作为我们的标准输出;
  • 标准错误输出(standard error output):简称为 stderr,用数字 2 来标记,一般也用 屏幕 作为标准输出。

举几个例子:

阅读全文 »

Linux学习记录:SUID 和 SGID 等特殊权限

发表于 2020-03-08 | 更新于: 2020-03-08 | 分类于 Linux
字数统计: 1.2k | 阅读时长 ≈ 4

1. 引言

在上一篇文章 Linux学习记录:chmod 修改权限 中,我们已经介绍了 Linux 中是如何控制文件以及目录的权限的。

这篇文章中我们再来介绍几种特殊的权限,即 SUID 、SGID 和 SBIT。

2. 相关背景

从前面的介绍我们已经知道,使用 ll 命令来查看文件或者目录权限时,第一列一共有 10 个字符长度,我们从右往左编号,即 9876543210,其中:

  • 9 共 1 位表示标识位:标识当前的文件类型。如 d 表示目录,- 表示普通文件;
  • 876 共 3 位表示 属主 的权限;
  • 543 共 3 位表示 组用户 的权限;
  • 210 共 3 位表示 其他用户 的权限。

如果一个文件 test.txt 的权限为 -rwxrwxrwx,用二进制表示为 111-111-111,用八进制表示则为 777,所以我们经常会看到这种:

1
chmod 777 test.txt

意思就是 属主 、组用户、其他用户 都能 read/write/execute 该文件。

其实 Linux 还有 3 个比特位来表示 SUID 、SGID 和 SBIT 等特殊权限。

阅读全文 »

Linux学习记录:chmod 修改权限

发表于 2020-03-07 | 更新于: 2020-03-08 | 分类于 Linux
字数统计: 1.1k | 阅读时长 ≈ 4

这篇文章记录下 Linux 中如何使用 chmod 命令修改文件以及目录的权限,也就是读/写/执行 的权限。

1. 背景需求

有时候我们使用 scp 向服务器传输文件时,会提示说 permission denied 。这是因为我们对于需要上传到的目标目录没有 写 权限。此时需要修改目标目录的读写权限,使其对于所有用户都可写(当然这种做法不推荐),这样我们才能将文件传输上去。

另外一次经历,是之前需要将自己在 windows 中的 rsa keys 传到另外一台 Linux 机器上,这样能实现 rsa keys 的复用,也方便自己在另一台 Linux 机器上能正常向 github 提交代码。

但是,当我们使用 cp 命令将 windows 上的 id_rsa 和 id_rsa.pub 直接拷贝到 ~/.ssh 目录下,然后使用 ssh 时,会提示说 私钥的安全性不够,很容易被访问到。这时候就需要修改私钥文件和公钥文件的权限,以满足要求。

具体需要执行下面两条语句:

1
2
chmod 600 id_rsa
chmod 644 id_rsa.pub

这两条命令有什么含义,继续往后看。

阅读全文 »

利用 alias 自定义一个删除备份命令

发表于 2020-03-06 | 更新于: 2020-03-06 | 分类于 Linux
字数统计: 1.5k | 阅读时长 ≈ 5

这篇文章来记录下如何在 linux 中使用 alias 自定义一条删除备份命令。

1. 需求背景

平时我们基本上都使用 rm 命令来删除不需要的文件,但是这个命令还是挺危险的,如果因为不小心删除了一些非常重要的文件,那基本上是恢复不会来了,因为我自己前些天就因为按 tab 的时候没注意补全的信息,直接就回车了……删除了一个很重要的代码源文件。

后面开始查找如何在 linux 下面回复删除的文件。尝试了网上介绍的一些方法,发现仍然不行,遂放弃……

于是就想:linux 中能不能像 windows 下面一样,如果不是强制删除文件,那么这些被删除的文件首先是存放在 回收站 的,除非人为清空回收站,否则这些被“删除”的文件没有被真正删除。

于是开始搜寻资料,最后发现可以使用 alias 来实现这个需求。

阅读全文 »

ssh config 配置文件

发表于 2020-03-06 | 更新于: 2020-03-14 | 分类于 Linux
字数统计: 782 | 阅读时长 ≈ 2

这篇文章讲一下 ssh 中的 config 配置文件。

config 文件一般在 ~/.ssh/ 或者 C://Users//<username>//.ssh 目录下面,没有后缀名。如果在上述目录中找不到 config 文件,那么可以新建一个。

背景需求

我们使用 ssh 登录服务器时,一般做法是:

1
ssh example@example.com -p xxxx

然后再输入登录密码。

如果需要登录到不同的服务器,并且每个服务器的登录名、地址、端口号、登录密码都不同的话,那么记忆起来就会显得繁琐,那有没有一种办法可以不用输入密码登录,直接输入服务器的一个别名就可以登录的呢?答案是有的。

第一种比较容易想到的方法是建立一些脚本文件,在脚本里面将 ssh 登录需要的各种参数命令都预先写好,然后将该脚本加入到环境变量中,这样方便在任何地方都能调用。具体的实现方法可以 参考这篇

上面方法有一个缺陷就是,每次登录还是需要输入密码。

还有一种更加简单的方式,那就是使用 config 配置文件。

阅读全文 »

如何格式化 64G 以上的 U盘/SD卡为 FAT32 文件系统格式

发表于 2020-03-05 | 更新于: 2020-03-05 | 分类于 杂
字数统计: 265 | 阅读时长 ≈ 1

背景需求

从网上购买的闪迪的 64G SD卡,准备插入小米摄像机里用来存储历史视频。但是插入之后,显示存储卡的格式不支持,SD卡是 NTFS 文件系统格式,但是小米摄像机需要 FAT32 格式。

遂准备 SD卡读卡器,插入 windows10 系统中,在资源管理器中通过鼠标右键选择“格式化”选项进行格式化。

但是 windows 系统中只能将 32G 以及 32G 容量以下的 U盘/SD卡 格式化为 FAT32 格式,但是对于 64G及以上的,无法完成格式化。于是只能寻求第三方软件。

解决方法

发现一款很好的工具:DiskGenius

使用方法很简单,下载安装包,默认安装后,选择需要格式的盘符(选择插入的 SD卡),点击上方选项栏中的【格式化】按钮,选择 FAT32 格式就可以了。

Reference

  • http://www.diskgenius.cn/download.php
  • https://blog.csdn.net/b6_g9/article/details/52076285?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

Linux学习记录:查看文件和文件夹大小

发表于 2020-03-05 | 更新于: 2020-03-05 | 分类于 Linux
字数统计: 856 | 阅读时长 ≈ 4

总结一下在 Linux 下面如何查看 文件 和 文件夹 的大小。为了方便理解和描述,我们的工作目录是 /datapool/workspace/tanjuntao/ ,所有的命令均在这个目录下面执行。

需求 1:如何查看 tanjuntao 下所有目录的大小,不显示子目录的大小

命令:

1
du -h --max-depth=1 .  # . 就表示当前目录,-h 表示 -human-readable,以 M、G 等方式显示大小

结果:

阅读全文 »

Linux 学习记录: wget 和 curl

发表于 2020-02-28 | 更新于: 2020-05-06 | 分类于 Linux
字数统计: 469 | 阅读时长 ≈ 2

之前一直在用 wget 下载文件,最近又使用 curl 来提交 POST 请求,于是在这里将两者的主要用法以及区别总结下。

1. 二者比较

  • wget 主要用来下载文件,且速度较快,支持断点续传是其很大的优点;
  • curl 也可以用来下载文件,但其功能不仅仅只有这些。curl 还可以用来向 web 提交表单信息。curl 可以理解成一个命令行版本的浏览器,只不过它对返回的 html 页面不做渲染。

2. 主要用法

这里我们以下载 B 站的 一张壁纸 为例。

2.1 下载文件

1
2
3
4
5
# wget 后直接跟文件地址
wget https://i0.hdslb.com/bfs/album/323911edd18663c49ed1bdb7d3c02dfcac25c4ce.jpg

# curl 需要使用参数,注意是大写字母 O,不是数字 0
curl -O https://i0.hdslb.com/bfs/album/323911edd18663c49ed1bdb7d3c02dfcac25c4ce.jpg
阅读全文 »

hexo 中如何控制首页/归档页/tag页中显示的文章数

发表于 2020-02-28 | 更新于: 2020-03-09 | 分类于 配置
字数统计: 652 | 阅读时长 ≈ 2

因为此刻是在回忆之前所做的一些配置,所以修改之前的配置,具体值是多少,现在已经记不起来了,但还能记得清做了哪些实际修改。

1. 需求背景

hexo 默认情况下,在 archive页 、tag页 是有分页的,也就是一个页面下只能显示有限篇文章,如果需要继续浏览其他的文章,就得进入下一个分页查看,有时候这对我们来说非常不方便,因为我们可能并不需要做分页,只希望一个页面下就能展示所有的文章。但是 hexo 中还没有地方能够做这个配置,需要单独装 插件 才可以。

首页 在默认情况下,也是多少篇文章就会分页,具体是多少已经不记得了,但是 首页 显示的文章数是可以在配置文件中设置的。

下面具体来介绍下该怎么设置每种页面下,显示的文章数。

2. 具体实现

2.1 配置文件

hexo 中的配置文件分为两种(我们用 ./ 来表示博客系统的根目录):

  • 系统配置文件:在 ./_config.yml 下,是用来对整个 hexo 博客系统进行配置的,如 博客title 、博客author 等等;
  • 主题配置文件:我装的主题是 NexT,相应的主题文件就在 ./themes/next/_config.yml 下面,是用来对该主题进行配置的,如 导航栏 、页脚样式 等等。

我们的配置全程只需要用到 系统配置文件。

阅读全文 »

如何在 Windows Terminal 中使用指定软件打开文件

发表于 2020-02-27 | 更新于: 2020-02-28 | 分类于 杂
字数统计: 379 | 阅读时长 ≈ 1

背景

我们知道在 Linux 系统下可以使用 vim 或者 vi 等命令,直接打开一个文本文件。但是 windows 下面没有 vim 和 vi,那么如何在终端中直接打开一个 markdown 文本文件呢?因为有时候有些文件目录很深,如果去资源管理器中寻找文件再打开,将会显得很繁琐,如果能在命令行中直接打开,将会提高效率很多。

需求

尝试在 windows terminal 中实现类似下面的功能:

1
typora xxx.md

可以在命令行中直接打开一个 markdown 文件,但是因为默认安装的 Typora 没有提供这个命令,所以我尝试将 Typora 安装目录中的 typora.exe 文件添加到 Path 环境变量中。

添加完后重启 windows terminal,重新输入上述命令,但是不能打开 xxx.md 文件,只是新建了一个空白的 markdown 文件。

阅读全文 »
1234…6
Juntao Tan

Juntao Tan

记录一些重要的技术点,方便自己查阅,也希望能够帮助到大家。

60 日志
6 分类
87 标签
GitHub LinkedIn Zhihu Douban E-Mail
0%
© 2019 — 2022 Juntao Tan, all rights reserved. | Site words total count: 50.9k
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4
本站总访问量 次 | 有 人看过我的博客
Hosted by GitHub Pages