Linux命令行

2023年 9月 26日 65.6k 0

1.shell是什么

2023-09-15T11:29:49.png

Shell(壳)是一种用于与操作系统进行交互的用户界面。它是一个命令行解释器,允许用户输入命令并与计算机的操作系统进行通信。Shell 解释用户输入的命令并且执行它们,然后将结果返回给用户。

在 Linux 和 Unix 系统中,常见的 Shell 包括:

  • Bash(Bourne Again Shell):Bash 是最常用的 Shell,它是 Bash Shell 的一种扩展和改进版本,几乎在所有的 Linux 系统中都可用。

  • Sh(Bourne Shell):Bourne Shell 是早期版本的 Unix Shell,它是许多其他 Shell 的基础。

  • Csh(C Shell):C Shell 是一种与 C 语言语法类似的 Shell,它添加了许多新特性,如命令历史记录和命令行编辑功能。

  • Ksh(Korn Shell):Korn Shell 是一种强大的 Shell,结合了 Csh 和 Sh 的特性,并引入了更多的功能和命令。

  • 不仅仅是命令行解释器,Shell 还允许用户编写脚本,以便自动化和批处理命令和任务。通过编写 Shell 脚本,用户可以组合多个命令,并使用条件语句、循环和变量等功能实现复杂的操作和自动化任务。

    Shell 在操作系统管理、软件开发、系统维护和日常使用中起着重要的作用,它是与计算机交互和控制的基本工具之一。在 Linux 系统中,默认使用的 Shell 大多数情况下是 Bash。

    1.对外接收用户输入命令
    2.对内通过系统调用传递给内核运行
    3.呈现内核运行结果

    2.常用shell命令

    以下是整理成表格的常用30个 Shell 命令:

    命令 描述
    ls 列出目录中的文件和子目录
    cd 切换当前工作目录
    pwd 显示当前工作目录的路径
    mkdir 创建新目录
    rm 删除文件或目录
    cp 复制文件或目录
    mv 移动或重命名文件或目录
    touch 创建空文件或更改文件的时间戳
    cat 显示文件内容
    grep 在文件中搜索指定的模式
    head 显示文件的开头部分
    tail 显示文件的末尾部分
    chmod 更改文件或目录的权限
    chown 更改文件或目录的所有者
    chgrp 更改文件或目录的所属组
    echo 在终端上打印文本或变量
    man 显示命令的帮助文档
    wc 统计文件中的行数、字数和字节数
    sort 对文件进行排序
    find 在文件系统中按指定条件查找文件
    tar 创建归档文件或解压缩归档文件
    gzip 压缩文件
    gunzip 解压缩文件
    ssh 通过 SSH 协议远程登录到另一台计算机
    scp 在本地计算机与远程计算机之间安全地传输文件
    wget 从网络上下载文件
    diff 比较两个文件的差异
    sed 根据指定的规则编辑文件
    awk 处理文本文件的工具
    ps 显示当前运行的进程

    这个表格包含了常用的 Shell 命令,涵盖了文件操作、文本处理、系统管理和网络连接等方面的功能。每个命令都有一些可选参数和用法,你可以使用命令的帮助文档(使用 man 命令)来了解更多信息和使用示例。

    tar

    tar 命令是一个用于创建、查看和提取归档文件的常用命令。它在 Linux 和 Unix 系统中广泛使用。以下是一些常见的 tar 命令选项:

  • 创建归档文件:

    • tar -cf archive.tar file1 file2 ...:创建一个名为 archive.tar 的归档文件,并将指定的文件 file1file2 等添加到归档中。
    • tar -czf archive.tar.gz file1 file2 ...:创建一个经过 gzip 压缩的归档文件 archive.tar.gz,并将指定的文件添加到归档中。
    • tar -cjf archive.tar.bz2 file1 file2 ...:创建一个经过 bzip2 压缩的归档文件 archive.tar.bz2,并将指定的文件添加到归档中。
  • 查看归档文件内容:

    • tar -tf archive.tar:列出归档文件 archive.tar 中包含的文件列表。
    • tar -tzf archive.tar.gz:列出经过 gzip 压缩的归档文件 archive.tar.gz 中包含的文件列表。
    • tar -tjf archive.tar.bz2:列出经过 bzip2 压缩的归档文件 archive.tar.bz2 中包含的文件列表。
  • 提取归档文件内容:

    • tar -xf archive.tar:从归档文件 archive.tar 中提取所有文件。
    • tar -xzf archive.tar.gz:从经过 gzip 压缩的归档文件 archive.tar.gz 中提取所有文件。
    • tar -xjf archive.tar.bz2:从经过 bzip2 压缩的归档文件 archive.tar.bz2 中提取所有文件。
  • 提取部分归档文件内容:

    • tar -xf archive.tar file1 file2 ...:从归档文件 archive.tar 中只提取指定的文件 file1file2 等。
    • tar -xzf archive.tar.gz file1 file2 ...:从经过 gzip 压缩的归档文件 archive.tar.gz 中只提取指定的文件。
    • tar -xjf archive.tar.bz2 file1 file2 ...:从经过 bzip2 压缩的归档文件 archive.tar.bz2 中只提取指定的文件。
  • tar 命令还有更多选项,用于处理权限、日期等归档信息,以及其他高级功能。你可以使用 man tar 命令查看 tar 命令的完整手册页,以获取更详细的信息和使用示例。

    adduser和useradd

    useraddadduser 都是在 Linux 系统中用于创建用户账户的命令,但它们有一些区别。

  • useradd

    • useradd 是一个较低级别的命令,直接在系统中创建用户账户。
    • 它执行最基本的用户创建操作,仅在系统中创建用户账户,不涉及其他配置,如默认配置文件、环境设置等。
    • 通常需要手动进行用户的后续配置,如设置初始密码、添加用户到用户组、创建相关目录等。
  • adduser

    • adduser 是对 useradd 的包装和提供更高级功能的前端工具。
    • 它在系统中创建用户账户的同时,还会进行一些附加操作,如配置用户的默认环境、创建相关目录、设置初始密码等。
    • adduser 提供一个简单的交互式界面,可以提示你输入更多的用户信息,如全名、电话号码等。
  • 总结起来,useradd 是一个更原始的命令,只负责最基本的用户创建操作,而 adduser 则提供了更友好的界面和额外的配置选项,方便用户创建账户的同时进行一些相关设置。如果你只需要简单地创建用户账户,可以使用 useradd。如果你希望更方便地进行用户创建和配置,可以使用 adduser

    usermod

    usermod 是一个在 Linux 系统中用于修改用户账户属性的命令。它可以用来修改用户的各种属性,例如用户名、用户ID、用户组、账户密码、Shell、主目录等。以下是一些常见的 usermod 命令选项:

  • 修改用户名:

    • usermod -l new_username old_username:将用户账户的用户名修改为 new_username
  • 修改用户ID和组ID:

    • usermod -u new_uid username:将用户账户的用户ID修改为 new_uid
    • usermod -g new_group username:将用户账户的主组ID修改为 new_group
    • usermod -G additional_groups username:将用户账户的附加组ID修改为 additional_groups
  • 修改用户组:

    • usermod -a -G additional_groups username:将用户账户添加到 additional_groups 定义的附加组中。
  • 修改账户密码:

    • usermod -p new_password username:将用户账户的密码修改为经过加密的 new_password
  • 修改Shell:

    • usermod -s new_shell username:将用户账户的默认Shell修改为 new_shell
  • 修改主目录:

    • usermod -d new_home_dir username:将用户账户的主目录修改为 new_home_dir
  • 还有其他可选项供你修改用户账户的不同属性。你可以使用 man usermod 命令查看 usermod 命令的完整手册页,以获取更详细的信息和使用示例。

    passwd

    passwd 命令是在 Linux 和 Unix 系统中用于更改用户密码的命令。它允许用户更改自己的密码或者超级用户(root)更改其他用户的密码。以下是一些常见的 passwd 命令选项:

  • 更改当前用户密码:

    • passwd:在命令行中输入 passwd,然后按照提示输入当前用户的旧密码和新密码。
  • 更改其他用户密码(需要超级用户权限):

    • sudo passwd username:以超级用户身份更改指定用户 username 的密码。
    • 使用此命令需要输入超级用户密码进行身份验证。
  • 请注意,使用 passwd 命令更改密码时,密码通常需要符合系统密码策略的要求。密码策略可能要求密码长度、包含字母、数字和特殊字符等。根据系统的配置,你可能需要满足这些要求才能成功更改密码。

    使用 man passwd 命令可以查看 passwd 命令的完整手册页,其中包含更详细的信息和其他选项的说明。

    deluser和deluser

    userdeldeluser 都是在 Linux 系统中用于删除用户账户的命令,它们在功能上是相似的,但是存在一些区别。

  • userdel

    • userdel 是一个较低级别的命令,用于直接从系统中删除用户账户。
    • 在删除用户账户时,userdel 只会删除账户本身,并不会删除与用户相关的其他文件和目录,如用户的主目录和邮箱等。
    • 默认情况下,userdel 不会提供交互式界面和提示,直接删除用户账户。
  • deluser

    • deluser 是对 userdel 的包装和提供更高级功能的前端工具。
    • deluser 在删除用户账户时会附加执行一些操作,如删除用户目录、邮箱和相关配置文件等。
    • deluser 提供一个交互式界面,提供更多选择和提示,例如删除用户的邮件、备份和其他文件。
  • 总结来说,userdel 是一个较原始和简单的命令,只负责删除用户账户本身。而 deluser 则是一个更高级和方便的工具,提供了更多的选项和交互式界面,方便用户进行更全面的用户删除操作。根据需求可以选择使用适合的命令。

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论