Intern LM-入门岛-LESSON1-LINUX基础知识

avatar
作者
猴君
阅读量:0

Intern LM-入门岛-LESSON1-LINUX基础知识

1.基础知识

  • 当我们连接上开发机以后,可以使用hostname查看开发机名称,使用uname -a查看开发机内核信息,使用lsb_release -a查看开发机版本信息,使用nvidia-smi查看GPU的信息,这些命令我们后面都会讲到,如果想要退出远程连接,输入两次exit就可以了。

  • ssh-keygen支持RSA和DSA两种认证密钥。

    常用参数包括:

    • -t:指定密钥类型,如dsa、ecdsa、ed25519、rsa。
    • -b:指定密钥长度。
    • -C:添加注释。
    • -f:指定保存密钥的文件名。
    • -i:读取未加密的ssh-v2兼容的私钥/公钥文件。

    这里我们使用RSA算法生成密钥,命令为:

    ssh-keygen -t rsa 

    输入命令后一路回车就可以了,这里的密钥默认情况下是生成在~/.ssh/目录下的,~表示的是家目录,如果是windows就是C:\Users\{your_username}\。在powerShell中可以使用Get-Content命令查看生成的密钥,如果是linux操作系统可以使用cat命令。

  • Linux基础知识

    1. 创建文件:touch

    2. 创建目录:mkdir

    3. 显示所在目录:pwd

    4. 目录切换:cd

      • linux操作系统中/表示根目录;.表示的是当前目录,..表示的上级目录。
    5. 编辑文件:vim:有命令模式、末行模式、编辑模式三种

      • 命令模式下
        • 删除一行:dd
        • 复制一行: yy
        • 粘贴:p
        • 到行首:g
        • 到行尾:G
        • 不保存退出:zz
      • 末行模式:
        • 保存退出::wq
        • 不保存退出::q!
        • 保存::w
        • 查找:/
    6. 复制文件:cp

      • 复制文件:cp 源文件 目标文件
      • 复制目录:cp -r 源目录 目标目录
    7. 软链接(symbolic link):ln:产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。

      ln [参数][源文件或目录][目标文件或目录]

      参数如下:

      • -s:创建软链接(符号链接)也是最常用的;
      • -f:强制执行,覆盖已存在的目标文件;
      • -i:交互模式,文件存在则提示用户是否覆盖;
      • -n:把符号链接视为一般目录;
      • -v:显示详细的处理过程。
    8. mv 命令:用来移动文件或者目录的,同时还可以进行重命名

    常用参数:

    • -i:交互模式,覆盖前询问。
    • -f:强制覆盖。
    • -u:只在源文件比目标文件新时才进行移动。

    使用示例:

    • mv file1.txt dir1/:将文件 file1.txt 移动到目录 dir1 中。
    • mv file1.txt file2.txt:将文件 file1.txt 重命名为 file2.txt
    1. rm命令:用来删除文件或者目录

      常用参数:

      • -i:交互模式,删除前询问。
      • -f:强制删除,忽略不存在的文件,不提示确认。
      • -r:递归删除目录及其内容。

      使用示例:

      • rm file.txt:删除文件 file.txt
      • rm -r dir1/:递归删除目录 dir1 及其所有内容。
    2. 查找文件:find

      • 按文件名查找:使用-name选项按照文件名查找文件。例如,find /path/to/directory -name "file.txt"将在指定目录及其子目录中查找名为file.txt的文件。
      • 按文件类型查找:使用-type选项按照文件类型查找文件。例如,find /path/to/directory -type f将查找指定目录及其子目录中的所有普通文件。
      • 按文件大小查找:使用-size选项按照文件大小查找文件。例如,find /path/to/directory -size +100M将查找指定目录及其子目录中大于100MB的文件。
      • 按修改时间查找:使用-mtime-atime-ctime选项按照文件的修改时间、访问时间或状态更改时间查找文件。例如,find /path/to/directory -mtime -7将查找指定目录及其子目录中在7天内修改过的文件。
      • 按文件权限查找:使用-perm选项按照文件权限查找文件。例如,find /path/to/directory -perm 755将查找指定目录及其子目录中权限为755的文件。
      • 按用户或组查找:使用-user-group选项按照文件的所有者或所属组查找文件。例如,find /path/to/directory -user username将查找指定目录及其子目录中属于用户username的文件。
      • 执行操作:使用-exec选项可以对找到的文件执行相应的操作。例如,find /path/to/directory -name "*.txt" -exec rm {} \;将删除找到的所有以.txt结尾的文件。
    3. ls:ls命令可以用来列出目录的内容以及详细信息

      常用参数及使用方法如下:

      • -a:显示所有文件和目录,包括隐藏文件(以.开头的文件或目录)。
      • -l:以长格式显示详细信息,包括文件权限、所有者、大小、修改时间等。
      • -h:与-l结合使用,以人类可读的方式显示文件大小(如KMG等)。
      • -R:递归列出子目录的内容。
      • -t:按文件修改时间排序显示。

2.任务

1. 配置SSH转发端口运行hello_world.py

  • 由于之前参加过第二期的InternLM,配置过SSH连接,在此不再赘述,我在本地vscode进行了端口设置,如下图所示。

    在这里插入图片描述

  • 本地窗口如下:

    在这里插入图片描述

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!