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