linux覆盖文件如何还原_大数据笔试真题集锦---第十九章Linux面试题

我会不间断的更新,维护,希望可以对正在找大数据工作的朋友们有所帮助.

第十九章目录

ece893f9ed33236f46cd45c2208c57af.png

第十九章 Linux

19.1 Linux中、如何调整文件最大打开数

修改linux的软硬件限制文件/etc/security/limits.conf. 

在文件尾部添加如下代码: 
* soft nofile 65536
* hard nofile 131072

修改完成后可以使用ulimit查看即可。

注:
*  代表任何用户
soft 代表软件
nofile 最大文件
noproc 最大进程
65536 数量

19.2 请列举几个常用的Linux命令

man :帮助命令

sudo : 获取root权限

jps : 查看java进程

ps -ef  : 查看进程

ps -aux : 查看进程

netstat -nltcp : 监听端口

free : 内存查看

top :动态 查看服务器资源信息

uptime : 查看系统运行时长和负载率

w : 查看系统运行时长和负载率

df : 查看磁盘情况

df -h /home : 查看home的使用情况

iostat :  查看i/o情况

tar :

zip :

unzip :

gzip:

gunzip:
rpm :

yum :

等等。

19.3 linux如何查看系统负载,内存.硬盘使用情况

系统负载命令:uptime、w、top
[root@node242 ~]# uptime
 12:06:18 up 6 days, 12:51,  3 users,  load average: 0.00, 0.01, 0.05


[root@node242 ~]# w
 12:06:42 up 6 days, 12:51,  3 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    10.0.151.251     08:53    3:11m  4:38   0.03s -bash
root     pts/2    10.0.157.236     11:39   27:03   0.01s  0.01s -bash
root     pts/3    10.0.151.253     11:47    2.00s  0.05s  0.01s w

[root@node242 ~]# top
top - 12:07:29 up 6 days, 12:52,  3 users,  load average: 0.00, 0.01, 0.05
Tasks: 249 total,   1 running, 248 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.1 us,  0.1 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 98824672 total, 73614424 free, 21389376 used,  3820868 buff/cache
KiB Swap:  4194300 total,  4194300 free,        0 used. 76497328 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 7706 root      20   0   10.4g   1.1g  15900 S   1.0  1.1  76:26.86 java
 5461 root      20   0 3129584 459292  19332 S   0.7  0.5  55:37.83 java
......

load average分别对应于过去1分钟,5分钟,15分钟的负载平均值。

内存命令:free、top
[root@node242 ~]# free
              total        used        free      shared  buff/cache   available
Mem:       98824668    21388812    73435172        9616     4000684    76496944
Swap:       4194300           0     4194300


磁盘命令:df
[root@node242 ~]# df
Filesystem               1K-blocks     Used  Available Use% Mounted on
/dev/mapper/centos-root   52403200  7870980   44532220  16% /
devtmpfs                  49398856        0   49398856   0% /dev

[root@node242 ~]#
[root@node242 ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   50G  7.6G   43G  16% /
devtmpfs                  48G     0   48G   0% /dev

[root@node242 ~]# df -h /home
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-home  1.8T   48G  1.8T   3% /home


查看io资源命令:iostat  (需要安装)

19.4 linux > 和 >> 的区别,常用查看日志命令

> : 覆盖文件,如果文件没有将会创建,并且将内容写到文件中,可以用于删除数据重新写入数据场景。
>> : 在文件末尾追加,如果文件没有将会创建,用于原文件数据不能丢失场景。

19.5 用shell脚本怎么替换字符串(现场写)

vi /home/test/rep.sh
#!/bin/bash

ori_str=$1
rep_str=$2
grep_word=$3
file_dir=$4
sed -i "s/${ori_str}/${rep_str}/g" `grep "$grep_word" -rl $4`  #数据源未目录或者文件即可

测试:
[root@hadoop01 test]# chmod a+x /home/test/rep.sh
[root@hadoop01 test]# ./rep.sh abc 123 abc /home/test/

19.6 HDFS原理是什么,我们Linux中文件的原理是什么,区别是什么

hdfs原理:
使用多台廉价服务器来构建分布式文件存储系统,主要是一个master/slave架构,2.x版本可以实现多(推荐2)主多从来实现HA机制。同时该分布式文件系统也使用副本机制来最大限度保障文件的安全性能。
linxu原理:
在LINUX系统中有一个重要的概念:一切都是文件。 其实这是UNIX哲学的一个体现,而Linux是重写UNIX而来,所以这个概念也就传承了下来。在UNIX系统中,把一切资源都看作是文件,包括硬件设备。UNIX系统把每个硬件都看成是一个文件,通常称为设备文件,这样用户就可以用读写文件的方式实现对硬件的访问。
文件系统这一层相信大家都再熟悉不过了,目前大多Linux发行版本默认使用的文件系统一般是ext4,另外,新一代的btrfs也呼之欲出,不管什么样的文件系统,都是由一系列的mkfs.xxx命令来创建,如:
  mkfs.ext4 /dev/sda
  mkfs.btrfs /dev/sdb
  内核所支持的文件系统类型,可以通过内核目录树 fs 目录中的内容来查看。
  
共同:
1、都是文件系统,都可以存储文件或者目录等。
2、都是以块的形式存储的。

不同点:
1、块:linux的块直接对应于物理磁盘的block,而hdfs的块对应于linux中的文件。
2、块大小:linux的块大小要看磁盘类型,有1k、4k等。而hdfs中的块大小很轻松自行设置,默认hadoop1.x为64M,hadoop2.x为128M,hadoop3.x为256M,远大于linux的block大小。
3、文件:一个文件有多个block组成,而hdfs中一个文件底层还是由多个文件组成。
4、元数据:有操作系统上的inode记录其文件存储的数据区的block指针,而hdfs的由namenode来进行维护。
5、应用:linux主要用于应用服务和数据存储(不强调海量和分布式),而hdfs强调的是规模数据分布式的存储。

19.7 shell脚本编程:将select max(id) from table的值赋值到一个变量中;

vi /home/test/my.sh
#!/bin/bash

mysql_var=`mysql --skip-column-names -uroot -proot -e "use test;select max(id) from stu"`
echo $mysql_var

测试:
chmod a+x /home/test/my.sh
/home/test/my.sh  运行脚本

19.8 shell脚本编程:将mysql数据库中五个库中的五张表合并到一张表中,表的结构都相同;

vi /home/test/mm.sh
#!/bin/bash

`mysql --skip-column-names -uroot -proot -e "insert into test.a1(id,name) select from ( select id,name from test1.a1 union all select id,name from test2.a1 union all select id,name from test3.a1 union all select id,name from test4.a1 union all select id,name from test5.a1)"`


测试(未测试):
chmod a+x /home/test/mm.sh
/home/test/mm.sh  运行脚本
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值