Linux具体命令(三)

1.ip a a 10.0.0.1/24 dev eth1

命令 ip a a 10.0.0.1/24 dev eth1 是在 Linux 系统中使用 ip 命令来配置一个静态 IP 地址到一个特定的网络接口。这个命令的各个部分解释如下:

  • ip:这是用于管理 IPv4 和 IPv6 网络配置的命令行工具。
  • a:这是 address 的简写,表示添加(address)操作。
  • a:这是 add 的简写,表示添加(add)操作。
  • 10.0.0.1/24:这是一个 IPv4 地址和子网掩码的组合,表示要将 IP 地址 10.0.0.1 添加到 eth1 接口,并且子网掩码是 255.255.255.0(即 /24 表示最后一个字节为网络位,前三个字节为主机位)。
  • dev eth1:这是指定要将 IP 地址配置到的设备名称,在这个例子中是 eth1 接口。
    这个命令的作用是为 eth1 接口添加一个静态 IP 地址 10.0.0.1,并且子网掩码是 255.255.255.0。这意味着 eth1 接口将只会接收和发送该子网内的数据包。
    在执行这个命令之前,您需要确保 eth1 接口已经存在并且被激活。如果 eth1 接口没有被激活,您可能需要先使用 ip link set eth1 up 命令来启用它。
    请注意,这个命令的输出将不会显示在命令行界面上,除非您使用 -on 选项来显示添加的地址信息。要查看添加的地址信息,您可以使用 ip addr show 命令。

2. sed

sed(Stream Editor)是一个流编辑器,用于对文本进行处理。它通常用于执行基本的文本替换、查找和转换等操作。sed命令在Unix和类Unix操作系统中非常常用,尤其是在shell脚本中。

以下是一些sed命令的基本用法:

  1. 查找并显示匹配的行:

    复制代码
    sed 's/pattern/replacement/g' file

    这里的s代表替换操作,pattern是你要查找的文本模式,replacement是用来替换的模式,g表示全局替换,即替换所有匹配的行。

  2. 打印第3行到第5行:

    复制代码
    sed '3,5p' file

    这里的3,5p表示打印文件中第3行到第5行。

  3. 删除第3行到第5行:

    复制代码
    sed '3,5d' file

    d选项表示删除匹配的行。

  4. 在每一行前添加文本:

    复制代码
    sed 's/^/text/' file

    这里的^表示行的开始,text是要添加的文本。

  5. 在每一行后添加文本:

    复制代码
    sed 's/$/text/' file

    这里的$表示行的结束,text是要添加的文本。

  6. 替换文件中的文本:

    复制代码
    sed -i 's/pattern/replacement/g' file

    -i选项用于直接修改文件内容,而不是在终端输出结果。

  7. 使用正则表达式:

    复制代码
    sed -E 's/pattern/replacement/g' file

    使用-E选项可以启用扩展的正则表达式。

  8. 逐行应用命令:

    复制代码
    sed -e 's/pattern/replacement/g' -e 'p' file

    这里-e选项用于指定脚本中的命令,p表示打印匹配的行。
    sed命令非常强大,可以通过脚本或命令行参数组合来实现复杂的文本处理任务。它是shell脚本编程中处理文本的常用工具之一。

3. mv

mv(move)命令是Linux和类Unix操作系统中用于移动文件或目录,或重命名文件和目录的命令。它的基本语法如下:

bash 复制代码
mv [options] source destination

其中:

  • source 是要移动或重命名的文件或目录的路径。
  • destination 是目标路径,可以是目录的路径或新的文件名。
  • options 是一些可选的参数,用于控制mv命令的行为。
    一些常用的mv命令选项包括:
  • -i:在覆盖文件之前提示用户确认。
  • -n:不覆盖已经存在的目标文件。
  • -v:显示详细的操作信息。
  • -f:强制移动或重命名,不会有任何提示。
  • -u:在移动文件之前,更新目标文件的时间戳(如果目标文件已经存在)。
  • -t:指定一个临时目录,用于在移动过程中暂存文件。
    以下是一些mv命令的示例:
  1. 移动文件:

    bash 复制代码
    mv file1.txt /home/user/documents/

    这个命令将file1.txt文件移动到/home/user/documents/目录中。

  2. 重命名文件:

    bash 复制代码
    mv file1.txt file2.txt

    这个命令将file1.txt重命名为file2.txt

  3. 移动文件并在覆盖前确认:

    bash 复制代码
    mv -i file1.txt /home/user/documents/

    如果/home/user/documents/目录中已经有一个名为file1.txt的文件,这个命令会在覆盖之前询问用户。

  4. 移动多个文件:

    bash 复制代码
    mv file1.txt file2.txt file3.txt /home/user/documents/

    这个命令将多个文件一次性移动到目标目录。

  5. 移动文件并保持文件时间戳不变:

    bash 复制代码
    mv -u file1.txt /home/user/documents/

    这个命令在移动文件的同时,会保持文件的时间戳不变。
    mv命令是一个非常有用的命令,特别是在管理文件和目录时。需要注意的是,使用mv命令时要小心,特别是当目标路径已经存在文件时,不加仔细确认就使用-f选项可能会导致数据丢失。

4. rm

rm(remove)命令是Linux和类Unix操作系统中用于删除文件或目录的命令。它的基本语法如下:

bash 复制代码
rm [options] file_or_directory

其中:

  • file_or_directory 是要删除的文件或目录的路径。
  • options 是一些可选的参数,用于控制rm命令的行为。
    一些常用的rm命令选项包括:
  • -r-R:递归删除目录及其下的所有文件和子目录。
  • -f:强制删除文件,不会有任何提示。
  • -v:显示详细的操作信息。
  • -i:在删除文件之前提示用户确认。
  • -d:删除空目录。
  • -c:在删除每个文件之前都确认。
  • -p:在删除文件前保留其备份。
    以下是一些rm命令的示例:
  1. 删除文件:

    bash 复制代码
    rm file1.txt

    这个命令将删除名为file1.txt的文件。

  2. 递归删除目录及其内容:

    bash 复制代码
    rm -r /home/user/documents/old_files/

    这个命令将递归删除/home/user/documents/old_files/目录及其下的所有文件和子目录。

  3. 强制删除文件,没有确认提示:

    bash 复制代码
    rm -f file1.txt

    这个命令将强制删除file1.txt文件,不会有任何确认提示。

  4. 删除目录前提示确认:

    bash 复制代码
    rm -i /home/user/documents/old_files/

    如果/home/user/documents/old_files/目录不是空的,这个命令会在删除之前提示用户确认。

  5. 删除空目录:

    bash 复制代码
    rm -d /home/user/documents/empty_dir/

    这个命令将删除一个名为empty_dir的空目录。

  6. 删除文件并保留备份:

    bash 复制代码
    rm -p file1.txt file2.txt

    这个命令将删除file1.txtfile2.txt文件,但会保留它们的备份。
    需要注意的是,rm命令是一个非常强大的命令,使用时需要非常小心。一旦文件被删除,如果没有备份,那么数据可能就无法恢复。因此,在执行删除操作之前,一定要确认文件路径是否正确,以及是否真的需要删除这些文件。此外,使用rm命令时,建议使用-v选项来查看删除过程中的详细信息,以便及时发现任何可能的错误。

5. rpm -qa openssh*

使用 rpm -qa openssh* 命令可以查询系统中所有已安装的与 OpenSSH 相关的 RPM 包。这个命令会列出所有匹配 openssh* 模式的包名称和版本信息。

在 CentOS 或类似的 Red Hat 系统中,OpenSSH 相关的包通常包括 openssh-serveropenssh-clientsopenssh-askpass 等。这些包提供了 SSH 服务器和客户端的功能,以及其他相关的辅助工具。

例如,输出可能类似于:

复制代码
openssh-server-9.6p1-1.el7.x86_64
openssh-clients-9.6p1-1.el7.x86_64
openssh-askpass-9.6p1-1.el7.x86_64

这表示系统中安装了版本为 9.6p1 的 OpenSSH 服务器、客户端和询问密码工具。

如果需要更详细的信息,可以使用 rpm -qi openssh* 命令来查询每个包的完整信息,包括描述、发行者、版本、大小等。

请记住,实际输出的内容会根据您的系统安装的 OpenSSH 版本和包的不同而有所变化。如果您正在寻找特定的 OpenSSH 版本或组件,请确保使用正确的包名称进行查询。

6. rpm

rpm 是 Red Hat Package Manager(Red Hat 软件包管理器)的缩写,它是用于管理 Linux 系统中 RPM 包的工具。RPM 包是 Linux 系统中的一种软件包格式,它包含软件的二进制文件、配置文件和元数据等信息。rpm 工具提供了安装、删除、查询和升级 RPM 包的功能。

以下是一些常用的 rpm 命令及其用途:

  1. rpm -qa:查询系统中安装的所有 RPM 包。
  2. rpm -qi <包名>:查询特定 RPM 包的详细信息。
  3. rpm -ql <包名>:列出特定 RPM 包安装的所有文件。
  4. rpm -qc <包名>:查看特定 RPM 包的配置文件。
  5. rpm -e <包名>:卸载特定 RPM 包。
  6. rpm -ivh <包名>:安装并显示详细安装进度。
  7. rpm -Uvh <包名>:升级 RPM 包。
  8. rpm -Fvh <包名>:修复 RPM 包(仅更新已安装的包)。
    在使用 rpm 命令时,可以添加其他选项来调整输出的详细程度或格式。例如,使用 -v 可以输出更详细的verbose信息,而 -h 可以输出哈希标记以显示安装进度。
    需要注意的是,rpm 命令的行为和可用选项可能会根据不同的 Linux 发行版和版本有所差异。此外,对于某些 RPM 包,可能需要超级用户(root)权限才能执行安装、卸载或升级操作。

7. ss -ntl

ss -ntl 是一个 Linux 命令,用于显示基于 TCP 和 UDP 的网络连接的详细列表。这个命令是 ss 命令的一个选项,ss 是一个用来获取网络连接信息的工具,它比传统的 netstat 命令更高效,并且提供了一些额外的功能。

命令 ss -ntl 的各部分含义如下:

  • ss:这是一个用于显示 socket 统计信息的工具,它比 netstat 更高效,并且在某些情况下能提供更多信息。

  • -n:这个选项表示不解析地址和服务名称,直接显示数字形式的端口号和协议。

  • -t:这个选项表示只显示 TCP 连接。

  • -l:这个选项表示只显示监听中的 socket(即那些处于被动打开状态的 socket)。
    使用 ss -ntl 命令的输出包括本地地址、远程地址、协议、状态和端口号等信息。例如,输出可能包括类似以下内容:

    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1234/master
    tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 1234/master
    tcp 0 0 127.0.0.1:60104 127.0.0.1:23 ESTABLISHED 23456/ssh

在这个例子中,我们可以看到有一个 TCP 连接,本地地址是 127.0.0.1 的端口 25 在监听,同时还有一个到端口 23 的连接已经建立。
ss 命令还有其他许多有用的选项,可以用来定制输出的内容和格式。例如,使用 -p 选项可以显示进程 ID 和程序名称,使用 -o 选项可以输出更详细的统计信息等。

8. sudo apt install vim

sudo apt install vim 是 Ubuntu 系统中用来安装 Vim 文本编辑器的命令。Vim 是一个功能强大的文本编辑器,它支持多种模式,包括普通模式、插入模式和可视模式,广泛用于代码编辑、配置文件修改和日常文本处理。

当你在终端中输入 sudo apt install vim 并按下回车键时,Ubuntu 的包管理器 APT (Advanced Package Tool) 会执行以下步骤来安装 Vim:

  1. 更新软件包列表 :首先,APT 会使用 sudo apt update 命令来更新本地存储的软件包列表,以确保所有可用软件包的信息都是最新的。
  2. 下载并安装 Vim:接着,APT 会下载 Vim 的软件包并安装到系统中。这通常涉及到解压缩软件包文件,并将必要的文件复制到系统的适当位置。
  3. 配置 Vim :在安装过程中,APT 还会配置 Vim,比如设置默认的快捷键和行为等。
    如果在安装 Vim 时遇到问题,比如网络连接问题、软件源问题或是依赖关系问题,APT 可能会显示错误信息。在这种情况下,可以尝试以下几个步骤来解决问题:
  • 检查网络连接:确保你的系统可以访问 Ubuntu 的软件仓库。
  • 修复软件源 :如果软件源配置不正确,可能导致无法安装软件。可以使用 sudo vim /etc/apt/sources.list 修改软件源配置文件,或者运行 sudo apt-get update 来更新软件源。
  • 安装依赖 :如果缺少必要的依赖,APT 可能无法安装 Vim。可以使用 sudo apt-get install --fix-brokensudo apt-get -f install 来修复损坏的软件包依赖。
  • 使用替代命令 :有时直接使用 sudo apt install vim 会有问题,可以尝试使用 sudo apt install vi 来安装 Vim,因为 Vi 是 Vim 的一个兼容模式,通常会一同安装。
    安装完成后,Vim 会出现在用户的命令行工具中,可以随时通过输入 vim 来启动。此外,对于 Vim 的进一步配置,可以编辑 ~/.vimrc 文件来设置个性化选项,如键位映射、语法高亮、配色方案等。

9. rpm -ql openssh

使用 rpm -ql openssh 命令可以查询已经安装的 OpenSSH 软件包的内容,并列出它的文件列表。这个命令会显示 OpenSSH 安装在系统上的所有文件,包括配置文件、可执行文件、库文件等。

具体来说,这个命令会执行以下操作:

  • rpm:调用 RPM(Red Hat Package Manager)包管理器。

  • -q:查询(query)选项,用于获取包的信息。

  • -l:长(long)列表选项,用于显示详细的文件列表。

  • openssh:指定要查询的软件包名称。
    执行这个命令后,你会看到一个按路径排列的文件列表,这些文件都是 OpenSSH 软件包的一部分。这个列表可以用来检查 OpenSSH 软件包安装了哪些文件,以及这些文件位于系统的哪些目录中。这对于了解 OpenSSH 安装的具体细节或进行系统维护非常有用。
    例如,输出可能包括:

    /etc/pam.d/sshd
    /etc/ssh/sshd_config
    /usr/sbin/sshd
    /usr/lib64/openssl/engines/libssl.so.1.1
    ...

请注意,实际输出的文件列表会根据你的系统上安装的 OpenSSH 版本和配置而有所不同。如果你需要更详细的信息,可以添加 -v 选项来显示文件的详细属性,或者 -D 选项来显示文件的所有属性和权限。

10. lastb

lastb 是一个 Unix 和类 Unix 操作系统中的命令,它用于查看登录尝试失败的信息。这个命令通常在 /usr/bin/usr/local/bin 目录下,并且需要超级用户(root)权限才能执行。

当用户尝试登录系统但密码错误时,这些尝试会被记录下来。lastb 命令会显示最近几次失败的登录尝试列表,包括用户名、登录失败的时间和失败的原因(通常是密码错误)。

使用 lastb 命令的基本语法如下:

bash 复制代码
lastb [options] [username]

其中,options 可以是用来调整 lastb 输出的各种参数,而 username 是一个特定的用户名,如果指定,lastb 将只显示该用户的失败登录尝试。

例如,要查看所有用户的失败登录尝试,可以使用:

bash 复制代码
lastb

要查看特定用户的失败登录尝试,可以使用:

bash 复制代码
lastb username

请注意,由于 lastb 显示的是敏感信息,因此在某些系统上,这个命令可能被禁止或者只有特定用户(如 root)才能使用。此外,为了确保系统的安全性,应该定期检查失败登录尝试的记录,以便及时发现并采取措施应对潜在的安全威胁。

相关推荐
跃渊Yuey14 小时前
【Linux】线程同步与互斥
linux·笔记
杨江14 小时前
seafile docker安装说明
运维
舰长11514 小时前
linux 实现文件共享的实现方式比较
linux·服务器·网络
好好沉淀14 小时前
Docker开发笔记(详解)
运维·docker·容器
zmjjdank1ng14 小时前
Linux 输出重定向
linux·运维
路由侠内网穿透.14 小时前
本地部署智能家居集成解决方案 ESPHome 并实现外部访问( Linux 版本)
linux·运维·服务器·网络协议·智能家居
树℡独14 小时前
ns-3仿真之应用层(三)
运维·服务器·ns3
VekiSon15 小时前
Linux内核驱动——基础概念与开发环境搭建
linux·运维·服务器·c语言·arm开发
zl_dfq15 小时前
Linux 之 【进程信号】(signal、kill、raise、abort、alarm、Core Dump核心转储机制)
linux
Ankie Wan15 小时前
cgroup(Control Group)是 Linux 内核提供的一种机制,用来“控制、限制、隔离、统计”进程对系统资源的使用。
linux·容器·cgroup·lxc