热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

(一)linux基础(2)

(一)Linux基础(2)1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。Linux上的文件管理类命令有:cp.mv,rm2、使用命令行展开功能,创建t
(一)Linux基础(2)
  • 1、Linux上的文件管理类命令

    Linux上的文件管理类命令有:cp,mv,rm.

    (1)、cp命令: copy
    源文件:目标文件;

        cp - copy files and directories
    
    单源复制: cp [OPTION]... [-T] SOURCE DEST
         多源复制: cp [OPTION]... SOURCE... DIRECTORY
                        cp [OPTION]... -t DIRECTORY SOURCE...
    
    A、单源复制: cp [OPTION]... [-T] SOURCE DEST
                   如果DEST不存在,则事先创建此文件,并复制源文件的数据流至DEST中;
                   如果DEST存在:
                   如果DEST是非目录文件;则覆盖目标文件;
                   如果DEST是目录文件:则现在DEST目录下创建一个与源文件同名的文件,并复制其数据流;
    
    B、多源复制
                    cp [OPTION]... SOURCE... DIRECTORY
                    cp [OPTION]... -t DIRECTORY SOURCE...
    
                  如果DEST不存在:错误;
                  如果DEST存在:
                       如果DEST是非目录文件: 错误;
                       如果DEST是目录文件: 分别复制每个文件至目标目录中,并保持原名;
    
      常用选项
           -i: 交互式复制,即覆盖之前提醒用户去人;
           -f: --force 强制覆盖目标文件; 
           -r,-R: 递归复制目录;
           -d: 复制符号链接文件本身,而非其指向的源文件;
           -a:-dR --preserve=all,archive,用于实现归档;
           --preserv=
                 mode:权限
                 ownership:属主和属组
                 timestamps:时间戳
                 context:安全标签
                 xattr:扩展属性
                 links: 符号链接
                 all: 上述所有属性

    (2)、mv命令

    ? 用法和cp命令类似

    ? mv命令:move mv - move (rename) files

        命令格式:
    
                mv [OPTION]... [-T] SOURCE DEST
                mv [OPTION]... SOURCE... DIRECTORY
                mv [OPTION]... -t DIRECTORY SOURCE...
    
        源文件和目标文件再同一个目录下,即重命名
            常用选项:
                -i:交互式
                -f:force

    (3)、rm命令: remove

    命令格式:rm [OPTION]... FILE...

    常用选项:

    ? -i: interactive 交互式

    ? -f: force 强制

    ? -r: recursive 递归

    删除目录:rm -rf /PATH/TO/DIR

    危险操作: rm -rf /*

    注意:在生产环境中,所有不用的文件建议不要直接删除,而是移动至某个人专用目录;(模拟回收站)

  • 2、bash的基础特性:命令行展开

    ~:自动展开为用户的家目录,或指定的用户的家目录;

    {}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;

    实战:

    使用命令行展开功能

    1、创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,

    2、在/tmp目录下创建目录:x_y, x_z, q_y, q_z

    [root@bogon tmp]# mkdir -pv /tmp/{a1/{a,b},a2}
    mkdir: 已创建目录 "/tmp/a1"
    mkdir: 已创建目录 "/tmp/a1/a"
    mkdir: 已创建目录 "/tmp/a1/b"
    mkdir: 已创建目录 "/tmp/a2"
    [root@bogon trash]# mkdir -v /tmp/{x,q}_{y,z}
    mkdir: 已创建目录 "/tmp/x_y"
    mkdir: 已创建目录 "/tmp/x_z"
    mkdir: 已创建目录 "/tmp/q_y"
    mkdir: 已创建目录 "/tmp/q_z"
  • 3、什么是文件的元数据

    对Linux文件系统来讲,每个文件都由两类数据组成:

    ? 元数据:metadata

    ? 数据:data

    数据是是文件的内容,而元数据是文件的属性信息,我们可以用stat命令来查看文件的元数据

    (1)、stat命令:
    stat - display file or file system status

    命令格式: stat FILE...

    [root@bogon ~]# stat /tmp/hi.txt 
    File: ‘/tmp/hi.txt’
    Size: 23            Blocks: 8          IO Block: 4096   regular file
    Device: fd00h/64768d  Inode: 67309026    Links: 1
    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
    Context: unconfined_u:object_r:user_tmp_t:s0
    Access: 2019-04-04 17:53:48.707013568 +0800
    Modify: 2019-04-04 17:53:48.707013568 +0800
    Change: 2019-04-04 17:53:48.707013568 +0800
    Birth: -
元数据信息 解释说明
File 文件名
size 文件的大小
blocks 占用block的数量
io block block总大小为4096
regular file 定义文件类型-常规文件
Device 设备编号的十六进制和十进制
Inode 文件的Inode值
Links 文件的硬链接数
第一个Access 文件的权限
Context 注释信息
Access 访问时间
Modify 修改时间
Change 改动时间

? 状态信息有三个时间戳:

? access time:访问时间,atime即:通过cat,more等读取其内容的最近一次时间

? modifiy time: 修改时间,mtime即:改变文件内容的时间

? change time: 改变时间,ctime:即元数据发生改变的时间

? 修改文件的时间戳信息使用touch命令

? (2)、touch命令

    touch - change file timestamps   

     touch [OPTION]... FILE...         (如果touch的文件不存在默认会创建一个空文件)
            -c: 指定的文件路径不存在是不予创建
         -a:仅修改access time
            -m:仅修改modify time
            -t STAMP
            use [[CC]YY]MMDDhhmm[.ss]   instead of current time

? PS:change time是无法指定修改的,他随元数据发生改变而随之改变

  • 4、命令引用

    bash的基础特性: 引用
    强引用: ‘‘ ---其内部的任何字串直接显示
    弱引用: "" ---变量中所存储的值作变量替换显示出来
    命令引用: ``或$()

    举例:在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22

    [root@localhost ~]# touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)
    [root@localhost ~]# ls /tmp | grep tfile
    tfile-2019-04-06-16-54-51
  • 5、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中

    [root@localhost ~]# mkdir /tmp/mytest1
    [root@localhost ~]# cp -r /etc/p*[^0-9] /tmp/mytest1
    [root@localhost ~]# ls -F /tmp/mytest1/
    pam.d/  passwd  passwd-  pbm2ppa.conf  pinforc  pki/  plymouth/  pm/  pnm2ppa.conf  popt.d/  postfix/  ppp/  prelink.conf.d/  printcap  profile  profile.d/  protocols  pulse/  purple/  python/
  • 6、用户和组管理类命令的使用方法

    练习:创建用户tom,指定UID为5001,指定家目录为/tmp/tom, 指定shell为/bin/zsh, 指定基本组为tom,附加组为jack

    [root@localhost ~]# groupadd jack
    [root@localhost ~]# groupadd tom
    [root@localhost ~]# useradd -u 5001 -d /tmp/tom -s /bin/zsh -g tom -G jack tom

(一)linux基础(2)


推荐阅读
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • IT方面的论坛太多了,有综合,有专业,有行业,在各个论坛里混了几年,体会颇深,以前是论坛哪里人多 ... [详细]
author-avatar
山寨西域刀羊_281
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有