或许有你未关注到的Linux命令
mount
是一个 Linux 命令,用于将文件系统挂载到指定的挂载点上,以便在文件系统层级上访问文件和目录。下面是一些常见的 mount
命令用法和选项:
mount
:查看当前已经挂载的文件系统。
mount [设备] [挂载点]
:将指定的设备挂载到指定的挂载点上。例如:mount /dev/sdb1 /mnt
将设备 “/dev/sdb1” 挂载到挂载点 “/mnt”。
mount -a
:挂载 /etc/fstab
文件中列出的所有文件系统。通常在系统启动时自动执行该命令。
mount -t [文件系统类型] [设备] [挂载点]
:指定文件系统类型进行挂载,例如:mount -t ext4 /dev/sdb1 /mnt
将 ext4 类型的设备挂载到挂载点 “/mnt”。
mount -o [选项] [设备] [挂载点]
:使用附加选项进行挂载。例如:mount -o ro /dev/sdb1 /mnt
将设备以只读模式挂载到挂载点。
mount -n
:以只读模式挂载设备,不记录到 /etc/mtab
文件。
请注意,挂载操作通常需要具有 root 权限,您可能需要使用 sudo
命令来执行这些操作。挂载设备之前,请确保设备可用并且已经正确分区和格式化。
umount
命令用于卸载(或解除挂载)已经挂载的文件系统。您可以通过以下方式使用 umount
命令:
umount [挂载点]
:卸载指定的挂载点上的文件系统。例如:umount /mnt
将卸载挂载点 /mnt
上的文件系统。umount [设备]
:卸载指定设备上挂载的文件系统。例如:umount /dev/sdb1
将卸载 /dev/sdb1
设备上挂载的文件系统。umount -a
:卸载所有已经挂载的文件系统。但注意该命令不会卸载 /
(根文件系统)。umount -r [挂载点]
:以递归方式卸载指定挂载点及其所有子挂载点上的文件系统。umount -l [挂载点]
:立即卸载指定挂载点,但仍然保持挂载点的状态,直到其他进程不再使用它。在使用 umount
命令时,请确保要卸载的文件系统没有正在使用,否则可能会导致数据损坏或其他问题。
https://www.runoob.com/linux/linux-comm-xargs.html
xargs
(英文全拼: eXtended ARGuments)是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。
xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。
xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。
xargs 默认的命令是 echo,这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代。
xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令。
之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了 xargs 命令 ,例如:
find /sbin -perm +700 |ls -l #这个命令是错误的
find /sbin -perm +700 |xargs ls -l #这样才是正确的
xargs 一般是和管道一起使用。
命令格式:
somecommand |xargs -item command
参数:
实例
xargs 用作替换工具,读取输入数据重新格式化后输出。
定义一个测试文件,内有多行文本数据:
# cat test.txt
a b c d e f g
h i j k l m n
o p q
r s t
u v w x y z
多行输入单行输出:
# cat test.txt | xargs
a b c d e f g h i j k l m n o p q r s t u v w x y z
-n 选项多行输出:
# cat test.txt | xargs -n3
a b c
d e f
g h i
j k l
m n o
p q r
s t u
v w x
y z
-d 选项可以自定义一个定界符:
# echo "nameXnameXnameXname" | xargs -dX
name name name name
结合 -n 选项使用:
# echo "nameXnameXnameXname" | xargs -dX -n2
name name
name name
alias命令允许您在shell会话中定义临时别名。创建别名时,您指示shell用一系列命令替换单词。例如,要设置 ls 为颜色而不每次键入标志 --color,您将使用:
alias ls="ls --color=auto"
正如你所看到的,alias命令需要一个关键值对参数:alias NAME=“VALUE” .请注意,该值必须是使用引号。
查看已定义的别名:只输入 alias
命令,它会显示当前已定义的所有别名以及它们的定义。
创建别名:使用 alias
命令后跟别名和对应的命令定义,中间以等号分隔。例如,要创建一个名为 ll
的别名,将 ls -l
作为其定义,可以运行以下命令:
alias ll='ls -l'
现在,当您输入 ll
,实际上会执行 ls -l
命令。
永久保存别名:上述方法创建的别名只会在当前会话中生效。如果您想要在以后的会话中继续使用别名,需要将别名定义添加到 Shell 配置文件中。常见的 Shell 配置文件包括 ~/.bashrc
(对于 Bash)和 ~/.zshrc
(对于 Zsh)。编辑适用于您的 Shell 的配置文件,并在文件的末尾添加别名定义。例如,对于 Bash,可以运行以下命令:
echo "alias ll='ls -l'" >> ~/.bashrc
保存并退出编辑器后,新的别名定义将在下次启动 Shell 时生效。
删除别名:使用 unalias
命令加上别名来删除已定义的别名。例如,如果要删除名为 ll
的别名,可以运行以下命令:
unalias ll
这将从当前会话中删除别名 ll
,永久删除则要改~/.bashrc文件。
使用参数的别名:有时您可能希望在别名中使用参数。为此,可以使用单引号或函数来定义别名。例如,创建一个别名 grepme
来在当前目录中搜索指定的字符串,可以使用以下方式:
alias grepme='grep "$1" *'
alias grepme='mygrep() { grep "$1" "$2"; }; mygrep'
现在,您可以在当前目录中运行 grepme search_string
,它会将 search_string
当作参数传递给 grep
命令。
请注意,别名中不能包含空格或特殊字符。如果需要定义带有空格或特殊字符的复杂别名,建议使用函数来替代别名。
~/.bashrc
是 Bash Shell 的配置文件,位于用户的主目录下。在每次启动交互式 Bash Shell 时,它会被自动加载和执行。
.bashrc
文件的作用是定义与 Bash Shell 相关的配置和行为。它通常包含设置环境变量、定义别名、配置命令提示符、加载其他脚本等内容。您可以编辑 ~/.bashrc
文件来自定义您的 Shell 环境。
以下是一些常见的在 ~/.bashrc
中定义的配置和操作:
~/.bashrc
中设置和导出自定义的环境变量,例如:export PATH=$PATH:/path/to/custom/bin
export JAVA_HOME=/path/to/java
alias
命令在 ~/.bashrc
中定义常用命令的别名,以便在 Shell 中更方便地使用它们。例如:alias ll='ls -l'
alias grep='grep --color=auto'
export PS1='\[\e[32m\]\u@\h \[\e[34m\]\w\[\e[0m\]\$ '
source
或 .
命令来加载其他 Shell 脚本,以扩展您的配置。例如,加载一个名为 mycustomscript.sh
的脚本:source /path/to/mycustomscript.sh
完成对 ~/.bashrc
文件的编辑后,保存并关闭文件。要使更改生效,可以重新启动 Bash Shell,或者可以在当前会话中执行以下命令使其立即生效:
source ~/.bashrc
这将重新加载 ~/.bashrc
文件并应用其中的配置。
https://www.jianshu.com/p/a1e8aa55a752
两个步骤:
cp /etc/skel/.bashrc ~/
echo $PATH
,然后vim ~/.bashrc 增加一行内容是PATH=echo $PATH
输出结果在 Bash Shell 中,jobs
命令用于显示当前 Shell 中正在运行或被挂起的作业(jobs)。作业是在 Shell 中运行的命令或进程。
以下是 jobs
命令的常见用法和选项:
jobs
:无选项地运行 jobs
命令将列出当前 Shell 中运行或被挂起的作业列表。作业的标识符(job ID)以及状态(running、stopped、terminated)会被显示出来。jobs -l
:使用 -l
选项,jobs
命令将以长格式(long format)列出作业。除了作业的标识符和状态外,它还会显示作业所关联的进程 ID(PID)。jobs -r
:使用 -r
选项,jobs
命令将只显示正在运行的作业。jobs -s
:使用 -s
选项,jobs
命令将只显示已停止(suspended)的作业。jobs -p
:使用 -p
选项,jobs
命令将只显示作业关联的进程 ID,而不显示作业的标识符和状态。在输出中,作业将按照它们被启动的顺序显示,其中最近启动的作业显示为 %1
,倒数第二个为 %2
,以此类推。
除了查看作业列表外,还可以使用其他命令来操作作业,例如:
fg %[作业号]
:将指定的作业切换到前台运行(foreground)。例如,fg %2
将作业号为 2 的作业切换到前台并恢复运行。bg %[作业号]
:将指定的作业切换到后台运行(background)。例如,bg %3
将作业号为 3 的作业切换到后台继续运行。kill %[作业号]
:终止指定的作业。例如,kill %1
将终止作业号为 1 的作业。通过组合使用 jobs
命令和这些作业操作命令,您可以管理当前 Shell 中的运行作业。
https://pythonjishu.com/linux-bg/
常见用法是:
bg %[作业号]
:使用 %[作业号]
指定要切换到后台的作业。例如,bg %2
将作业号为 2 的作业切换到后台继续运行。使用方法:
示例一:将正在前台运行的命令转移到后台执行
假设当前前台运行的命令是一个耗时的任务,我们想将其转移到后台继续执行并能够在命令行窗口继续执行其他任务。我们可以按下 ctrl + z 暂停前台任务,然后使用 bg 命令将其转移到后台执行,使其在后台继续执行。示例如下:
$ ping www.baidu.com
^Z
[1]+ 已停止 ping www.baidu.com
$ bg
[1]+ ping www.baidu.com &
$
# [1]是作业号
上面的命令中,我们使用 ctrl + z 停止了前台任务 ping www.baidu.com,之后使用 bg 命令将其转移到后台执行。可以看到,bg 命令后面有一个 & 符号,表示在后台运行。
示例二:使用作业编号将后台任务调回前台
当我们将一个任务转移到后台执行后,可以使用 fg 命令将其调回前台,也可以用 jobs 命令查看当前系统的作业列表和其编号。示例如下:
$ ping www.baidu.com &
[1] 1234
$ jobs
[1]+ Running ping www.baidu.com &
$ bg %1
[1]+ ping www.baidu.com &
$ fg %1
ping www.baidu.com
^C
$
上面的命令中,我们将 ping 命令转移到后台运行,并使用 jobs 命令查看其编号,然后使用 bg %1 命令将其再次转移到后台运行,最后使用 fg %1 命令将其调回前台,继续执行。
可以看到,fg 命令使得任务重新在前台运行,我们可以用 ctrl + c 终止它。
如果你正在努力记住一个命令,history就会派上用场。此命令显示一个枚举列表,其中包含您过去使用过的命令:
history
history命令.
使用 man
命令查看一个命令的帮助手册页面,您可以使用键盘上的箭头键进行上下滚动,按下 q
键退出帮助手册页面。
语法:
man [选项] 命令或关键词
常见选项:
-f
:显示匹配关键词的简短描述。-k
:搜索关键词并显示相关的命令。-a
:显示匹配关键词的所有帮助手册页面,如果有多个版本。-w
:仅显示帮助手册页面的路径,而不显示其内容。-C
:指定要使用的配置文件(默认为 /etc/man_db.conf
)。-S
:指定要使用的手册节(section)。需要注意的是,一些命令可能没有关联的手册页面。在这种情况下,您可以尝试使用 info
命令或在互联网上搜索相关的文档资料。
它显示任何其他命令的手册页面(只要有)。要查看mkdir命令的手册页,请键入:
man mkdir
您甚至可以查看 man 命令手册页面:
man man
man命令手册页面。
要删除以前的ls别名,可以使用:
unalias ls
例如,如果您的用户名是“john”,并且您位于文档目录中,则其绝对路径将是 /home/john/Documents.要使用它,只需在终端中键入pwd:
pwd
# My result: /home/wbolt/Documents/linux-commands
它允许shell直接从终端运行可执行文件,并在系统中安装任何解释器。不再双击图形文件管理器中的文件!例如,使用此命令,您可以运行Python脚本或仅以.run格式提供的程序,如XAMPP。运行可执行文件时,请确保它具有可执行(x)权限,您可以使用chmod命令修改该权限。下面是一个简单的Python脚本,以及如何使用 ./ 符号运行它:
#! /usr/bin/python3
# filename: script
for i in range(20):
print(f"This is a cool script {i}")
下面是我们如何将脚本转换为可执行文件并运行它:
chmod +x script
./script
exit命令完全按照其名称执行:使用它,您可以结束shell会话,并且在大多数情况下,可以自动关闭正在使用的终端:
exit
无论您使用的是哪个Linux发行版,您都可能使用package管理器来安装、更新和删除您每天使用的软件。您可以通过命令行访问这些package管理器,并根据您的计算机运行的发行版使用其中一个或另一个package管理器。以下示例将安装GIMP,这是一种通常在大多数package管理器中可用的免费开源软件:
sudo apt install gimp
sudo yum install gimp
sudo pacman -S gimp
echo命令在终端中显示定义的文本-就这么简单:
echo "Cool message"
echo命令
它的主要用途是在这些消息中打印环境变量:
echo "Hey $USER"
cat 是“concatenate”的缩写,用于直接从终端创建、查看和连接文件。它主要用于在不打开图形文本编辑器的情况下预览文件:
cat long_text_file.txt
cat命令.
vim 是一个免费的开源终端文本编辑器,从90年代开始使用。它允许您使用高效的键绑定编辑纯文本文件。有些人认为使用困难——退出VIM是最常见的StackOverflow问题之一,但一旦习惯了,它就成为命令行中最好的盟友。要启动Vim,只需键入:
vim
vim文本编辑器.
which命令输出shell命令的完整路径。如果它不能识别给定的命令,它将抛出一个错误。例如,我们可以使用它来检查Python和Brave web浏览器的二进制路径:
which python
# /usr/bin/python
which brave
# /usr/bin/brave
如果您希望文件几乎无法恢复,shred 可以帮助您完成此任务。此命令会重复覆盖文件的内容,因此,给定的文件极难恢复。下面是一个内容很少的文件:
粉碎文件.
现在,让我们通过键入shred命令来完成工作:
shred file_to_shred.txt
覆盖内容.
如果要立即删除文件,可以使用-u标志:
shred -u file_to_shred.txt
less(与more相反)是一个允许您前后检查文件的程序:
less large_text_file.txt
less命令.
less的优点在于它在其界面中包含了更多和vim命令。如果您需要比cat更具交互性的东西,less是一个不错的选择。
与cat类似,tail打印文件内容时有一个主要警告:它只输出最后几行。默认情况下,它打印最后10行,但您可以使用-n修改该数字。例如,要打印大型文本文件的最后几行,可以使用:
tail long.txt
tail命令.
要仅查看最后四行,请执行以下操作:
tail -n 4 long.txt
tail命令尾四行.
这是对tail命令的补充。head输出文本文件的前10行,但您可以使用-n标志设置要显示的任意行数:
head long.txt
head -n 5 long.txt
head命令.
whatis 打印任何其他命令的单行说明,使其成为有用的参考:
whatis python
# python (1) - an interpreted, interactive, object-oriented programming language
whatis whatis
# whatis (1) - display one-line manual page descriptions
Neofetch是一个CLI(命令行界面)工具,它在Linux发行版的ASCII徽标旁边显示有关系统的信息,如内核版本、shell和硬件:
neofetch
neofetch命令
在大多数计算机中,此命令在默认情况下不可用,因此请确保首先使用package管理器安装它。