Linux 高频文件操作
原文链接:https://blog.csdn.net/gexiaoyizhimei/article/details/100122368
0.新建操作:
1 | mkdir abc #新建一个文件夹 |
1.查看操作
查看目录:
1 | ll #显示目录文件详细信息 |
查看文件内容:
cat|head|tail命令
1 | cat abc.txt #查看abc的内容 |
more命令:
1 | more命令一次显示一屏信息,若信息未显示完屏幕底部将出现“-More-(xx%)”。 |
less命令:
和more命令类似,但是比more命令更强大。在很多时候,必须使用less,比如管道。例如:
1 | ll /etc | less |
stat 命令:
查看文件的详细信息,比如创建修改时间,大小等
1 | [root@localhost zx]# stat index.html |
du 命令:
选项:-h 以合适的单位显示(会根据文件的大小自动选择kb或M等单位)
1 | [root@localhost zx]# du -h index.html |
2.删除操作
1 | rm -f aa.txt #强制删除aa.txt |
3.复制操作
同一机器的复制:
1 | cp:复制文件或目录 |
1 | -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。 |
举例:
1 | #将../html/index.html 复制到当前目录 |
远程复制
1 | #将当前目录下的test.txt复制到远程111.12机器的/zx目录下 |
4.移动操作:
移动操作可以理解成复制文件后,删除原文件。
eg1:
1 | mv /zx/soft/* . #复制/zx/soft目录中的所有文件到当前目录 |
5.重命名操作:
重命名还是用的移动操作命令,比如:
1 | #将目录(文件)A重命名为B |
6.解压压缩操作
tar
1 | -c: 建立压缩档案 |
下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
举例说明:
1 | tar -cf all.tar *.jpg |
eg2:
1 | tar -xzf nginx-1.14.0.tar.gz //解压到当前目录 |
eg3:
1 | tar -zxvf nginx...tar.gz #解压并显示过程 |
注意:有些压缩程序提示命令找不到,需要进行安装,例如:yum install unzip
或在ubuntu上:
apt-get install unzip
总结
1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和.tgz 用 tar –xzf 解压
4、\.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压
解压的时候,有时候不想覆盖已经存在的文件,那么可以加上-n参数
1 | unzip -n test.zip |
只看一下zip压缩包中包含哪些文件,不进行解压缩
1 | unzip -l test.zip |
查看显示的文件列表还包含压缩比率
1 | unzip -v test.zip |
检查zip文件是否损坏
1 | unzip -t test.zip |
如果已有相同的文件存在,要求unzip命令覆盖原先的文件
1 | unzip -o test.zip -d /tmp/ |
示例:
1 | eg1: unzip mydata.zip -d mydatabak #解压到mydatabak目录 |
xz
这是两层压缩,外面是xz压缩方式,里层是tar压缩,所以可以分两步实现解压
1 | $ xz -d node-v6.10.1-linux-x64.tar.xz |
7.上传文件工具
从本地windows上传一些文件到远程Linux服务器可以通过xshell的xftp也可以通过下面这个小工具lrzsz,使用更加方便。
1 | yum install lrzsz #安装工具 |
常用命令:
1 | sz dist.zip #下载文件dist.zip到本地 |
8.ln、file和touch命令
ln命令:
名用于创建链接文件,包括硬链接(Hard Link)和符号链接(Symbolic Link) 。我们常用的是符号链接,也称软连接。软连接就类似windows里的快捷方式。
示例:
#在当前目录创建一个软连接,指向/etc/fastab,名称也是fastab
1 | ln -s /etc/fastab |
#在当前目录创建一个指向/boot/grub的软连接,命名为gb
1 | ln -s /boot/grub gb |
注意:删除软连接 正确方式是:
1 | rm -rf ./gb |
错误方式
1 | rm -rf ./gb/ |
这样会删除了原有grub下的内容。特别是针对系统文件的软连接,删除一定要慎重。
file命令
用于识别文件的类型
Linux中文件后缀只是方便使用者识别,没有实质的约束作用。file命令可以查看文件的实质类型:
file [-bcLz] 文件|目录
选项说明:
文件|目录:需要识别的文件或目录
1 | -b: 显示识别结果时,不显示文件名 |
示例: 可以看出,index.mp4本质是一个HTML而非一个mp4文件
示例: 可以看出,index.mp4本质是一个HTML而非一个mp4文件
1 | [root@VM_0_13_centos soft]# file index.mp4 |
touch命令:
用于改变文件或目录的访问时间和修改时间。
1 | touch [-am] [-t<日期时间>] [目录|文件] |
选项说明:
1 | -a: 只修改访问时间 |
示例:
修改之前可以先查看文件的时间戳: 用stat 命令查看
1 | [root@VM_0_13_centos soft]# stat index.html |
开始修改:将index.html文件的访问和修改时间修改成当前系统的时间。
touch index.html
9.查找操作命令:
对于要用到的文件,目录等,经常有忘记的时候,所以查找命令就显得极为必要:
find:
查找文件或目录 (常用)
语法如下:
1 | find [目录…] [-amin <分钟>] [-atime <24小时数>] [-cmin <分钟>] [-ctime<24小时数>][-empty][-exec<执行命令>][-fls<列表文件>][-follow] |
几个常用选项说明:
1 | -size <文件大小>:查找符合指定大小的文件。文件大小单位可以是“c”表示Byte;“k”表示KB。如配置为“100k”,find命令会查找文件大小正好100KB的文件;配置为“+100k”,find命令会查找文件大小大于100KB的文件;配置为“-100k”,find命令会查找文件大小小于100KB的文件。 |
find选项大概有以下几类:
1.按时间范围查找
2.按文件大小查找
3.按文件名称查找
4.按其他:比如权限、用户组、类型等
示例:
#从根目开始,查找名称以nginx开头的目录和文件
1 | find / -name nginx* |
locate:
查找文件或目录(不常用)
1 | locate 查找内容 |
例如:locate nginx 会将所有包含nginx的目录和文件都列出来。可以用* 或?等匹配符。
locate的查找速度非常快,因为该命令查找的是数据库,所以有些刚修改的文件和目录,可能无法找到。可以采用:updatedb 命令更新数据库。
which:
查找文件(不常用)
1 | which [文件] |
which命令只会在PATH环境变量定义的路径及命令别名中查找,所以范围有限。
whereis :
查找文件(不常用)
1 | whichis [-bu] [-B<目录>] [-M<目录>] [-S<目录>] [文件] |
常用选项:
1 | 文件:要查找的命令 |
例如: 默认只会在指定目录查找(/bin ,/etc ,/usr)
1 | [root@VM_0_13_centos soft]# whereis nginx |