一、和find相关的几个搜索命令,了解即可。

1.1 which

[root@iZ25lzba47vZ ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls

这个命令只能查找在环境变量下面的文件,如上面的代码一样。

1.2 locate

这个命令依赖搜索库,文件录入不及时,但是可以手动更新,使用命令:

[root@iZ25lzba47vZ ~]# updatedb

如果命令没有的话,需要安装:

[root@iZ25lzba47vZ ~]# yum install -y mlocate
Loaded plugins: langpacks
base | 3.6 kB ::
epel | 4.3 kB ::
extras

1.3 whereis

这个命令,知道就好了,很少用。

[root@iZ25lzba47vZ ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls..gz /usr/share/man/man1p/ls.1p.gz

二、find命令

2.1 find的基本语法

find 目录 -查找选项 选项参数 查找内容

看个基本的例子:

[root@iZ25lzba47vZ ~]# find /root/ -type f -name "*.log"
/root/npm-debug.log
/root/.npm/npm-debug.log
/root/oneinstack/src/libevent-2.0.-stable/config.log
/root/oneinstack/src/tmux-2.1/config.log
/root/oneinstack/src/pcre-8.38/config.log
/root/oneinstack/src/htop-2.0./config.log
/root/oneinstack/src/pure-ftpd-1.0./config.log
/root/Application/Runtime/Logs/Home/17_09_11.log

上面这段代码的意思是:在/root目录下查找文件类型为f(普通文件),且文件名以.log结尾的文件。

2.2 其中查找选项可分为以下几种:

2.2.1 type:文件类型

f:文件

[root@iZ25lzba47vZ ~]# find /root/ -type f -name '*.log'
/root/npm-debug.log
/root/.npm/npm-debug.log
/root/oneinstack/src/libevent-2.0.-stable/config.log
/root/oneinstack/src/tmux-2.1/config.log
/root/oneinstack/src/pcre-8.38/config.log
/root/oneinstack/src/htop-2.0./config.log
/root/oneinstack/src/pure-ftpd-1.0./config.log
/root/Application/Runtime/Logs/Home/17_09_11.log

d:目录

[root@iZ25lzba47vZ ~]# find / -type d -name 'conf'
/proc/sys/net/ipv4/conf
/proc/sys/net/ipv6/conf
/usr/local/aegis/PythonLoader/conf
/usr/local/aegis/aegis_client/aegis_10_27/conf
/usr/local/aegis/aegis_client/aegis_10_25/conf
/usr/local/aegis/aegis_client/aegis_10_33/conf
/usr/local/aegis/aegis_client/aegis_10_31/conf
/usr/local/nginx/conf

l:软连接

[root@iZ25lzba47vZ ]# find . -type f|xargs ls -l
-rw-r--r-- root ruanwenwu Oct : ./.txt
-rw-r--r-- ruanwenwu ruanwenwu Mar .//.txt
-rw-rw-r-- root root Oct : .//.txt
-rw-rw-r-- root root Oct : .///b.txt
-rw-r--r-- root root Oct : .//b.txt
-rw-rw-r-- root root Oct : ./.txt

c:输入设备

b:块设备

[root@iZ25lzba47vZ ]# find /dev/ -type b /dev/xvdb /dev/xvda1 /dev/xvda

2.2.2 mtime/mmin : 修改天数/修改分钟数

查找修改时间在1天以上的:

[root@iZ25lzba47vZ ]# find /root/ -mtime +
/root///.txt

查找修改时间在10分钟以内的:

[root@iZ25lzba47vZ 1]# find /root/1 -mmin -10
[root@iZ25lzba47vZ 1]# touch /root/1/c.txt
[root@iZ25lzba47vZ 1]# find /root/1 -mmin -10
/root/1
/root/1/c.txt

2.2.3 size:文件大小

查找文件大小小于10kb的:

[root@iZ25lzba47vZ ]# find /root/ -size +1000k
/root/.cache/composer/repo/https---packagist.org/p-provider--.json

查找文件大小大于10M的:

[root@iZ25lzba47vZ ]# find /root/ -size +10M
/root/oneinstack/src/ImageMagick-6.8.-.tar.gz
/root/oneinstack/src/php-5.6..tar.gz
/root/oneinstack/src/mysql-5.5..tar.gz
/root/oneinstack/src/php-7.0..tar.gz
/root/oneinstack/src/percona-server-5.6.-76.1.tar

2.3 查找硬链接

我们使用inode号来找硬链接,因为硬链接的inode号和源文件一致:

[root@iZ25lzba47vZ ]# ls
.txt .txt c.txt
[root@iZ25lzba47vZ ]# ln .txt /tmp/.txt
[root@iZ25lzba47vZ ]# ls -l .txt
-rw-r--r-- root ruanwenwu Oct : .txt
[root@iZ25lzba47vZ ]# ls -i .txt
.txt
[root@iZ25lzba47vZ ]# find / -inum
/tmp/.txt

2.4 -xargs参数

xargs参数用来处理查找到的文件,先举个例子:

[root@iZ25lzba47vZ ]# find /root/ -type f -exec mv {} {}.bak \;
[root@iZ25lzba47vZ ]# tree /root/
/root/
├── .txt.bak.bak
├──
│ ├── .txt.bak
│ ├── .txt.bak
│ ├──
│ │ └── b.txt.bak.bak
│ └── b.txt.bak
├──
├── .txt.bak
└── c.txt.bak.bak

发现用了这个命令后,所有的文件都被改成了原文件名+.bak文件。括号就是找到的一条结果。

三、常用快捷键

ctrl + d退出终端
logout退出终端
exit退出终端
ctrl+u往前删
ctrl+d往后一个个删
ctrl+e挪到最后
ctrl+a挪到前面
ctrl+k删除光标后面的

四、stat

stat用来查看文件的详细信息
[root@iZ25lzba47vZ ]# stat /root//.txt.bak.bak
File: ‘/root//.txt.bak.bak’
Size: Blocks: IO Block: regular empty file
Device: ca01h/51713d Inode: Links:
Access: (/-rw-r--r--) Uid: ( / root) Gid: ( /ruanwenwu)
Access: -- ::06.221000000 +
Modify: -- ::26.890000000 +
Change: -- ::24.217000000 +

我们最常用到的是三个时间:

Access:访问时间。当我们cat一个文件时会变化。

Modify:当我们修改一个文件内容时会改变,这时候Change也会改变,因为Change受inode信息的影响,文件大小变了,inode信息也变了,Change也跟着变了。

Change:当文件权限,所属组,大小等信息变更时会变。

touch 一个文件时,三个时间都会变。

五、Linux的文件后缀

Linux的文件后缀不像在windows下那么有意义。在linux下,后缀只是为了让我们更容易区分文件类型。常见的文件类型有:

.conf 配置文件

.zip zip压缩包

.tar.gz tar.gz压缩包

.tar tar压缩包

.log 日志文件

六、windows和Linux文件互传。

SecureCrt和Xshell支持。需要安装lrzrz命令:

yum -y install lrzsz

上传文件到linux:

rz

输如rz回车就好了。

下载文件到windows:

sz filename

sz加上文件名称,就会弹出交互界面了。

linux学习(十)find命令、Linux文件后缀名、Linux和windows文件互传的更多相关文章

  1. 遍历文件后缀名 为 .java的文件

    import java.io.File; import java.io.FileFilter; //创建一个功夫类继承文件管理类 public  class FileFu implements Fil ...

  2. Linux下的文件及文件后缀名

    Linux下的文件及文件后缀名 2013-03-14 15:34 6969人阅读 评论(0) 收藏 举报 ++++++++++++++++++++++++++++++++++++++正文+++++++ ...

  3. linux下怎样批量更改文件后缀名

    今天又有同学问linux下怎样批量更改文件后缀名,这个问题被别人问到三次了,所以这里给出几个解决方法 一.rename解决 1.  Ubuntu系统下 rename 's//.c//.h/'  ./* ...

  4. Linux批量更改文件后缀名

    一.rename解决 1.  Ubuntu系统下 rename 's/\.c/\.h/'  ./* 把当前目录下的后缀名为.c的文件更改为.h的文件 2.  CentOS5.5系统下 rename . ...

  5. linux学习:【第1篇】初识Linux及安装

    狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! linux学习:[第1篇]初识Linux及安装 写在前面 学习之初看了一段文章,很有感触,所以也 ...

  6. 如何在linux系统下对文件夹名有空格的文件夹进行操作

    http://www.2cto.com/os/201409/335119.html 在Windows操作系统中可以轻易地创建\移动\删除文件夹名带有空格的文件夹, 而在linux则需要进行一些特殊的处 ...

  7. 关于Windows下的文件后缀名问题

    一.背景说明 有很多的小伙伴对windows下的文件后缀名不能很好地理解作用和区别,更不用说高深的使用了,在这里给大家说一下这些文件后缀名到底有什么区别,有什么作用呢? 二.说明 简单的说来,wind ...

  8. 你误解了Windows的文件后缀名吗?

    一.背景说明 有很多的小伙伴对windows下的文件后缀名不能很好地理解作用和区别,更不用说高深的使用了,在这里给大家说一下这些文件后缀名到底有什么区别,有什么作用呢? 二.说明 简单的说来,wind ...

  9. 如何批量修改文件后缀名,python来帮你

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http ...

随机推荐

  1. Codeforces Round #436 (Div. 2) E. Fire

    http://codeforces.com/contest/864/problem/E 题意: 有一堆物品,每个物品有3个属性,需要的时间,失效的时间(一开始)和价值.只能一件一件的选择物品(即在选择 ...

  2. 第4章 同步控制 Synchronization ---哲学家进餐问题(The Dining Philosophers)

    哲学家进餐问题是这样子的:好几位哲学家围绕着餐桌坐,每一位哲学家要么思考,要么等待,要么就吃饭.为了吃饭,哲学家必须拿起两支筷子(分放于左右两端).不幸的是,筷子的数量和哲学家相等,所以每支筷子必须由 ...

  3. 数据分析前戏:ipython使用技巧(上)

    不一定非得使用Jupyter Notebook,试试ipython命令行 安装 ipython 我只试过Windows 10环境下的. 1.安装python安装包之后,应该就有ipython了. 2. ...

  4. bzoj2730(矿场搭建)

    矿场搭建,不知道为什么,莫名其妙T了在212上,额,zyh数据真的坑. bzoj200轻松跑过啊. 就是点双联通分量缩点,然后标记割点,一个块如果有>=2个割点,则不需要挖矿洞, 如果只有一割点 ...

  5. 石子合并(NOI1995)

    石子合并(NOI1995) 时间限制: 1 Sec  内存限制: 128 MB提交: 90  解决: 48[提交][状态][讨论版] 题目描述 在操场上沿一直线排列着 n堆石子.现要将石子有次序地合并 ...

  6. OpenVPN server端配置文件详细说明(转)

    本文将介绍如何配置OpenVPN服务器端的配置文件.在Windows系统中,该配置文件一般叫做server.ovpn:在Linux/BSD系统中,该配置文件一般叫做server.conf.虽然配置文件 ...

  7. 当前页面的url未注册 微信支付

    原因1:公众号支付授权目录或测试授权目录设置不正确. 原因2:微信SDK"WxPay.JsApiPay.php"文件中GetOpenid方法中$baseUrl的拼接的结果与支付授权 ...

  8. Vue 爬坑之路(六)—— 使用 Vuex + axios 发送请求

    Vue 原本有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新 vue-resource 目前主流的 Vue 项目,都选择 axios ...

  9. 纠错:基于FPGA串口发送彩色图片数据至VGA显示

    今天这篇文章是要修改之前的一个错误,前面我写过一篇基于FPGA的串口发送图片数据至VGA显示的文章,最后是显示成功了,但是显示的效果图,看起来确实灰度图,当时我默认我使用的MATLAB代码将图片数据转 ...

  10. dom4j之小小工具

    dom4j经常不用,方法忘了又记,故做出读取xml和把document写入xml的小小工具~~~ /** * 读取document和将document对象写入到xml的小工具 * 使用该类必须给出do ...