text processing
1. cat:连接文件并打印到标准输出cat (concatenate) 命令是最基本也是最常用的文本命令之一。它主要用于显示文件内容,但其核心功能是连接(concatenate)文件流。 核心功能: cat 读取一个或多个文件,然后将其内容按顺序输出到标准输出(通常是你的终端)。 基本用法: cat <文件>: 显示单个文件的内容。 示例: cat /etc/passwd cat <文件1> <文件2>: 连接两个或多个文件的内容并显示。 示例: cat file1.txt file2.txt cat > <文件>: 创建一个新文件并向其中写入内容。你输入的所有内容都会被重定向到文件中,直到你按下 Ctrl+D(表示文件结束)。 示例: cat > new_file.txt (输入内容,然后按 Ctrl+D) cat >> <文件>: 将内容追加到一个现有文件。 示例: cat >> existing_file.txt (输入内容,然后按...
user and group management
Linux user and group management commands:User Management Commands useradd – Add a new user adduser – Add a new user (more user-friendly wrapper for useradd) usermod – Modify an existing user userdel – Delete a user passwd – Set or change user password chage – Manage user password expiry information id – Show user ID (UID), group ID (GID), and groups whoami – Display the current username 1. useradd:添加新用户useradd 命令用于在 Linux...
File and Directory Operations
ls 命令是 Linux 中最常用的命令之一,用于列出目录内容。它有很多选项可以修改其行为,以显示不同格式和详细程度的信息。 以下是一些最常用和最有用的 ls 命令选项: 常用 ls 选项 **ls**:不带任何选项,列出当前目录下的非隐藏文件和目录。 -l (long format):以长格式显示详细信息,包括文件权限、硬链接数量、所有者、组、文件大小、最后修改时间以及文件名。这是最常用的选项之一。 -a (all):显示所有文件,包括隐藏文件(以 . 开头的文件和目录)。 -h (human-readable):与 -l 结合使用时,以人类可读的格式显示文件大小(例如,1K、234M、2G),而不是字节。 -R (recursive):递归列出目录内容,包括所有子目录。 **-t**:按修改时间排序,最新修改的文件或目录会显示在前面。 -r (reverse):反转排序顺序。通常与 -t 或其他排序选项结合使用,例如 ls -ltr 会按修改时间逆序(最旧的在前)显示长格式列表。 **-S**:按文件大小排序,最大的文件或目录显示在前面。 -i...
curl wget及其它常用工具
curl 以其广泛的协议支持和灵活的控制能力而著称,而 wget 则因其非交互式、稳定可靠的下载能力和递归功能而广受欢迎。它们是文件下载、API 交互、网站镜像等任务中不可或缺的命令行工具。 工具 用途简述 特点概括 curl 万能 HTTP 请求构造工具 支持 GET/POST/PUT/DELETE 等 wget 下载文件利器(支持递归、断点) 易用、稳定、支持多协议 httpie 更易读的 API 请求构造工具 json友好,语法直观 scp SSH 安全文件复制 简洁、需 SSH 连接 rsync 增量同步工具 快速、节省带宽 aria2 多协议多线程下载器 BT、磁链、HTTP 多线程支持 curl 是一个非常强大且灵活的工具,支持多种网络协议,包括 HTTP、HTTPS、FTP、FTPS、SCP、SFTP、TFTP、SMB、DICT、TELNET 等。它不仅可以下载文件,还可以上传文件、与 API 交互(发送 GET、POST、PUT、DELETE 请求)、处理 Cookie、支持代理等。 1. ...
sed
sed(Stream Editor)是一个流编辑器,它以逐行方式处理输入流(通常是文本文件),并根据指定的编辑命令进行相应的操作。 sed 的工作原理 逐行处理输入流: sed 逐行读取输入流,并对每一行应用相应的编辑命令。输入流可以是文件、管道输出等。 模式匹配: sed 使用模式来匹配文本中的特定部分。用户可以使用正则表达式或简单的字符串来定义匹配模式。 编辑命令: sed 使用编辑命令来对匹配到的文本进行操作。编辑命令可以是替换命令、删除命令、插入命令等,以及一些控制流程的命令。 应用编辑命令: 一旦匹配到了指定的文本,sed 就会根据相应的编辑命令执行相应的操作。这些操作可以是替换匹配文本、删除匹配行、插入新文本等。 输出结果: sed 在处理完所有输入流后,将结果输出到标准输出(通常是终端),或者通过 -i 参数直接在原文件上进行修改。 sed空间在 sed 中,有两个特殊的空间:模式空间(pattern space)和保留空间(hold space)。这些空间允许在处理文本时存储和操作数据。 模式空间(pattern space): 模式空间是 sed...
sudo
sudo 命令详解与实践sudo (superuser do 的缩写) 是 Linux 和类 Unix 系统中一个至关重要的命令。它允许授权用户以其他用户(通常是超级用户 root)的身份执行命令,从而在多用户环境中提供细粒度的权限控制,而无需直接共享 root 密码。 sudo 本质上是一个权限管理工具,它通过 /etc/sudoers 这个配置文件来管理权限。 当你执行 sudo <command> 时,sudo 会进行以下检查: 用户认证: 询问你当前用户的密码,以确认你是本人。这个密码不是 root 密码,而是你自己的用户密码。 配置文件检查: 检查 /etc/sudoers 文件,确认你当前的用户是否被允许在当前主机上以特定身份(如 root)执行 <command>。 命令执行: 如果所有检查都通过,sudo 会执行该命令。 sudo 会记录每次执行的命令,这对于审计和安全追踪非常有帮助。 2. sudo 的基本用法在终端中,当一个命令需要 root 权限时,在其前面加上 sudo。系统会提示你输入当前用户的密码。 12sudo apt...
Linux中的特殊权限和文件属性
Linux 中的特殊权限和文件属性管理,包括传统的特殊权限位、ACL (Access Control Lists) 以及更底层的文件属性(chattr 和 lsattr)。这些功能提供了比基本 ugo/rwx 权限更细粒度的文件访问控制。 1. 特殊权限位 (SUID, SGID, Sticky Bit)除了我们熟知的用户 (User)、组 (Group) 和其他 (Others) 的读 (Read)、写 (Write)、执行 (Execute) 权限 (rwx),Linux 文件系统还提供三种特殊的权限位,它们有独特的作用: 1.1 SUID (Set User ID) 符号表示: s 位于所有者执行位 (u+x) 的位置。 数字表示: 八进制权限的最高位,例如 4755。 作用: 当一个可执行文件设置了 SUID 位后,任何用户执行该文件时,其进程的有效用户 ID 会暂时变为该文件的所有者 ID。 典型应用: passwd 命令:该命令通常属于 root 用户,并设置了 SUID 位。普通用户执行 passwd 时,进程会暂时拥有 root 权限,从而能够修改...
linux重学
一 、学习阶段在学习 CentOS Linux 或任何其他 Linux 发行版时,可以将学习划分为以下几个阶段,这些阶段按照逐渐增加的复杂性和深度,帮助你建立坚实的 Linux 技能: 入门阶段: 熟悉基本的 Linux 概念和术语,如文件系统、进程、权限等。 学习基本的命令行操作,如文件和目录操作、文件查看、编辑、权限设置等。 掌握基本的系统操作,如登录、关机、重启等。 系统管理阶段: 学习用户管理,包括添加、删除、修改用户账户,以及用户组管理。 掌握文件系统管理,包括文件和目录权限、文件系统挂载、磁盘管理等。 熟悉软件包管理,使用包管理工具(如 yum 或 dnf)安装、更新、删除软件包。 网络管理阶段: 学习网络配置,包括设置静态 IP 地址、配置网络接口、管理网络服务等。 掌握防火墙配置和管理,如使用 firewalld 管理防火墙规则。 理解网络诊断工具的使用,如 ping、traceroute、netstat 等。 安全性管理阶段: 学习身份验证和授权,如密码管理、sudo...
bash shell
第一部分:基础1. Bash 简介1.1 Shell 是什么Shell 是计算机操作系统中的一种用户界面,它为用户提供了与操作系统内核进行交互的方式。通过 Shell,用户可以执行命令、运行程序、管理文件系统等。Shell 是一个解释性的编程语言,它接受用户输入的命令,并将其转换为操作系统可以理解的指令。 1.2 为什么使用 Shell? 命令行的强大性: Shell 提供了强大的命令行接口,使得用户可以通过简短的命令完成复杂的任务。 脚本编程: 使用 Shell 脚本,用户可以编写一系列的命令,形成可重复执行的脚本,实现自动化和批量处理。 系统管理: 系统管理员和开发人员常常使用 Shell 来管理和配置操作系统,执行系统维护任务。 灵活性和定制性: Shell 具有高度的灵活性,用户可以根据需要定制环境,创建别名,以及编写自定义函数。 1.3 Bash 是什么 Bourne Shell: Bash(Bourne Again SHell)是 Bourne Shell 的一个扩展。Bourne Shell 是由 Stephen Bourne 开发的原始 Unix...
openssl
加密 签名和SSL握手机制细节 对称加密:加密解密使用同一密钥,加解密速度快。 非对称加密:使用公钥配对加解密,速度慢。公钥从私钥中提取出来,一般拿对方公钥加密来保证数据安全性,拿自己的私钥加密来证明数据来源的身份。 单向加密 :不算是加密,也常称为散列运算,用于生成独一无二的校验码(或称指纹、特征码)来保证数据的完整性和一致性,如MD5、SHA。具有雪崩效应,任何一点数据的改变,生成的校验码值变化很大。 互联网数据安全可靠的条件: 数据来源可信,即数据发送者身份可信。 数据具备完整性,即数据未被修改过。 数据安全性,即数据不会被泄露,他们截获后无法解密。 对数据加密的方法有三种:对称加密、私钥加密和公钥加密。三种方法只靠其中一种都有不可容忍的缺点,因此考虑将它们结合使用。 ….. Openssl命令格式:openssl command [ comand_opts] [ comand_args ] Standard commandsasn1parse ca ciphers cmscrl ...