当前位置: 首页 > news >正文

Linux命令(3) | 小白零基础快速上手

文章目录

  • Linux命令
    • man手册
    • man手册页面交互操作指令
    • man命令
    • which命令
  • vim 编辑器
    • vim模式
    • 命令行快捷键
    • vim 配置
  • Linux输入输出重定向
      • 标准输出重定向到文件
      • 标准输出重定向到程序
    • tee 命令

Linux命令

man手册

SECTION内容类型
1**用户命令(**可执行命令和shell程序)
2系统调用(从用户空间调用的内核例程)
3库函数(由程序库提供)
4特殊文件(如设备文件)
5文件格式(用于许多配置文件和结构)
6游戏(过去的有趣程序章节)
7惯例、标准和其他(协议、文件系统)
8系统管理和特权命令(维护任务)
9Linux内核API(内核调用)

man手册页面交互操作指令

命令结果
PageDown或者空格键向前(向下)滚动一个屏幕
PageUp向后(向上)滚动一个屏幕
向下箭头向前(向下)滚动一行
向上箭头向后(向上)滚动一行
d向前(向下)滚动半个屏幕
u向后(向上)滚动半个屏幕
/string在man page中向前(向下)搜索string
n在man page中重复之前的向前(向下)搜索
N在man page中重复之前的向后(向上)搜索
g转到man page的第一行。
G转到man page的最后一行。
q退出man ,并返回到shell命令提示符

man命令

# 使用 -k 选项搜索关键字[ljw@centos7 ~17:00:24]$man-kpasswd

which命令

# 查看vi命令代表什么[ljw@centos7 ~15:47:55]$whichvialiasvi='vim'/usr/bin/vim

vim 编辑器

# 安装vim 工具[root@centos7 ~15:44:30]# yum install vim

vim模式

  • command 模式:该模式下键盘中的字母有特殊含义。例如G,跳转到最后一行;gg,跳转到第一行。
  • edit 模式:在command模式下按i,进入该模式。在该模式可以输入内容。在该模式下按Esc返回command模式。
  • extended command 模式:在command模式下按:,进入该模式。在该模式下,可以保存文件(:w),退出编辑(:q),强制退出编辑(:q!),报错并退出(:wq)。
  • visual edit 模式:在command模式下按 v(单个字符选中)、V(整行选中)或者ctrl+v(按矩形选中),进入该模式。在该模式下,用于选中文件,随后可以复制或删除选中的内容。

命令行快捷键

  1. 定位文件内容:
  • w,向后1个word(光标在单词开头);e,向后1个word(光标在单词末尾)
  • b,向前1个word
  • ^0,行首
  • $,行尾
  • (,上一个句子头部;),下一个句子尾部。
  • {,上一个自然段;},下一个自然段。
  • gg,第一行;G,最后一行。

less 使用g,第一行;G,最后一行。

  1. 进入插入模式:
  • i ,当前位置插入。(insert)
  • I,行首插入。
  • a,当前位置追加。(append)
  • A,行末追加。
  • o,向下新开一个空白行。
  • O,向上新开一个空白行。

复制:yy,复制1行,相当于y1y。以此类推 y2y y2w y2b。

粘贴:p 当前位置后粘贴,P 当前位置前粘贴

删除:

  • x,删除当前单个字符。5x,删除当前字符和后续4个字符。
  • X,删除前一单个字符。
  • dw,删除1个word,以此类推 d5w d3b d2d d$。
  • D,从当前删除到最后,相当于d$。

回退:

  • u,撤销上一个操作。
  • U,撤销整行修改。
  • Ctrl+r,反向撤销,与u相反。

修改,相当于删除后插入:

  • s,删除当前字符,并进入编辑模式。
  • S,删除当前行,并进入编辑模式。
  • c,代表替换动作,例如cw,删除1个word,并进入编辑模式。以此类推 c5w。
  • C,从当前删除到最后,并进入编辑模式。

替换:

  • r,替换单个字符后回退到命令行模式。
  • R,替换模式,一直替换直到按Ese返回命令行模式。

:w(保存); :q(退出); :q!(不保存退出); [:wq]/ZZ(保存退出)

vim 配置

  • 全局:/etc/vimrc 给所有用户设置一些默认值
  • 用户:~/.vimrc 特定用户的个性化设置
[laoma@centos7 ~]$vim~/.vimrcsetnumber# 显示行号setshowcmd# 显示操作命令setaits=2# ai,自动缩进setcursorcolumn# 列高亮对齐显示setcursorline# 行高亮对齐显示

Linux输入输出重定向

标准输出重定向到文件

#查看/etc目录下 文件名是passwd的文件[ljw@centos7 ~18:17:49]$find/etc-namepasswd

#将找到的文件覆写到passwd.list文件中[ljw@centos7 ~18:23:28]$find/etc-namepasswd>passwd.list[ljw@centos7 ~18:25:14]$catpasswd.list /etc/pam.d/passwd /etc/passwd>passwd.list 也可写1>passwd.list1>要连着#将找到的文件追加到passwd.list文件中[ljw@centos7 ~18:27:00]$find/etc-namepasswd>>passwd.list[ljw@centos7 ~18:28:55]$catpasswd.list /etc/pam.d/passwd /etc/passwd /etc/pam.d/passwd /etc/passwd
# 将不是需要找的文件写到passwd.err文件中[ljw@centos7 ~18:31:57]$find/etc-namepasswd2>passwd.err# 追加[ljw@centos7 ~18:32:26]$find/etc-namepasswd2>>passwd.err# 创建空文件,也可以用于清空文件内容[ljw@centos7 ~18:33:01]$>passwd.err[ljw@centos7 ~18:35:02]$catpasswd.err[ljw@centos7 ~18:35:08]$
# 将找到的文件和错误的文件 写到同一个文件中[ljw@centos7 ~18:35:11]$find/etc-namepasswd&>passwd.all# 追加[ljw@centos7 ~18:36:46]$find/etc-namepasswd&>>passwd.all

标准输出重定向到程序

管道符 | :将上一个命令的输出,输入给下一个命令

| 只传递标准输出 stdout,不传递标准错误 stderr。并且支持多段管道

**|&**标准错误和标准输出同时传递给下一个命令,作为下一个命令的标准输入。

# 使用man命令搜索ext4相关手册,并保存到ext4.man文件中[ljw@centos7 ~18:37:10]$man-kext4>ext4.man[ljw@centos7 ~18:40:34]$catext4.man# 过滤文件中含有ewsize的[ljw@centos7 ~18:40:52]$grepresize ext4.man resize2fs(8)- ext2/ext3/ext4filesystem resizer# 用管道符将两个命令合起来[ljw@centos7 ~18:41:51]$catext4.man|grepresize resize2fs(8)- ext2/ext3/ext4filesystem resizer

注意管道符后命令必须能够接收标准输入,例如ls不接收管道传递来的标准输入

tee 命令

作用:接收管道传递来的标准输入,并继续作为标准输出输出

# tee命令将接收到的信息打印到屏幕并覆盖保存到passwd.list文件中[ljw@centos7 ~18:51:53]$find/etc-namepasswd2>/dev/null|teepasswd.list# find /etc -name passwd 2>/dev/null 是将错误的信息扔掉/etc/pam.d/passwd /etc/passwd#tee命令追加[ljw@centos7 ~18:56:08]$find/etc-namepasswd2>/dev/null|tee-apasswd.list /etc/pam.d/passwd /etc/passwd[ljw@centos7 ~18:56:14]$catpasswd.list /etc/pam.d/passwd /etc/passwd /etc/pam.d/passwd /etc/passwd# 用man命令找到所有passwd相关的手册,通过tee命令将含有passwd的打印出来并存到passwd.man文件中[ljw@centos7 ~18:56:30]$man-kpasswd|teepasswd.man|greppasswd

标准输入重定向给程序

# cat 直接接收文件参数读取内容[ljw@centos7 ~18:59:11]$cat/etc/hosts#输入重定向把文件给cat读取[ljw@centos7 ~18:02:01]$cat</etc/hosts#输出重定向,将内容保存到test.txt中[ljw@centos7 ~19:02:35]$cat</etc/hosts>test.txt[ljw@centos7 ~19:07:03]$cattest.txt127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

判断命令是否接收标准输入:最简单的方式就是将文件内容作为标准输入重定向给程序。

# 用cat重定向将多行内容写入文件# 给定一个起始值EOF直到单独一行EOF结束输入[ljw@centos7 ~19:12:28]$cat>test.txt<<EOF>132>dsa>asd>EOF[ljw@centos7 ~19:12:58]$cattest.txt132dsa asd

补充

cat > test.txt << EOF # 覆盖写入 cat >> test.txt << EOF # 追加写入(不覆盖)
http://www.cnnetsun.cn/news/3471099.html

相关文章:

  • 大语言模型全流程技术解析与工程实践
  • 多维聚合实战:窗口函数、条件聚合与分组集合详解
  • 用生活化方式讲解加密技术:从小学生思维到现代通讯
  • React.PureComponent性能优化原理与实践指南
  • 计算机毕业设计之宿舍水电管理系统的开发与实现
  • 二项分布实战指南:数据科学中的独立性、n与p三重校验
  • 发现一款免费的批量打印工具,分享给大家
  • 无侵入式数据治理(上):为什么说数据治理最大的敌人,是业务改造
  • 分支语句和循环
  • Rust错误处理:thiserror与anyhow实战指南
  • PHPCMS深度解析:国产CMS的模块化设计与实战优化
  • 虚幻引擎多人竞技场游戏开发:网络同步与延迟补偿实战指南
  • PCIe初始化流程详解:链路训练、设备枚举与资源分配
  • 信息论速成指南:工程师的熵、互信息与信道容量实战手册
  • PySpark MLlib千万级分类实战:从集群训练到生产部署
  • 《我的世界》服务器防熊指令全攻略:权限控制与行为监控实战
  • 遗传算法实战心法:从种群初始化到收敛判据的12个关键要点
  • Claude Code VS Code插件安装与IDE级AI工作流配置指南
  • 敏捷开发Alpha阶段技术复盘与架构优化实践
  • 学习agent日记day1:python从入门到如厕
  • 剑网1棍丐竞技实战:从技能连招到团队配合进阶指南
  • 软件工程转数据分析,真的能行吗?过来人给你交个底
  • Google MCP Server实战指南:让AI真正动手做事
  • 【数据分享】2010—2020年我国乡镇级的逐年分部门(服务业、工业、农业)GDP数据(Shp/Excel格式)
  • Java框架选型与性能优化实战指南
  • Java爬虫HTTPS证书验证失败:SunCertPathBuilderException排查与解决方案
  • 基于YOLOv8的蜜蜂识别检测系统:从环境配置到UI部署全流程
  • Java面试核心知识点与实战技巧全解析
  • AI营销智能体:2026核心能力与选型指南
  • 本地化LLM部署方案:Ollama、OpenLLM、LocalAI与Dify实战指南