明明白白Linux之基础教程
Linux基础教程
1、Linux的介绍
Linux是一个自由和开放源代码的操作系统内核,广泛应用于各种计算设备和系统中。它起源于Finland的Linus Torvalds在1991年开始开发,并迅速发展成为一个强大和可靠的操作系统。
以下是特点和重要组成部分:
-
开放源代码:Linux是基于开放源代码的操作系统,这意味着其源代码对用户开放,并且可以根据需要进行修改和定制。这使得用户可以自由地使用、学习、修改和分发Linux系统。
-
多用户和多任务:Linux支持多用户和多任务的环境。多个用户可以同时登录并在同一台计算机上运行多个程序,而不会相互干扰。
-
分布式开发模型:Linux的开发是一个分布式的模型,全球范围的开发者社区共同贡献和改进Linux内核和相关软件。这使得Linux能够受益于众多开发者的经验和专业知识。
-
强大的稳定性和安全性:Linux以其出色的稳定性和安全性而闻名。由于其设计的优秀性和开放源代码的审查,Linux系统往往较少受到恶意软件和安全漏洞的影响。
-
模块化和可定制性:Linux的内核和软件是模块化的,用户可以根据需要选择和配置所需的功能和组件。这使得Linux可以适应各种不同的用途和需求,从嵌入式设备到服务器和超级计算机。
-
广泛的应用领域:Linux广泛应用于各种设备和系统中,包括个人计算机、服务器、移动设备、网络路由器、物联网设备等。许多云计算平台和超级计算机也使用Linux作为其操作系统。
-
丰富的软件生态系统:Linux拥有庞大而活跃的开源软件社区,提供了各种应用程序、工具和开发环境。用户可以轻松获取和安装各种免费和开源的软件,满足各种需求。
Linux有多个发行版(Distribution)可供选择,如Ubuntu、Fedora、Debian、CentOS等,每个发行版都有其特定的目标和特点。用户可以根据自己的需求和偏好选择合适的Linux发行版。
需要注意的是,Linux操作系统具有较高的灵活性和可定制性,但对于初学者来说,可能需要一定的学习和适应过程。然而,一旦熟悉了Linux的基本概念和操作,它可以成为一个强大而灵活的工具,适用于各种计算需求。
2、Linux 与 Unix
Linux与Unix之间存在密切的关系。Linux是基于Unix思想和设计原则的操作系统,可以说是Unix的一种变体或衍生版本。尽管Linux与Unix在某些方面有一些共同的概念和特点,但它们也有一些区别。
-
起源:Unix是在1969年由肯·汤普逊(Ken Thompson)和丹尼斯·里奇(Dennis Ritchie)等人开发的操作系统。而Linux是由Linus Torvalds在1991年开始开发的。
-
开放源代码:Linux是一个开源操作系统,其源代码对用户开放,并且可以根据需要进行修改和定制。Unix则是一个商业操作系统,其源代码通常不对公众开放。
-
内核:Unix和Linux都有自己的内核。Unix使用一种称为"Monolithic Kernel"(单体内核)的架构,而Linux使用一种称为"Monolithic Kernel with Loadable Kernel Modules"(带有可加载内核模块的单体内核)的架构。
-
发行版和版本:Unix有多个不同的版本,如Solaris、AIX和HP-UX,每个版本由不同的厂商开发和维护。Linux则有多个发行版(如Ubuntu、Fedora和Debian),每个发行版都基于Linux内核,并由社区或组织进行维护和支持。
-
标准和兼容性:Unix有一些标准,如POSIX(可移植操作系统接口)标准,旨在确保不同Unix系统之间的兼容性。Linux通常遵循POSIX标准,但并非所有Linux发行版都完全符合该标准。
-
社区和发展模式:Linux发展依赖于全球范围的开发者社区,有数以千计的开发者共同贡献和改进Linux内核和相关软件。Unix的发展则由相对较小的团队或厂商负责。
尽管存在这些区别,Linux在设计和实现上受到Unix的影响,并继承了Unix的一些关键概念和特点,如多用户和多任务支持、文件系统层次结构、命令行界面等。因此,对于熟悉Unix的用户来说,他们通常可以相对轻松地适应和使用Linux系统。
3、常用的发行的Linux介绍
-
Ubuntu: Ubuntu是一款基于Debian的流行Linux发行版。它以易用性和友好的用户界面而闻名,适合各种用户,从新手到专业人士。Ubuntu拥有庞大的软件库和活跃的社区支持。
-
Fedora: Fedora是由Red Hat公司支持的社区驱动的Linux发行版。它专注于提供最新的开源软件和技术,并且在开发者和技术爱好者之间很受欢迎。Fedora也被用作Red Hat Enterprise Linux(RHEL)的基础。
-
Debian: Debian是一个非常稳定和可靠的Linux发行版,以其强调自由软件和开放源代码而闻名。Debian拥有广泛的软件库和强大的包管理系统,适用于各种用途。
-
CentOS: CentOS是基于Red Hat Enterprise Linux(RHEL)源代码构建的一个免费的企业级Linux发行版。它专注于稳定性和安全性,并被广泛用作服务器操作系统。
-
openSUSE: openSUSE是一个功能齐全且易于使用的Linux发行版,具有强大的图形界面和配置工具。它注重用户友好性和可定制性,适合桌面和服务器使用。
生成环境本人还是推荐 CentOS
4、Centos的下载及安装注意点
官方下载地址:Download (centos.org)
注意:
1、语言建议选择English。
2、必须设置的内容有:网络和主机名/安装源/软件选择/安装目的地/语言支持/时间和日期。
3、选择最小安装就可以了,以后需要其他软件时可以再安装。
4、方便学习管理推荐在虚拟机进行安装CentOS 版本选择8+
安装过程比较简单,各位可以自行搜索!
5、CentOS 登录
1、假如系统安装在服务器上,可以免密码登录
1、生成密钥(本地已经有了就不要生成了)
ssh-keygen -t rsa
2、将密钥添加到远程服务器
ssh-copy-id root@服务器IP
3、如果以上命令无法完成,按顺序执行以下命令
在本地服务器中执行,将本地公钥添加到服务器中
scp ~/.ssh/id_rsa.pub root@服务器IP:
4、登录远程服务器设置密钥,如果存在就不要设置了
ssh-keygen -t rsa
5、在服务器添加公钥
cat id_rsa.pub >> ~/.ssh/authorized_keys
6、现在登录就不需要密码了
ssh root@192.168.31.90
7、编辑 vim ~/.ssh/config 文件添加以下内容
Host xxxx
Hostname 192.168.31.90(服务器IP)
Port 22
User root
现在直接使用 ssh xxxx 就可以登录服务器了
2、本地输入安装时的账号密码就可以登录了
6、配置国内阿里源
CENTOS 8
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
cd /etc/yum.repos.d
#备份旧源数据
sudo cp CentOS-Base.repo CentOS-Base.repo.bak
sudo cp CentOS-AppStream.repo CentOS-AppStream.repo.bak
sudo cp CentOS-Extras.repo CentOS-Extras.repo.bak
sudo sed -i 's/mirrorlist=/#mirrorlist=/g' CentOS-Base.repo CentOS-AppStream.repo CentOS-Extras.repo
sudo sed -i 's/#baseurl=/baseurl=/g' CentOS-Base.repo CentOS-AppStream.repo CentOS-Extras.repo
sudo sed -i 's/http:\/\/mirror.centos.org/https:\/\/mirrors.aliyun.com/g' CentOS-Base.repo CentOS-AppStream.repo CentOS-Extras.repo
yum makecache
注意:通过添加源可以加快软件下载,同时更多的源也提供更丰富的软件
7、防火墙
查看防火墙状态
$ sudo systemctl status firewalld.service
关闭防火墙
$ sudo systemctl stop firewalld.service
永久关闭
$ sudo systemctl disable firewalld.service
8、常用的Linux命令
这些命令涵盖了Linux系统操作的各个方面,可以帮助您进行系统管理、文件操作、用户管理和网络管理等任务。请注意,每个命令都有更多的选项和参数,可以通过命令的man页面或者命令名后面加上--help来获取更详细的信息。
-
用户和权限管理:
-
useradd: 创建用户 -
passwd: 设置用户密码 -
usermod: 修改用户属性 -
userdel: 删除用户 -
groupadd: 创建用户组 -
groupmod: 修改用户组属性 -
groupdel: 删除用户组 -
sudo: 以超级用户权限执行命令 -
su: 切换用户
-
-
系统信息和状态:
-
uname: 显示系统信息 -
whoami: 显示当前用户名 -
hostname: 显示或设置主机名 -
top: 实时显示系统资源使用情况 -
ps: 列出当前运行的进程 -
df: 显示文件系统的磁盘空间使用情况 -
free: 显示系统内存使用情况 -
uptime: 显示系统运行时间 -
date: 显示或设置系统日期和时间
-
-
文件和目录操作:
-
ls: 列出目录内容 -
cd: 切换工作目录 -
pwd: 显示当前工作目录 -
mkdir: 创建目录 -
rm: 删除文件或目录 -
cp: 复制文件和目录 -
mv: 移动文件和目录 -
touch: 创建空文件或更新文件的时间戳 -
cat: 查看文件内容 -
head: 显示文件开头部分 -
tail: 显示文件末尾部分
-
-
文件权限和所有权管理:
chmod: 修改文件权限chown: 修改文件所有者chgrp: 修改文件所属组
-
文件搜索和查找:
-
find: 根据条件搜索文件 -
grep: 在文件中搜索匹配的文本 -
locate: 快速定位文件 -
which: 查找命令的路径
-
-
网络管理:
-
ifconfig: 配置和显示网络接口信息 -
ping: 测试网络连接 -
nslookup: 查询域名解析信息 -
netstat: 显示网络连接和路由表信息 -
ssh: 安全远程登录 -
scp: 安全复制文件
-
-
压缩和解压缩:
-
tar: 创建和提取tar归档文件 -
gzip: 压缩文件 -
gunzip: 解压缩文件
-
-
进程管理:
-
ps: 列出当前运行的进程 -
top: 实时显示系统资源使用情况和进程信息 -
kill: 终止指定进程 -
killall: 终止指定名称的所有进程 -
pgrep: 根据条件查找匹配的进程ID -
pkill: 根据条件终止匹配的进程
-
-
系统服务管理:
- systemctl: 管理系统服务
systemctl start service_name: 启动指定名称的服务systemctl stop service_name: 停止指定名称的服务systemctl restart service_name: 重启指定名称的服务systemctl status service_name: 显示指定名称的服务状态systemctl enable service_name: 设置指定名称的服务开机自启动systemctl disable service_name: 取消指定名称的服务开机自启动
- systemctl: 管理系统服务
-
网络配置:
-
ifconfig: 配置和显示网络接口信息 -
ip: 配置和显示网络接口信息(更现代的替代命令) -
route: 显示和配置网络路由表 -
netstat: 显示网络连接和路由表信息 -
iptables: 配置防火墙规则
-
-
日志管理:
tail: 显示文件末尾部分(常用于查看日志文件)
tail -f file.log: 实时显示日志文件的新增内容
grep: 在文件中搜索匹配的文本(常用于过滤日志信息)
grep "error" file.log: 在file.log中搜索包含关键词"error"的行
less: 分页查看文件内容(常用于查看大型日志文件)
less file.log: 打开文件并逐页显示内容,使用箭头键进行导航
-
系统监测和性能优化:
-
htop: 实时监测系统资源使用情况和进程信息(更友好的替代命令) -
vmstat: 显示系统的虚拟内存、进程、CPU和IO统计信息 -
sar: 定期收集和报告系统活动数据 -
iostat: 显示CPU、磁盘和IO设备的统计信息 -
free: 显示系统内存使用情况
-
-
软件包管理:
- apt: Debian和Ubuntu系统中的包管理工具
apt update: 更新软件包列表apt upgrade: 升级系统中的软件包apt install package_name: 安装指定的软件包apt remove package_name: 卸载指定的软件包apt search keyword: 在软件包数据库中搜索关键字
- yum: CentOS和Fedora系统中的包管理工具
yum update: 更新系统中的软件包yum install package_name: 安装指定的软件包yum remove package_name: 卸载指定的软件包yum search keyword: 在软件包数据库中搜索关键字
- apt: Debian和Ubuntu系统中的包管理工具
-
磁盘管理:
fdisk: 磁盘分区工具mkfs: 创建文件系统mount: 挂载文件系统umount: 卸载文件系统df: 显示文件系统的磁盘空间使用情况du: 计算目录或文件的磁盘空间使用情况
-
定时任务:
- crontab: 创建和管理定时任务
crontab -e: 编辑当前用户的定时任务crontab -l: 列出当前用户的定时任务crontab -r: 删除当前用户的定时任务
- crontab: 创建和管理定时任务
-
其他实用工具:
- wget: 下载文件
wget URL: 下载指定URL的文件
- curl: 通过URL进行数据传输
curl URL: 发送HTTP请求并获取URL的内容
- ssh: 安全远程登录
ssh user@host: 连接到指定主机
- scp: 安全复制文件
scp source_file destination: 将源文件复制到目标位置
- wget: 下载文件
-
网络诊断和调试:
- ping: 测试网络连接和延迟
ping hostname: 向指定的主机发送 ICMP 回显请求
- traceroute: 跟踪网络数据包传输路径
traceroute hostname: 显示到达指定主机的网络路径
- netstat: 显示网络连接、接口和路由表信息
netstat -tuln: 显示所有TCP和UDP监听端口
- tcpdump: 抓取和分析网络数据包
tcpdump -i interface: 监听指定网络接口上的数据包
- ping: 测试网络连接和延迟
-
数据备份和恢复:
-
tar: 创建和提取归档文件
tar -cvf archive.tar file1 file2: 创建归档文件tar -xvf archive.tar: 解压缩归档文件
-
rsync: 远程备份和文件同步工具
rsync -avz source_directory destination: 同步源目录到目标位置
-
dd: 复制和转换文件或设备
dd if=input_file of=output_file: 从输入文件复制到输出文件
-
-
Shell脚本编程:
bash: Bash shell的命令行解释器chmod: 修改脚本文件的执行权限#!/bin/bash: 在脚本文件的开头指定解释器echo: 打印文本或变量的值if: 条件语句for: 循环语句while: 循环语句grep: 在文本中搜索匹配的行sed: 文本替换和处理工具awk: 文本处理和报告生成工具
-
系统备份和恢复:
-
dd: 复制和转换文件或设备
dd if=input_file of=output_file: 从输入文件复制到输出文件
-
rsync: 远程备份和文件同步工具
rsync -avz source_directory destination: 同步源目录到目标位置
-
tar: 创建和提取归档文件
tar -cvf archive.tar file1 file2: 创建归档文件tar -xvf archive.tar: 解压缩归档文件
-
-
用户和权限管理:
useradd: 创建用户账户passwd: 设置用户密码usermod: 修改用户属性userdel: 删除用户账户groupadd: 创建用户组groupmod: 修改用户组属性groupdel: 删除用户组chown: 修改文件或目录的所有者chgrp: 修改文件或目录的所属用户组chmod: 修改文件或目录的权限
-
系统信息查询:
- uname: 显示系统信息
uname -a: 显示所有系统信息
- lsb_release: 显示Linux发行版信息
lsb_release -a: 显示所有发行版信息
hostname: 显示主机名uptime: 显示系统运行时间和负载who: 显示当前登录用户信息w: 显示当前登录用户和其活动信息last: 显示最近的登录记录df: 显示文件系统的磁盘空间使用情况free: 显示系统内存使用情况
- uname: 显示系统信息
-
文件搜索和查找:
- find: 在文件系统中查找文件
find /path -name filename: 在指定路径下按名称查找文件
- locate: 基于数据库快速查找文件
locate filename: 在数据库中查找文件
- which: 显示命令的完整路径
which command: 显示命令的路径
- find: 在文件系统中查找文件
-
资源监测和性能优化:
top: 实时显示系统资源使用情况和进程信息htop: 更友好的系统资源监测工具iotop: 监测磁盘IO使用情况nethogs: 监测网络流量使用情况sar: 定期收集和报告系统活动数据vmstat: 显示系统的虚拟内存、进程、CPU和IO统计信息lsof: 列出打开的文件和进程信息
-
进程管理:
-
ps: 显示当前运行的进程
ps -ef: 显示所有进程的详细信息
-
top: 实时显示系统资源使用情况和进程信息 -
kill: 终止指定进程
kill PID: 终止指定进程ID的进程
-
pkill: 根据名称终止进程
pkill process_name: 终止指定名称的进程
-
pgrep: 根据名称查询进程ID
pgrep process_name: 查询指定名称的进程ID
-
-
日志管理:
-
tail: 显示文件末尾的内容
tail -n N filename: 显示文件末尾的最后 N 行内容tail -f filename: 动态显示文件的新增内容
-
cat: 连接文件并显示内容 -
grep: 在文件中搜索匹配的行
grep pattern filename: 在文件中搜索匹配指定模式的行
-
less: 分页显示文件内容
less filename: 逐页显示文件内容,支持搜索和浏览
-
journalctl: 查看系统日志
journalctl -u service_name: 查看指定服务的日志journalctl -f: 实时显示日志内容
-
-
网络配置和管理:
-
ifconfig: 显示和配置网络接口信息(已被ip命令取代) -
ip: 显示和配置网络接口和路由信息
ip addr show: 显示网络接口信息ip route show: 显示路由表信息
-
iptables: 配置和管理防火墙规则
iptables -L: 显示防火墙规则列表
-
netstat: 显示网络连接、接口和路由表信息
netstat -tuln: 显示所有TCP和UDP监听端口
-
ss: 显示套接字统计信息
ss -tuln: 显示所有TCP和UDP监听端口
-
-
软件包管理:
-
apt: Advanced Package Tool,Debian和Ubuntu系统的软件包管理工具
apt update: 更新软件包列表apt upgrade: 升级可用的软件包apt install package_name: 安装指定的软件包apt remove package_name: 卸载指定的软件包
-
yum: Yellowdog Updater, Modified,CentOS和Fedora系统的软件包管理工具
yum update: 更新系统中的软件包yum install package_name: 安装指定的软件包yum remove package_name: 卸载指定的软件包
-
-
网络工具:
-
curl: 发送HTTP请求并显示响应
curl url: 发送GET请求并显示响应内容
-
wget: 下载文件
wget file_url: 下载指定URL的文件
-
ssh: Secure Shell,远程登录和执行命令
ssh username@hostname: 远程登录到指定主机
-
scp: Secure Copy,远程拷贝文件
scp source_file destination: 将源文件复制到目标位置
-
ftp: File Transfer Protocol,使用FTP协议进行文件传输
ftp hostname: 连接到指定主机的FTP服务器
-
-
虚拟化和容器:
-
docker: 容器化平台,用于构建和管理容器
docker run image_name: 运行指定的容器镜像docker pull image_name: 下载指定的容器镜像docker ps: 显示运行中的容器列表docker stop container_id: 停止指定的容器
-
kubernetes: 开源容器编排系统,用于自动化部署和管理容器化应用
-
-
kubectl
- Kubernetes命令行工具
kubectl get pods: 显示Pods的列表kubectl create deployment: 创建新的部署
-
-
9、Linux 技巧
-
利用Tab键自动补全:在命令行中输入文件或目录的一部分,然后按下Tab键,系统将自动补全文件或目录的名称。这可以节省时间并减少输入错误。
-
使用通配符进行文件匹配:在命令中使用通配符可以快速匹配多个文件或目录。常用的通配符包括:
-
*:匹配任意字符序列(包括空字符) -
?:匹配任意单个字符 -
[characters]:匹配指定字符集中的任意一个字符 -
[!characters]:匹配不在指定字符集中的任意一个字符
-
-
使用管道(
|)将命令连接起来:通过将一个命令的输出作为另一个命令的输入,可以将多个命令连接起来形成一个更复杂的操作。例如:command1 | command2。 -
使用
Ctrl + R搜索命令历史记录:按下Ctrl + R,然后输入关键字,系统将搜索并显示最近使用过的包含该关键字的命令。按下Enter键执行找到的命令。 -
使用
Ctrl + C终止命令:如果一个命令正在执行而您想取消它,可以按下Ctrl + C组合键来终止运行中的命令。 -
使用
Ctrl + D退出终端:当您完成终端会话时,可以使用Ctrl + D组合键来快速退出。 -
使用
man命令查看命令的手册页:man命令提供了关于大多数Linux命令的详细文档。例如:man ls将显示关于ls命令的手册页。 -
使用
Ctrl + Alt + T打开终端:快捷键Ctrl + Alt + T可以在大多数Linux发行版中快速打开一个终端窗口。 -
利用别名(alias)简化命令:您可以使用
alias命令为常用的命令创建别名,以简化和加快输入。例如:alias ll='ls -l'将创建一个名为ll的别名,执行ls -l命令。 -
使用
Ctrl + Z暂停命令:按下Ctrl + Z可以将当前正在运行的命令暂停,并返回到命令提示符。使用fg命令可以恢复被暂停的命令。 -
使用
Ctrl + L清除屏幕:按下Ctrl + L可以清除终端窗口的内容,让屏幕保持整洁。 -
使用
Ctrl + A和Ctrl + E在命令行中快速定位:按下Ctrl + A将光标移动到命令行的开头,按下Ctrl + E将光标移动到命令行的末尾。 -
使用
Ctrl + U清除当前行:按下Ctrl + U可以快速清除当前命令行中光标位置之前的内容。 -
使用
Ctrl + R反向搜索命令历史记录:按下Ctrl + R后,开始键入关键字,系统将搜索并显示最近使用过的包含该关键字的命令。重复按下Ctrl + R将继续搜索并显示更早的匹配项。 -
使用
Ctrl + G取消搜索:在使用Ctrl + R搜索命令历史记录时,如果要取消搜索并返回到当前命令提示符,可以按下Ctrl + G。 -
使用
history命令查看命令历史记录:history命令将显示在当前会话中执行过的所有命令的列表。您可以使用!n(其中n是命令编号)来重新执行特定的命令。 -
使用
Ctrl + D结束输入:在命令行中,按下Ctrl + D组合键表示输入结束,例如在输入多行文本后。 -
使用
Ctrl + K剪切当前行:按下Ctrl + K将剪切从光标位置到行末的内容。 -
使用
Ctrl + Y粘贴剪切的内容:在命令行中按下Ctrl + Y可以将之前使用Ctrl + K或Ctrl + U剪切的内容粘贴到光标位置。 -
使用
Ctrl + W删除前一个单词:按下Ctrl + W将删除光标之前的单词。 -
使用
Ctrl + P和Ctrl + N浏览命令历史记录:按下Ctrl + P将浏览较早的命令,按下Ctrl + N将浏览较新的命令。 -
使用
Ctrl + T交换光标前两个字符:按下Ctrl + T将交换光标前两个字符的位置。 -
使用
Ctrl + H删除光标前一个字符:按下Ctrl + H将删除光标之前的一个字符。 -
使用
Ctrl + S暂停终端输出:按下Ctrl + S可以暂停终端输出,按下Ctrl + Q可以恢复。 -
使用
Ctrl + Alt + F1到F6切换虚拟终端:Linux系统通常提供多个虚拟终端,可以使用这些快捷键在不同的终端之间进行切换。Ctrl + Alt + F1到F6分别对应虚拟终端1到6,Ctrl + Alt + F7则是返回到图形界面。 -
使用
Ctrl + Shift + T打开新的终端选项卡:这个快捷键可以在终端中打开一个新的选项卡,方便在同一个窗口中同时执行多个命令。 -
使用
Ctrl + Shift + N和Ctrl + Shift + P在命令行中快速切换命令:在命令行中按下Ctrl + Shift + N可以快速切换到下一个命令,按下Ctrl + Shift + P可以快速切换到上一个命令。 -
使用
Ctrl + Shift + C和Ctrl + Shift + V复制和粘贴:在终端中,按下Ctrl + Shift + C可以复制选定的文本,按下Ctrl + Shift + V可以粘贴文本。 -
使用
Ctrl + Arrow进行单词间的快速移动:在命令行中按下Ctrl + Left Arrow可以快速移动到前一个单词的开头,按下Ctrl + Right Arrow可以快速移动到下一个单词的开头。 -
使用
screen或tmux管理会话:screen和tmux是两个强大的终端复用工具,它们允许您在单个终端窗口中创建多个会话,并在这些会话之间进行切换。这对于长时间运行的任务或远程会话特别有用。 -
使用
Ctrl + Alt + L锁定屏幕:按下Ctrl + Alt + L可以快速锁定屏幕,保护您的计算机免受未经授权的访问。 -
使用
find命令进行文件搜索:find命令可以根据指定的条件在文件系统中搜索文件和目录。例如,find /path/to/search -name "filename"将在指定路径下搜索指定名称的文件。 -
使用
grep命令进行文本匹配:grep命令可以在文件中搜索指定的模式并显示匹配的行。例如,grep "pattern" filename将在指定文件中搜索匹配模式的行。 -
使用
sed命令进行文本替换:sed命令可以在文本文件中进行模式匹配和替换操作。例如,sed 's/pattern/replacement/g' filename将替换指定模式的所有匹配项。 -
使用
awk命令进行文本处理:awk命令是一个强大的文本处理工具,可以根据指定的规则对文本进行处理和分析。它可以用于提取特定字段、计算统计信息等。
感谢关注,点赞,评论!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!