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
命令的基本用法:
-
查找并显示匹配的行:
sed 's/pattern/replacement/g' file
这里的
s
代表替换操作,pattern
是你要查找的文本模式,replacement
是用来替换的模式,g
表示全局替换,即替换所有匹配的行。 -
打印第3行到第5行:
sed '3,5p' file
这里的
3,5p
表示打印文件中第3行到第5行。 -
删除第3行到第5行:
sed '3,5d' file
d
选项表示删除匹配的行。 -
在每一行前添加文本:
sed 's/^/text/' file
这里的
^
表示行的开始,text
是要添加的文本。 -
在每一行后添加文本:
sed 's/$/text/' file
这里的
$
表示行的结束,text
是要添加的文本。 -
替换文件中的文本:
sed -i 's/pattern/replacement/g' file
-i
选项用于直接修改文件内容,而不是在终端输出结果。 -
使用正则表达式:
sed -E 's/pattern/replacement/g' file
使用
-E
选项可以启用扩展的正则表达式。 -
逐行应用命令:
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
命令的示例:
-
移动文件:
bashmv file1.txt /home/user/documents/
这个命令将
file1.txt
文件移动到/home/user/documents/
目录中。 -
重命名文件:
bashmv file1.txt file2.txt
这个命令将
file1.txt
重命名为file2.txt
。 -
移动文件并在覆盖前确认:
bashmv -i file1.txt /home/user/documents/
如果
/home/user/documents/
目录中已经有一个名为file1.txt
的文件,这个命令会在覆盖之前询问用户。 -
移动多个文件:
bashmv file1.txt file2.txt file3.txt /home/user/documents/
这个命令将多个文件一次性移动到目标目录。
-
移动文件并保持文件时间戳不变:
bashmv -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
命令的示例:
-
删除文件:
bashrm file1.txt
这个命令将删除名为
file1.txt
的文件。 -
递归删除目录及其内容:
bashrm -r /home/user/documents/old_files/
这个命令将递归删除
/home/user/documents/old_files/
目录及其下的所有文件和子目录。 -
强制删除文件,没有确认提示:
bashrm -f file1.txt
这个命令将强制删除
file1.txt
文件,不会有任何确认提示。 -
删除目录前提示确认:
bashrm -i /home/user/documents/old_files/
如果
/home/user/documents/old_files/
目录不是空的,这个命令会在删除之前提示用户确认。 -
删除空目录:
bashrm -d /home/user/documents/empty_dir/
这个命令将删除一个名为
empty_dir
的空目录。 -
删除文件并保留备份:
bashrm -p file1.txt file2.txt
这个命令将删除
file1.txt
和file2.txt
文件,但会保留它们的备份。
需要注意的是,rm
命令是一个非常强大的命令,使用时需要非常小心。一旦文件被删除,如果没有备份,那么数据可能就无法恢复。因此,在执行删除操作之前,一定要确认文件路径是否正确,以及是否真的需要删除这些文件。此外,使用rm
命令时,建议使用-v
选项来查看删除过程中的详细信息,以便及时发现任何可能的错误。
5. rpm -qa openssh*
使用 rpm -qa openssh*
命令可以查询系统中所有已安装的与 OpenSSH 相关的 RPM 包。这个命令会列出所有匹配 openssh*
模式的包名称和版本信息。
在 CentOS 或类似的 Red Hat 系统中,OpenSSH 相关的包通常包括 openssh-server
、openssh-clients
、openssh-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
命令及其用途:
rpm -qa
:查询系统中安装的所有 RPM 包。rpm -qi <包名>
:查询特定 RPM 包的详细信息。rpm -ql <包名>
:列出特定 RPM 包安装的所有文件。rpm -qc <包名>
:查看特定 RPM 包的配置文件。rpm -e <包名>
:卸载特定 RPM 包。rpm -ivh <包名>
:安装并显示详细安装进度。rpm -Uvh <包名>
:升级 RPM 包。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:
- 更新软件包列表 :首先,APT 会使用
sudo apt update
命令来更新本地存储的软件包列表,以确保所有可用软件包的信息都是最新的。 - 下载并安装 Vim:接着,APT 会下载 Vim 的软件包并安装到系统中。这通常涉及到解压缩软件包文件,并将必要的文件复制到系统的适当位置。
- 配置 Vim :在安装过程中,APT 还会配置 Vim,比如设置默认的快捷键和行为等。
如果在安装 Vim 时遇到问题,比如网络连接问题、软件源问题或是依赖关系问题,APT 可能会显示错误信息。在这种情况下,可以尝试以下几个步骤来解决问题:
- 检查网络连接:确保你的系统可以访问 Ubuntu 的软件仓库。
- 修复软件源 :如果软件源配置不正确,可能导致无法安装软件。可以使用
sudo vim /etc/apt/sources.list
修改软件源配置文件,或者运行sudo apt-get update
来更新软件源。 - 安装依赖 :如果缺少必要的依赖,APT 可能无法安装 Vim。可以使用
sudo apt-get install --fix-broken
或sudo 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)才能使用。此外,为了确保系统的安全性,应该定期检查失败登录尝试的记录,以便及时发现并采取措施应对潜在的安全威胁。