find命令,文件名后缀,linux和windows互传文件

find命令

  • which ls 可以查看ls命令路径
  • which 是从环境变量PATH里面搜索
  • whereis ls 也可以搜索,但是只能在固定的库搜索
  • find命令,文件名后缀,linux和windows互传文件_第1张图片
  • locate命令也可以搜索,需要先安装才能使用,参照上图
  • find命令,文件名后缀,linux和windows互传文件_第2张图片
  • 安装完成后还是不能立刻使用locate命令,需要先生成数据库文件mlocate.db
  • 这个数据库文件每天凌晨4点左右会自动更新一次,也可以手动更新生成
  • 现在还没有生成这个数据库文件,我们是用不了locate命令,所以先手动生成一次
  • 使用命令 updatedb 这样就手动生成数据库文件了
  • 这个数据库文件会先遍历一遍系统将各种路径数据记录在里面
  • 这样我们使用locate命令就可以从数据库里的路径数据找到我们需要的路径数据
  • 生成数据库文件后,我们再使用locate命令搜索包含aming关键词的路径
  • 如上图所示,找到了所有包含aming关键词的路径信息
  • 以上搜索命令使用不多,主要还是使用find命令
  • ctrl+l清屏,ctrl+d退出登录,ctrl+c中断命令
  • ctrl+u 把光标前面的内容全部删除
  • ctrl+e 可以把光标从文章头部直接移动到尾部
  • ctrl+a 可以把光标从文章尾部直接移动到头部
  • 在一个目录里面寻找一个文件,知道名字不知道路径
  • 可以使用 find /etc/ -name "sshd_config"
  • 路径 /etc/ 表示在etc目录里面寻找文件
  • 参数 -name 表示文件名参数,后面接文件名 "sshd_config"
  • 这样就会把etc目录里面所有文件名为sshd_config的文件目录找出来
  • find命令,文件名后缀,linux和windows互传文件_第3张图片
  • find /etc/ -name "sshd*" 可以把文件名包含sshd关键词的目录跟文件路径全部搜索出来
  • 符号 * 代表通配符,*可以表示任意长短字符
  • 如搜索结果里面 sshd_config 就可以用 sshd* 表示
  • 所以用 sshd* 就可以搜索所有 sshd+(任意字符) 的结果,这是模糊搜索
  • find命令,文件名后缀,linux和windows互传文件_第4张图片
  • 上图,增加了一个参数 -type d 和 -type f,这代表文件类型
  • 增加 d 参数,意思是搜索的结果只包含目录类型,f参数则只包含文件类型
  • 如图所示,模糊搜索sshd关键字,目录类型的文件不存在,只有文件类型的文件
  • 还可以搜索很多不同类型的文件,如 l(软链接文件),s(socket文件),c(字符串设备文件),b(块设备文件) 等等文件类型
  • find命令,文件名后缀,linux和windows互传文件_第5张图片
  • 使用 stat 查看 2.txt 文件的详细信息,stat命名显示信息比ls更详细
  • 详细信息下面有三条信息,分别是:1.最近访问,2.最近更改,3.最近改动
  • find 命令也有三个对应的参数,分别是:-mtime,-ctime,-atime
  • 其中,-atime 对应 最近访问,-mtime 对应 最近更改,-ctime 对应 最近改动
  • atime就是最近的访问时间,mtime是最近文件内容改动的时间
  • ctime是文件最近权限,文件名称,创建时间等的改动时间,总之就是文件内容以外的改动的时间就是ctime
  • find命令,文件名后缀,linux和windows互传文件_第6张图片
  • echo "121212" >> 2.txt 这条命令可以把 121212这个字符串追加到2.txt文件内容后面
  • 可以看到追加内容后,mtime对应的信息时间,Modify的时间更改了
  • echo 命令可以用来显示字符串,echo+字符串,就会显示这个字符串
  • 更改了内容,mtime时间变化了,ctime时间也一定会变化,如图,ctime时间与mtime时间一致
  • mtime代表内容更改的时间,除此以外的变化时间是ctime
  • 因为对文件追加内容之后,文件的大小就变化了,文件大小的变化时间属于ctime时间
  • find命令,文件名后缀,linux和windows互传文件_第7张图片
  • 如图,在 etc 目录里面搜索,-type f 表示只搜索文件类型
  • 然后 -mtime -1 表示文件更改时间在一天以内的,-1代表小于一天,也就是1天以内的意思
  • 下面 -mtime +1 表示文件更改时间在一天以外的,+1代表大于一天,也就是1天以外的意思
  • find命令,文件名后缀,linux和windows互传文件_第8张图片
  • find /etc/ -type f -ctime -1 -name "*.conf"
  • 上面表示,在etc目录搜索,类型为文件,并且 ctime在1天以内的,
  • 并且文件名称为 (任意字符)+ .conf 的文件
  • 如图,除了并且也可以使用或者,或者用 -o 表示
  • find /etc/ -type f -o -mtime -1 -o -name "*.conf"
  • 表示在etc目录搜索,类型为文件 或者 mtime为1天以内的 或者 文件名称为 (任意字符)+.conf 的文件
  • find命令,文件名后缀,linux和windows互传文件_第9张图片
  • 如图,搜索inode号,找到硬链接文件
  • 使用ls命令显示 1_heard.txt的inode号,参数 -inum 表示指定inode号
  • find / -inum 33583395 表示在根目录搜索所有使用这个inode号的文件
  • find命令,文件名后缀,linux和windows互传文件_第10张图片
  • 如果想寻找1个小时以内的文件,需要使用 -mmin ,代表分钟
  • 因为 mtime 的最小单位是天,所以需要使用分钟为单位的 -mmin
  • 如图 -mmin -60 代表60分钟以内的文件,也就是说1小时内,-120代表2小时内,以此类推
  • 如图,在搜索语句后面加上 -exec ls -l {} ; 可以使搜索出来的结果显示详细信息
  • 意思是对所有搜索出来的文件使用 ls -l 命令,{}就代表了搜索出来的所有结果的文件名
  • exec语句都是以分号 ; 结束的,但是不同系统分号有不同的功能,所以分号前面加上反斜杠表示这是分号,没有别的功能
  • 所以整句话可以看做 ls -l {}(所有文件名称),-exec 和 ; 是固定格式
  • find命令,文件名后缀,linux和windows互传文件_第11张图片
  • 也可以应用 mv 命令,将搜索出来的文件全部修改名称
  • 如图,-exec mv {} {}.bak ;
  • mv a b 可以把名称a改成b,同理,{}代表所有搜索出来的文件名称,{}.bak代表新的名称
  • 就是把原来的名称 {} 修改为新的名称 {}.bak,新名称就是原来名称后面加上.bak
  • {}.bak 可以理解为一种表示方法,代表在原来名称后面加上 .bak 组成一个新的组合
  • 也可以查找规定大小的文件
  • 如图 -type f 只搜索文件类型,-size +10k 表示文件大小要大于10kb的
  • 也可以使用 -size +10M 表示文件大小要大于10MB的
  • 后面接 -exec ls -lh {} ; 表示把搜索出来的文件详细信息列出来,{}表示所有文件名称
  • h 表示人类可读的显示方式,例如 1MB 1GB 等,不然就会显示比特,难以看清文件大小

文件名后缀

  • linux下的文件后面的文件后缀,如 .txt .log .cfg 等等后缀并不像windows下那么严谨
  • 这些文件后缀可能并没有实际意义,也可以自定义,比如自定义一个后缀叫 .ofg 之类的
  • 一个后缀为 .txt 的文件并不表示这真的是一个 .txt 文件
  • linux下的文件名后缀只是为了方便人们区分文件内容的一种习惯
  • 就算没有文件名后缀一样可以使用
  • 按照习惯,后缀为 .conf 的文件一般是配置文件

linux 和 windows 互传文件

  • find命令,文件名后缀,linux和windows互传文件_第12张图片
  • 首先要在linux上安装一个包,如图所示
  • 使用这个包传输,必须用 xshell 连接linux,不能用putty,因为putty没有这个功能
  • find命令,文件名后缀,linux和windows互传文件_第13张图片
  • 如图,安装完包之后就可以使用命令 sz a.txt 表示把linux上的a.txt传到windows上
  • 然后就会弹出如图所示的文件夹浏览框,选择 a.txt 的存放位置
  • find命令,文件名后缀,linux和windows互传文件_第14张图片
  • 如果要把windows上面的文件存放到linux上面,可以使用 rz 命令
  • rz 回车,然后就会弹出如图所示的文件浏览框,然后选择自己需要传输的文件
  • 使用rz命令让windows传输文件到linux上面后,存放的位置是当前所在的目录
  • 比如在root目录使用rz命令,传到linux的文件就存放在root目录
  • 而在tmp目录使用rz命令,文件就会传到tmp目录下

转载于:https://my.oschina.net/u/4150462/blog/3102137

你可能感兴趣的:(操作系统,数据库)