Linux系统之fc命令的基本使用

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: Linux系统之fc命令的基本使用

在这里插入图片描述

一、fc命令介绍

1.1 fc命令简介

fc命令是一个非常实用的命令,可以帮助我们查找、编辑和执行历史命令。

1.2 fc命令用途

  • 显示历史列表中的命令。

  • 编辑并重新执行历史列表的命令。

二、fc命令的帮助信息

2.1 fc的man帮助

查询man手册的fc帮助信息

man fc

在这里插入图片描述

2.2 fc命令的使用帮助

  • 选项

    -e ename                  选择使用的编辑器,默认调用次序为环境变量`FCEDIT`、环境变量`EDITOR``vi`。
    -l                        列出而不是编辑。
    -n                        列出时不输出行号(需配合-l选项)。
    -r                        倒序列出命令,最近执行的先列出(需配合-l选项)。
    -s [pat=rep] [command]    command(未指定时为最后执行的命令)将在pat替换为rep后重新执行。
    -t <历史命令编号>:执行历史命令编号指定的命令,但不将其添加到历史记录中。
    
  • 参数

first:可选;可以是字符串(以该字符串开头的最新命令)、数字(历史列表索引,负数代表当前命令号的偏移);未指定时设置为前一个命令并且偏移量为-16(最近的16条命令)。

last:可选;可以是字符串(以该字符串开头的最新命令)、数字(历史列表索引,负数代表当前命令号的偏移);未指定时设置为参数first。

三、fc命令的基本使用

3.1 显示最近执行的命令

使用-l选项,列出最近执行的命令,默认是查询最近执行的16条命令。

[root@jeven ~]# fc -l
986     systemctl status httpd
987     systemctl stop firewalld && systemctl disable firewalld
988     cd /var/www/html/
989     ls\
990     ls
991      git clone https://github.com/gd4Ark/star-battle.git
992     ls
993     unzip star-battle-master.zip
994     ls
995     mv star-battle-master star-battle
996     ls
997     tree -L 1 star-battle
998     tree -L 2 star-battle
999     systemctl restart httpd
1000     ls
1001     fc -l 12

倒序查看,加上-r选项。

[root@jeven ~]# fc -l -r
1002     fc -l
1001     fc -l 12
1000     ls
999     systemctl restart httpd
998     tree -L 2 star-battle
997     tree -L 1 star-battle
996     ls
995     mv star-battle-master star-battle
994     ls
993     unzip star-battle-master.zip
992     ls
991      git clone https://github.com/gd4Ark/star-battle.git
990     ls
989     ls\
988     cd /var/www/html/
987     systemctl stop firewalld && systemctl disable firewalld

3.2 指定序号查询历史命令

在-l选项后面,加上开始序号和结束序号,查看这个区间的历史执行命令。

[root@jeven ~]# fc -l 500 510
500     ls
501     cd
502     docker run -itd --name test01 -h con01 --network=bridge centos:7.6
503     docker run hello-world
504     sudo systemctl daemon-reload  && systemctl restart docker
505     sudo echo aa > test.aa
506     ls
507     docker  ps
508     docker run -itd --name test01 -h con01 --network=bridge centos:7.6
509     docker run -itd --name test01 -h con01 --network=bridge centos:7
510     docker ps

3.3 使用vim编辑第n条历史命令

查询最后一次执行的命令为 ls /tmp

[root@jeven ~]# ls /tmp
clr-debug-pipe-8964-1534-in
clr-debug-pipe-8964-1534-out
dotnet-diagnostic-8964-1534-socket
systemd-private-0d92e915344242af95072eb065c418ab-bolt.service-3CqP86
systemd-private-0d92e915344242af95072eb065c418ab-chronyd.service-zOEnpD
systemd-private-0d92e915344242af95072eb065c418ab-colord.service-jUk2sY
systemd-private-0d92e915344242af95072eb065c418ab-cups.service-3eUtDi
systemd-private-0d92e915344242af95072eb065c418ab-httpd.service-NGOJRE
systemd-private-0d92e915344242af95072eb065c418ab-rtkit-daemon.service-5mnV6w
vmware-root_8987-3852964261
[root@jeven ~]# fc -l
990     ls
991      git clone https://github.com/gd4Ark/star-battle.git
992     ls
993     unzip star-battle-master.zip
994     ls
995     mv star-battle-master star-battle
996     ls
997     tree -L 1 star-battle
998     tree -L 2 star-battle
999     systemctl restart httpd
1000     ls
1001     fc -l 12
1002     fc -l
1003     fc -l -r
1004     fc -l 500 510
1005     ls /tmp

使用-e选项,编辑第1005序号的历史命令ls /tmp,修改为cd /tmp ,退出编辑时,会自动执行编辑后的历史命令。

[root@jeven ~]# fc -e vim 1005
cd /tmp
[root@jeven tmp]#

在这里插入图片描述

3.4 替换上次执行命令的某个字符串

使用-s选项,将上一条命令中的old字符串替换为new字符串,并执行替换后的命令。

[root@jeven ~]# fc -s ls=cd
cd /tmp
[root@jeven tmp]#

在这里插入图片描述

四、fc命令的注意事项

  • fc命令默认使用vi编辑器,如果需要使用其他编辑器,如nano、emacs等,可以在命令中添加-e选项,如fc -e nano。

  • fc命令默认编辑并执行上一条命令,如果需要编辑并执行其他历史命令,可以在命令中添加数字参数,如fc 123可以编辑并执行历史命令号为123的命令。

  • fc命令可以用来执行之前执行过的命令,但是它不能修改已经执行过的命令。如果需要修改已经执行过的命令,可以使用其他编辑器命令如sed、awk等。

  • 当使用fc命令时,需要确保执行过的命令的历史记录已经被保存在命令历史记录文件中。如果历史记录文件被删除或禁用了命令历史记录功能,fc命令将无法正常使用。

  • 在编辑完命令后,需要保存文件并退出编辑器才能执行命令。

  • fc命令可以使用很多选项来执行不同的操作,例如-l选项可以列出命令历史记录,-n选项可以输出编辑后的命令,但是这些选项只能在使用了-e选项后才能使用。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
16天前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
145 78
|
7天前
|
JSON 人工智能 Serverless
一键生成毛茸萌宠形象,基于函数计算极速部署ComfyUI生图系统
通过阿里云函数计算FC 和文件存储NAS,用户体验 ComfyUI 和预置工作流文件,用户可以快速生成毛茸茸萌宠等高质量图像。
一键生成毛茸萌宠形象,基于函数计算极速部署ComfyUI生图系统
|
19天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
53 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
27天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
53 14
Linux 10 个“who”命令示例
|
6天前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
28 8
|
16天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
100 20
|
15天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
75 13
|
16天前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
43 7
|
16天前
|
Ubuntu Linux C++
Win10系统上直接使用linux子系统教程(仅需五步!超简单,快速上手)
本文介绍了如何在Windows 10上安装并使用Linux子系统。首先,通过应用商店安装Windows Terminal和Linux系统(如Ubuntu)。接着,在控制面板中启用“适用于Linux的Windows子系统”并重启电脑。最后,在Windows Terminal中选择安装的Linux系统即可开始使用。文中还提供了注意事项和进一步配置的链接。
39 0
|
27天前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。