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
下一篇 2016-09-24

相关推荐

  • CentOS6 ELK实现

    1 简介 我们来介绍Centos6.5基于SSL密码认证部署ELK(Elasticsearch 1.4.4+Logstash 1.4.2+kibana3),同时为大家介绍如何集合如上组件来收集日志,本章的日志收集主要为大家介绍SYSTEM日志收集. 集中化日志收集主要应用场景是在同一个窗口临时性或永久性鉴定分析系统,应用等各类日志,对用户提供极大便…

    Linux干货 2017-05-17
  • bash数据类型探秘

    数组 变量:存储单个元素的内存空间数组:存储多个元素的连续的内存空间,相当于多个变量的在调用变量时最好加双引号,对于字符串中含有空格等字符的能更好的调用集合。数组名和索引索引:编号从0开始,属于数值索引( 偏移量从默认0开始 )注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引, bash4.0版本之后开始支持。bash的数组支持稀疏格式(索引…

    Linux干货 2016-08-24
  • shell的基本使用

    小知识: 在bash环境中变量有各自的范围,有些的变量无法超出自己本身的范围,也无法更改自己, 或提升自己的能力范围 用source命令执行脚本,会对里面的变量发生改变包括范围 例:命令行中写name=wang 脚本中写name=xdg  先命令行,再脚本,最后命令行的顺序依次执行 1.正常的执行脚本 ./file.sh  输出的结果: …

    Linux干货 2017-08-05
  • gzip压缩算法

    gzip,zlib,以及图形格式png,使用的是同一个压缩算法deflate。我们通过对gzip源码的分析来对deflate压缩算法做一个详细的说明: 第一,gzip压缩算法基本原理的说明。 第二,gzip压缩算法实现方法的说明。 第三,gzip实现源码级的说明。 1. Gzip压缩算法的原理      &n…

    Linux干货 2015-07-30
  • 马哥教育网络班22期+第1周课程练习

    1.描述计算机的组成及其功能。    组成:CPU (运算器+控制器),存诸器(内存与硬盘),输入设备,输出设备。    运算器:对数据进行加工处理的部件(包括算述运算与逻辑运算)。    控制器:负责从存储器取出指令,按指令的要求发出控制信号,使各部件协调的,一步步的完成各种操作。   …

    Linux干货 2016-08-22
  • net25-第17周作业

    1、结合图形描述LVS的工作原理; lvs-nat模型,相当于多目标的dnat,通过将请求报文中的目标地址和目标端口修改为调度出的rs的rip和port来实现转发,整个请求如下: cip -> vip -> vs(nat转换) -> rip  请求 rip -> dip(默认网关) -> vs(nat转换) ->…

    Linux干货 2017-05-15