Linux - 目录与文件操作

news2024/11/27 20:34:59

目录

  • 1.操作目录
    • 1.1 目录切换
    • 1.2 浏览目录
    • 1.3 目录创建
    • 1.4 目录删除
    • 1.5 复制目录
    • 1.6 移动或重命名目录
  • 2. 操作文件
    • 2.1 查找文件
    • 2.2 查看文件信息
    • 2.3 查看文件内容
    • 2.4 创建文件
    • 2.5 文件修改-vim
    • 2.6 删除文件
    • 2.7 复制和重命名文件
  • 3. 文件或目录进行压缩或解压
    • 3.1 压缩
    • 3.2 解压

1.操作目录

1.1 目录切换

  • cd /home 进入 ‘/ home’ 目录。
  • cd / 进入根目录
  • cd .. 返回上一级目录。
  • cd ../.. 返回上两级目录。
  • cd 进入个人的主目录。
  • cd ~ 进入个人的主目录。
  • cd - 返回上次所在的目录。

1.2 浏览目录

  • pwd 显示工作路径。
  • ls 查看目录中的文件。
  • ls -F 查看目录中的文件。
  • ls -l 显示文件和目录的详细资料。
  • ls -a 显示隐藏文件。
  • ls *[0-9]* 显示包含数字的文件名和目录名。
  • tree 显示文件和目录由根目录开始的树形结构。
  • lstree 显示文件和目录由根目录开始的树形结构。

1.3 目录创建

  • mkdir dir1 创建一个叫做 ‘dir1’ 的目录。
  • mkdir dir1 dir2 同时创建两个目录。
  • mkdir -p /tmp/dir1/dir2 创建多层目录

1.4 目录删除

  • rmdir dir1 删除一个叫做 ‘dir1’ 的目录。
  • rm -rf dir1 删除一个叫做 ‘dir1’ 的目录并递归删除目录中的子目录与文件。
  • rm -rf dir1 dir2 同时删除两个目录及它们的内容。
  • rm -ri dir1:在删除前询问是否确认删除

1.5 复制目录

  • cp dir/* . 复制一个目录下的所有文件到当前工作目录。
  • cp -a /tmp/dir1 . 复制一个目录到当前工作目录。
  • cp -a dir1 dir2 复制 dir1 到 dir2 。
  • cp -r [目录1] [目录2] 递归复制目录1下的所有的文件和文件夹到目录2。
  • cp -ri [目录1] [目录2 执行复制操作时覆盖原有目录前询问用户

1.6 移动或重命名目录

  • mv dir1 new_dir 重命名/移动 一个目录。

2. 操作文件

2.1 查找文件

  • find / -name file1 从 ‘/’ 开始进入根文件系统搜索文件和目录。
  • find / -user user1 搜索属于用户 ‘user1’ 的文件和目录。
  • find /home/user1 -name \*.bin 在目录 ‘/ home/user1’ 中搜索带有’.bin’ 结尾的文件。

2.2 查看文件信息

  • stat file1 查看文件创建/修改时间’Change’的值。
  • du -h 文件名 查看文件大小。

2.3 查看文件内容

  • cat -n file1 从第一个字节开始正向查看文件的全部内容,并显示行号。
  • tac file1 从最后一行开始反向查看一个文件的内容。
  • head -2 file1 查看一个文件的前两行。
  • tail -2 file1 查看一个文件的最后两行。
  • tail -f /var/log/file1 实时查看被添加到一个文件中的内容。
  • tail -f -n 100 日志文件名 实时查看最新的100行内容。
  • tail -n500 -f ./file.log | grep "exception" 查询500行日志信息,并查询正在改变的日志信息,并使用管道符进行过滤(例如过滤异常信息)。
  • wc -l file1 查看文件行数。

2.4 创建文件

  • touch file1.txt 创建一个文件。
  • echo "hello shyu" > shuyu.txt 创建一个文件并写入"hello shuyu"。

2.5 文件修改-vim

老街头的猫。

基础操作:

  • vim file1 进入file1文件编辑页面,默认为“命令模式”。
  • i 进入编辑模式。
  • ESC 从编辑模式切换至命令模式。
  • : 切换到底线命令模式,在最底一行输入命令。

底线命令模式下:

  • /word 向光标之下寻找一个名称为 word 的字符串。
  • ?word 向光标之上寻找一个字符串名称为 word 的字符串。
  • n 重复前一个搜寻的动作。
  • :n1,n2s/word1/word2/g 在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2,例如::100,200s/shuyu/SHUYU/g
  • :w 将编辑的数据写入硬盘档案中(常用)。
  • :w! 若文件属性为『只读』时,强制写入该档案。
  • :q 离开 vi (常用)。
  • :q! 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
  • :wq 保存并退出。

2.6 删除文件

  • rm -f file1 删除一个叫做 file1’的文件

2.7 复制和重命名文件

  • mv file1 new_file 重命名/移动 一个文件
  • cp -a /tmp/file . 复制一个文件到当前工作目录
  • cp -a file1 file2 复制一个文件

3. 文件或目录进行压缩或解压

3.1 压缩

  • tar -zcvf filename.tar.gz filename:将 filename 压缩为 .tar.gz 格式的包
  • tar -zcvf filename.tgz filename:将 filename 压缩为 .tar 格式的包
  • tar -jcvf filename.tar.bz2 filename:将 filename 压缩为 .tar.bz2 格式的包
  • zip filename.zip filename:将 filename 压缩为 .zip 格式的包
  • zip -r file1.zip file1 file2 dir1:将几个文件和目录同时压缩成一个zip格式的压缩包
  • gzip -d filename.gz filename:将 filename 压缩为 .gz 格式的包
  • rar -a filename.rar filename:将 filename 压缩为 rar 格式的包
  • rar a file1.rar file1 file2 dir1:同时压缩 ‘file1’, ‘file2’ 以及目录 ‘dir1’

3.2 解压

  • tar -tf archive.tar:显示一个包中的内容
  • tar -xvf filename.tar -C /tmp:解压一个 tar 格式压缩包到/tmp目录下
  • tar -zxvf filename.tar.gz:解压一个 tar.gz 格式压缩包到当前文件
  • tar -zxvf filename.tgz:解压一个 tgz 格式压缩包到当前文件
  • tar -jxvf filename.tar.bz2:解压一个 tar.bz2 格式压缩包到当前文件
  • tar -xZvf filename.tar.Z:解压一个 tar.Z 格式压缩包到当前文件
  • unrar e filename.rar:解压一个 rar 格式压缩包到当前文件
  • unrar x filename.rar [path]:解压一个 rar 格式压缩包到指定路径
  • unzip filename.zip -d [path]:解压一个 zip 格式压缩包到指定路径
  • xz -d filename.tar.xz > tar -xvf filename.tar:解压一个 tar.xz 格式压缩包到当前文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/153351.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

链路追踪工具之Zipkin

Zipkin是一个分布式跟踪系统,Zipkin的设计是基于谷歌的Google Dapper论文,它可以帮助收集时间数据,在microservice架构下,通过链路追踪,可以便捷的分析服务调用延迟问题。每个应用程序向Zipkin server端报告数据&#…

【高光谱、多光谱和全色图像融合】

HyperFusion: A Computational Approach for Hyperspectral, Multispectral, and Panchromatic Image Fusion (超融合:高光谱、多光谱和全色图像融合的计算方法) 高空间分辨率的高光谱图像(HSI)和多光谱图像&#xff…

链表热门面试题(二)

目录前言一、删除链表的倒数第 N 个结点二、两两交换链表中的节点三、旋转链表四、删除排序链表中的重复元素五、删除排序链表中的重复元素 II六、反转链表II七、删除链表中的节点八、奇偶链表前言 一、删除链表的倒数第 N 个结点 题目: 方法1:找到删除…

【Java多线程】创建多线程方式一

线程的创建和启动 *Java语言的JVM允许程序运行多个线程,它通过java.lang.Thread类来体现。 *Thread类的特性 每个线程都是通过某个特定Thread对象的run()方法来完成操作的,经常 把run()方法的主体称为线程体 通过该Thread对象的start()方法来启动这个…

判断两条线段是否相交

参考链接: 1 2 一、判断线段是否相交需要下面两步: (1)快速排斥实验 (2)跨立实验 二、第一步快速排斥实验 对上图两条L1,L2线段来说,L1 x的最大值为d端点x5,L2 x的最小值为a端点x…

RobotFramework环境安装和入门

环境安装1、安装python建议版本3.7,Robot Framework不支持python最新版。 可以通过以下地址下载https://www.python.org/ftp/python/3.7.3/python-3.7.3-amd64.exe安装过程中选择添加到环境变量。2、安装Robot Framework以及所需组件注意各个组件的版本号&#xff0…

LVGL学习笔记15 - 文本框TextArea

目录 1. Parts 2. 样式 2.1 修改背景bg 2.2 修改边界border 2.3 修改文本 2.3.1 lv_textarea_add_char 2.3.2 lv_textarea_add_text 2.3.3 lv_textarea_set_text 2.3.4 设定可输入的字符 2.3.5 删除字符 2.3.6 设定字符串最大长度 2.4 滚动条 2.4.1 滚动方向 2.4.2 …

RHCE学习笔记-133-1

RH133-01 installation 光盘引导后,在提示符下输入:linux askmethod 可以支持:local cdrom,hard drive,nfs image,ftp,http方式 cpu on x86 2个物理超线程CPU 使用smp or hugemem kernel可以支持 32个物理cpus 内存 标准x86 kernel 4G smp i686/athlon kernel 16G hugemem SMP …

创建新分支,基于某一分支创建新分支,git push --set-upstream origin

背景: 基于hcc1.2的开发分支拉去hcc_hotfix_1.2.0分支,解读:在仓库中基于某个分支,创建一个新的分支 做法(解决): 1、第一步:git branch hcc_hotfix_1.2.0 2、第二步:g…

葡萄城邀您参与「表格技术开发者新年分享会」,共话表格技术新未来!

数据资产是企业最重要的资产之一,表格也是企业最普遍的数据整理手段。在数字经济时代,各行业飞速发展,拥抱数字化、进行数字化升级已成为大势所趋,企业对协同办公、大数据分析、表格智能化应用等领域的需求也呈爆发式增长&#xf…

GrapeCity Documents Image Viewer JavaScript Crack

GrapeCity Documents Image Viewer 是跨平台 JavaScript 图像查看器 允许用户使用我们的 JavaScript 图像查看器在您的 Web 应用程序中查看和编辑图像。采集 by Ω578867473 支持多种图像格式 适用于所有现代浏览器和框架,包括 Edge、Chrome、Firefox、Opera、Saf…

【UE4 第一人称射击游戏】33-创建一个小地图

上一篇:【UE4 第一人称射击游戏】32-添加击杀AI的提示功能(使用到控件蓝图的动画功能)本篇效果:可以看到左上角完成了小地图的制作步骤:打开名为“FPSHUD”的控件蓝图,拖入一个图像控件,表示迷你…

Diffusion 和Stable Diffusion的数学和工作原理详细解释

扩散模型的兴起可以被视为人工智能生成艺术领域最近取得突破的主要因素。而稳定扩散模型的发展使得我们可以通过一个文本提示轻松地创建美妙的艺术插图。所以在本文中,我将解释它们是如何工作的。 扩散模型 Diffusion 扩散模型的训练可以分为两部分: 正向扩散→在图…

输出全排列(C++版)

目录 输出全排列 一、问题描述 二、运行环境说明 ​三、代码段 四、效果展示 输出全排列 备注:大二(上)数据结构课程设计A题 一、问题描述 请编…

我是如何利用cps平台赚钱的?

你好,我是你们熟悉而又陌生的好朋友梦龙,一个创业期的年轻人 今天跟你做个分享,众所周知互联网是一块非常大的蛋糕,几位互联网巨头也做不到完全吃透,这次梦龙给你分享的是实际的经验,实际的案例分享。 最开…

Spring存储和读取对象 -- 2

Spring存储和读取对象 -- 2前言一、存储 Bean 对象1.1 前置工作:配置扫描路径 (重要)1.2 添加注解存储 Bean 对象1.2.1 五大类注解Bean 命名规则1.2.2 方法注解 BeanBean 命名规则与重命名二、获取 Bean 对象 (对象注入)2.1 属性注入优点分析缺点分析2.2 Setter 注入…

如何在Jetbrain Rider中使用EntityFrameWork (Core) 命令行,如添加迁移和更新数据库

在Visual Studio中,EntityFrameWork命令如Add-Migration和Update-Database通常在包管理器控制台中运行。这在Visual Studio中工作得很好,但不幸的是,它不是可移植的。这些命令是基于powershell的,并且包管理器控制台绑定了Visual …

开源的文档型数据库--MongoDB(安装)

1、简介 MongoDB 是一个开源的、文档数据库管理系统。它提供了高性能、高可扩展性和高可用性。 MongoDB 使用了一种称为 BSON 的二进制形式的 JSON 来存储数据。这使得 MongoDB 可以轻松地存储各种数据类型,包括大型对象和二进制文件。 MongoDB 的一个重要特性是它的…

多线程1.

多线程1 1.如果想对地址空间的堆区做更细腻化的空间管理,怎么办? 搞一个vim_area_struct,他是一个双向链表。每一个节点是一块堆区空间,用链表串起来。 2.如何管理物理内存? 设定一个数据结构,如&#x…

电子会议桌牌

产品特色: 低功耗,常规使用3-5年电池寿命支持空中唤醒,刷新快速,几秒钟内看到结果点阵电子纸屏幕,视角接近180基于Web的应用界面,支持跨平台操作安装简单,快速布置电池供电不需要布线双面显示&…