Linux命令行

1.shell是什么

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的归档文件,并将指定的文件file1、file2等添加到归档中。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中只提取指定的文件file1、file2等。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
useradd 和 adduser 都是在 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
userdel 和 deluser 都是在 Linux 系统中用于删除用户账户的命令,它们在功能上是相似的,但是存在一些区别。
userdel:userdel是一个较低级别的命令,用于直接从系统中删除用户账户。- 在删除用户账户时,
userdel只会删除账户本身,并不会删除与用户相关的其他文件和目录,如用户的主目录和邮箱等。 - 默认情况下,
userdel不会提供交互式界面和提示,直接删除用户账户。
deluser:deluser是对userdel的包装和提供更高级功能的前端工具。deluser在删除用户账户时会附加执行一些操作,如删除用户目录、邮箱和相关配置文件等。deluser提供一个交互式界面,提供更多选择和提示,例如删除用户的邮件、备份和其他文件。
总结来说,userdel 是一个较原始和简单的命令,只负责删除用户账户本身。而 deluser 则是一个更高级和方便的工具,提供了更多的选项和交互式界面,方便用户进行更全面的用户删除操作。根据需求可以选择使用适合的命令。
- 点赞
- 收藏
- 关注作者
评论(0)