linux文件管理类命令汇总及几个通配的查找事例

linux文件管理类命令汇总

1.文本文件查看类命令:cat,tac,more,less,tail,head

cat(tac): 正向(反向)显示

cat [OPTION]... [FILE]...

               -E:显示行结束符$
-n:对显示出的每一行进行编号

more [OPTIONS…] FILE…

特点:翻屏至文件尾部后自动退出;

-d:显示翻页及退出提示
space:向下翻页
                       Enter:向下翻一行
b,ctrl+b:向回翻页
/STRING:向下查询该字符串
q:离开

less:一页一页翻屏

less[OPTIONS...] FILE...

用法:

Space,ctrl+V  向下翻页
                       b ctrl+B 向文件首部翻屏
d ctrl+D 向文件尾部翻半屏
u ctrl+U 向文件首部翻半屏
         
           Enter :向文件首部翻一行
                   
ctrl+K :向文件首部翻一行
q: 退出
#;跳转至第#行
                      1G:回到文件首部
      G:回到文件尾部

head:查看前面#行 (默认10行)

head [OPTIONS...] [FILE...]

        -n #:指定获取前#行
-#:指定获取前#行

tail:查看后面#行(默认10行)

tail[OPTIONS...] [FILE...]

      -n #:指定获取后#行
-#:指定获取后#行
 -f:查看文件到尾部不退出,继续观察文件后续内容.

文件管理工具:cp, mv, rm

cp NAME

cp - copy files and directories

cp命令:copy 源文件;目标文件;

        单源复制:cp [OPTION]... [-T] SOURCE DEST
       多源复制:cp [OPTION]... SOURCE... DIRECTORY
      cp [OPTION]... -t DIRECTORY SOURCE...

      单源复制:cp [OPTION]... [-T] SOURCE DEST
      如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中;
      如果DEST存在:
      如果DEST是非目录文件:则覆盖目标文件;
      如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;

      多源复制:cp [OPTION]... SOURCE... DIRECTORY
       cp [OPTION]... -t DIRECTORY SOURCE...

      如果DEST不存在:错误;
      如果DEST存在:
      如果DEST是非目录文件:错误;
      如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名;

      常用选项:
      -i:交互式复制,即覆盖之前提醒用户确认;      
      -f:强制覆盖目标文件;      
      -r, -R:递归复制目录;      
      -d:复制符号链接文件本身,而非其指向的源文件;      
      -a:-dR --preserve=all, archive,用于实现归档;      
      --preserv=mode:权限
      ownership:属主和属组
      timestamps: 时间戳
      context:安全标签
      xattr:扩展属性
      links:符号链接
      all:上述所有属性

mv命令:move

mv [OPTION]... [-T] SOURCE DEST
      mv [OPTION]... SOURCE... DIRECTORY
      mv [OPTION]... -t DIRECTORY SOURCE..    

      常用选项:
      -i:交互式;      
      -f:force
   rm命令:remove
    rm [OPTION]... FILE...

    常用选项:
    -i:interactive    
    -f:force    
    -r: recursive
    删除目录:rm -rf /PATH/TO/DIR
    危险操作:rm -rf /*

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

文件权限管理类命令 chown,chgrp,umask

chown命令:

chown [OPTION]... [OWNER][:[GROUP]] FILE...    		
chown [OPTION]... --reference=RFILE FILE...    
选项:    
-R:递归修改

chgrp命令:

chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
     注意:仅管理员可修改文件的属主和属组;

umask:

文件的权限反向掩码,遮罩码; 文件: 666-umask    目录: 777-umask

注意:之所以文件用666去减,表示文件默认不能拥有执行权限;如果减得的结果中有执行权限,则需要将其加1;
  umask: 023
  666-023=644
  777-023=754

  umask命令:
  umask:查看当前umask
  umask MASK: 设置umask

  注意:此类设定仅对当前shell进程有效;

文本处理工具 wc,sort,uniq,diff,path

wc:word count wc [OPTION]… [FILE]…

                    -l: lines

                  -w:words

                   -c: bytes

cut: cut OPTION… [FILE]…

            -d   CHAR:以指定的字符为分隔符;			
           -f FIELDS:挑选出的字段;
           #:指定的单个字段
           #-#:连续的多个字段;
   #,#:离散的多个字段;

sort: sort [OPTION]… [FILE]…

                  -n:基于数值大小而非字符进行排序;		
                 -t CHAR:指定分隔符;
                 -k #:用于排序比较的字段; -
                 -r:逆序排序;
                 -f:忽略字符大小写
                 -u:重复的行只保留一份;
             

uniq:报告或移除重复的行

uniq [OPTION]... [INPUT [OUTPUT]]
-c:显示每行的重复次数;
-u:仅显示未曾重复过的行;
-d:仅显示重复过的的行;

diff:compare files line by line

diff [OPTION]... FILES

diff  /PATH/TO/OLDFILE  /PATH/TO/NEWFILE > /PATH/TO/PATCH_FILE
-u:使用unfied机制,即显示要修改的行的上下文,默认为3行;

patch:向文件打补丁

patch [OPTIONS] -i /PATH/TO/PATCH_FILE /PATH/TO/OLDFILE

patch /PATH/TO/OLDFILE < /PATH/TO/PATCH_FILE

文件内容类型查看命令:file  — determine file type

                    f: 普通文件 d: 目录文件
                   l:符号链接文件
                   b:块设备 文件
                   c:字符设备文件
                   p:管道文件
                   s:套接字文件

文件的时间戳管理工具:touch,stat

stat命令: stat – display file or file system status

stat FILE...

文件:两类数据
元数据:metadata
数据: data

时间戳:
access time:2015-12-10 16:12:22.776423693 +0800
modify time:2015-12-10 16:12:22.776423693 +0800
change time:2015-12-10 16:12:22.776423693 +0800

touch命令:
touch - change file timestamps

touch [OPTION]... FILE...
-c: 指定的文件路径不存在时不予创建; c, --no-create
                             do not create any files

-a: 仅修改access time;  无论是修改access time还是modify time,change time总会改变
-m:仅修改modify time;
-t STAMP
[[CC]YY]MMDDhhmm[.ss]      
date 设置时间时格式:date [MMDDhhmm[[CC]YY][.ss]]

2.bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示 bash的基础特性:命令的执行状态结果

命令执行的状态结果:
bash通过状态返回值来输出此结果:
成功:0
失败:1-255

命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;

bash的基础特性之:命令行展开 ~:自动展开为用户的家目录,或指定的用户的家目录;

{}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;
例如:/tmp/{a,b} 相当于 /tmp/a /tmp/b

请使用命令行展开功能来完成以下练习:

  1. (1)、创建/tmp目录下的:a_c, a_d, b_c, b_d mkdir /tmp/{a,b}_{c,d} (2)、创建/tmp/mylinux目录下的: mylinux/ ├── bin ├── boot │   └── grub ├── dev ├── etc │   ├── rc.d │   │   └── init.d │   └── sysconfig │   └── network-scripts ├── lib │   └── modules ├── lib64 ├── proc ├── sbin ├── sys ├── tmp ├── usr │   └── local │   ├── bin │   └── sbin └── var ├── lock ├── log └── run

[root@localhost ~]# mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scirpts},lib/modules,lib64,proc,sbin,sys,tmp,usr/{local,bin,sbin},var/{lock,log,run}}

4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。

文件:两类数据
元数据:metadata
数据: data

a.文件的元数据是指文件的属性、大小、创建时间、访问时间、属主属组等信息。

b.三个时间戳:

access time:访问时间,简写atime,读写文件内容

           modify time: 修改时间,mtime,改变文件内容(数据)          
           change time:改变时间,ctime,元数据发生改变    
           
c.修改文件的时间戳:touch    

       touch [OPTION]...FILE...

           -a:only atime

           -m:only mtime

不能单独修改ctime, 无论是修改access time还是modify time,change time总会改变

-s STAMP                           [[CC]YY]MMDDhhmm[.ss]

-c:如果文件不存在,则不予创建

5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果? 1.命令别名:alias

alias:显示当前shell进程所有可用的命令别名    alias NAME="VALUE":命名别名

   注意:在命令行中定义的别名,仅对当前shell进程有效,如果想永久有效,要定义配置文件

   仅对当前用户:~/.bashrc

   对所有有效:/etc/bashrc

在命令中引用另一个命令的执行结果: 通常借助管道,前一个命令的输出作为另一 个命令的输入.

[root@localhost ~]# cat /etc/passwd | wc -l

 [root@localhost ~]# 43

6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。

[root@localhost ~]# ls -d /var/l*[[:lower:]]

7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。

[root@localhost ~]# ls -d /etc/[[:digit:]]*[^0-9]

8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。

[root@localhost ~]# ls -d /etc/[^a-z][a-z]*

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

~]#touch "tfile-date +%F-%H-%M-%S"

10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。 [root@localhost ~]# mkdir /tmp/mytest1 [root@localhost ~]# cp -r /etc/p*[^0-9] /tmp/mytest1/

11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。

[root@localhost ~]# mkdir /tmp/mytest2 [root@localhost ~]# cp -r /etc/*.d /tmp/mytest2

12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

[root@localhost ~]# mkdir /tmp/mytest3 [root@localhost ~]# cp -r /etc/[1,m,n]*.conf /tmp/mytest3

原创文章,作者:oranix,如若转载,请注明出处:http://www.178linux.com/48925

(0)
oranixoranix
上一篇 2016-09-24 15:45
下一篇 2016-09-24 17:57

相关推荐

  • RAID详解

    1、什么是RAID RAID:独立硬盘冗余阵列,旧称廉价磁盘冗余阵列,简称磁盘阵列。其基本思想就是将多个相对便宜的硬盘结合起来,成为一个磁盘阵列,是性能达到甚至超过一个昂贵、容量巨大的硬盘,根据选择的版本不同,RAID比单颗硬盘有以下一个或多个方面的好处:增强数据集成度,增强容错功能,增加处理量或容量。目前应用较多的有RAID0,RAID1,RAID4,RA…

    Linux干货 2017-01-03
  • find总结及练习

    文件查找: 在文件系统上查找符合条件的文件; 文件查找:locate, find非实时查找(数据库查找):locate 实时查找:find locate: 依赖于事先构建的索引;索引的构建是在系统较为空闲时自动进行(周期性任务);手动更新数据库(updatedb); 索引构建过程需要遍历整个根文件系统,极消耗资源; 工作特点: 查找速度快; 模糊查…

    Linux干货 2016-07-22
  • 上古神器vim

    概述:     在之前的篇章中,我们介绍了一些文本的处理工具,如grep、sed、cut、sort等,但是那些工具的侧重点都在于有了现成的文本之后,对现有的文本进行一定条件的加工处理后,满足我们进一步对数据的要求。但是目前为止,还没有接触一款专业用来编辑文本的工具,本篇就来介绍一下Linux系统上自带的专业用来文本编辑…

    Linux干货 2016-08-10
  • 马哥教育网络班第19期+第8周课程练习

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥:一种网路装置,负责网路桥接,将网络的多个网段在数据链路层连接起来。 集线器:将多条以太网线或光纤集合连接在同一段物理介质下的装置。工作在物理层。 二层交换机:工作在数据链路层,交换机内部的CPU会在每个端口成功连接时,通过将MAC地址和端口对应,形成一张MAC表。在今后的通…

    Linux干货 2016-08-22
  • 马哥教育网络班22期+第5周课程练习

    1、显示当前系统上root、fedora或user1用户的默认shell; [root@localhost ~]# awk -F: '{print $1,$7}' /etc/passwd| egrep "^\<(root|fedora|user…

    Linux干货 2016-09-15
  • Linux文件管理命令和bash基础特性

    1、Linux上的文件管理命令都有哪些,其常用的使用方法及其相关示例演示  文件管理命令:mkdir,rmdir,cp,mv,rm,cat,tac,head,tail,more,less mkdir命令:   mkdir – make directories   mkdir [OPTION]… DIREC…

    2017-07-13