1-1.linux相关命令入门

实验环境

实验准备

实验内容

一、环境变量和脚本相关命令

二、文件和目录操作命令

三、文本编辑器命令

四、网络相关命令

五、软件包管理命令

 

实验环境

  1. Ubuntu 18.04 64位

  2. GNU bash 版本 4.4.20

  3. 实验环境SSH的root账号密码默认为root

实验准备

1、点击开始实验按钮,打开当前实验镜像环境 2、进入实验环境后, 点击左上角收缩实验指南 3、点击环境左上角的“三个横线”的标志,如下图。 最后点击“终端”。 4、会在右下方看到打开的终端,可直接在终端中进行操作。

实验内容

一、环境变量和脚本相关命令

1、 export

export 命令用于设置或显示环境变量。 环境变量是一种在 shell 进程中存储信息的方式,被其他进程继承和使用。 基本语法如下:

export [变量名[=值]]

要将名为 “MY_VARIABLE” 的环境变量设置为 “my_value”,只需在终端中键入以下命令:

export MY_VARIABLE=my_value

要显示所有环境变量,可以使用以下命令:

export

这将列出当前 shell 进程中所有已设置的环境变量及其值。 export 命令通常用于设置临时的环境变量,以便在当前 shell 会话或其子进程中使用。

2、 source

source 命令用于在当前 shell 环境中执行指定的脚本文件,以使其中的命令生效。 基本语法如下:

source 文件路径

/etc/profile 文件是系统范围的 shell 配置文件,用于设置全局的环境变量和执行系统级别的配置。这个文件在用户登录时被执行,为所有用户提供通用的环境设置。 如果我们要加载 /etc/profile 文件中的配置,就可以使用 source 命令:

source /etc/profile

这将在当前 shell 中执行 /etc/profile 文件,使其中的环境设置对当前用户立即生效。

二、文件和目录操作命令

1、 ls

ls 命令是一个重要的起点,它用于列出目录中的文件和子目录。 ls 命令的基本语法是:

ls [选项] [目录]
  • 选项:ls 命令支持多种选项,这些选项可以帮助你以不同的方式列出文件和目录。以下是一些常用的选项:

    • -l:以长格式(详细信息)列出文件和目录。

    • -a:显示所有文件和目录,包括以.开头的隐藏文件。

  • 目录:可选参数,用于指定要列出文件和目录的目标目录。如果不指定目录,默认为当前目录。 小练习 (1) 列出当前目录中的所有文件和子目录,使用-l参数以长格式显示。

ls -l /root

(2) 列出/root当前目录中的所有文件和子目录,包括隐藏文件。

ls -a /root

2、 mkdir

mkdir 命令用于创建新目录(文件夹)。基本语法如下:

mkdir [选项] 目录名

参数

  • 目录名:要创建的目录的名称。你需要提供新目录的名称。

小练习: 要创建一个名为 “mydirectory” 的新目录,只需在终端中键入 mkdir 命令,如下所示:

mkdir mydirectory

3、 cd

cd命令用于切换工作目录,允许你进入其他目录。基本语法如下:

cd [目标目录]

参数: 目标目录:可选参数,用于指定你要进入的目标目录。这可以是绝对路径(完整路径)或相对路径(相对于当前工作目录的路径)。 小练习: 要切换到另一个目录,只需在终端中键入 cd 后跟目标目录的名称,如下所示:

cd /root/Desktop

这将进入名为/root/Desktop的目录。如果你要进入当前工作目录的父目录,你可以使用特殊的相对路径 ..,如下所示:

cd ..

这将带你进入当前目录的父目录。

4、 touch

touch 命令是用于创建空文件或更新现有文件的命令。 命令格式:

touch [选项] 文件名

小练习: (1) 创建一个名为 sample.txt 的新文件。

touch sample.txt

5、 echo

echo 命令用于在终端中打印文本或将文本输出到文件。基本语法如下:

echo [选项] [字符串]

要在终端中打印文本 “Hello, World!”,只需键入以下命令:

echo "Hello, World!"

6、 cat

cat是concatenate(连接)的缩写,其主要功能是将文件内容连接起来并显示在终端上。

示例用法: (1) 查看文件内容:最基本的用法是用cat命令来查看文件的内容。例如,cat ~/.bashrc 会在终端上显示 .bashrc 文件的内容。

cat ~/.bashrc

7、 cp

cp 命令用于复制文件或目录。 基本语法

cp [选项] 源文件/目录 目标文件/目录

常用参数

  • -r 或 -R:递归复制目录及其内容。

  • -v:显示详细的复制过程。

小练习: (1) 复制文件:将文件 file.txt 复制到目录 /home/user/documents。

# 创建文件
touch file.txt
# 复制文件到目标目录
cp file.txt /home

(2) 递归复制目录: 创建一个名为 myfolder 的目录,其中包含一些文件和子目录,然后使用 cp -r 命令将其递归复制到 /backup/ 目录。

# 创建源目录和文件
mkdir -p myfolder/subdir
touch myfolder/myfile1.txt
touch myfolder/subdir/myfile2.txt

# 递归复制目录及其内容
cp -r myfolder /home

现在,整个 myfolder 目录及其内容都会被复制到 /home 目录中。

8、 tar

tar 命令主要用于在 Linux 系统中打包和解包文件。它经常与 gzip 结合使用以进行文件压缩。基本语法如下:

tar [选项] 文件或目录

(1) 要压缩名为 “example.tar.gz” 的文件,在终端中键入以下命令:

mkdir ./example
tar -czf ./example.tar.gz ./example

(2) 要解压名为 “example.tar.gz” 的文件,只需在终端中键入以下命令:

tar -zxfv example.tar.gz

其中,-zxvf 是选项,含义如下: -z:使用 gzip 解压缩。 -c:压缩。 -x:解包。 -C:改变解压的目标目录,默认为当前目录。 -v:显示详细信息,即过程中被处理的文件列表。 -f:指定文件名称。

这将解压缩 “example.tar.gz” 文件,并将其中的内容还原到当前工作目录。

三、文本编辑器命令

vim编辑器

模式:

  • 正常模式(Normal Mode): 默认模式,用于导航、复制、粘贴和删除等操作。按 Esc 键进入正常模式。

  • 插入模式(Insert Mode): 用于输入文本。在正常模式下按 i 进入插入模式。

  • 可视模式(Visual Mode): 用于选择文本。在正常模式下按 v 进入可视模式。

  • 命令模式(Command Mode): 用于执行 vim 命令。在正常模式下按 : 进入命令模式。

常用快捷键:

  • 保存文件: 在命令模式下输入 :w,然后按回车键。

  • 退出编辑器: 在命令模式下输入 :q,然后按回车键。如果有未保存的更改,使用 :q! 强制退出。

  • 保存并退出: 在命令模式下输入 :wq,然后按回车键。

  • 剪切: 在可视模式下选择文本,按 d(删除)键。

  • 搜索: 在命令模式下输入 / 进入搜索模式,输入要搜索的文本,按回车键。

这只是 vim 的一些基本概念和快捷键,vim 具有更多高级功能和定制选项。学会使用 vim 可以提高编辑效率,但需要一些时间适应其独特的操作方式。

四、网络相关命令

1、 ip

ip 命令用于显示和操作网络设备、路由、策略路由和隧道等网络信息。 其中,ip addr show 命令用于显示网络接口的配置信息。 基本语法如下:

ip addr show [设备名称]

要查看名为 “eth0” 的网络接口的配置信息,可以使用以下命令:

ip addr show eth0

这将显示 “eth0” 接口的详细配置,包括 IP 地址、子网掩码、广播地址等信息。 如果省略设备名称,将显示系统上所有网络接口的配置信息。

2、 ssh

ssh 命令用于建立安全的远程连接,允许用户在本地和远程系统之间进行安全的数据通信。 基本语法如下:

ssh [选项] 用户名@主机

要通过 SSH 连接到远程主机,例如用户名为 “root”,主机名为 “localhost”,可以使用以下命令:

ssh root@localhost

连接时,ssh 将要求输入密码(如果使用密码身份验证)或使用其他身份验证方法,如 SSH 密钥。 ssh 命令的一些常见选项包括: -p:指定远程 SSH 服务器的端口号。 -i:指定用于身份验证的私钥文件。

3、 scp

scp 命令用于在本地系统和远程系统之间安全地复制文件或目录。 scp 是 Secure Copy Protocol 的缩写,它通过 SSH 协议进行数据传输,确保了数据的安全性。 基本语法如下:

scp [选项] 源路径 目标路径

要将本地文件 “localfile.txt” 通过scp复制到远程主机 “localhost” 的 “/root” 目录中,可以使用以下命令:

# 回到作业目录
cd /rgsoft/Desktop/Study/task
# 创建一个临时传输的文件
touch ./localfile.txt
scp localfile.txt root@localhost:/root/

4、 ssh-keygen

ssh-keygen 命令用于生成 SSH 密钥对,其中包括一对公钥和私钥。这对密钥通常用于身份验证和加密通信,提供了更安全的远程访问方式。 基本语法如下:

ssh-keygen [选项]

此命令将生成一对默认名称的密钥文件,通常为 id_rsa(私钥)和 id_rsa.pub(公钥)。 用户可以选择保存密钥对的文件路径和设置附加选项。 ssh-keygen 常见的选项包括: -b:指定密钥的位数,用于设置密钥的强度。 生成一个 4096 位的密钥,可以使用以下命令:

ssh-keygen -b 4096

生成后,用户可以选择将公钥部分添加到远程主机上的 ~/.ssh/authorized_keys 文件中,以实现无密码 SSH 登录。 注意,在使用ssh-keygen命令生成SSH密钥对时,如果不指定-t选项,那么默认使用的是RSA算法。在大多数情况下,RSA算法的密钥长度为2048位。这是一个安全性和性能之间的良好平衡选择。密钥长度越长,加密强度越高,但同时也会增加计算负担。

5、 ssh-copy-id

ssh-copy-id 命令用于将本地系统上的 SSH 公钥复制到远程主机的 ~/.ssh/authorized_keys 文件中,从而实现无密码 SSH 登录。 基本语法如下:

ssh-copy-id [选项] [user@]hostname

要将本地系统上的 SSH 公钥复制到远程主机 “localhost” 上的用户 “root” 的 ~/.ssh/authorized_keys 文件中,可以使用以下命令:

ssh-copy-id root@localhost

此命令将提示用户输入远程主机的密码,然后将本地系统上的 SSH 公钥添加到远程主机的授权密钥文件中。之后,用户就可以通过 SSH 无密码登录到远程主机。

五、软件包管理命令

1、 apt (Advanced Package Tool)

apt 命令是 Debian 系统中用于管理软件包的高级工具,它可以轻松地安装、更新、卸载和管理软件包,同时自动处理依赖关系。 基本语法如下:

apt [选项] 命令 [软件包名]

apt命令的一些常见操作:

  • install:安装软件包。

  • remove:卸载软件包。

  • update:更新本地软件包列表。

  • upgrade:升级已安装的软件包。

  • search:搜索可用的软件包。

  • show:显示软件包的详细信息。

要在系统上安装名为 “mysql-server” 的软件包,可以使用以下命令:

apt update
apt install apache2

此命令将会自动下载并安装指定的软件包,同时处理可能存在的依赖关系。 apt 提供了一个更友好、更高级的软件包管理接口,比直接使用 dpkg 更方便。它会自动解决依赖关系,确保软件包的安装和升级是顺利的。

© 版权声明
THE END
喜欢就支持一下吧
点赞219赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

夸夸
夸夸
还有吗!没看够!
取消
昵称表情代码图片

    暂无评论内容