你不需要图形用户界面
图形用户界面对计算机用户来说非常友好。它们的引入是为了应对命令行界面(CLIs)被认为的陡峭学习曲线。
然而,它们通常需要更多资源,功能不如命令行强大,而且难以通过脚本实现自动化。
作为计算机专家,我们希望提高效率并更好地完成工作。我们知道命令词可能不容易发现或记忆,所以我们试图列出一些你可能想在图形界面中完成的常见任务。
快速链接
- 复制文件
- 复制文件(创建副本)
- 复制目录
- 复制目录(创建副本)
- 移动文件
- 重命名文件
- 移动目录
- 重命名目录
- 合并目录
- 创建新文件
- 创建新目录
- 显示文件/目录大小
- 显示文件/目录信息
- 用默认程序打开文件
- 用任意应用程序打开文件
- 压缩目录
- 解压目录
- 查看压缩文件中的文件
- 删除文件
- 删除目录
- 删除符合特定条件的所有文件
- 列出目录内容
- 树状查看目录及其子目录
- 查找过时文件
- 显示日历
- 查找未来日期
- 使用计算器
- 强制退出程序
- 检查服务器响应
- 查看文件内容
- 在文件中搜索文本
- 在当前工作目录的所有文件中快速搜索(整个磁盘搜索时间不到15分钟)
- 查看图像
- 显示磁盘大小
- 检查CPU使用率、进程和内存
- 了解计算机是否负载过重,以及是由内存还是CPU导致的
- 关机或重启计算机
- 定位USB驱动器
- 卸载USB驱动器
- 格式化USB驱动器
- 检查USB格式
- 对目录中的所有文件执行命令
- 检查与远程地址和端口的网络连接
- 检查域名的DNS配置
- 检查域名的所有权和注册信息
- 快速技巧
- 快捷键
- 我记不住这些晦涩的命令
复制文件
停止拖放文件,或使用CMD/CTRL + C, CMD/CTRL + V复制文件 :-1:
将readme.txt
复制到documents
目录
$ cp readme.txt documents/
复制文件(创建副本)
停止右击并复制文件 :-1:
$ cp readme.txt readme.bak.txt
更高级的用法:
$ cp readme{,.bak}.txt
# 注意:学习{}的用法,试试 touch foo{1,2,3}.txt 看看会发生什么。
复制目录
不要再拖放目录,或使用 CMD/CTRL + C, CMD/CTRL + V 复制目录 :-1:
将 myMusic
目录复制到 myMedia
目录
$ cp -a myMusic myMedia/
# 或
$ cp -a myMusic/ myMedia/myMusic/
复制目录
不要再右键点击复制目录 :-1:
$ cp -a myMusic/ myMedia/
# 或如果 `myMedia` 文件夹不存在
$ cp -a myMusic myMedia/
移动文件
不要再拖放文件,或使用 CMD/CTRL + X, CMD/CTRL + V 移动文件 :-1:
$ mv readme.txt documents/
移动文件时务必使用斜杠结尾,原因在此。
重命名文件
不要再右键点击重命名文件 :-1:
$ mv readme.txt README.md
移动目录
不要再拖放目录,或使用 CMD/CTRL + X, CMD/CTRL + V 移动目录 :-1:
$ mv myMedia myMusic/
# 或
$ mv myMedia/ myMusic/myMedia
重命名目录
不要再右键点击重命名目录 :-1:
$ mv myMedia/ myMusic/
合并目录
不要再拖放来合并目录 :-1:
$ rsync -a /images/ /images2/ # 注意:可能会覆盖同名文件,请小心使用!
创建新文件
不要再右键点击创建新文件 :-1:
$ touch '新文件' # 如果文件已存在,则更新文件的访问和修改时间戳
# 或
$ > '新文件' # 注意:如果文件已存在,会清空其内容
创建新目录
不要再右键点击创建新目录 :-1:
$ mkdir '未命名文件夹'
# 或
$ mkdir -p '路径/可能/不存在/未命名文件夹'
显示文件/目录大小
不要再右键点击查看文件/目录信息 :-1:
$ du -sh node_modules/
显示文件/目录信息
不要再右键点击查看文件/目录信息 :-1:
$ stat -x readme.md # 在 macOS 上
$ stat readme.md # 在 Linux 上
用默认程序打开文件
不要再双击文件 :-1:
$ xdg-open 文件 # 在 Linux 上
$ open 文件 # 在 MacOS 上
$ start 文件 # 在 Windows 上
用任意应用程序打开文件
不要再右键点击"打开方式" :-1:
$ open -a 应用程序名称 文件
压缩目录
不要再右键点击压缩目录 :-1:
$ zip -r 压缩包名称.zip 要压缩的文件夹
解压目录
不要再右键点击解压目录 :-1:
$ unzip 压缩包名称.zip
解压任意格式的文件
不要再右键点击解压目录 :-1:
$ unar 压缩包名称.zip
$ unar 压缩包名称.7z
$ unar 压缩包名称.rar
$ unar 压缩包名称.ISO
$ unar 压缩包名称.tar.gz
查看 zip 文件中的文件
不要再使用 WinRAR :-1:
$ zipinfo 压缩包名称.zip
# 或
$ unzip -l 压缩包名称.zip
查看任意格式压缩文件中的文件
不要再使用 WinRAR :-1:
$ lsar -l 压缩包名称.zip
$ lsar -l 压缩包名称.7z
$ lsar -l 压缩包名称.ISO
$ lsar -l 压缩包名称.rar
$ lsar -l 压缩包名称.tar.gz
删除文件
停止右键点击并永久删除文件 :-1:
$ rm 我的无用文件
重要提示:rm
命令会永久删除 我的无用文件
,相当于将 我的无用文件
移到回收站并清空回收站。
删除目录
停止右键点击并永久删除目录 :-1:
$ rm -r 我的无用文件夹
删除符合特定条件的所有文件
$ find . -name "*.bak" -type f -delete
重要提示:首先运行 find . -name "*.bak" -type f
以确切查看将要删除的文件。
列出目录内容
停止打开访达或文件资源管理器 :-1:
$ ls 我的文件夹 # 简单列表
$ ls -la 我的文件夹 # -l: 以列表格式显示。 -a: 显示所有文件,包括隐藏文件。 -la 组合了这些选项。
$ ls -alrth 我的文件夹 # -r: 反向输出。 -t: 按修改时间排序。 -h: 输出人类可读的大小。
以树状视图显示目录及其子目录
停止打开访达或文件资源管理器 :-1:
$ tree # 在 Linux 上
$ find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g' # 在 MacOS 上
# 注意:安装 homebrew (https://brew.sh) 以使用(某些)Linux 实用工具,如 tree。
# brew install tree
查找过时文件
停止使用文件资源管理器查找文件 :-1:
查找所有超过 5 天未修改的文件
$ find 我的文件夹 -mtime +5
显示日历
停止使用日历小部件查看本月日历 :-1:
显示文本日历
$ cal
显示指定月份和年份的日历
$ cal 11 2018
查找未来日期
停止使用网页应用计算未来日期 :-1:
今天是几号?
$ date +%m/%d/%Y
一周后是几号?
$ date -d "+7 days" # 在 Linux 上
$ date -j -v+7d # 在 MacOS 上
使用计算器
停止使用计算器小部件 :-1:
$ bc -l
强制退出程序
停止使用 CTRL + ALT + DELETE 并选择要终止的程序 :-1:
$ killall -9 程序名称
检查服务器响应
停止打开浏览器 :-1:
$ curl -i umair.surge.sh
# curl 的 -i (--include) 选项在输出中包含 HTTP 响应头。
查看文件内容
停止双击文件 :-1:
$ cat apps/settings.py
# 如果文件太大无法在一页内显示,可以使用 'pager'(less),它每次显示一页。
$ less apps/settings.py
在文件中搜索文本
停止在文件中使用 CMD/CTRL + F :-1:
$ grep -i "查询" 文件.txt
在当前工作目录的所有文件中快速搜索(整个磁盘不到 15 分钟)
停止在目录中使用 CMD/CTRL + F :-1:
$ ripgrep -i "查询"
# brew install ripgrep
查看图片
停止使用预览 :-1:
$ imgcat 图片.png
# 注意:需要 iTerm2 终端。
显示磁盘大小
停止右键点击磁盘图标或打开磁盘工具 :-1:
$ df -h
检查 CPU 使用率、进程和内存
别再打开活动监视器或任务管理器了 :-1:
$ top
如果你想要更多细节:
$ htop
了解你的电脑是否负载过重,以及是由内存还是 CPU 引起的
$ glances
# brew install glances
关闭或重启你的电脑
当你通过 SSH 访问服务器进行修补而没有图形界面时,这可能很有用。
# 关机
$ sudo shutdown -h now
# 重启
$ sudo shutdown -r now
定位 USB 驱动器
$ df
卸载 USB 驱动器
$ sudo umount /dev/sdb1
格式化 USB 驱动器
# FAT32
$ sudo mkfs.vfat /dev/sdb1
# NTFS
$ sudo mkfs.ntfs /dev/sdb1
# exFAT
$ sudo mkfs.exfat /dev/sdb1
检查 USB 格式
$ sudo fsck /dev/sdb1
对目录中的所有文件运行命令
别再一个一个点击文件了 :-1:
$ for FILE in *; do echo $FILE; done
检查与远程地址和端口的网络连接
别再使用网络实用工具了
$ nc -vz www.google.com 443
$ nc -vz 1.1.1.1 53
检查域名的 DNS 配置
别再使用网络实用工具了
$ dig www.google.com
检查域名的所有权和注册信息
别再使用网络实用工具和域名注册商的网站了
$ whois www.google.com
快速技巧
快捷键
快捷键 | 描述 |
---|---|
Ctrl+A | 跳到当前输入行的开头 |
Ctrl+E | 跳到当前输入行的末尾 |
Ctrl+L | 清屏,类似于clear命令 |
Ctrl+U | 清除光标位置之前的行。如果在行末,则清除整行。 |
Ctrl+H | 等同于退格键 |
Ctrl+R | 允许搜索之前使用过的命令 |
Ctrl+C | 终止当前运行的程序 |
Ctrl+D | 退出当前shell |
Ctrl+Z | 将当前运行的程序置于后台挂起状态。使用fg恢复。 |
Ctrl+W | 删除光标前的一个词 |
Ctrl+K | 清除光标后的行 |
Ctrl+T | 交换光标前的最后两个字符 |
Ctrl+F | 光标向前移动一个字符 |
Ctrl+B | 光标向后移动一个字符 |
Esc+T | 交换光标前的最后两个词 |
Alt+T | 与Esc + T相同 |
Alt+F | 在当前行光标向前移动一个词 |
Alt+B | 在当前行光标向后移动一个词 |
Esc+F | 与Alt + F相同 |
Esc+B | 与Alt + B相同 |
Alt+. | 粘贴最近命令的最后一个词 |
Tab | 自动补全文件和目录名 |
返回目录 🔼 |
我记不住这些晦涩的命令
你可以随时谷歌或使用man
命令查看不熟悉的命令。或者,查看tldr,这是一个简化的、社区驱动的man页面集合。