zoukankan      html  css  js  c++  java
  • Linux基本操作——文件相关

    一、前言

      无论是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间文件传输三部分内容。每部分中更具体的操作细节可以自行查找,网上相关的博客非常多。

  • 相关阅读:
    leetcode58. 最后一个单词的长度 🌟
    leetcode53. 最大子序和 🌟
    leetcode38. 报数 🌟
    leetcode35. 搜索插入位置 🌟
    leetcode28. 实现strStr() 🌟
    ⚠️ Python 循环列表删除元素的注意事项
    leetcode27. 移除元素 🌟
    leetcode26. 删除排序数组中的重复项 🌟
    javascript 高阶函数 currying & uncurrying
    javascript 高阶函数 实现 AOP 面向切面编程 Aspect Oriented Programming
  • 原文地址:https://www.cnblogs.com/moluoqishi/p/10783585.html
Copyright © 2011-2022 走看看