菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
395
0

centos 阶段复习 2015-4-6 dd命令 hosts.allow和hosts.deny 啊铭的myssh脚本 清空history命令历史 /dev/zero 零发生器 /dev/null 黑洞 /dev/random 生成随机数 第十一节课

原创
05/13 14:22
阅读数 31922

centos 阶段复习 2015-4-6  dd命令 hosts.allow和hosts.deny 啊铭的myssh脚本 清空history命令历史  /dev/zero 零发生器  /dev/null 黑洞   /dev/random 生成随机数  第十一节课

 

104道题

 

 

redhat 的源代码重新编译一下 变为了centos
redhat收购了centos

 


 

分区大小

/boot 200M
SWAP 2G <8G
内核参数 swapness调整0 为什么系统仍然可能会有swap发生
腾讯将swapness调整0
腾讯将centos改为tlinux

swappiness的值是个参考值,是否会发生swap跟当前是哪种page reclaim及系统当前状态都有关系,所以设置了swappiness=0并不代表一定没有swap发生,同时设为0也确实会可能发生OOM。

个人仍然认为线上环境设置swappiness=0是没有任何问题的。
http://www.douban.com/note/349467816/

 


 

ifconfig -a  查看down掉的网卡

网卡地址:/etc/sysconfig/network-scripts/ifcfg-eth0

 

ifdown 没有UP

 

ifup

没有加-a

 


 

DNS
# cat /etc/resolv.conf 

杀掉下面两个 进程 kill - 9
dhclient服务
network manager服务

在此要强调一点的是,直接修改/etc/resolv.conf这个文件是没用的,网络服务network manager重启以后会根据
/etc/sysconfig /network-scripts/ifcfg-eth0来重载配置,如果ifcfg-eth0没有配置DNS,那么resolv.conf会被冲掉,重新变成空值。


 

修改主机名

cat /etc/sysconfig/network


密钥登录
公钥放在服务器上
私钥放在自己电脑
最好设置私钥密码,丢掉密钥也比较安全
公钥放在家目录下,不管是root还是普通用户
xx/.ssh/authorized_keys
chmod 600 xx/.ssh/authorized_keys
关闭selinux cat /etc/selinux/config
iptables -F
service iptables save


 

ssh命令
他也有像xshell那样生成密钥对的小工具:ssh-keygen


which myssh
alias myssh=ssh -i /root/.ssh/1.txt
1.txt为私钥,存放在本机的.ssh/目录下,只要远程机器有公钥就可以连接
所以服务器都使用相同密钥对
自己的本地机器Windows也存放同样的1.txt私钥,使用xshell使用密钥登录

myssh www.bpy.com
myssh 192.168.2.8


救援模式:chroot /mnt/sysimage


 

0:关机

1:单用户

2:少NFS

3:命令行模式

4:保留

5:图形

6:重启


 我们给某个目录的权限设置为rwxrw-rw- 766,其他用户能否ls该目录下的内容,能否进入到该目录下

可以ls,因为有r权限,不能进入 cd,没有x权限


20. 一个目录123的权限为755,属主和属组为root,在该目录里面有一个文件1.txt,权限为777,属主和数组为root,

那么普通用户aming是否可以更改1.txt的内容?是否可以重命名1.txt为2.txt?

可以更改,但是不能重命名

http://www.cnblogs.com/MYSQLZOUQI/p/4802951.html

用户有父目录的other位写入w权限,那么就可以删除重命名父目录下的文件和目录

[root@steven ~]# ls -ld /123
drwxr-xr-x 2 root root 4096 9月  28 00:38 /123

 

[root@steven 123]# su - user3
[user3@steven ~]$ echo 'df' >/123/1.txt 
[user3@steven ~]$ mv !$ 22.txt
mv /123/1.txt 22.txt
mv: 无法将"/123/1.txt" 移动至"22.txt": 权限不够
[user3@steven ~]$ 

 


21. 如果设置 umask 为 001 , 那么用户默认创建的目录和文件的权限是什么样子的?

目录:776

文件:666


22. 用find找出 /var/ 目录下,最近一天内变更的文件?再用find找出 /root/ 目录下一小时内变更的文件?

atime:访问过文件,例如cat ,虚拟机cat之后可能atime不会变,但是真实机不会

ctime:改过inode

mtime:改过block

 

find /root/ -mmin -60


 23. 用find找出 /etc/ 目录下,一年内从未变更过的文件?

find /etc/ -type f ! -mtime -365  取反

 


25. Linux系统里,分别用什么符号表示: 普通文本文件、二进制文件、目录、链接文件、块设备、套接字文件以及串行端口设备?

 普通文本文件 -

二进制文件 -

 目录 d

链接文件 l

块设备 b

套接字文件 s

串行端口设备  c


 29. 如何使文件只能写不能删除? 如何使文件不能删除、重命名、设定链接接、写入、新增数据?

特殊权限

chattr +a

chattr +i

lsattr -R


 

 30. Linux 下一个点 '.' 和两个点 '..' 分别表示什么?

当前目录

上一级目录


 

32. 用ls 查看目录或者文件时,第二列的数值表示什么意思?如果一个目录的这列的值为3,那么这个3是如何得到的?

ls -la |grep "^d" |wc -l


33. 如果没有locate命令,需要我们安装哪个包?初次使用locate命令会报错“can not open `/var/lib/mlocate/mlocate.db': No such file or directory”, 需要我们如何做呢?

locate命令不会列出/tmp/目录

 

 


1Mbps带宽一个月600元

 


36. 更改文件读写执行权限的命令是什么?如何把一个目录下的所有文件(不含目录)权限改为644?

find  /etc/ -type f |xargs chmod 644

 


 

37. 如何查看当前用户的家目录是什么?
[user3@steven ~]$ echo $HOME
/home/user3

 


41. linux系统里哪个命令设置了set_uid?其作用是什么?

/etc/shadow


42. set_uid 能否作用在目录上?

可以,但无意义,一般二进制文件


 

46. 我平时用一个命令很频繁,但是这个命令很长并且有多个选项,请为我想个办法,使我的操作快捷起来。

alias也可以是shell脚本


48. 我在/tmp/目录下临时放了一个可执行的命令,我可以这样使用它:/tmp/aming ,但不能直接输入aming去执行,为什么呢?

如何做才能这样用?

 

放在/etc/profile


PATH=$PATH:/tmp/123


 

50. 有一天你遇到一个奇怪的现象,你的远程终端窗口突然卡死了,无论敲什么命令都没有反应,想一下会是什么原因导致?

ctrl+q


锁屏解锁


 

53. 新建一个用户,会改动系统里面哪些文件?
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
/home


 

56. 你一直使用的一个普通用户不能再登录,提示This account is currently not available. 这是什么原因呢?

/sbin/nologin

 


60. 请实现下面这个需求:只允许使用普通账户登陆,而普通账户登录后,可以不输入密码就能sudo切换到root账户,root是不允许远程登录的。

visudo
/etc/ssh/sshd_config

/etc/sudoers


 

61. 假如我们已经创建了一个普通用户user1, 默认这个用户的家目录为/home/user1, 做实验证明能否直接修改/etc/passwd配置文件中user1的家目录那个字段而改变user1的家目录呢?

cp -rp /etc/skel/ /home/aming1/
或许
cp -r /etc/skel/ /home/aming1/
chown -R amign1:aming1 /home/aming1/

 

cp -p :把权限也复制过去


 

63. 在root用户下,如何以普通用户aming的身份去执行一条命令?

su -c "touch ab.txt" - aming

 


64. 有一天你发现linux系统不能再创建新文件,你如何做?
dd if of bs= count=  默认单位:字节

 

 

/dev/zero 零发生器
/dev/null 黑洞
/dev/random 生成随机数

写速度,/dev/zero零发生器不会有读  写1G文件
dd if=/dev/zero  of=/root/bigfile count=1000 bs=1M --可以指定单位
读速度
dd if=/dev/sda  of=/dev/null  count=1000 bs=1M --可以指定单位

腾讯云的读速度

写速度

 

 

家里虚拟机的读速度

写速度

备份MBR
dd if =/dev/sda of =/tmp/1.txt bs= 512 count=1

 

gzip

-c或--stdout或--to-stdout  把压缩后的文件输出到标准输出设备,不去更动原始文件。 

 http://www.cnblogs.com/qq78292959/archive/2012/02/23/2364760.html

备份: 
dd if=/dev/hdx of=/dev/hdy #将本地的/dev/hdx整盘备份到/dev/hdy 
dd if=/dev/hdx of=/path/to/image #将/dev/hdx全盘数据备份到指定路径的image文件 
dd if=/dev/hdx | gzip >/path/to/image.gz   Linux就这个范儿
#备份/dev/hdx全盘数据,并利用gzip工具进行压缩,保存到指定路径

恢复:
dd if=/path/to/image of=/dev/hdx #将备份文件恢复到指定盘 
gzip -dc /path/to/image.gz | dd of=/dev/hdx #将压缩的备份文件恢复到指定盘


备份软盘 
dd if=/dev/fd0 of=disk.img count=1 bs=1440k --可以指定单位
将软驱数据备份到当前目录的disk.img文件


拷贝内存资料到硬盘 
dd if=/dev/mem of=/root/mem.bin bs=1024 
将内存里的数据拷贝到root目录下的mem.bin文件

2.1.6.从光盘拷贝iso镜像 
dd if=/dev/cdrom of=/root/cd.iso 
拷贝光盘数据到root文件夹下,并保存为cd.iso文件


销毁磁盘数据 
dd if=/dev/urandom of=/dev/hda1   Linux就这个范儿
利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据。执行此操作以后,/dev/hda1将无法挂载,创建和拷贝操作无法执行。


得到最恰当的block size 
dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file 
dd if=/dev/zero bs=2048 count=500000 of=/root/1Gb.file 
dd if=/dev/zero bs=4096 count=250000 of=/root/1Gb.file 
dd if=/dev/zero bs=8192 count=125000 of=/root/1Gb.file 
通过比较dd指令输出中所显示的命令执行时间,即可确定系统最佳的block size大小


测试硬盘读写速度 
dd if=/root/1Gb.file of=/dev/null bs=64k  Linux就这个范儿
dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000 
通过上两个命令输出的执行时间,可以计算出测试硬盘的读/写速度

 

 


 

66. 你的服务器里面磁盘快满了,现在又添加了一块1T新硬盘,领导要求你划分两个分区,一个分区用来做备份,另外一个用来存储数据。你怎么做? 假如你发现一个问题,旧硬盘有一个分区每天都有新数据产生,你如何做才能避免旧硬盘被写满?

ln -s 新盘 旧盘

 

ln -s /tmp/dir新盘 /root/dir旧盘 /root/dir这个目录是不能预先创建好的,否则ln: 创建符号链接 " /root/dir旧盘": 文件已存在,软链接创建失败


实际上这个答案是不行的,办法就是要么rm删除旧盘的文件,或者mv移走
要么
umount -l /root/dir旧盘
将新盘挂载到/root/dir旧盘


67. 假如你的新硬盘将要存放的文件,80%以上都是小于1k的,为了避免空间浪费你需要如何格式化这块硬盘,注意考虑inode数量。

mke2fs -b 1024

最小块大小:1024

1024,2048,4096,8192


 70. 我们在分区时,最多可以分几个主分区和扩展分区?它们有什么规律呢?逻辑分区和扩展分区又有什么关系?

 

对于MBR
主分区+扩展分区<=4
1<=主分区<=4
0<=扩展分区<=1

对于GPT
可以有128个主分区


 74. 卸载某个分区的时候,会提示你磁盘在忙,无法卸载,你如何应对?

先出来 ,不要逗留在那个分区,cd 

然后,umount -l 


75. 镜像文件(.iso)如何挂载到linux系统里面,去读里面的文件内容?

 

mount -o loop xxx.iso  /mnt


 

76.找出/media 目录下所有的mp3文件

find /media -name "*.mp3"

 


77.当在对服务器进行大负荷操作的时候,你不希望现在有普通用户登录上来,你该怎麽做,不能剪网线

切换到root,然后执行命令 :touch /etc/nologin

 

如果发现普通用户登录不上,可以检查一下/etc下是否有nologin这个文件


 

 

78.出于安全考虑,如何实现让别人ping不通你的在线服务器

两种方法 

echo 1> /proc/sys/net/ipv4/icmp_echo_ignore_all

iptables禁止ping的命令如下:
iptables -I INPUT -i eth0 -p icmp -s 0/0 -d 0/0 -j DROP


恢复ping的命令如下:
iptables -I INPUT -i eth0 -p icmp -s 0/0 -d 0/0 -j ACCEPT

80. root用户用vim编辑完一个只读文件,保存会提示这文件只读,你需要如何做才能顺利保存?

 

wq!


 81. vim分为几种模式?我们可以在这几种模式下做什么操作?

进入编辑模式 : i  ,a ,o


85. 如何快速删除一串很长跨行的字符串?
先按v,然后hjkl移动,然后再x
或者
da{  hjkl }


 

88. 写出你所见过的所有压缩包的名字,并且写出解压他们的命令
.tar.gz
.tar.bz2
.tar.xz


91. 在centos上想要安装一个软件,可以通过哪几种方式来安装?

1源码安装
2rpm安装
3yum安装


 

92. 使用rpm工具如何安装和卸载一个rpm包?

rpm -i 包名

rpm -i http://xxx.rpm
rpm -i ftp://xxx.rpm

 

 


rpm -e 包名


93. 如何查看你的机器上都安装过哪些rpm包?

rpm -qa
yum list

yum grouplist

 显示install的


94. 如何查看一个rpm包都安装了哪些文件?

 

rpm -ql

query list


95. 如何查找某个文件是由哪个rpm包安装来的?

 

rpm -qf   

query  file

rpm -qf `which vim`
vim-enhanced-7.4.629-5.el6.x86_64


 

99. 如何查看你的系统都安装过哪些工具集?如果想安装中文支持如何做?

LANG=en

cat /etc/sysconfig/i18n    centos7是 /etc/locale.conf
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"

 

yum grouplist
yum groupinstall "Chinese Support"


105. 限制登录ip和允许登录ip 远程服务器

 

第一种方法

即时生效  ,已经登录服务器的不会被踢掉,尝试登录服务器的会被拒绝

Connection closed by foreign host.

Disconnected from remote host(家里CentOS6.6) at 13:39:56.

# cat /etc/hosts.allow

# cat /etc/hosts.deny

echo "sshd: 192.168.1.100" >> /etc/hosts.deny

 


先allow 再deny 白名单

hosts.allow
sshd: 192.168.31.141 192.160.0.0/24

 

 

hosts.deny
sshd: ALL

 

 

 

第二种方法 iptables防火墙 22端口


106. centos下打开vim怎麽永久显示行号

注意:只对某个用户有效,比如只修改root用户的.vimrc文件那么只对root用户有效

如果没有.vimrc文件需要先在用户家目录vi一个.vimrc文件,然后再编辑

# vi .vimrc
# cd ~  //打开root用户的家目录
# vi .vimrc   //编辑隐藏文件.vimrc  输入 set nu  退出 wq
# vim /etc/passwd    //查看效果

 107. 清空history命令历史

 

root@centos66 ~]# history -c
[root@centos66 ~]# history
    1  history

 

 

 

 

 

f

发表评论

0/200
395 点赞
0 评论
收藏