31个其他Linux命令

或许有你未关注到的Linux命令

1.mount – 将硬盘安装或 “连接 “到系统上。

mount 是一个 Linux 命令,用于将文件系统挂载到指定的挂载点上,以便在文件系统层级上访问文件和目录。下面是一些常见的 mount 命令用法和选项:

  1. mount:查看当前已经挂载的文件系统。

  2. mount [设备] [挂载点]:将指定的设备挂载到指定的挂载点上。例如:mount /dev/sdb1 /mnt 将设备 “/dev/sdb1” 挂载到挂载点 “/mnt”。

  3. mount -a:挂载 /etc/fstab 文件中列出的所有文件系统。通常在系统启动时自动执行该命令。

  4. mount -t [文件系统类型] [设备] [挂载点]:指定文件系统类型进行挂载,例如:mount -t ext4 /dev/sdb1 /mnt 将 ext4 类型的设备挂载到挂载点 “/mnt”。

  5. mount -o [选项] [设备] [挂载点]:使用附加选项进行挂载。例如:mount -o ro /dev/sdb1 /mnt 将设备以只读模式挂载到挂载点。

  6. mount -n:以只读模式挂载设备,不记录到 /etc/mtab 文件。

请注意,挂载操作通常需要具有 root 权限,您可能需要使用 sudo 命令来执行这些操作。挂载设备之前,请确保设备可用并且已经正确分区和格式化。

2.umount – 从系统中卸载或 “移除” 硬盘。

umount 命令用于卸载(或解除挂载)已经挂载的文件系统。您可以通过以下方式使用 umount 命令:

  1. umount [挂载点]:卸载指定的挂载点上的文件系统。例如:umount /mnt 将卸载挂载点 /mnt 上的文件系统。
  2. umount [设备]:卸载指定设备上挂载的文件系统。例如:umount /dev/sdb1 将卸载 /dev/sdb1 设备上挂载的文件系统。
  3. umount -a:卸载所有已经挂载的文件系统。但注意该命令不会卸载 /(根文件系统)。
  4. umount -r [挂载点]:以递归方式卸载指定挂载点及其所有子挂载点上的文件系统。
  5. umount -l [挂载点]:立即卸载指定挂载点,但仍然保持挂载点的状态,直到其他进程不再使用它。

在使用 umount 命令时,请确保要卸载的文件系统没有正在使用,否则可能会导致数据损坏或其他问题。

3.xargs – 生成并执行通过标准输入提供的命令。

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

参数:

  • -a file 从文件中读入作为 stdin
  • -e flag ,注意有的时候可能会是-E,flag必须是一个以空格分隔的标志,当xargs分析到含有flag这个标志的时候就停止。
  • -p 当每次执行一个argument的时候询问一次用户。
  • -n num 后面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的。
  • -t 表示先打印命令,然后再执行。
  • -i 或者是-I,这得看linux支持了,将xargs的每项名称,一般是一行一行赋值给 {},可以用 {} 代替。
  • -r no-run-if-empty 当xargs的输入为空的时候则停止xargs,不用再去执行了。
  • -s num 命令行的最大字符数,指的是 xargs 后面那个命令的最大命令行字符数。
  • -L num 从标准输入一次读取 num 行送给 command 命令。
  • -l 同 -L。
  • -d delim 分隔符,默认的xargs分隔符是回车,argument的分隔符是空格,这里修改的是xargs的分隔符。
  • -x exit的意思,主要是配合-s使用。。
  • -P 修改最大的进程数,默认是1,为0时候为as many as it can ,这个例子我没有想到,应该平时都用不到的吧。

实例
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

4.alias – 为冗长或复杂的命令创建快捷方式。

alias命令允许您在shell会话中定义临时别名。创建别名时,您指示shell用一系列命令替换单词。例如,要设置 ls 为颜色而不每次键入标志 --color,您将使用:

alias ls="ls --color=auto"

正如你所看到的,alias命令需要一个关键值对参数:alias NAME=“VALUE” .请注意,该值必须是使用引号。

如何使用alias

  • 查看已定义的别名:只输入 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是啥,有啥作用

~/.bashrc 是 Bash Shell 的配置文件,位于用户的主目录下。在每次启动交互式 Bash Shell 时,它会被自动加载和执行。

.bashrc 文件的作用是定义与 Bash Shell 相关的配置和行为。它通常包含设置环境变量、定义别名、配置命令提示符、加载其他脚本等内容。您可以编辑 ~/.bashrc 文件来自定义您的 Shell 环境。

以下是一些常见的在 ~/.bashrc 中定义的配置和操作:

1. 环境变量:您可以在 ~/.bashrc 中设置和导出自定义的环境变量,例如:
export PATH=$PATH:/path/to/custom/bin
export JAVA_HOME=/path/to/java
2. 别名:您可以使用 alias 命令在 ~/.bashrc 中定义常用命令的别名,以便在 Shell 中更方便地使用它们。例如:
alias ll='ls -l'
alias grep='grep --color=auto'
3. 命令提示符:您可以自定义命令提示符的显示方式,以在 Shell 中提供更有用的信息。例如:
export PS1='\[\e[32m\]\u@\h \[\e[34m\]\w\[\e[0m\]\$ '
4. 加载其他脚本:您可以使用 source. 命令来加载其他 Shell 脚本,以扩展您的配置。例如,加载一个名为 mycustomscript.sh 的脚本:
source /path/to/mycustomscript.sh

完成对 ~/.bashrc 文件的编辑后,保存并关闭文件。要使更改生效,可以重新启动 Bash Shell,或者可以在当前会话中执行以下命令使其立即生效:

source ~/.bashrc

这将重新加载 ~/.bashrc 文件并应用其中的配置。

误删除~/.bashrc 文件咋整

https://www.jianshu.com/p/a1e8aa55a752

两个步骤:

  1. 初始化:cp /etc/skel/.bashrc ~/
  2. 拷贝环境变量: echo $PATH,然后vim ~/.bashrc 增加一行内容是PATH=echo $PATH输出结果

5.jobs – 列出当前在后台运行任务的程序。

在 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 中的运行作业。

6.bg – 恢复已停止或暂停的后台进程。

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 终止它。

7.killall – 通过程序名称而不是 PID 终止进程。

8.history – 显示当前终端会话中以前使用过的命令。

如果你正在努力记住一个命令,history就会派上用场。此命令显示一个枚举列表,其中包含您过去使用过的命令:

history

history命令.

9.man – 直接在终端中访问命令的帮助手册。

使用 man 命令查看一个命令的帮助手册页面,您可以使用键盘上的箭头键进行上下滚动,按下 q 键退出帮助手册页面。

语法:

man [选项] 命令或关键词

常见选项:

  • -f:显示匹配关键词的简短描述。
  • -k:搜索关键词并显示相关的命令。
  • -a:显示匹配关键词的所有帮助手册页面,如果有多个版本。
  • -w:仅显示帮助手册页面的路径,而不显示其内容。
  • -C:指定要使用的配置文件(默认为 /etc/man_db.conf)。
  • -S:指定要使用的手册节(section)。

需要注意的是,一些命令可能没有关联的手册页面。在这种情况下,您可以尝试使用 info 命令或在互联网上搜索相关的文档资料。

它显示任何其他命令的手册页面(只要有)。要查看mkdir命令的手册页,请键入:

man mkdir

您甚至可以查看 man 命令手册页面:

man man

man命令手册页面。

10.screen – 从一个窗口管理多个终端会话。

11.ssh – 建立与远程服务器的安全加密连接。

12.tcpdump – 根据特定标准捕获网络流量。

13.watch – 每隔一段时间重复一次命令,并突出显示输出差异。

14.tmux – 用于持续会话和分割的终端多路复用器。

15.nc – 打开 TCP 或 UDP 连接,进行测试和数据传输。

16.nmap – 主机发现、端口扫描和操作系统指纹。

17.strace – 通过跟踪操作系统信号和调用来调试进程。

18.unalias– 顾名思义,unalias命令旨在从已定义的别名中删除alias。

要删除以前的ls别名,可以使用:

unalias ls

19. pwd– 代表“打印工作目录”,它输出您所在目录的绝对路径。

例如,如果您的用户名是“john”,并且您位于文档目录中,则其绝对路径将是 /home/john/Documents.要使用它,只需在终端中键入pwd:

pwd
# My result: /home/wbolt/Documents/linux-commands

20. ./ – 也许 ./ 符号本身不是命令,但在这个列表中值得一提。

它允许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

21. exit– 自动关闭正在使用的终端。

exit命令完全按照其名称执行:使用它,您可以结束shell会话,并且在大多数情况下,可以自动关闭正在使用的终端:

exit

22. apt, yum, pacman 命令

无论您使用的是哪个Linux发行版,您都可能使用package管理器来安装、更新和删除您每天使用的软件。您可以通过命令行访问这些package管理器,并根据您的计算机运行的发行版使用其中一个或另一个package管理器。以下示例将安装GIMP,这是一种通常在大多数package管理器中可用的免费开源软件:

  1. Debian-based (Ubuntu, Linux Mint)
sudo apt install gimp
  1. Red Hat-based (Fedora, CentOS)
sudo yum install gimp
  1. Arch-based (Manjaro, Arco Linux)
sudo pacman -S gimp

22. echo– 在终端中显示定义的文本。

echo命令在终端中显示定义的文本-就这么简单:

echo "Cool message"

echo命令

它的主要用途是在这些消息中打印环境变量:

echo "Hey $USER"

Hey wbolt

23. cat– 用于直接从终端创建、查看和连接文件。

cat 是“concatenate”的缩写,用于直接从终端创建、查看和连接文件。它主要用于在不打开图形文本编辑器的情况下预览文件:

cat long_text_file.txt

cat命令.

24. vim– 使用高效的键绑定编辑纯文本文件。

vim 是一个免费的开源终端文本编辑器,从90年代开始使用。它允许您使用高效的键绑定编辑纯文本文件。有些人认为使用困难——退出VIM是最常见的StackOverflow问题之一,但一旦习惯了,它就成为命令行中最好的盟友。要启动Vim,只需键入:

vim

vim文本编辑器.

25.which– 输出shell命令的完整路径。

which命令输出shell命令的完整路径。如果它不能识别给定的命令,它将抛出一个错误。例如,我们可以使用它来检查Python和Brave web浏览器的二进制路径:

which python
# /usr/bin/python
which brave
# /usr/bin/brave

26. shred– 此命令会重复覆盖文件的内容。

如果您希望文件几乎无法恢复,shred 可以帮助您完成此任务。此命令会重复覆盖文件的内容,因此,给定的文件极难恢复。下面是一个内容很少的文件:

粉碎文件.

现在,让我们通过键入shred命令来完成工作:

shred file_to_shred.txt

覆盖内容.

如果要立即删除文件,可以使用-u标志:

shred -u file_to_shred.txt

27. less– 允许您前后检查文件的程序。

less(与more相反)是一个允许您前后检查文件的程序:

less large_text_file.txt

less命令.

less的优点在于它在其界面中包含了更多和vim命令。如果您需要比cat更具交互性的东西,less是一个不错的选择。

28. tail– 打印文件内容后几行。

与cat类似,tail打印文件内容时有一个主要警告:它只输出最后几行。默认情况下,它打印最后10行,但您可以使用-n修改该数字。例如,要打印大型文本文件的最后几行,可以使用:

tail long.txt

tail命令.

要仅查看最后四行,请执行以下操作:

tail -n 4 long.txt

tail命令尾四行.

29.head– 输出文本文件的前10行。

这是对tail命令的补充。head输出文本文件的前10行,但您可以使用-n标志设置要显示的任意行数:

head long.txt
head -n 5 long.txt

head命令.

30.whatis– 打印任何其他命令的说明。

whatis 打印任何其他命令的单行说明,使其成为有用的参考:

whatis python
# python (1) - an interpreted, interactive, object-oriented programming language
whatis whatis
# whatis (1) - display one-line manual page descriptions

31.neofetch– CLI(命令行界面)工具。

Neofetch是一个CLI(命令行界面)工具,它在Linux发行版的ASCII徽标旁边显示有关系统的信息,如内核版本、shell和硬件:

neofetch

neofetch命令

在大多数计算机中,此命令在默认情况下不可用,因此请确保首先使用package管理器安装它。

你可能感兴趣的:(linux,php基础,linux)