一、前言

  无论是IC工程师、FPGA工程师还是嵌入式软件工程师,都或多或少会接触到Linux操作系统。有很多EDA工具只有Linux版本,因此掌握基本的操作和常用命令十分必要。Linux中的数据均以文件形式存在,本文讲述文件和目录相关的基本操作、VIM编辑常用技巧以及利用CRT实现Windows与Linux操作系统间的文件互传。我也是初学者,暂时使用带有图形界面的ubuntu16作为测试环境。

二、文件基本操作

  Linux命令都是一个套路:命令+选项+参数。首先查看目录结构,命令:ls -l

  上图列出了目录结构以及相关的属性。我们在tmp文件夹下,新建test文件夹,并在该文件夹下做演示操作。

命令:

cd tmp     #切换目录

mkdir test1  #新建空目录

mkdir test2

cd test1

touch t1.txt  #新建文件

cd ../test2

touch t2.txt

  利用vim编辑器打开两个文件,写入一些信息。t1.txt和t2.txt内容依次是:

  有了以上两个文件,我们来试试复制、移动、删除操作。

命令:

cd test1

cp t1.txt t3.txt

ls -l

  显示结果如图:

  这时我们用vim编辑器同时打开t1.txt和t2.txt文件:

  利用VIM同时打开两个文件的方式是:先使用vim filename 打开第一个文件,之后在命令模式下输入:sp filename2 回车即可。可见t1.txt和t3.txt内容一致,复制正确。现在将test1目录下的t3.txt移动到test2目录下。

命令:

mv t3.txt ../test2 #移动文件

cd ../test2

ls -l

  test2目录下的文件列表:

  接下来把test2目录下的t2.txt中内容拷贝到t3.txt中,vim编辑器可以很轻松做到这一点。以之前同样的方法同时打开t2.txt和t3.txt后,按住ctrl后按下w,然后松开所有按键,最后按下向上箭头或向下箭头切换两个文件。

步骤如下:

ctrl+w + j切换到t2.txt

输入3yy

ctrl+w + k切换到t3.txt

光标指到最后一行

按下p完成粘贴

  所有内容都保存在t3.txt文件中了,接下来把t1.txt和t2.txt删除。

命令:

rm t2.txt #删除

rm ../test1/t1.txt

rmdir test1 #删除空目录

三、Window与Linux系统间文件互传

   一般情况下,Windows与虚拟机中安装的Linux系统是无法直接进行数据交互的,那如何相互传输文件呢?其实利用上述输入命令的CRT软件即可。CRT已经利用SSH协议实现了远程Linux服务器的加密数据交互,但想要传输文件还需要借助另一个工具:lszrz。它可以在Linux中代替ftp完成上传和下载操作。软件安装和配置我就不说了,网上教程很多。因为不能直接传输文件夹,需要生成压缩文件后传输。下边用一个demo测试下:将Windows上包含a.txt和b.txt两个文件的文件夹上传到Linux服务器,服务器端删除并新建c.txt和d.txt后传输到Windows端。

上传命令:rz  弹出文件选择对话框:

  此时在哪个路径下,文件就会传输到哪个路径下。

  首先解压该文件,完成删除替换操作后压缩。命令:unzip filename

  替换成c.txt d.txt后重新压缩该文件。

命令:

zip -r test.zip ./test

ls -l

  当前路径中已经同时存在test和test.zip两个文件。

  下载命令:sz filename

  Windows端桌面出现文件test压缩包,解压后:

  本文内容涵盖了文件基本操作、VIM编辑以及Windows和Linux间文件传输三部分内容。每部分中更具体的操作细节可以自行查找,网上相关的博客非常多。

最新文章

  1. 视频软件TurboDemo 教程:如何为视频添加旁白和音乐
  2. 【Android】YUV使用总结 —— Android常用的几种格式:NV21/NV12/YV12/YUV420P的区别
  3. Java序列化,serializable
  4. [SQL]断开并更改数据库名
  5. CodeForces 732D Exams (二分)
  6. Google镜像站更新地址
  7. Unity 5.4大赞:HTC Vive经典The lab渲染器开源
  8. RMAN常用备份恢复命令汇总
  9. SoftLayer®凭借Flex Images™消融物理与虚拟服务器之间的界线
  10. c# 如何判断字符串中相同字符串的个数 (相同字符在字符串中出现的次数)
  11. Dynamics CRM2013 6.1.1.1143版本插件注册器的一个bug
  12. 【WebAPI No.4】Swagger实现API文档功能
  13. C#反射の一个泛型反射实现的网络请求框架
  14. centos7/centos6修改系统默认语言
  15. 为什么要用dubbo,dubbo和zookeeper关系
  16. aar jar包打包
  17. io重定向打开关闭 Eclipse中c开发printf无法输出解决办法
  18. vs2010 :0X80041FEB 程序集无法修改版等内容
  19. 【JQuery】事件冒泡及使用jQuery阻止
  20. 【洛谷】P1445 没占到1444的愤怒

热门文章

  1. Map集合学习总结
  2. HTTP认证方式详解
  3. SSM-MyBatis-14:Mybatis中智能标签
  4. 配置服务器nginx 教程
  5. nodejs模板加载的问题
  6. 给xmpphp添加了几个常用的方法
  7. [SQL Server]用 C# 在 LinqPad 建立 Linked Server 跨服务器数据库操作
  8. 用beego开发服务端应用
  9. etcd_selector.go
  10. jdk源码剖析一:OpenJDK-Hotspot源码包目录结构