sata/sas/scsi 这类硬盘在linux里面的第一块硬盘为sda 第二块为sdb.......第三块为sdc
(分区则为sda1 sda2 sda3.....)
ide硬盘 第一块为hda 第二块为hdb 第三块为hdc
磁盘==> 分区==>格式化==>写和文件系统
linux下面的设备不挂载是无法使用的,挂载点实质就是目录,你想把这个设备放在哪个目录使用。
UUID=62e22bd7-c4af-4e11-acf4-6c5200abd0b8 / ext4 defaults 1 1
UUID=95c77d7b-ef14-493a-b7f0-dc61a92e797e /boot ext4 defaults 1 2
UUID=b2afa236-b89a-4a85-8121-5e15829c47c2 swap swap defaults 0
以上显示系统开机自动挂载的设备
linux每个目录可以挂载在不同的设备(磁盘)上。windows不容易做到。
不同的目录可以分布在不同的硬盘分区以及不同的硬盘设备上
linux下面设备不挂载是看不到入口的,没有窗口没门的监狱,如果要设备被访问就必须有一个入口,这个入口就是挂载点,挂载点实质就是目录。
FHS定义了两层规范:
第一层是“/” 目录下的各个目录应该放什么文件数据,例如:/etc/目录下放置系统的配置文件,例如:/etc/exports, /etc/hosts, 而/bin和/sbin放置程序及系统命令。
第二层是针对/usr(unix software resource|Secondary hierarchy)和/var(Variable data)这两个目录的子目录来定义。例如:/var/log下放置系统日志文件等。
提示:/var分区单独分出来,硬盘足够大。我们都有监控,剩余20%报警。
/dev是设备文件的目录,比如声卡、磁盘、光驱。。。。
/dev/null 这个目录类似黑洞,清空文件的方法:cat /dev/null > test.txt
null ====>空
配置IP地址: vim /etc/sysconfig/network-scripst/ifcfg-eth0
重启所有网卡: /etc/init.d/network restart
重启eth0: ifdown eth0 && ifup eth0 注:用远程连接工具时不可分开执行,会造成无法连接
查看DNS配置文件: /etc/resolv.conf 优先级低于/etc/sysconfig/network-scripst/ifcfg-eth0
用setup修改DNS实际修改的文件是/etc/resolv.conf
常见名称
DEVICE 物理设备名。
IPADDR IP地址。
NETMASK 指网络掩码
GATEWAY 网关地址
ONBOOT 等于yes为引导时激活设备,no引导时不激活设备
USERCTL yes(非root用户能控制该设备)或no
BOOTPROTO none-引导时不使用协议;static-静态分配地址;bootp-使用BOOTP协议,dhcp-使用DHCP协议
阿里DNS
223.5.5.5
223.6.6.6
114DNS
114.114.114.114
114.114.115.115
IP与名字或域名的对应关系,设置主机名可以反映出这台机器的用途
1、开发,产品,测试等人员,用于通过正式的域名测试产品。
2、服务器之间的调用可以用域名(内部DNS),方便迁移
修改机器名及网卡启动网关等
/etc/sysconfig/network
sed -i ‘s#oldgirl#oldgirl34#g‘ /etc/sysconfig/network
hostname oldgirl34
实现开机自动挂载的文件系统列表,一旦配置出错,会导致服务器无法启动
用于存放开机自启动程序命令的文件(chkconfig常用来管理yum/rpm安装程序的服务的开机自启动/etc/init.d).一般用于放入自己开发的程序,文件中放着开机需要启动的命令或脚本
设定系统启动运行级别,加载相关的级别对应启动文件设置。
一般默认为3
cat /etc/inittab # inittab is only used by upstart for the default runlevel. # # ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM. # # System initialization is started by /etc/init/rcS.conf # # Individual runlevels are started by /etc/init/rc.conf # # Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf # # Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf, # with configuration in /etc/sysconfig/init. # # For information on how to write upstart event handlers, or how # upstart works, see init(5), init(8), and initctl(8). # # Default runlevel. The runlevels used are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 3 - Full multiuser mode # 4 - unused # 5 - X11 # 6 - reboot (Do NOT set initdefault to this) # id:3:initdefault:
放置默认启动程序或脚本的目录 存放一些服务/软件的管理命令
如重启所有网卡可执行 /etc/init.d/network restart
/etc/init.d(软链接)===>/etc/rc.d/init.d
[root@oldboy34 etc]# ll -idh /etc/init.d /etc/rc.d/init.d
129874 lrwxrwxrwx. 1 root root 11 Dec 23 15:36 /etc/init.d -> rc.d/init.d
129875 drwxr-xr-x. 2 root root 4.0K Dec 23 15:38 /etc/rc.d/init.d
可定义别名及PATH环境变量
DNS可以在/etc/sysconfig/network-scripts/ifcfg-eth0里面设置
也可以在/etc/resolv.conf里设置
网卡里的设置DNS优先于/etc/resolv.conf,如果重启网络服务会覆盖/etc/resolv.conf的DNS设置
放置别名,函数
加载系统登录程序的一个目录,命令或文件独立存在!
记录用户登录前显示的系统版本等信息,出于系统安全考虑,通常把此文件内容清空。
[root@昌平吴彦祖 ~]# cat /etc/issue.net
CentOS release 6.8 (Final)
Kernel \r on an \m
[root@昌平吴彦祖 ~]# cat /etc/issue #已经清空过了。。。
放入系统登录后一提示信息。
可放一些佛祖保佑,永不宕机之类的。。。
存放内核与进程信息的虚拟的目录
cat /proc/meminfo #<==内存信息
cat /proc/cpuinfo #<==cpu信息
cat /proc/mounts #<==挂载信息
cat /proc/loadavg #<==系统负载信息(系统的繁忙程度)
各种系统日志存放地,系统会按周自动将其切割成小文件。
记录登入系统存取信息的文件,按周自动切割,若rsyglog服务未开启,则此日志功能不能正常记录
系统定时任务crontab默认路径,文件名按用户名命名
sendmail临时邮件文件目录,有很多原因会导致这个目录碎文件很多,如定时任务不加>/dev/null等。碎文件太多会导致inode数量被耗尽,无法写入文件 。C64不会装sendmail,所以不会有这个问题。
http://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/
有关目录的一些
咱们往期学生的有关目录结构的总结:
http://yangrong.blog.51cto.com/6945369/1288072
/etc/sysconfig/network-scripts/ifcfg-eth0 第一块网卡配置文件
/etc/resolv.conf DNS配置文件,优先级低于网卡配置文件
/etc/hosts ip与域名(主机名的对应关系)解析表
/etc/sysconfig/network 主要修改主机名用
/etc/fstab 开机自动挂载列表
/etc/rc.local 开机自启动文件,放置自启动命令,脚本
/etc/inittab 系统运行级别配置文件
/etc/init.d 服务启动命令的目录
/etc/profile 全局环境变量,也可放别名,一般把别名也放入
/etc/bashrc 别名
/usr/local 源码编译软件的默认位置
/var/log/message
/var/log/secure
/var/spool/cron/root root用户定时任务配置文件
/proc/loadavg 负载信息,繁忙程度
/proc/mounts 挂载信息
1. 找命令在哪里
2. 去PATH里面找
3. PATH ,环境变量,存放命令的路径
4. 找到了就执行
5. 找不到提示
面试题:删除一个目录下的所有文件,但保留一个指定文件
解答:
假设这个目录是/xx/,里面有file1,file2,file3..file10 十个文件
[root@oldboy xx]# touch file{1..10}
[root@oldboy xx]# ls
file1 file10 file2 file3 file4 file5 file6 file7 file8 file9
方法一:find
[root@oldboy xx]# ls
file1 file10 file2 file3 file4 file5 file6 file7 file8 file9
[root@oldboy xx]# find /xx -type f ! -name "file10"|xargs rm -f
[root@oldboy xx]# ls
file10
[root@oldboy xx]# find /xx -type f ! -name "file10" -exec rm -f {} \;
[root@oldboy xx]# ls
file10
这两种一个通过xargs传参,一个通过find的-exec执行命令参数来完成,都算作find吧
#感谢两位热心师兄还有老男孩老师的热心解答 C组副组长--张耀 北京-吴晓宇
老男孩老师点评:此法最佳!必会方法!
方法二:rsync
[root@oldboy xx]# ls
file1 file10 file2 file3 file4 file5 file6 file7 file8 file9
[root@oldboy xx]# rsync -az --delete --exclude "file10" /null/ /xx/
[root@oldboy xx]# ls
file10
老男孩老师点评:此法为锦上添花,加分项!
方法三:开启bash的extglob功能(此功能的作用就是用rm !(*jpg)这样的方式来删除不包括号内文件的文件)
[root@oldboy xx]# shopt -s extglob
[root@oldboy xx]# ls
file1 file10 file2 file3 file4 file5 file6 file7 file8 file9
[root@oldboy xx]# rm -f !(file10)
[root@oldboy xx]# ls
file10
第三种方法同样感谢热心的师兄 北京-张重生Net
老男孩老师点评:此法没啥用,讲出来反而会让人觉得你水平不行,一看就是搜索出来的,但是作为知识研习是可以的!此法面试答出来有可能是减分项!
再补充两种方法(20150802 来自老男孩教育25期课堂)
方法四:
find ./ -type f|grep -v "\boldboy1\b"|xargs rm -f
方法五:
rm -f `ls|grep -v "\boldboy1\b"`
从运维角度,任何删除性的操作都应该事先备份后在执行或者确认有备份存在。
原文:http://www.cnblogs.com/Csir/p/6399417.html