问:说出你知道的几种LINUX/UNIX发行版本
ContOS ubuntu suse debian
问:请简单描述vi编辑器的使用
问:yum命令和rpm命令的区别,如何使用rpm安装一个有依赖的包?
yum: 安装时自动解决依赖关系 rpm 需要自行安装所需要的依赖包 rpm -ivh --nodeps
问:如何查看当前LINUX系统的状态:CPU使用 内存使用 负载情况以及网络状态
uptime top free -m
问:/proc/sys 子目录的作用
答:/proc/sys包括所有的内核参数信息, 与sysctl -a相似
注:/sys包括系统所有的硬件信息以及内核模块等信息
问:一个EXT3的文件分区,当使用touch test.file 命令创建一个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了60%的磁盘空间,为什么会出现这种情况,说说你的理由
inode节点 耗尽 磁盘配额:给用户分配使用的磁盘的大小
问:linux系统中如何获取pid为100的进程所监听的tcp端口,请给出详细命令
ss -anplt | grep ‘100'
问:linux系统启动过程?
问:请简述Linux系统的开机顺序
问:Linux开机启动流程详细步骤是什么?
centos 6
Bios引导--启动grub---核心初始化---载入初始程序init----init初始化---
从inittab中读取数据决定启动级别---系统运行
centos 7 :
BIOS 上电自检(POST)• 引导装载程序 (GRUB2)/boot/grub2 •
内核初始化 /boot 启动 systemd,其是所有进程之父
问:删除/app/logs目录下7天前的日志
find /app/logs -mtime +7 -exec rm -rf {} \;
问:磁盘空间满了,删除一部分nginx日志后,但是磁盘空间还是满的,为什么
未释放磁盘空间原因进程正在使用磁盘空间也一直被占用
问:如何配置linux机器免密码登录?请写具体命令
ssh-kengen ssh-copy-id -i IP
问:在linux系统中,如何在文本里进行复制、粘贴、删除行、删除全部,按行查找和按字母查找
vim 打开 yy p dd dG /
问:请写出一条命令,将当前目录中创建时间超过七天的文件压缩成gz格式
find ./ -mtime +7 -exec tar -czf 1.tar.gz {} \+
问:如何在命令行查看一台linux机器的cpu、内存、SWAP分区信息?
top cat /proc/cpuinfo | grep ‘CPU’ free -m uptime
问:查看服务器当前正在连接IP列表的命令是?
ss -anplt w
问:根据服务器硬件配置,安装linux操作系统时如何分区?
(硬件配置1:硬盘2T,内存32G)、(硬件配置2:硬盘6T,内存128G)
fdidk 10G swap 8G或16 gdisk 20G swap 8到16G
安装系统前先做LVM 或之后加磁盘挂载做LVM可以扩容
问:简述raid0、 raid1、 raid5三种工作模式的特点
条带券读写相对快不容错 容错 镜像券50% 带奇偶校验的镜像券 3个以上 允许坏一块 读写较快
raid0、 raid1 从2块磁盘上读取数据 读速度差不多但写速度上 raid0 更快
Linux查看文件的命令是: tac cat head tail sed awk less vim
问:如何添加禁止登录的用户
useradd -s /sbin/nologin user1
问:Linux查看文件的命令是:
修改完文件后,保存修改并退出的命令是: wq x
问:打印当前工作目录的Linux命令是:
pwd
问:用于当前扩展或减少逻辑卷大小的命令分别是:
vgextend
先卸载再强制检查文件系统: e2fsck -f 逻辑券
文件系统层缩容: resize2fs 逻辑券 值 是缩容到多少
lvreduce -L 值 逻辑券
缩容到多少
删除物理券 pvremove /dev/sde /dev/sda vgreduce /dev/sde /dev/sda
问:请用Liunx命令行实现:查看/var/log目录下文件数:
find /var/log -type f | wc -l
问:在Linux系统中,要列出当前运行的是哪些进程,用什么命令?如果要对进程进行监控,需要使用什么命令?杀死进程的命令是?VSZ 、RSS分别代表什么意思?
ps -aux top kill -9 top -bn1
watch -n “ps aux”
VSZ :虚拟内存 RSS:进程分配的真实内存大小
问:如何修改Linux内核参数?
在内核参数/proc/sys 修改 /etc/sysctl.conf
1修改grub配置文件
2.内核参数在 /proc/sys里, 修改/etc/sysctl.conf
例子:
设置路由转发:net.ipv4.ip_forward = 1
立即生效:sysctl -p
问:Linux文件系统XFS格式,应该选择哪种分区?
主分区或 逻辑分区 只有这两个分区可以用xfs
问:14日下午2点date + %Y%M%D%H%M输出的时间是什么?
20180009/14/181400 D 月/日/年 Y年 M分 H时
问:能够查看储存空间的命令是?
df -Th
问:请写出下面对应的bash指令。
查看文件修改时间指令
ls -l ls --full-time stat +文件名
查看文件最后10行内容:
tail
实时查看日志文件:
tailf tail -f
列出/etc/init.d/file文件中包含save字段的行:
cat /etc/init.d/file | grep ‘save'
替换/etc/init.d/file文件中6300字符为6301:
sed -ri ‘s/6300/6301/g’ /etc/init.d/file
解压acces.gz文件至access.log,保持源文件不删除解压:
gunzip acces.gz gzip 压缩 gzip -d 解压
用命令行循环语句执行当前目录下file.sh , file2.sh, file3.sh, file4.sh四个bash脚本:
while read file
do
bash $file
done < ./
for i in file.sh file2.sh file3.sh file4.sh ; do bash $i done
请分别写出CentOS 6和CentOS 7版本中默认yum源,安装mysql数据库,并使用
指令查看软件包的安装列表:
yum list
6 yum install mysql-server yum list | grep ‘mysql’
7 yum install epel-release yum -y install mariadb-server yum list | grep 'mariadb’
把APP主机/data/redis目录复制到NGINX主机的/data/tmp目录下,请用两种方法
实现(APP和NGINX主机可用admin用户互相ssh远程登陆):
scp rsync -avr
查看端口是否开启,只列出TCP,监听端口,不显示PID,结果只显示mysql默认
端口:
ss -anlt | grep ‘3306’
使用crontab每两个小时执行/data/scripts/back.sh脚本的语句:
crontab -e
0 */2 * * * /usr/bin/bash
分别在CnetOS 6和CentOS 7下,查看nginx服务的工作状态,并设置为开启自动启动:
systemctl status nginx systemctl enable nginx service nginx status chkconfig nginx on
/etc/rc.d/rc.local添加Nginx启动命令
在ADMIN管理机上,并发查看APP1和APP2两台主机内存使用情况:
ansible APP1 APP2 -m shell -a "free -m"
问:CPU利用率和CPU负载的区别
CPU利用率:显示的是程序在运行期间实时占用的CPU百分比
CPU负载:显示的是一段时间内正在使用和等待使用CPU处理的平均对列长度
问:MBR是什么?有什么用?在linux系统中如何备份?
MBR是main boot record的简称,即主引导记录,电脑开机后BIOS自检,随后会加载MBR,MBR是一个512字节的扇区。
这里除去64字节的分区表,剩下的就是一段小程序,它负责找到操作系统的引导文件。
Bootloader主引导程序 Dpt 磁盘分区表 扇区结尾标志 magic number【魔法分隔符】
备份MBR:
# dd if=/dev/sda of=/boot/boot.NNNN bs=512 count=1
恢复MBR:
# dd if=/boot/boot.NNNN of=/dev/sda bs=512 count=1
问:如何让nfs服务在运行级别5下开启而在其他运行级下关闭?
Chkconfig --list name 列出指定服务的运行级别情况
chkconfig --level 5 nfs on
chkconfig --level 1234 nfs off
init 0 关机 init 6 重启
问:如何查看当前登陆用户?同时知道自己使用的账户名?
w
问:如何删除当前目录(包含子目录)下所有30天以前创建的文件名后缀为.log的文件?
find . -mtime +30 -a -name “*.log” -exec rm -rf {} \;
问:有两分区sda2和sda3(都已使用过,未挂载),sda2做成交换分区并激活,sda3做成xfs文件系统,挂在/tmp/sda3上,请写出详细步骤
mkswap /dev/sda2 swapon /dev/sda2 uuid swap swap defaults 0 0
mkfs.xfs /dev/sda3 blkid /dev/sda3
mount /dev/sda3 /tmp/sda3
永久挂载vim /etc/fstable UUID /tmp/sda3 defaults 0 0
问:找出系统中父进程号为105的所有进程,并将其结束
ps -ef | grep 105 kill -9 PID ps aix pid,ppid
问:在使用手工的方法配置网络时,可通过修改_ /etc/hostname 文件来改变主机名;要配置该计算机的域名解析客户端
,需配置_/etc/resolv.conf 文件。
问:_rm -rf 令可删除文件或目录
问:在vi编辑环境下,使用___esc_键,进行模式切换
问:增加一个用户的命令是:__useradd_或 adduser
问:添加和删除一个用户的命令是__useradd___userdel
问:__/usr/sbin__目录用来存放系统管理员使用的管理程序。
问:将/home/data/wwwroot目录做归档压缩,压缩后生成webs.tar.gz文件,并将此文件保存到/home目录下,实现此任务的tar命令
tar -czf /home/webs.tar.gz /home/data/wwwroot
问:如何在/data/www_logs目录下找出大于10M且在90天之前被修改过的log文件,并将文件移动到/usr/local/src目录下?
find /data/www_logs -size +10M -a -mtime +90 -name “log” -exec mv {} /usr/local/src \;
查看文件常用命令?解压和压缩文件命令?
cat less head tail vim sed
unzip tar xf gunzip bunzip2
tar -czf gzip
列举多个关机、重启命令
shutdown -h now poweroff init 0
reboot shutdown -r now init 6
怎么给文件/etc/passwd加上不可更改属性,从而防止非授权用户获得权限
chattr +i /etc/passwd
若一台计算机的内存为128M,则交换分区的大小通常是_____256M____1.5到2倍之间
将/usr/local/test目录下大于100k小于500k的文件转移到/tmp目录下
find /usr/local/test -size +100k -a -size -500k -exec mv -rf {} /tmp \;
软链接和硬链接的区别
硬链接不会创建新的inode,只是给源文件多加了一个文件名
软链接创建新的inode,相当于重新创建了一个文件
硬链接不能跨分区
软链接可以跨分区
硬链接删除源文件后,另一个文件还能用
软链接删除源文件后,链接文件不能再使用
ps aux中的VSZ代表什么意思?RSS代表什么意思?
VSZ :虚拟内存 RSS:进程分配的真实内存大小
保存当前磁盘分区的分区表,dd命令是个强大的命令,在复制的同时进行转换,请写出具体命令
dd if=/dev/sda of=/boot/boot.NNNN bs=1 count=512
6块300G的硬盘做raid5,新的设备容量是多大?
由于RAID5磁盘阵列兼顾了安全性和速度,所以有一块磁盘是要被用作安全备份区的
所以6块300G的磁盘实际使用到的只有5块5*300=1500G
显示网络接口常见命令是_ ifconfig ___;查看服务端口的命令是ss -anplt netstat -anput。
Linux操作系统查看当前网络设备命令为 ifconfig ,将当前计算机的IP地址设为192.168.1.10,子网掩码为255.255.255.0命令为
ifconfig eth0 192.168.1.10 netmask 255.255.255.0
Linux查看当前主机TCP协议连接情况的命令为__ss -anput__
Linux操作系统查看/etc/passwd文件前10行的命令为_head /etc/passwd__,将前10
行追加到/etc/passwd_new文件结尾的命令是_
head /etc/passwd >> /etc/passwd_new
Linux操作系统启动服务名为kstoredb_NODEDBd的命令为 systemctl start kstoredb_NODEDBd ;
假设服务器具有6块900G本地磁盘,单块磁盘IO约为150M/S,现对磁盘进行RAID划分,简述理论上6块盘做成RAID5级别后实>际存储大小、实际IO为多少?
理论上6块硬盘做raid5 ;其中有一块盘做冗余;因为有校验位;所以
实际大小是
900 * (6-2)= 4000G
实际IO 是:
写的速率150m/s (小于 。 理论上写 过程中,RAID5会进行校验耗费时
间 )*4=600m/s
因为读取数据的时候校验位的盘是需要读取的所以实际:
读的速率是(6-1)*150 =750m/s
问:请简要描述Linux系统下源代码编译方式安装软件的大致步骤
安装编译器和依赖包、关闭selinux
指定安装路径,例如 --prefix添加相应的功能模块, make make install
./configure --prefix=path make 编译 make install 编译安装
问:列出当前系统中所有的网络连接(包含进程名),请写出完整操作命令
ss -anput
问:实时抓取并显示当前系统中tcp80端口的网络数据信息,请写出完整操作命令
tcpdump -n tcp port 80
问:linux中你常用的系统命令说5个
cp mv cd ls ll chown chmod lsattr ln -s
问:关闭swap分区
swapoff -a 关闭所有
问:kernel调参
rmem_default — 默认的接收窗口大小
wmem_default — 默认的发送窗口大小
/proc/sys/net/core/wmem_max — 最大的TCP数据发送缓冲
问:系统安全加固
预防flood攻击
linux中预防SYN flood.在/etc/sysctl.conf文件中添加
net.ipv4.tcp_syncookies=1
问:硬件性能测试用过什么
IO读写测试
dd if=/dev/zero of=test bs=1M count=4096
top -n1看CPU
df -Th 看磁盘情况
问:硬件报错能不能看懂
问:临时调整和永久生效系统内核参数在哪里调
1.临时调整内核参数
开启内核路由转发功能,通过01设置开关
# echo"1" >/proc/sys/net/ipv4/ip_forward
禁止所有的icmp回包(禁止其他主机ping本机)
# echo "1">/proc/sys/net/ipv4/icmp_echo_ignore_all
调整所有进程可以打开的文件总数 ps:如果大量用户访问时,可以因为该数字太小而导致错误
#echo "108248" >/proc/sys/fs/file-max
2.永久调整内核参数
vim/etc/sysctl.conf
开启内核路由转发功能,通过01设置开关
net.ipv4.ip_forward=1
禁止所有的icmp回包(禁止其他主机ping本机)
net.ipv4.icmp_echo_ignnore_all-=1
调整所有进程可以打开的文件总
fs.file-max=108248
问:如何查看当前linux系统的状态,如CPU使用,内存使用,负载情况
ss ps aux top
问:显示CPU利用率的命令,查看系统版本的命令
top uname -a
问:查看网卡历史流量 实时查看网卡流量
sar -n DEV -f /var/log/sa/saxx 查XX日的网卡流量
sar -n
问:如何查看当前系统每个ip的连接数
ss -n | grep 'tcp' | awk '{print1]++}END{for(i in ips){print i,ips[i]}}' | sort -rn -k2
问:找出/home下所有7天以前,以.ok结尾的文件列
find /home -mtime +7 -a -name “*.ok”
问:快速生成一个10G的文件
dd if=/dev/zero of=test bs=10M count=1024
问:列出Linux常见打包工具并写相应解压缩参数(至少三种)
tar 包 tar -cvf icewarp.tar icewarp tar -xvf icewarp.tar 只打包不压缩
tar.gz 包 tar -czvf icewarp.tar.gz icewarp tar -zxvf icewarp.tar.gz 中高
tar.bz2 包 tar -cjvf icewarp.tar.bz2 icewarp tar -jxvf icewarp.tar.bz2 高
```9
网友评论