ROS期末复习4:Ubuntu文件管理及常用命令

2023-10-30

一、常用操作命令:

1.文件内容显示命令:

(1)cat:cat [选项] [文件名]

        用来串接文件或显示文件的内容,也可以从标准输入设备读取数据并将其结果重定向到一个新的文件中,达到建立新文件的目的。

选项如下:

1)-n:由1开始对所有输出的行数进行编号;

2)-b:和-n类似,但不对空白行编号;

3)-s:当遇到有连续两行以上的空白行,将其替换为一行空白行;

4)-E:在每行结束处显示$。

(2)more:more [文件名]

        显示输出的内容,然后根据窗口的大小进行分页显示,在终端底部打印出“--More--”及已显示文本占全部文本的百分比。

选项如下:

1)-f或<空格>:显示下一行;

2)<回车>:显示下一列;

3)-q或-Q:推出more;

4)+num:从第num行开始显示。

        也就是说,当文件比较大时,文本内容会在屏幕上快速显示,more命令则解决了这个问题,一次只显示一屏的文本。

        输入命令后显示文本内容第一页,按回车键显示下一行,按F或空格键显示下一页,按CRTL+B返回上一屏,按Q退出。

(3)less:less [文件名]

        less命令与more相似,区别在于还可以利用pageup、pagedown来回翻页显示文件。

选项如下:

1)-m:显示读取文件的百分比;

2)-M:显示读取文件的百分比、行号以及总行数;

3)-N:每行前输出行号;

4)-s:把连续多个空白行作为一个空白行显示。

(4)head:head [选项] [数字] [文件名]

        显示文件的前n行,不带选项时默认显示前10行。

选项如下:

1)-n:显示文件的前n行;

2)-c:显示问价的前c个字节。

(5)tail:tail -n [数字] [文件名] 或 tail-[数字] [文件名]

        显示文件的最后n行,默认为10行。

(6)echo:echo [选项] [文件名]

        输出字符串到基本输出。

选项如下:

1)-n:不输出末尾的换行符;

2)-e:启用反斜杠转义(\n);

3)\a:发出警告声;

4)\c:最后不加上换行符号。

(7)od:od [选项] 字符串

        用于输出文件的八进制、十六进制或其他格式编码的字节。

选项如下:

1)-a:表示ASCII码的名字;

2)-b:按照三个数值位的八进制数进行解释;

3)-c:选择ASCII码字符或者时转义字符;

4)-d:选择无符号2字节单位。

2.目录内容显示命令:

(1)ls:列出目录的内容。

(2)pwd:显示当前工作目录的完整路径。

3.目录变更命令cd:cd [目录]

        改变当前工作目录。目录名称可以是绝对路径或相对路径。

(1)cd ..返回上一级目录。

(2)cd ~返回主目录。

4.文件创建命令touch:touch [选项] [文件名]

        生成空文件和修改文件存取时间。

选项如下:

(1)-d:以yyyymmdd的形式给出要修改的时间;

(2)-a:只更改存取时间;

(3)-c不建立任何文档;

(4)-m:只更改变动时间;

(5)-r:把指定文档或目录的日期时间统统设成参考文档或目录的日期时间。

5.文件删除命令rm:rm [选项] [文件名]

        删除一个目录中的若干文件或子目录。

选项如下:

-i:在删除前提示,需要确认。

6.目录创建命令mkdir:mkdir [选项] [文件名]

        创建指定名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。

选项如下:

(1)-p:依次创建目录,需要时创建目标目录的上级;

(2)-m:设置权限模式,在建立目录时按模式指定设置目录权限;

        格式:mkdir -m [三位参数] [目录名]

        参数的三位分别代表:目录所有者的权限;组中其他人对目录的权限;其他人对目录的权限。

        对目录读权限参数为4;对目录写权限参数为2;执行权限参数为1;同时具有读、写和执行权限参数为7;有读和写权限参数为6。

(3)-v:每次创建新目录都显示执行过程信息。

7.目录删除命令rmdir:rmdir [选项] [文件名]

        删除空目录。

选项如下:

(1)-p:当子目录被删除后其父目录也为空时,将父目录一并删除;

(2)-v:显示详细的步骤。

8.复制命令cp:

        将文件或目录复制到另一文件或目录中。

语法格式有两种:

(1)cp [选项] [源文件或目录] [目的文件或目录]

(2)cp [选项] 源文件组 目标目录

选项如下:

(1)-b:将要覆盖的文件做备份;

(2)-i:覆盖前查询,提示是否覆盖已存在的目标文件;

(3)-f:强制复制文件,若目标文件无法打开,则将其移除并重试;

(4)-p:保留源文件或目录的属性,如日期;

(5)-R:复制所有文件及目录;

(6)-a:不进行文件数据复制,只对每一个现有目标文件的属性进行备份;

(7)-H:跟随源文件中的命令行符号链接;

(8)-l:硬链接文件而不复制文件本身;

(9)-L:总是跟随源文件中的符号链接;

(10)-n:不要覆盖已存在的文件;

(11)-P:不跟随源文件中的符号链接;

(12)-s:之创建符号链接而不复制文件。

9.改名或移动命令mv:mv [选项] [文件名]

        将文件或目录改名,或将文件由一个目录移入另一个目录。

选项如下:

(1)-f:禁止交互模式;

(2)-i:交互模式;

(3)-n:不要覆盖已存在的文件;

(4)-u:只在源文件比目标文件新或目标文件不存在时才进行移动;

(5)-v:显示详细的步骤。

10.su命令:su [选项] 用户名

        超级用户root向普通或虚拟用户切换不需要密码,反过来需要密码。

选项如下:

(1)-l:如同重新登录,如果没有指定用户名,默认为root;

(2)-p:切换当前用户时,不切换用户工作环境,此为默认值;

(3)-c:以指定用户身份执行命令,执行命令后再变回原用户;

(4)-:切换当前用户时,切换用户工作环境。

11.sudo命令:(super user do)sudo [选项] 命令

        以超级用户root的身份执行命令。

选项如下:

(1)-h:列出帮助信息;

(2)-V:列出版本信息;

(3)-l:列出当前用户可以执行的命令;

(4)-u:以指定用户的身份执行命令。

二、vi编辑器:

1.Linux下的三种常用编辑器:

        Vi,nano,gedit。

2.启动vi编辑器:

        vi [文件名]

3.vi编辑器的三种工作模式:

(1)命令行模式:

        该模式中,用户可以输入各种合法的vi命令,管理文档。

(2)输入模式:

        该模式中,用户能在光标处输入内容或通过光标键移动光标,可以按Esc键返回命令模式。

(3)末行模式:

        在命令行按下“:”键进入末行模式,末行命令执行后将自动回到命令模式;在末行模式输入过程中,可按退格键将输入的命令全部删除,再按一下退格键即可回到命令模式。

4.vi编辑器三种工作模式之间的转换:

(1)从命令行模式转到输入模式按a、i键;

(2)从输入模式转到命令行模式按Esc键;

(3)从命令行模式转到末行模式按:键。

5.光标操作命令(略)

6.文本操作命令(略)

7.文本修改命令(略)

8.其他命令(略)

三、nano编辑器:

        nano是UNIX和类UNIX系统中一个轻量级文本编辑器。

四、gedit编辑器:

        gedit是Linux桌面上一款小巧的文本编辑器,外观简单,仅在工具栏上有一些图标和一排基本菜单,由于是图形界面因此使用方便。

五、gcc编译器:

        gcc是由GPL许可证发行的自由软件,被大多数类UNIX操作系统采纳为标准编译器,可处理C、C++、Fortran、Pascal、Java及各类处理器架构上的汇编语言。

1.gcc编译流程:

(1)预处理:

        主要处理C语言源文件中的#ifdef、#include以及#define等命令,忽略掉不需要预处理的输入文件,生成中间文件*.i。

(2)编译:

        编译就是把高级语言变成计算机可以识别的语言。输入的是中间文件*.i,编译后生成的是汇编语言文件*.s。

(3)汇编:

        汇编程序是指把汇编语言书写的程序翻译成与之等价的机器语言程序的翻译程序。输入的是用汇编语言书写的源程序,输出的是用机器语言表示的目标程序。

(4)链接:

        将生成的目标文件与其他目标文件链接成可执行的二进制代码文件。

2.gcc优化选项(略)

3.gcc显示警告和出错信息(略)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ROS期末复习4:Ubuntu文件管理及常用命令 的相关文章

  • 在主目录中安装库

    在 Linux Ubuntu 中 我尝试运行一个工具 但它显示错误 库丢失 我无权在系统中安装任何内容 或者根本无法从我的用户帐户执行 sudo 是否可以在我的主目录 没有 sudo 中安装缺少的库 在我的例子中为 libstdc so 6
  • arm-linux-gnueabi 编译器选项

    我在用 ARM Linux gnueabi gcc在 Linux 中为 ARM 处理器编译 C 程序 但是 我不确定它编译的默认 ARM 模式是什么 例如 对于 C 代码 test c unsigned int main return 0x
  • GCC 和 ld 找不到导出的符号...但它们在那里

    我有一个 C 库和一个 C 应用程序 尝试使用从该库导出的函数和类 该库构建良好 应用程序可以编译 但无法链接 我得到的错误遵循以下形式 app source file cpp text 0x2fdb 对 lib namespace Get
  • diff 文件仅比较每行的前 n 个字符

    我有2个文件 我们将它们称为 md5s1 txt 和 md5s2 txt 两者都包含a的输出 find type f print0 xargs 0 md5sum sort gt md5s txt 不同目录下的命令 许多文件被重命名 但内容保
  • PHP 致命错误:未找到“MongoClient”类

    我有一个使用 Apache 的网站 代码如下 当我尝试访问它时 我在 error log 中收到错误 PHP Fatal Error Class MongoClient not found 以下是可能错误的设置 但我认为没有错误 php i
  • 嵌入式Linux poll()不断返回

    我有一个特别的问题 当我知道没有什么可读时 民意调查不断返回 因此设置如下 我有 2 个文件描述符 它们构成fd设置民意调查监视 一种用于引脚从高到低的变化 GPIO 另一个用于代理输入 代理输入出现问题 处理的顺序是 启动main函数 然
  • Godaddy 托管上的 CakePHP 控制台

    我一直在努力让我的 CakePHP 网站在 Godaddy 网格托管 帐户上运行 我的蛋糕应用程序设置是从帐户的子目录托管的 并且可以通过子域访问 我必须调整我的 htaccess 文件才能使其正常工作 现在我需要让 CakePHP 控制台
  • ansible 重新启动 2.1.1.0 失败

    我一直在尝试创建一个非常简单的 Ansible 剧本 它将重新启动服务器并等待它回来 我过去在 Ansible 1 9 上有一个可以运行的 但我最近升级到 2 1 1 0 并且失败了 我正在重新启动的主机名为 idm IP 为 192 16
  • 修改linux下的路径

    虽然我认为我已经接近 Linux 专业人士 但显然我仍然是一个初学者 当我登录服务器时 我需要使用最新版本的R 统计软件 R 安装在 2 个地方 当我运行以下命令时 which R I get usr bin R 进而 R version
  • 使用 find - 删除除任何一个之外的所有文件/目录(在 Linux 中)

    如果我们想删除我们使用的所有文件和目录 rm rf 但是 如果我希望一次性删除除一个特定文件之外的所有文件和目录怎么办 有什么命令可以做到这一点吗 rm rf 可以轻松地一次性删除 甚至可以删除我最喜欢的文件 目录 提前致谢 find ht
  • 跟踪 Linux 程序中活跃使用的内存

    我想跟踪各种程序在特定状态下接触了多少内存 例如 假设我有一个图形程序 最小化时 它可能会使用更少的内存 因为它不会重新绘制窗口 这需要读取图像和字体并执行大量库函数 这些对象仍然可以在内存中访问 但实际上并没有被使用 类似的工具top它们
  • 通过特定分隔符删除字符串

    我的文件中有几列 其中第二列有 分隔符 我想删除第二列中的第一个 第三个和第四个字符串 并将第二个字符串留在该列中 但我有正常的分隔符空间 所以我不知道 input 22 16050075 A G 16050075 A G 22 16050
  • 如何根据 HTTP 请求使用 Python 和 Flask 执行 shell 命令并流输出?

    下列的这个帖子 https stackoverflow com questions 15092961 how to continuously display python output in a webpage 我能够tail f网页的日志
  • Linux TUN/TAP:无法从 TAP 设备读回数据

    问题是关于如何正确配置想要使用 Tun Tap 模块的 Linux 主机 My Goal 利用现有的路由软件 以下为APP1和APP2 但拦截并修改其发送和接收的所有消息 由Mediator完成 我的场景 Ubuntu 10 04 Mach
  • 如何在 shell 脚本中并行运行多个实例以提高时间效率[重复]

    这个问题在这里已经有答案了 我正在使用 shell 脚本 它读取 16000 行的输入文件 运行该脚本需要8个多小时 我需要减少它 所以我将其划分为 8 个实例并读取数据 其中我使用 for 循环迭代 8 个文件 并在其中使用 while
  • 为什么 Linux perf 使用事件 l1d.replacement 来处理 x86 上的“L1 dcache misses”?

    在英特尔 x86 上 Linux用途 https stackoverflow com a 52172985 149138事件l1d replacements来实施其L1 dcache load misses event 该事件定义如下 计数
  • 大多数 Linux 系统头文件与 C++ 兼容吗?

    大多数 Linux 系统头文件 API C 兼容吗 今天我试图做这样的事情 include
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • arm64和armhf有什么区别?

    Raspberry Pi Type 3 具有 64 位 CPU 但其架构不是arm64 but armhf 有什么区别arm64 and armhf armhf代表 arm hard float 是给定的名称Debian 端口 https
  • 尝试安装 LESS 时出现“请尝试以 root/管理员身份再次运行此命令”错误

    我正在尝试在我的计算机上安装 LESS 并且已经安装了节点 但是 当我输入 node install g less 时 出现以下错误 并且不知道该怎么办 FPaulMAC bin paul npm install g less npm ER

随机推荐

  • 运放噪声如何计算?

    一 噪声 运放的噪声分为 1 电压噪声en v 2 电流噪声在电阻Rs和R1 R2上产生的等效噪声en i 3 电阻的热噪声enr 总输入噪声计算公式 en in sqrt env 2 eni 2 enr 2 总输出噪声计算公式 en ou
  • [第七届蓝帽杯全国大学生网络安全技能大赛 蓝帽杯 2023]——Web方向部分题 详细Writeup

    Web LovePHP 你真的熟悉PHP吗 源码如下
  • 【C++】C++入门

    目录 一 C 关键字 二 命名空间 2 1命名空间的定义 2 2命名空间的使用 2 2 1加命名空间名称和作用域限定符 2 2 2使用using 将命名空间中某个成员引入 2 2 3使用using namespace将命名空间引入 三 C
  • 【KnowledgeBase】CLIP多模态代码试玩

    文章目录 前言 一 CLIP整体流程简述 二 代码试玩 参考 前言 多模态CLIP的推理部分代码简单试玩一下 致敬大佬的CLIP 论文链接 Learning Transferable Visual Models From Natural L
  • JS中的“&&”与“&”和“

    在JavaScript中 和 是逻辑运算符 和 是位运算符 四个运算符主要区别是运算方法不一样 1 JavaScript中的位运算符 运算方法 两个数值的个位分别相与 同时为1才得1 只要一个为0就为0 举个例子 31 2 结果为2 理由
  • python-报错

    报错 异常名称 描述 BaseException 所有异常的基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行 通常是输入 C Exception 常规错误的基类 StopIteration 迭代器
  • JS 统计字符

    var str id content value replace r n g n var length t str length
  • 使用Koa2进行Web开发(一)

    这篇文章是我正在进行写作的 新时期的Node js入门 的一部分 Connect Express与Koa 为了更好地理解后面的内容 首先需要梳理一下Node中Web框架的发展历程 Connect 在connect官方网站提供的定义是 Con
  • Python实现贝叶斯优化器(Bayes_opt)优化卷积神经网络回归模型(CNN回归算法)项目实战

    说明 这是一个机器学习实战项目 附带数据 代码 文档 视频讲解 如需数据 代码 文档 视频讲解可以直接到文章最后获取 1 项目背景 贝叶斯优化器 BayesianOptimization 是一种黑盒子优化器 用来寻找最优参数 贝叶斯优化器是
  • 从枚举类型的ordinal()方法说起

    文章背景 本周有一个开发任务涉及到了枚举类型的修改 需要对枚举类型新增一项 在新增的时候我没有加在已有项的最后面 而是在中间随便找了个位置 其实也不是很随便 我是根据语义关联性觉得放在某一项后面比较合适 没想到的是 我的无心之举经造成了大
  • 安装centos 8

    安装centos 8 首先下载centos 8镜像 地址 http mirrors aliyun com centos 8 isos x86 64 这里选择了boot版本 boot版与完整版的区别是体积小 通过网络源安装 下载完成大概有70
  • Solidity与dapp开发学习记录4

    目录 函数修饰符进阶 Payable修饰符 运用 取款 Withdraws 运用 准备好设计僵尸对战 随机数 Random Numbers 通过keccak256生成随机数 此方法容易受到不诚实节点的攻击 如何在以太坊中安全地生成随机数 运
  • BASE64Encoder及BASE64Decoder的正确用法

    一直以来Base64的加密解密都是使用sun misc包下的BASE64Encoder及BASE64Decoder的sun misc BASE64Encoder BASE64Decoder类 这人个类是sun公司的内部方法 并没有在java
  • 腾讯云搭建邮局

    想在个人电脑上面搭个邮局临时用一下 没有想到宽带的端口全部被封了 25 110 143本来以为不能发就算了 收也不行了 完全没有办法用 还好腾讯云有按月开通的 先开通一个月试试 花了三十块 开了一个 轻量应用服务器 这里安全方面 没有什么要
  • 系统架构设计高级技能 · 层次式架构设计理论与实践

    现在的一切都是为将来的梦想编织翅膀 让梦想在现实中展翅高飞 Now everything is for the future of dream weaving wings let the dream fly in reality 点击进入系
  • dlopen和 dlsym的使用方式

    背景 为了把不同的逻辑解耦 一般会把各个业务封装成动态库 然后主逻辑去调用各个动态库 这里有个问题是 为什么以前我们都是通过include第三方的头文件 然后通过连接器链接动态库实现 现在却要利用dlopen呢 考虑以下情况 比如我们要用c
  • Spring Data - Spring Data JPA 提供的各种Repository接口

    最近博主越来越懒了 深知这样不行 还是决定努力奋斗 如此一来 就有了一下一波复习 演示代码都基于Spring Boot Spring Data JPA 传送门 博主的测试代码 什么是Spring Data JPA Spring Data 是
  • ubuntu配置静态IP / 重启网络

    系统 Ubuntu14 以及 Ubuntu20 04 一 ubuntu14 配置静态IP 1 找到文件 vim etc network interfaces 2 修改如下部分 interfaces 5 file used by ifup 8
  • 微信小程序定位权限怎么打开

    一 准备工作 既然要定位 那么肯定需要找到跟地图相关的功能API 查找微信开发文档 因为我们这里只是需要记录地位功能 不需要打开地图 所以只使用wx getLocation 即可 查看这个方法后 发现微信只是提供了定位的经纬度 居然没有提供
  • ROS期末复习4:Ubuntu文件管理及常用命令

    一 常用操作命令 1 文件内容显示命令 1 cat cat 选项 文件名 用来串接文件或显示文件的内容 也可以从标准输入设备读取数据并将其结果重定向到一个新的文件中 达到建立新文件的目的 选项如下 1 n 由1开始对所有输出的行数进行编号