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操作系统中用于移动文件或目录,或重命名文件和目录的命令。它的基本语法如下:

mv [options] source destination

其中:

  • source 是要移动或重命名的文件或目录的路径。
  • destination 是目标路径,可以是目录的路径或新的文件名。
  • options 是一些可选的参数,用于控制mv命令的行为。
    一些常用的mv命令选项包括:
  • -i:在覆盖文件之前提示用户确认。
  • -n:不覆盖已经存在的目标文件。
  • -v:显示详细的操作信息。
  • -f:强制移动或重命名,不会有任何提示。
  • -u:在移动文件之前,更新目标文件的时间戳(如果目标文件已经存在)。
  • -t:指定一个临时目录,用于在移动过程中暂存文件。
    以下是一些mv命令的示例:
  1. 移动文件:
    mv file1.txt /home/user/documents/
    
    这个命令将file1.txt文件移动到/home/user/documents/目录中。
  2. 重命名文件:
    mv file1.txt file2.txt
    
    这个命令将file1.txt重命名为file2.txt
  3. 移动文件并在覆盖前确认:
    mv -i file1.txt /home/user/documents/
    
    如果/home/user/documents/目录中已经有一个名为file1.txt的文件,这个命令会在覆盖之前询问用户。
  4. 移动多个文件:
    mv file1.txt file2.txt file3.txt /home/user/documents/
    
    这个命令将多个文件一次性移动到目标目录。
  5. 移动文件并保持文件时间戳不变:
    mv -u file1.txt /home/user/documents/
    
    这个命令在移动文件的同时,会保持文件的时间戳不变。
    mv命令是一个非常有用的命令,特别是在管理文件和目录时。需要注意的是,使用mv命令时要小心,特别是当目标路径已经存在文件时,不加仔细确认就使用-f选项可能会导致数据丢失。

4. rm

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

rm [options] file_or_directory

其中:

  • file_or_directory 是要删除的文件或目录的路径。
  • options 是一些可选的参数,用于控制rm命令的行为。
    一些常用的rm命令选项包括:
  • -r-R:递归删除目录及其下的所有文件和子目录。
  • -f:强制删除文件,不会有任何提示。
  • -v:显示详细的操作信息。
  • -i:在删除文件之前提示用户确认。
  • -d:删除空目录。
  • -c:在删除每个文件之前都确认。
  • -p:在删除文件前保留其备份。
    以下是一些rm命令的示例:
  1. 删除文件:
    rm file1.txt
    
    这个命令将删除名为file1.txt的文件。
  2. 递归删除目录及其内容:
    rm -r /home/user/documents/old_files/
    
    这个命令将递归删除/home/user/documents/old_files/目录及其下的所有文件和子目录。
  3. 强制删除文件,没有确认提示:
    rm -f file1.txt
    
    这个命令将强制删除file1.txt文件,不会有任何确认提示。
  4. 删除目录前提示确认:
    rm -i /home/user/documents/old_files/
    
    如果/home/user/documents/old_files/目录不是空的,这个命令会在删除之前提示用户确认。
  5. 删除空目录:
    rm -d /home/user/documents/empty_dir/
    
    这个命令将删除一个名为empty_dir的空目录。
  6. 删除文件并保留备份:
    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 命令的基本语法如下:

lastb [options] [username]

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

lastb

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

lastb username

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

你可能感兴趣的:(linux,运维,服务器)