首页 > 系统相关 > 管理文件和目录4(Ubuntu)

管理文件和目录4(Ubuntu)

时间:2023-08-17 14:33:41浏览次数:35  
标签:文件 重定向 输出 管理文件 标准 ls Ubuntu 目录 输入

一:确定文件类型

  使用file命令可以确定文件的类型。在Linux中文件的扩展名(后缀)并不能道标文件的类型,因此在你打开一个文件之前,需要确定这个文件的类型。对于长度为0的文件file命令将识别为空文件。

  格式: file [选项] 文件名或者目录名

file命令常见的选项如下表:

选项

说明

-b

显示文件的类型信息,不显示文件的名称

-L

显示符号链接所指向文件的类型

-z

显示压缩文件的信息

-v

显示版本信息

-c

显示详细的指令过程

  一般情况下,我们相查看一个文件或目录的类型,直接使用file命令指定文件名或者目录名即可,结果会显示这个文件的具体类型。

演示截图如下:

  

                                                      管理文件和目录4(Ubuntu)_标准输出

上图是查看根目录/bin 和其目录下的apg文件。显示/bin是symblic link to usr/bin。apg是POSIX shell script, ASCII text executable。

二:重定向

  重定向对于数据的存储很有用。在下面,我们先介绍几个名词。

  •  标准输入:接收输入的命令信息。
  •  标准输出:正确执行命令后返回的信息。
  • 标准错误输出:执行错误命令后返回的错误信息。

  通常情况下,标准输入指向键盘,标准输出指向显示器。控制从何处接收输入以及在何处执行输出的功能称为输入/输出控制(I/O控制),通过数据流控制输入和输出。

  所有处理文件内容的命令都是从标准输入读入数据,并将输出结果写到标准输出。

下面来进行一下演示:

  

                                                      管理文件和目录4(Ubuntu)_标准输出_02

上面演示的是ls明令就是标准输入,ls命令的返回结果是正确的,下一行就是标准输出。你再看执行ls file1时,由于桌面下不存在file1,执行结果有错误提示,这就是标准错误输出,

   重定向就是把数据重新定向存储到其他的地方。

  •   输入重定向(<或<<): 可以让程序从一个文件中获取输入,也就是将原本可以从键盘输入的数据改成由文件内容替换。<<表示结束输入的字符,在输入结束之后,输入<<右侧的字符会结束这次的输入。
  •   输出重定向:(>或>>): 用于把程序的输出转移到另外一个地方。如果输出重定向的文件不存在,那么输出重定向符号>会建立这个文件;如果文件存在,就会删除原来文件中的内容,用新内容来替代。在保留原来文件内容得基础上添加内容,可以使用>>,这种方式会在原文件的内容的后面添加新的内容。

    shell创建的进程都会和文件描述符打交道,这个文件描述符是一个非负整数,是Linux系统内部使用的一个文件代号。文件描述符可以决定从哪里读入命令所需的输入和将命令产生的输出及错误显示送到什么地方。其中标准输入的文件描述编号是0,标准输出是1,标准错误输出是2.

  三:重定向的例子

(1)将当前目录下的文件列表存储到文件中。执行ls >file4可以将当前test1下的所有文件和子目录存储到文件当中,这种方式和ls > file1的结果相同。

                                                      管理文件和目录4(Ubuntu)_标准输出_03

(2) 在文件ile4中追加了新内容,如下图演示所示:。执行ls  /bin>>file4可以将/bin目录下的文件和子目录添加到文件file4中并保存,使用>>之后会在原来内容的基础上添加新的内容。

                                                      管理文件和目录4(Ubuntu)_标准输入_04

(3) 将标准输出和标准错误输出都会存储在同一个文件中,如下面所示:这种情况就要借助特殊符号来实现效果了,可以使用&>或者>&。执行ls FileA file2 &>file5,标准输出和错误输出都会存储在文件file5中。由于文件fileA不存在,所以会产生标准错误输出。

                                                      管理文件和目录4(Ubuntu)_重定向_05

标签:文件,重定向,输出,管理文件,标准,ls,Ubuntu,目录,输入
From: https://blog.51cto.com/u_15912723/7122394

相关文章

  • ubuntu虚拟机git环境配置
    1 ssh-keygen-trsa-C‘git注册的邮箱’  //记得改成自己的注册git的邮箱 2 把公钥黏贴到http://git.software.team/profile/keys页面中的大框中3本地配置全局用户名和用户Email gitconfig--globaluser.email"[email protected]"gitconfig--globaluser.n......
  • linux查看当前目录大小
    参数解释-a :列出所有的文件与目录容量,因为默认仅统计目录的容量而已-h:以人们较易读的容量格式呈现(G/M/K)显示,自动选择显示的单位大小-s :列出总量而已,而不列出每个个别的目录占用容量-k :以KB为单位进行显示-m :以MB为单位进行显示常用命令参考查看当前目录大小[plain]......
  • ubuntu 修改网络 静态IP
    network:version:2renderer:networkdethernets:##可以ipa查看以太网连接名称eth0:dhcp4:nodhcp6:no##addresses添加网络掩码,如192.168.56.3/24addresses:-192.168.38.105/24routes:-to:defaul......
  • Java如何检查文件是目录还是文件?
    开发过程中经常会遇到读取文件内容的情况,需要判断文件是否为文本文件,及文件编码格式,防止无法读取内容或乱码出现情况。我们可以通过java.io.File类包找出文件是目录还是常规文件。java.io.File类包含两种方法,它们分别是:• isFile():如果文件存在并且是常规文件,则此方法返回true;如......
  • Ubuntu安装xar命令
    下载xar源码包wgethttps://github.com/mackyle/xar/archive/refs/tags/xar-1.6.1.zip安装编译依赖包apt-getinstallautoconfautomakelibtoolzlib1g-devmakezlib-devel开始编译安装#解压unzipxar-1.6.1.zip#进入xar安装cdxar-xar-1.6.1/xar#编译......
  • Ubuntu18.04 切换内核版本
    安装内核sudosed-i'$a\debhttps://mirrors.ustc.edu.cn/ubuntu/bionic-proposedmainrestricteduniversemultiverse\​deb-srchttps://mirrors.ustc.edu.cn/ubuntu/bionic-proposedmainrestricteduniversemultiverse\'/etc/apt/sources.listsu......
  • 管理文件和目录3之查
    (1)cat命令 这个命令可以从文件内容的第一行显示,以只读的方式显示整个文件的内容。语法:cat[选项]文件名cat命令的主要功能就是将文件的内容连续的输出在屏幕上,搭配选项可以实现各种不同的结果。如下表所示选项说明-b将文件中的所有的非空行按顺序从第1开始编号-n将行号分配给......
  • spring-boot静态资源目录配置
    spring-boot静态资源目录配置spring-boot静态资源默认为/src/main/resources下的/static目录,可以通过application.properties的server.servlet.context-path属性配置如:server.servlet.context-path=/public......
  • cuda 卸载和安装指定(Ubuntu)
    问题:安装apex的时候发现pytorch的cuda版本和机器上cuda版本不一致,导致报错解决方案:卸载cuda并重新安装指定版本的cuda(卸载12.0版本,安装11.7版本)解决过程:1.卸载旧版cuda参考网站:HowtoCompletelyRemoveCUDAfromUbuntu|SaturnCloudBlog然后重启电脑2.安装新的版本......
  • Linux下查看根目录各文件内存占用情况
    一、服务器运行一点时间后各种的项目文件,日志文件,数据库备份登,会越来越多,在linux下可以使用du和df命令查看。1、df-h 命令查看整体磁盘使用情况2、 使用 du-ah--max-depth=1  /  可以查看根目录下各个文件占用情况 使用命令du-h–max-depth=1/var/log......