一、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

 

posted @ 2018-09-12 19:09  爱笑的berg  阅读(193)  评论(0编辑  收藏  举报