一、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系 ...
随机推荐
- 为什么局部内部类和匿名内部类只能访问 final 的局部变量?
首先,我们看一个局部内部类的例子: class OutClass { private int age = 12; public void outPrint(final int x) { class I ...
- ASP.NET Core搭建多层网站架构【1-项目结构分层建立】
2020/01/26, ASP.NET Core 3.1, VS2019 摘要:基于ASP.NET Core 3.1 WebApi搭建后端多层网站架构[1-项目结构分层建立] 文章目录 此分支项目代码 ...
- 「JSOI2015」送礼物
「JSOI2015」送礼物 传送门 看到这题首先想到分数规划. 我们发现对于当前区间,如果它的最大值和最小值不是分居区间的两个端点的话,那么我们显然可以把两端多出去的部分舍掉,因为,在区间最大值最小值 ...
- Python - int()
参考 https://docs.python.org/3/library/functions.html?highlight=int#int If x is not a number or if bas ...
- PHP中数字转为百分位,千分位,万分位。。。
今天做项目中,需要将文章点击量显示在页面中,需求中给的是多少多少万,虽然不是什么难事,但做程序员这么久了,需要考虑的不再是简单的实现,而且有效率和快捷, 虽然PHP自带的函数有number_forma ...
- 【代码审计】VAuditDemo 命令注入漏洞
一般PHP中可以使用下列函数来执行外部的应用程序或命令 system() exec() passthru() shell_exec() 跟踪$cmd --> 跟进$target,发现传递给tar ...
- window系统mysql安装后获取默认密码
未设置密码,获取默认密码方法 第一步:进去mysql根目录下,如果没有data文件夹可以新建一个,找不到my.ini文件也新建一个(在根目录下创建的my.ini,重新配置的参数会覆盖源文件的参数,所以 ...
- ANSYS单元应用简介1
目录 1. LINK单元 2. BEAM单元 3. PLANE单元 4. SHELL单元 5. SOLIDE单元 6. COMBIN单元 ANSYS中的单元针对不同的应用对象,有着不同的选择方法,下面 ...
- 构造数列Huffman树总耗费_蓝桥杯
快排! /** 问题描述 Huffman树在编码中有着广泛的应用.在这里,我们只关心Huffman树的构造过程. 给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的 ...
- 树莓派4B踩坑指南 - (12)谷歌浏览器书签同步
书签和插件不能同步真的是不方便..使用时删掉※符号 过程比较复杂,坑很多,但确认有效 免费访问说明: https://github.com/max2max/fre※es※s 软件安装 https:// ...