这是单行 Linux 命令系列的第二部分,旨在让您的命令行生活更轻松、更好、更快。 本系列的第一部分已经上线。 您可能想从下面的链接中阅读它。
- 一些随机的单行 Linux 命令 [Part 1]
下面给出的一些命令是从 Arch wiki、/r/linux、Askubuntu 和 Stack Overflow 收集的。 所有的功劳都归于社区。 有些是我自己从日常经验中得出的结论。 这是该系列的第二部分。 我们将在每个月末发布后续部分。 让我们开始吧,好吗?
随机单行 Linux 命令
- 让我们从 Emacs 开始这一部分。 如果您的系统上安装了 Emacs,请按 CTRL+x 和 CTRL+e 打开包含您刚刚在终端中键入的任何内容的 Emacs 编辑器。 为了 example,在终端上键入“ls”,然后按 CTRL+x,然后按 CTRL+e。 现在 Emacs 编辑器将自动打开,上面带有“ls”。
要列出当前工作目录中的文件和目录,请键入:
$ du -sxh * | sort -h
最小的项目将显示在顶部。
- 要从任何位置返回上一个工作目录,请键入:
$ cd -
请注意 cd 和 -(破折号)之间的空格。
要从任何位置返回 $HOME 目录,命令是:
$ cd
哪个是您以前的工作目录并不重要。 “cd”命令会将您从任何位置带到您的 $HOME 目录。
- 有时我忘记添加“sudo“当我编辑时 Apache 使用 vim 编辑器的配置文件。 结果? 进行一些更改后,我无法保存文件。 如果我尝试保存,它将引发权限被拒绝错误。 这个很酷的技巧帮助我在没有所需权限的情况下保存在 vim 中编辑的文件。
:w !sudo tee %
您无需退出 vim 并重新编辑文件 sudo 允许。 进行更改后,只需在上面输入一行即可保存 sudo 权限。 当您忘记添加时,这真的很酷sudo” 编辑文件时。
- 要在不执行命令的情况下从 BASH 历史记录中调用具有特定前缀的命令,请键入:
$ !su:p
上面的命令将调用带有前缀“su”的最后一个命令,但它不会运行它。 如上图所示,我最后一个带有前缀“su”的命令是 – sudo netctl 重启 wlp9s0sktab.
- 要持续监控文件的输出,请使用以下命令:
$ tail -f /var/log/pacman.log
此命令对于监视产生大量输出的文件很有用。
- 要使用“APT”包管理器升级单个包,请使用:
$ sudo apt-get install --only-upgrade <package-name>
- 如果您不小心修改或覆盖了您的 .bashrc 文件,您可以通过从 骷髅 文件夹。
$ cp /etc/skel/.bashrc ~/
请注意,此命令将覆盖现有 .bashrc 文件中的所有更改。
- 要在更改目录时自动“ls”,请在您的 .bashrc 文件。
cd() { builtin cd "[email protected]" && ls -lA }
要更新在 .bashrc 文件中所做的更改,请运行:
$ source ~/.bashrc
现在 cd 到任何目录。 您将看到文件和文件夹列表,包括其中的隐藏项目。 请注意,有时您切换到包含数百个文件/文件夹的目录会很烦人。
- 要显示当前目录中文件和文件夹的总数,请运行:
$ echo $(($(ls -l | wc -l) - 1))
要显示包括隐藏文件在内的文件/文件夹总数,请键入:
$ echo $(($(ls -lA | wc -l) - 1))
11.要下载包含所有必需依赖项的 .deb 包而不安装它,请使用以下命令:
$ sudo apt-get install --download-only vim
此命令将下载具有所有必要依赖项的“vim”包,但不会安装它。
有关更多详细信息,请参阅此链接。
- 在 Ubuntu 中本地下载具有依赖项的软件包
您还可以下载包含所有依赖项的 .rpm 包,而无需安装它。 检查下面的链接以了解如何。
- 如何在 CentOS 中下载具有所有依赖项的 RPM 包
- 要列出基于 Debian 的系统上所有已安装的软件包,请运行:
$ dpkg -l
要显示给定包的已安装文件和路径详细信息,请使用:
$ dpkg -L <package-name>
- 如何在 Linux 中按安装日期排序列出已安装的软件包
- 如何在 Linux 中列出属于特定组的已安装软件包
- 如何在 Linux 中列出某个存储库中已安装的软件包
- 如何在 Linux 和 Unix 中查找软件包是否已安装
- 要显示当前系统状态、时间、持续时间、当前登录用户列表和其他用户详细信息,请运行:
$ w
- 要以人类可读的格式显示当前工作目录中所有文件和目录(包括隐藏文件)的磁盘使用情况,请使用以下命令:
$ du -sch .[!.]* *
有关更多“du”命令示例,请参阅此链接。
- 如何在 Linux 中查找目录的大小
- 有时您可能希望将特定命令的输出写入多个文件并将其发送给您的同事、朋友。 如果是这样,你可以像下面那样做。
$ uname -r | tee file1 file2 file3
此命令将“uname -r”命令的输出写入 file1、file2 和 file3。 如果文件不存在,它将创建它们并写入输出。 使用此命令的一个缺点是它会覆盖文件的内容。 如果您不希望这样,您可以使用“-a”标志附加输出,如下所示。
$ uname -r | tee -a file1 file2 file3
- 要按字母顺序对文件进行排序并在一行中显示输出:
$ cat <file-name> | tr '|' 'n' | sort | tr 'n' '|' | sed "s/.$/n/g"
为了 example,我有一个名为“example.txt”,内容如下:
$ cat example.txt abc cab bac bca cba
现在让我们按字母顺序对该文件的内容进行排序,并将结果显示在一行中。 为此,请运行:
$ cat example.txt | tr '|' 'n' | sort | tr 'n' '|' | sed "s/.$/n/g" abc|bac|bca|cab|cba
- 您是否愿意学习 JavaScript,然后前往以下站点。
这是一个社区支持的网站,人们在其中撰写 140 个字符的 JavaScript 程序 产生有趣的视觉效果。
- 要删除给定命令中的特定字符,请执行以下操作:
$ echo 'Hell1o, Welcome1 2to OSTechNix4' | tr -d '1-9'
上述命令将删除从 1 到 9 的数字并显示最终输出。
- “BACKSPACE”键在您的键盘上不起作用吗? 不用担心! 在退格键不起作用的系统中,您仍然可以删除终端上的字符,方法是按 “CTRL+h” 键。
要查看最近登录系统的所有用户,请键入:
$ last
要了解用户上次登录的时间,请键入:
$ last <username>
要查看所有错误的登录尝试,请键入:
$ sudo lastb
- 您是否正在使用 Nginx 设置测试网络服务器? 您可以将这个免费的在线 Nginx 配置生成器用于一般用途:
只需在相应列中输入详细信息,例如域、文件根等,它会在您键入时根据您的输入自动生成 Nginx 配置。 您可以将其复制/粘贴到您的 /etc/nginx/nginx.conf 文件。 这对于学习和测试目的非常有用。
- 要并排合并两个文件,每个文件都在其列中,使用 TAB 作为分隔符,您可以使用以下命令:
$ paste file1 file2
假设您有两个文件,即 文件1.txt 和 文件2.txt 有以下内容。
$ cat file1.txt Apple Orange Mango
$ cat file2.txt 30 25 40
如果您使用 cat 命令查看两个文件的输出,输出将是:
$ cat file1.txt file2.txt Apple Orange Mango 30 25 40
但是如果你使用粘贴命令,你会看到字段被正确地组织在一个整洁的列中,如下所示。
$ paste file1.txt file2.txt
- 要查找文件的最后访问时间,请运行:
$ stat -c %x file
要查找文件的最后修改时间,请使用:
$ stat -c %y file
- 在 Linux 中根据访问、修改日期和时间查找和排序文件
- 要查找文件的类型,请使用:
$ file <file-name>
例子:
$ file ostechnix ostechnix: ASCII text
$ file image image: PNG image data, 330 x 146, 8-bit colormap, non-interlaced
如果给定文件没有扩展名,这可能很有用。
- 要将多个命令的输出保存为文本文件中的单行,命令为:
$ echo "$(uname -r) $(hostname -i)" >> output.txt
上述命令将“uname -r”和“hostname -i”命令的输出写入名为“output.txt”的文件文件。
本系列的第三部分现已准备就绪并上线。 点击下面的链接阅读它。
- 一些随机的单行 Linux 命令 [Part 3]
感谢您的光临!
帮助我们帮助您:
- 订阅我们的电子邮件通讯: 立即注册
- 支持 OSTechNix: 通过贝宝捐款
- 下载免费的电子书和视频: TradePub 上的 OSTechNix
- 联系我们: 红迪网 | Facebook | Twitter | 领英 | RSS订阅
祝你有美好的一天!!