一、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
一、linux基础-对文件操作的更多相关文章
- Linux基础指令--文件操作
mkdir a 创建一个名为a的文件夹 touch a.txt 创建一个名为a.txt的文件 mv b sm/ 将文件(夹)b 移动到当前目录下的sm目录下 rm -rf a 删除 a文件 -rf为参 ...
- Linux基础命令-文件与目录
Linux基础命令-文件与目录 参考:<鸟哥linux私房菜>五-七章,17/12/5复习,18/01/15复习 文件权限 rwx421:用户,用户组,其他 umask查看默认权限:000 ...
- 3)Linux程序设计入门--文件操作
)Linux程序设计入门--文件操作 Linux下文件的操作 前言: 我们在这一节将要讨论linux下文件操作的各个函数. 文件的创建和读写 文件的各个属性 目录文件的操作 管道文件 .文件的创建和读 ...
- python基础篇(文件操作)
Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...
- Linux 目录和文件操作
Linux常用命令--目录和文件操作 [目录]删除.复制.移动 : 1.删除文件夹用:rmdir 文件夹名 但是rmdir不能删除非空的文件夹,那如何删除非空文件夹呢: 2.通常情况下,删除文件用:r ...
- Go语言基础之文件操作
本文主要介绍了Go语言中文件读写的相关操作. 文件是什么? 计算机中的文件是存储在外部介质(通常是磁盘)上的数据集合,文件分为文本文件和二进制文件. 打开和关闭文件 os.Open()函数能够打开一个 ...
- GO学习-(16) Go语言基础之文件操作
Go语言文件操作 本文主要介绍了Go语言中文件读写的相关操作. 文件是什么? 计算机中的文件是存储在外部介质(通常是磁盘)上的数据集合,文件分为文本文件和二进制文件. 打开和关闭文件 os.Open( ...
- python基础之文件操作
对于文件操作中最简单的操作就是使用print函数将文件输出到屏幕中,但是这种操作并不能是文件保存到磁盘中去,如果下调用该数据还的重新输入等. 而在python中提供了必要的函数和方法进行默认情况下的文 ...
- Linux系统编程@文件操作(一)
只总结了部分常用的内容,详细内容参考<UNIX环境高级编程>及相关书籍. Linux中文件编程可以使用两种方法 Linux系统调用(依赖于系统) C语言库函数(不依赖于系统) Linux系 ...
随机推荐
- php 基础 自动类型转换
1.自动类型转换:表示运算的时候,Boolean,Null,String等类型,会先自动转为Integer或Float类型 null-->0 true-->1 false-->0 S ...
- Linux - 重启wifi和网络
iwconfig sudo ifconfig wlp4s0 down sudo iwconfig wlp4s0 power off sudo ifconfig wlp4s0 up sudo servi ...
- JavaEE实战——XML文档DOM、SAX、STAX解析方式详解
原 JavaEE实战--XML文档DOM.SAX.STAX解析方式详解 2016年06月22日 23:10:35 李春春_ 阅读数:3445 标签: DOMSAXSTAXJAXPXML Pull 更多 ...
- 以 CheatEngine 为例的六个质量属性
日期:2020.02.23 博客期:158 星期日 这个软件是什么? 首先你可能不认识 CE 修改器,那我就简单一句话说明一下,Cheat Engine 是一款能够编辑进程内存的.能够编译分析汇编语言 ...
- 常用的php函数
最严格身份证号码验证,支持15位和19世纪出生的人的身份证号码 # 计算身份证校验码,根据国家标准GB 11643-1999 function idcard_verify_number($idcard ...
- Java 中序列化与反序列化引发的思考?
java 中序列化指从对象转变为 二进制流的过程中需要进行序列化,而反序列化指二进制流转换为java 对象.那么有的时候java 存储到数据库不需要序列化, 而计算机系统本质存储的就是二进制文件,数据 ...
- 201771010131-王之泰 实验一 软件工程准备—<通读《现代软件工程—构建之法》后所思所想>周学习总结
项目 内容 作业所属课程 https://www.cnblogs.com/nwnu-daizh/ 作业要求 https://www.cnblogs.com/nwnu-daizh/p/12369881. ...
- 「JSOI2014」歌剧表演
「JSOI2014」歌剧表演 传送门 没想到吧我半夜切的 这道题应该算是 \(\text{JSOI2014}\) 里面比较简单的吧... 考虑用集合关系来表示分辨关系,具体地说就是我们把所有演员分成若 ...
- 改写画质、突破性能, Unity 全面升级!
技术变革,时代更迭.从<神庙逃亡>.<暗影之枪>等主流手游到独立联网的大型游戏,从绚丽多彩的影视动画到具备极致体验的运输建筑制造行业,从传统的2D 到立体3D 乃至沉浸式的VR ...
- 数字统计(0)<P2010_1>
数字统计 (two.pas/c/cpp) [问题描述] 请统计某个给定范围[L, R]的所有整数中,数字 2 出现的次数. 比如给定范围[2, 22],数字 2 在数2中出现了 1次,在数 12 ...