1 遍历目录

cd:change dicrectory的缩写

.或者./代表当前目录,..或../代表上一级目录,cd -代表进入上一次的目录。

2 文件和目录列表

ls:list的缩写,会显示目录下的文件。

用法:ls [-laFR] [dir],其中-F表示在目录后加/表示区分,-R为递归显示。

3 处理文件

3.1 创建文件touch

命令格式:touch  [-acdfmrt]  文件

命令参数:

    -a  或--time=atime或--time=access或--time=use  只更改存取时间

    -c  或--no-create  不建立任何文档

    -d  使用指定的日期时间,而非现在的时间

    -f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题

    -m   或--time=mtime或--time=modify  只更改变动时间。

    -r  把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

    -t  使用指定的日期时间,而非现在的时间

命令功能:

    touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间

使用范例:

实例一:创建不存在的文件  

     touch  a.log  b.log  一次建立了两个日志文件

3.2 复制文件cp

命令格式:cp [-ipru] [file/dir]

命令参数:

    -i   覆盖文件之前先询问

    -p  保留源文件或目录的属性,包括所有者、所属组、权限与时间

    -r  递归处理,将指定目录下的文件及子目录一并处理,通常用作复制目录

    -u  使用这项参数之后,只会在源文件的修改时间(Modification Time)较目的文件更新时,或是名称相互对应的目的文件并不存在,才复制文件

命令功能:

    cp可用于文件或者目录的拷贝

使用范例:  

    [root@leon data]# cp -p ett.xtx tte.txt   保留文件属性拷贝,并更名为tte.txt

3.3 移动或重命名文件mv

命令格式:mv [-bfiut] [file/dir]

命令参数:

    -f  force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖

    -i  若目标文件 (destination) 已经存在时,就会询问是否覆盖

    -u  若目标文件已经存在,且 source 比较新,才会更新(update)

命令功能:

    mv命令可用于修改文件或者目录的名字

使用范例:

    [root@leon data]# mv tte.txt changename.txt  修改tte.txt的名字

3.4  删除文件rm

命令格式:rm [-irf]  [file/dir]

命令参数:

    -i  进行任何删除操作前必须先确认

    -f  强制删除

    -r  递归删除

命令功能:

    rm用于删除文件,一般常和find在一起使用,这点我们在find用法中会讲到。

使用范例:

    [root@leon data]# rm -fr test/

4 处理目录

4.1  创建目录mkdir

命令格式:mkdir [-mpv] [dir]

命令参数:

    -m  mode,为目录指定访问权限,与chmod类似

    -p  如果目录已经存在,则不会有错误提示。若父目录不存在,将会创建父目录。该选项常用于创建级联目录。

    -v  为每个目录显示提示信息

命令功能:

    创建单个目录或者级联目录。

使用范例:   

    [root@leon data]# mkdir -p blog/{bin,lib,var/{etc,doc,logfile}}
    [root@leon data]# tree blog/
    blog/
    ├── bin
    ├── lib
    └── var
       ├── doc
       ├── etc
       └── logfile

4.2 删除目录rmdir

  默认情况下rmdir命令只是用来删除空目录的,非空目录的删除需要用rm -fr来递归删除,这样用的风险很大,所以一般会和find联合使用。

5 查看文件

5.1 cat命令

命令格式:cat [-nbT] [file]

命令参数:

    -n  给所有的行加上行号

    -b  只给文本加上行号

    -T  不显示制表符,用^I代替

命令功能:

    查看整个文件内容

5.2 more/less

命令功能:  

    分页显示,比cat更方便。

5.3 查看部分文件

5.3.1 tail命令

命令参数:

    -n  显示最后多少行的信息

命令功能:

    显示尾部XXX行信息

使用范例:   

    [root@leon data]# tail -n 3 a.txt 
    18
    19
    20

5.3.2 head命令

命令参数:

    同tail

命令功能:

    显示头部XXX行信息

使用范例:  

    [root@oldboy data]# head -n 3 a.txt 
    1
    2
    3

6 find查找命令

命令格式:find [路径] [参数选项]

命令参数:

    -name  按照文件名查找文件。

         find /data -name filename  在/data目录及其子目录下面查找名字为filename的文件 
         find . -name "*.sh" 在当前目录及其子目录(用“.”表示)中查找任何扩展名为“sh”的文件   

    -perm   按照文件权限来查找文件。

         find . -perm 755  在当前目录下查找文件权限位为755的文件

    -prune  使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。

         find /apps -path "/apps/bin" -prune  在/apps目录下查找文件,但不希望在/apps/bin目录下查找

    -user  按照文件属主来查找文件

         find ~ -user root  在$HOME目录中查找文件属主为sam的文件

    -group  按照文件所属的组来查找文件

    -mtime  按照文件的更改时间来查找文件

         +7:表示7天以前

         -7:最近七天

         7:第七天

    -type  按照文件类型查找

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

    -size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计

find与xargs

在使用find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs命令的用处所在,特别是与find命令一起使用。

find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。

在有些系统中,使用-exec选项会为处理每一个匹配到的文件而发起一个相应的进程,并非将匹配到的文件全部作为参数一次执行;这样在有些情况下就会出现进程过多,系统性能下降的问题,因而效率不高;而使用xargs命令则只有一个进程。另外,在使用xargs命令时,究竟是一次获取所有的参数,还是分批取得参数,以及每一次获取参数的数目都会根据该命令的选项及系统内核中相应的可调参数来确定

find删除

    [root@leon home]# find . -type f -name "*.txt" | xargs rm -f (推荐删除)

find+sed

    [root@leon data]# find . -type f -name "*.sh" | xargs sed 's/oldboy/oldgirl/g'

参考资料:

    https://www.cnblogs.com/skynet/archive/2010/12/25/1916873.html

    https://www.cnblogs.com/peida/archive/2012/11/16/2773289.html

Linux基础命令详解的更多相关文章

  1. Linux基础命令详解-3

    本篇详解的命令有以下15个 1.chown 更改文件和文件夹的用户和组所有权 2.useradd 创建一个新用户 3.userdel 删除一个用户 4.usermod 修改用户帐户 5.echo 打印 ...

  2. Linux基础命令详解-2

    本篇详解的命令有以下30个 1.rmdir 功能:删除一个空目录   2.telnet 功能:使用telnet协议连接到主机的指定端口 3.vim 功能:编辑器之神 vim三种模式的功能及其转换   ...

  3. Linux基础命令详解-1

    本篇详解的命令有以下30个 1.cd 功能:切换工作目录 参数列表     2.ls 功能:查看目录里的内容 参数列表     3.mv 功能:  移动或重命名文件和目录 参数列表     4.pwd ...

  4. linux lsof命令详解

    linux lsof命令详解 简介 lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访 ...

  5. Linux lsof命令详解和使用示例【转】

    所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接 ...

  6. [转贴]linux lsof命令详解

    linux lsof命令详解 https://www.cnblogs.com/sparkbj/p/7161669.html 简介 lsof(list open files)是一个列出当前系统打开文件的 ...

  7. Linux常用命令详解上

    Linux常用命令详解上 目录 一.shell 二.Linux命令 2.1.内部命令与外部命令的区别 2.2.Linux命令行的格式 2.3.编辑Linux命令行的辅助操作 2.4.获得命令帮助的方法 ...

  8. linux awk命令详解

    linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...

  9. linux cat 命令详解

    linux cat 命令详解 http://linux.chinaunix.net/techdoc/system/2007/11/16/972467.shtml adb shell su //这个不一 ...

随机推荐

  1. Java中的Lock与synchronized

    并发编程学习笔记之Lock与synchronized 一.什么是可重入锁 Lcok在Java中是一个接口,一般在面试问题中问到的可能是ReentrantLock与synchronized的区别.Ree ...

  2. Jmeter_beanshell实现字符串加密

    Jmeter内置的没有MD5加密方法,所以需要写一些java代码实现加密功能,以下是具体操作: 1:用eclipse建个工程(包名.类名.方法名自己起) package com.wjika.test; ...

  3. cips2016+学习笔记︱简述常见的语言表示模型(词嵌入、句表示、篇章表示)

    在cips2016出来之前,笔者也总结过种类繁多,类似词向量的内容,自然语言处理︱简述四大类文本分析中的"词向量"(文本词特征提取)事实证明,笔者当时所写的基本跟CIPS2016一 ...

  4. 微信 Tinker 的一切都在这里,包括源码

    最近半年以来,Android热补丁技术热潮继续爆发,各大公司相继推出自己的开源框架.Tinker在最近也顺利完成了公司的审核,并非常荣幸的成为github.com/Tencent上第一个正式公开的项目 ...

  5. 理解Annotation

    一.概念 Annontation是Java5开始引入的新特征.中文名称一般叫注解.它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类.方法.成员变量等)进行关 ...

  6. 硬盘GPT分区与MBR分区的转换

    如何将gpt分区更改成mbr分区? "因为笔记本电脑硬盘分区表是GPT而导致大家无法安装引导系统.需要转换为MBR分区还能顺利安装." 问题是,分区工具无法转换MBR,这里小编知道 ...

  7. Java中的空值判断

    Java中的空值判断 /** * 答案选项: * A YouHaidong * B 空 * C 编译错误 * D 以上都不对 */ package com.you.model; /** * @auth ...

  8. Django学习-19-缓存

    由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5 ...

  9. ssh_Connection reset by peer报错

    连接SSH时,产生了一下错误----->Read from socket failed: Connection reset by peer 首先查看日志 tail -f /var/log/aut ...

  10. Blending, Bootstrap

    听林轩田老师的<机器学习技法>,Lecture 7讲到model的blending. 理解了一个之前一直模棱两可的概念:bootstrap. 先说一下什么是blending.在机器学习中, ...