zoukankan      html  css  js  c++  java
  • 一、linux基础-对文件操作

    1.1文件夹创建-复制-移动-重命名-删除
    1、创建文件夹
    mkdir zjbdir  

    2、复制文件/文件夹
    复制文件到:当前目录
    cp -r zjbdir  zjbdir201600819
    复制文件到:当前目录下的putdir/dirson目录中
    cp -r zjbdir  ./putdir/dirson
    复制文件到:指定目录下
    cp -r zjbdir  /home
    备注:-r 递归复制命令(复制子目录信息)

    3、文件/文件夹移动(即在当前目录下将文件删除了)
    移动文件到:当前目录
    mv zjbdir201600819 zjbdir_bak
    移动文件到:当前目录下的putdir/dirson目录中
    mv zjbdir  ./putdir/dirson
    移动文件到:指定目录下
    mv zjbdir201600819 ./putdir/dirson
    多文件移动:同目录下将 anti1、anti2 文件同时移动到 anti-release文件中    
    mv anti1 anti2 -t anti-release

    4、文件/文件夹重命令
    mv zjbdir201600819  zjbdir20180622

    5、删除文件/文件夹:  rm    删除和目录(删除之后则无法恢复)
    删除文件目录:fileDirName
    rm  fileDirName
    rm: cannot remove directory `fileDirName': Is a directory   提示无法删除
    删除空文件目录:fileDirName
    rm -r fileDirName
    rm: remove directory `fileDirName'?  必须输入y 之后才能真正删除
    删除非空文件目录:fileDirName    r 递归  f 强制
    rm -rf fileDirName
    删除所有内容(包括目录和文件)
    rm -i ceshi.zip     rm: remove regular file `ceshi.zip'?  必须输入y 之后才能真正删除

    1.2文件创建-编辑-打包和解包-压缩和解压
    1、创建文件Hello.java
    touch Hello.java

    2、linux下进行文件的编辑
    vi Hello.java 回车
        输入i [进入插入模式]
        public class  Hello{
            public static void main(String []args){
                System.out.println("helloworld");
            }
        }
        输入esc键 (是退出编辑模式)
        输入:wq(保存退出)
        输入:q!(退出,但是不保存)
        : 表示进入命令模式
    3、打包和解包
    打包语法:tar cvf FileName.tar DirName1 Filename1 …      备注:tar是打包,不是压缩!
    示例:tar cvf all.tar fileDir  fileName  Hello.java  weblogic12    生成all.tar文件
    解包语法:tar xvf FileName.tar    解包后原始文件FileName.tar仍存在
    示例:tar xvf all.tar    

    4、压缩和解压
    压缩:gzip FileName(只能对单一文件压缩)
    示列:gzip all.tar  -->生成all.tar.gz文件
    解压方法1:gzip -d FileName.gz    解包后原始文件FileName.gz 消失
    示列:gzip -d all.tar.gz        生成:all.tar文件,而原来的all.tar.gz文件消失
    解压方法2:gunzip FileName.gz    解包后原始文件FileName.gz消失
    示例:gunzip all.tar.gz        生成:all.tar文件,而原来的all.tar.gz文件消失

    1.3文件/文件内容查看-筛选
    1.3.1 more命令(带分页显示查看文件内容)
    more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。more名单中内置了若干快捷键如下:
        Space键:显示文本的下一屏内容,即往下翻页
        Ctrl+pageup键:往上翻页
        Ctrl+pagedown键:往下翻页    
        B键:显示上一屏幕内容
        Q键:退出more命令
    该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:--More--(XX%)

    语法:more 选项 文件名
    -<数字>:指定每屏显示的行数;
    -d:显示“[press space to continue,'q' to quit.]”和“[Press 'h' for instructions]”;
    -c:不进行滚屏操作。每次刷新这个屏幕;
    -s:将多个空行压缩成一行显示;
    +<数字>:从指定数字的行开始显示;
    示例:
    1)more  ENTITYSimpleAll.xml
    2)more -dc ENTITYSimpleAll.xml
    显示文件ENTITYSimpleAll.xml的内容,但在显示之前先清屏,并且在屏幕的最下方显示完核的百分比
    3) more -c -10 ENTITYSimpleAll.xml
    显示文件ENTITYSimpleAll.xml的内容,每10行显示一次,而且在显示之前先清屏

    1.3.2 grep命令(搜索显示查看文件内容)
    grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来
    语法:grep 选项 文件名
    示例:文件中内容查询
    1)    grep -n  "所要查询的内容"  文件的名字      
    效果:会显示出来你所要查找的内容在第几行
    [root@ODSDEVDB01 entitySimpleDesc]# grep -n "1123030" ENTITYSimpleAll.xml
    37:698:<entity id="1123030" version="20170110143551">
    2)grep -n  "所要查询的内容"  文件的名字1  > 文件的名字2    
    效果:会把在表1中查找出来的所查询出来的内容以及行数显示在文件2中
    [root@ODSDEVDB01 entitySimpleDesc]# grep -n "1123030" ENTITYSimpleAll.xml > 1123030Show.txt
    more 1123030Show.txt
    3)在多个文件中查找:
    grep "match_pattern" file_1 file_2 file_3 ...
    4)输出除之外的所有行 -v 选项:
    grep -v "match_pattern" file_name
    5)统计文件或者文本中包含匹配字符串的行数 -c 选项:
    grep -c "20170411123030 " 1123030Show.txt
    6)输出包含匹配字符串的行数 -n 选项:
    grep "text" -n file_name 或 cat file_name | grep "text" -n
    #多个文件
    grep "text" -n file_1 file_2
    7)搜索多个文件并查找匹配文本在哪些文件中:
    grep -l "text" file1 file2 file3...
    8)在多级目录中对文本进行递归搜索:
    grep "text" . -r -n
    # .表示当前目录
    9)忽略匹配样式中的字符大小写:
    echo "hello world" | grep -i "HELLO"
    hello
    10)选项 -e 制动多个匹配样式:
    echo this is a text line | grep -e "is" -e "line" -o
    is
    line
    #也可以使用-f选项来匹配多个样式,在样式文件中逐行写出需要匹配的字符。
    cat patfile
    aaa
    bbb
    echo aaa bbb ccc ddd eee | grep -f patfile –o
    11)在grep搜索结果中包括或者排除指定文件:
    #只在目录中所有的.php和.html文件中递归搜索字符"main()"
    grep "main()" . -r --include *.{php,html}
    #在搜索结果中排除所有README文件
    grep "main()" . -r --exclude "README"
    #在搜索结果中排除filelist文件列表里的文件
    grep "main()" . -r --exclude-from filelist
    12)查看一个字符在文件中出现的次数
    grep -o 'entity>' ENTITY_4292612_8647886.XML |wc -l    
    1.3.3 cat命令(整个文件显示查看)
    cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,类似于type命令。
    注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。
    示例:
    1)    在屏幕上显示文件file的内容
    cat file               
    2)    同时显示文件file1和file2的内容
    cat file1 file2          
    3)将文件file1和file2合并后放入文件file中
    cat file1 file2 > file   
    4)将文件从第一行到20行信息写入到learning1.xml文件
    cat zjbLearning.XML | tail -n+1 | head -n 20 >learning1.xml
    1.3.4 ls命令(文件目录查看)
    ls         显示当前目录下非影藏文件与目录
    ls  -l    查看出文件的大小和日期    (普通文件是白颜色、可执行文件是绿色文件)
    ls  -a     显示当前目录下包括影藏文件在内的所有文件列表
    ls  -m    水平输出文件列表
    ls  -t    最近修改的文件显示在最上面
    ls  -R    显示递归文件
    ls  -la    即显示隐藏文件又显示长列表格式
    ls  -ahl    可以看到文件的所有者
    ls  -l  /bin/*sh  查看自己装的Linux系统里面有哪些shell

    细水长流,打磨濡染,渐趋极致,才是一个人最好的状态。
  • 相关阅读:
    pandas Series和DataFrame数据类型
    numpy 统计函数与随机数
    numpy 索引
    numpy 数组复制与广播机制
    numpy 合并数组和切割数组
    numpy 添加删除去重及形状变换
    项目导入问题---讨厌的红色感叹号
    SpringMVC框架-----概述(2)
    SpringMVC框架-----概述(1)
    SpringBoot框架----概述(1)
  • 原文地址:https://www.cnblogs.com/jiarui-zjb/p/9636657.html
Copyright © 2011-2022 走看看