day11-文件类型和查找命令_find warning you have specifed

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

Windows: 系统根据不同的扩展名 区分不同类型的文件

Linux: 扩展名是给我们看的。方便人类区分不同类型的文件

常见扩展名
.txt  文本文件
.log  日志文件
.conf .cfg  配置文件
.sh .bash  脚本文件(命令大礼包)

2.常见的文件类型

-  (file )     普通文件
d  (diectory)  目录
l  (softlink)  软链接文件 快捷方式
b  (block)     设备(块)文件 光盘 硬盘
c  (character) 字符设备 (不断向外发出或接收字符)

二.如何区分文件类型(如何查看)

-rwxrw-r--.  每个字符的含义
    -   文件类型
	rwx 读 写 执行 (属主)
	rw- 属组的其他用户权限 可读可写不能执行
	r-- 其他用户
	.   seLinux

1. file (-)

  [root@oldboy59 ~]# file /etc/init.d/network 
  /etc/init.d/network: Bourne-Again shell script, ASCII text executable

file下:
 1.二进制文件
 2.文本文件(.txt)
 3.数据文件(data) 压缩包

2. d 目录 (文件夹)

[root@oldboy59 tmp]# ll
total 10932
drwxr-xr-x 2 root root       46 Apr  9 15:40 data
drwxr-xr-x 3 root root       20 Apr  9 18:35 file

3. l 软链接文件
软链接/符号链接 快捷方式 存放源文件的位置

创建软链接  ln -s

[root@oldboy59 tmp]# ln -s file  file.soft
[root@oldboy59 tmp]# ll
total 10932
drwxr-xr-x 3 root root       20 Apr  9 18:35 file
lrwxrwxrwx 1 root root        4 Apr  9 19:50 file.soft -> file


4. b 设备(块)文件 光盘 硬盘

[root@oldboy59 tmp]# ls -l /dev/cdrom  /dev/sr0 /dev/sda
lrwxrwxrwx 1 root root      3 Apr  8 22:07 /dev/cdrom -> sr0
brw-rw---- 1 root disk   8, 0 Apr  8 22:07 /dev/sda
brw-rw---- 1 root cdrom 11, 0 Apr  8 22:07 /dev/sr0


5. c 字符设备 (不断向外发出或接收字符 )

/dev/urandom   随机字符生成器(不断向外发出或接收字符 生成随机密码)
/dev/null      黑洞 (不断接收信息)
/dev/zero      白洞 (不断发出信息 无法查看)

[root@oldboy59 tmp]# ll /dev/urandom 
crw-rw-rw- 1 root root 1, 9 Apr  8 22:07 /dev/urandom

三. tr 替换的参数

-d删除
-c取反
例:(输入重定向 < 不要搞混)

在oldboy.txt下创建{a..z}  {0..10} 的数组:
[root@oldboyedu59 ~]# echo {a..z} {0..10} > /oldboy/oldboy.txt
[root@oldboyedu59 ~]# cat /oldboy/oldboy.txt
a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 10
2019/4/9 15:49:40

让小写字母替换成大写字母:
[root@oldboyedu59 ~]# tr 'a-z' 'A-Z' </oldboy/oldboy.txt
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 10

删除掉‘a-z’的字母:
[root@oldboyedu59 ~]# tr -d 'a-z' </oldboy/oldboy.txt
                          0 1 2 3 4 5 6 7 8 9 10
删除其他的并保留下'a-z' :
[root@oldboyedu59 ~]# tr -cd 'a-z' </oldboy/oldboy.txt
abcdefghijklmnopqrstuvwxyz[root@oldboyedu59 ~]# 

四. 文件查找类相关命令:

1. which 显示命令全路径

  [root@oldboy59 tmp]# which sed awk grep
  alias grep='grep --color=auto'
  	/usr/bin/grep
  /usr/bin/sed
  /usr/bin/awk

2. whereis 显示命令及其相关文件全路径

  [root@oldboy59 tmp]# whereis sed
  sed: /usr/bin/sed /usr/share/man/man1/sed.1.gz

3. locate 快速定位文件路径(了解无需掌握)

[root@oldboy59 tmp]# locate grep awk

在安装locate命令时可能会出现yum故障:

[root@oldboy59 tmp]# yum install -y locate
....
.....  
No package locate available.  \\没有叫做locate的软件包
Error: Nothing to do

如何查询命令属于哪个软件包呢

用命令  yum provides locate

[root@oldboy59 tmp]# yum provides locate
....
mlocate-0.26-8.el7.x86_64 : An utility for finding files by name  \\软件包叫mlocate 版本号  el7(centos7) 64位
Repo        : @base
Matched from:
Filename    : /usr/bin/locate

还有一种方法就是—光盘安装
使用命令  mount /dev/cdrom /mnt/

[root@oldboyedu59 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 is write-protected, mounting read-only

[root@oldboyedu59 ~]# ls /mnt/
CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7
EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL

[root@oldboyedu59 ~]# rpm -ivh /mnt/Packages/mlocate-0.26-8.el7.x86\_64.rpm 
Preparing...                          ################################# [100%]
	package mlocate-0.26-8.el7.x86_64 is already installed
	
[root@oldboyedu59 ~]# rpm -qa mlocate 
mlocate-0.26-8.el7.x86_64

4. find 查找目录下的文件 ※

1#.find -type 查找某类型的文件
-f 文件
-d 目录

例:查找文件
找到/tmp下的以.txt结尾的文件
[root@oldboy59 tmp]# find /tmp/ -type f -name "\*.txt"
/tmp/all.txt
/tmp/oldboy.txt
/tmp/data/oldboy.txt

找到ip命令所在的位置
[root@oldboy59 tmp]# find / -type f -name 'ip'
/usr/sbin/ip
/usr/share/bash-completion/completions/ip

例:查找目录
使用  find / -type d -maxdepth +行数
类似于tree命令

[root@oldboy59 ~]# find / -type d -maxdepth 1
find: warning: you have specified the -maxdepth option after a non-option argument 
-type, but options are not positional (-maxdepth affects tests specified before it as 
well as those specified after it).  Please specify options before other arguments.
\\warning 警告了

-maxdepth 1 这个参数要放在其他参数之前
[root@oldboyedu59 ~]# find / -maxdepth 1 -type d 
/
/boot
/dev
/proc
/run
/sys
/etc
/root
.......

2#. find -iname参数 查找的文件不区分大小写
区分大小写:

[root@oldboyedu59 ~]# find /oldboy/alex/ -type f -name "oldboy\*.txt"
/oldboy/alex/lidao/oldboy.txt
/oldboy/alex/oldboy01.txt
/oldboy/alex/oldboy02.txt
/oldboy/alex/oldboy03.txt
/oldboy/alex/oldboy04.txt
/oldboy/alex/oldboy05.txt

不区分大小写:

[root@oldboyedu59 ~]# find /oldboy/alex/ -type f -iname "oldboy\*.txt"
/oldboy/alex/lidao/oldboy.txt
/oldboy/alex/oldboy01.txt
/oldboy/alex/oldboy02.txt
/oldboy/alex/oldboy03.txt
/oldboy/alex/oldboy04.txt
/oldboy/alex/oldboy05.txt
/oldboy/alex/OLDboy01.txt
/oldboy/alex/OLDboy02.txt
/oldboy/alex/OLDboy03.txt
/oldboy/alex/OLDboy04.txt
/oldboy/alex/OLDboy05.txt

例:

找出/etc/目录下面第1层目录中以.conf结尾的文件(不区分大小写):

find /etc/ -maxdepth 1  -type f  -iname "\*.conf"

3#. find /etc/ -size +/- 1k/M 按文件大小查找
-size +/- 1M或k

查看/etc/下大于1M的文件:
[root@oldboy59 tmp]# find /etc/ -size +1M
/etc/selinux/targeted/contexts/files/file_contexts.bin
/etc/selinux/targeted/policy/policy.31
/etc/selinux/targeted/active/policy.kern
/etc/selinux/targeted/active/policy.linked
/etc/udev/hwdb.bin

5. xargs 分组

先创建好环境:
[root@oldboyedu59 ~]# echo {1..10}  >/oldboy/sf.txt
[root@oldboy59 tmp]# cat oldboy/oldboy.txt 
1 2 3 4 5 6 7 8 9 10
[root@oldboy59 tmp]# xargs -n 3 < oldboy/oldboy.txt 
1 2 3
4 5 6
7 8 9
10

6.-exec 命令 {} ;

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

inux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

[外链图片转存中…(img-Z0ND1fx3-1715712553911)]

给大家整理的电子书资料:

[外链图片转存中…(img-8WwZc2Wp-1715712553912)]

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值