初学者常犯的 6 个 Linux 终端错误初学者常犯的 6 个 Linux 终端错误初学者常犯的 6 个 Linux 终端错误初学者常犯的 6 个 Linux 终端错误
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

初学者常犯的 6 个 Linux 终端错误

发表 admin at 2025年2月28日
类别
  • 未分类
标签

您也可以使用 Linux 命令行。

Linux 命令行的历史可以追溯到 1969 年,并且它仍然是执行某些任务的最有效方式。如果您刚刚开始,请确保避免这些常见错误。

为什么使用命令行?

命令行早在图形桌面环境出现之前就已经出现了。这是使用和管理 Unix(Linux 所基于的操作系统)的主要方式。

Linux 命令行上有数百个可用命令,其中许多命令有数十个选项。这提供了粒度、功能、速度和灵活性。问题是,终端窗口中闪烁的光标并不受欢迎,而且学习所有这些命令和选项的前景可能会让新手不知所措。

这有点像第二十二条军规。只要您精通命令行,使用命令行效率更高。

相关:命令行:为什么人们仍然为它们烦恼?

好消息是,您可以通过桌面实现几乎所有在终端中可以实现的操作,只是速度慢一点。许多用户从不——或者几乎从不——使用命令行。另一方面,如果您确实想享受速度和力量的好处,您必须硬着头皮学习使用命令行。

遵循我们的建议可以帮助您避免一些陷阱。

一些术语

命令行是一种通过向计算机输入基于文本的指令并阅读响应来与计算机交互的方式。

将您的输入转换为命令并为您执行的软件(称为解释器)就是 shell。在大多数 Linux 发行版上,默认 shell 是 Bash 或 Zsh。

如果您的 Linux 安装具有图形桌面环境(例如 GNOME 或 KDE),则您需要打开终端窗口来访问命令行。严格来说,这些是终端仿真窗口,但几乎没有人愿意这样称呼它们。

最初,终端是一种电传打字机,它使用纸卷来显示您键入的内容,并打印出计算机的响应。它们被阴极射线管 (CRT) 终端所取代,并取消了纸张。您的终端窗口假装是这些老式 CRT 终端之一。终端内部有 shell,shell 提供命令行。

您需要记住的是,如果有人告诉您在命令行上键入某些内容,或执行 shell 命令,或在终端窗口中键入某些内容,那么它们的含义都是相同的。

打开终端窗口,然后在命令提示符下键入。

1. 不要期望一致性

大多数命令接受修改其行为的命令行选项或标志。但不要指望一个选项在一个命令到下一个命令之间具有相同的含义。例如,使用grep,

-i

选项表示忽略大小写。但要

ls

,这意味着显示

inode

每个列出的文件的编号。

man ls

在撰写本文时,Linux 已经有 30 多年的历史,而 Unix 则已经有 50 多岁了。这些年来事情已经发生了变化。除了两个工具以不同的方式使用相同的命令行选项之外,您还可以找到具有不同功能和选项的同一工具的不同版本。

如果在不同计算机上使用相同命令时看到不同的行为,请检查该工具的软件版本。一个几乎通用的选项是 --version 标志。这告诉工具将其版本号打印到终端窗口。

grep --version

研究工具的选项听起来像是互联网的一项工作。问题是,您找到的信息可能适用于该工具的任何版本。您计算机上的手册页保证准确无误。它们将与您计算机上安装的工具和命令的版本完全匹配。

传统上,man 页面被设计得简洁,并没有真正牺牲用户友好性。阅读和解释 man 页面本身就是一项技能。但是,如果您打算使用命令行,那么您需要尽早开始开发。

在线资源的有效性随着时间的推移而变化。不幸的是,互联网上的文章没有有效期。如果您正在学习在线教程,请检查其发布日期。

另外,检查它是为哪个 Linux 发行版和版本编写的。例如,大多数现代发行版现在都使用 systemd,因此遵循描述其前身 System Vinit 守护进程的教程是没有意义的。

2. 不要相信你读到的一切

即使在线信息仍然是最新的,它也可能与事实不正确。如果您在备受推崇的网站上寻求帮助,您更有可能获得高质量的信息。寻找带有解释的文章,而不仅仅是说明。一步一步的屏幕截图是一个好兆头。这意味着作者已经遵循了该过程并且有效。如果您有疑问,请与另一个信誉良好的网站交叉引用该信息。

坏人为粗心的人设置了剪切粘贴陷阱。他们希望新手使用破坏性命令来删除数据或使系统崩溃。如果您收到的命令据称可以执行您想要的操作,但您不知道它是如何工作的,请将其放入 ExplainShell.com 上的命令解析器中。

该网站为您分解了该命令并解释了每个部分的作用。不要将难以理解的一行语句复制并粘贴到终端窗口并希望得到最好的结果,而是采取明智的步骤来解析和解释该命令。

当然,您需要警惕的不仅仅是恶意命令。以错误的顺序发出的无辜命令,或者意外错过步骤的一系列命令,也可能对您的计算机造成严重破坏。

它可能与忘记告诉您cd 返回主目录的步骤一样无害。后续命令将在文件系统中的错误位置执行。您所能期望的最好结果就是它们不起作用并且您会看到错误消息,但您很可能会做出让您后悔的事情。

3. 不要以 root 身份登录

无论您是否厌倦了输入 sudo,以 root 身份登录都不是一个好主意。 sudo 的全部目的就是为了防止这种情况发生。这意味着您只能在需要时获得 root 的特殊权限,而不再获得。无论作为普通用户造成多大程度的损害,与 root 的一时心不在焉所造成的损害相比,这都算不了什么。

您可能认为自己足够小心,不会犯错误,但错误可能不是您造成的。如果您使用的脚本或程序存在错误,则由 root 启动时可能造成的损害是无限的。 root 可以在系统上执行任何操作,root 启动的进程也可以。

相关:Linux 上的“root”是什么?

如果您离开计算机一会儿并且没有按“Super+L”锁定桌面,则坐在键盘前的任何人都可以访问您的计算机。

以 root 身份登录?拒绝吧。

4. 不要挣扎——更聪明地工作,而不是更努力地工作

您输入的命令必须是字母完美的。打字错误可能会导致意想不到的事情发生。例如,如果您想输入 ln,但输入 nl,则运行的是 nl,无论它是否有意义。

当然,在键入命令之前,您需要知道命令的名称。值得庆幸的是,您不需要将它们全部记在脑子里。

如果您知道自己想要做什么,但不记得所需的命令,请使用 apropos。键入apropos,然后输入您感兴趣的内容,例如“打印”或“远程连接”,会列出与该主题相关的所有命令。

apropos printing

您可以通过 grep 管道输出来过滤结果,或者通过 less 管道输出来滚动和搜索结果。要了解如何使用特定命令,请使用 man 打开其 man 页面,或使用 --help 命令行选项。

man lp

lp --help

使用别名和 shell 函数

为常用或不实用的命令序列创建别名或 shell 函数。给它们起一个容易记住、有意义的名字,这样它们就很容易被记住。您将节省击键次数并避免查找命令语法和命令行选项。

使用 Shell 历史记录功能

如果您使用过某个命令,它将存储在您的 shell 历史记录中以供再次使用。您可以使用向上箭头和向下箭头键滚动浏览历史记录。按 Enter 执行当前显示的命令。

搜索历史

您还可以使用 Ctrl+R 组合键搜索历史记录。键入命令的前几个字母,然后按 Ctrl+R。如果您使用了与您的搜索线索相匹配的命令,它将显示出来。如果这不是您要查找的命令(可能是正确的命令,但参数错误),请按 Ctrl+R 组合键跳转到下一个匹配项。

按 Enter 键执行显示的命令。要将命令放在命令行上以便可以对其进行编辑,请按向左箭头键或向右箭头键。

相关:如何使用所有 Linux 的搜索命令

5. 不要使用困难的编辑器

热门观点:忽略 vim 和 emacs,至少现在是这样。您已经有足够的知识需要学习,而不必同时掌握这些强大的编辑器中的任何一个。

让您的生活变得更轻松,并使用一个简单的编辑器,其行为就像您所期望的那样,并且只需几分钟即可理解。然后您就可以专注于您正在编辑的内容,而不是与编辑器较劲。

使用纳米或微米都不会有任何问题。他们是很棒的小编辑器,并且在终端窗口中工作。两者中,micro 是最简单的,并且比 nano 具有更多功能。它使用熟悉的键盘快捷键,例如“Ctrl+s”用于保存,“Ctrl+q”用于退出。

另一方面,nano 可能已为您预安装。

6. 不要满足于糟糕的解决方法

如果你无法让某件事发挥作用,请坚持下去并找到正确的解决方案。不要仅仅为了获得所需的结果而采取笨拙的解决方法。这可能会导致安全漏洞或系统不稳定。

不良做法的一个很好的例子是将整个目录的权限设置为 777 只是为了运行某些内容。当您感到沮丧和时间不够时,这似乎是一个解决方案,但您应该真正弄清楚所需的权限并正确完成工作。

将目录和文件设置为具有标志 777 的权限意味着计算机上的任何人都可以读取、写入和执行这些文件,以及在目录中创建和删除文件。

相关:如何在 Linux 上使用 chmod 命令

没那么难

学习命令行并不意味着学习每个命令的每个选项。

相关:您应该了解的 37 个重要 Linux 命令

这有点像学开车。您不会了解您所在国家/地区每个地方的道路布局。您将学习道路规则以及如何操纵和控制您的车辆。当您开车到新的地方时,您会应用这些原则。

一旦您记住了常用的终端命令以及该做和不该做的事情,您就可以将这些原则应用于所有其他命令。您需要找到所需的命令,选择适当的选项,并确保正确键入它。或者通过使用别名、函数和搜索命令历史记录,让 shell 为您完成一些工作。

Linux Commands

Files

tar·pv· cat·tac·chmod ·grep ·  diff· sed·ar· man·pushd·popd·fsck·testdisk·seq·fd·pandoc·cd·$PATH·awk·join·jq·fold·uniq·journalctl·tail·stat·ls·fstab·echo·less·chgrp·chown·rev·look·strings·type·rename·zip·unzip·mount·umount·install·fdisk·mkfs ·rm·rmdir ·rsync ·df ·gpg ·vi ·nano ·mkdir ·du ·ln ·patch ·convert ·rclone·shred·srm ·scp ·gzip·chattr ·cut ·find ·umask ·wc · tr

Processes

alias ·screen· top· nice·renice· progress·strace·systemd·tmux·chsh·history·at·batch·free·which·dmesg·chfn·usermod·ps· chroot·xargs·tty·pinky·lsof·vmstat·timeout·wall·yes·kill·sleep·sudo·su·time ·groupadd·usermod ·groups ·lshw ·shutdown·reboot·halt·poweroff ·passwd ·lscpu ·crontab ·date ·bg ·fg ·pidof ·nohup ·pmap

Networking

netstat·ping·traceroute·ip·ss·whois·fail2ban·bmon·dig·finger·nmap·ftp· curl· wget ·who·whoami·w ·iptables ·ssh-keygen · ufw ·arping ·firewalld

相关: 面向开发者和爱好者的最佳 Linux 笔记本电脑

©2015-2025 Norria support@norria.com