Linux系统目录结构:
逻辑上所有的目录只有一个顶点/(根),所有的目录的起点。
根下面类似一个倒挂的树一样的层次结构,只有一颗树(区别window,每个盘符都是一棵树)
tree -L 1(显示层数) /
linux的目录结构也是有规律的,而且也是按照类别组织的。
应用程序 /usr/bin
数据文件 帮助/usr/share
配置文件 /etc/
启动命令 /etc/init.d
1).Linux的所有目录结构是一个有层次的倒挂着的树形目录结构
2).根"/"是所有目录的顶点
3).目录结构和分区设备是没有关系的,也就是不同的目录可以跨越不同的磁盘设备
4).所有的目录都是按照一定的类别有规律的组织和命名的。
相对路径和绝对路径
绝对路径:从根开始就是绝对路径 cd /data/
相对路径:不从根开始的路径 cd ../
关机与重启命令
halt 关机
reboot 重启
shutdown -r now(时间) 重启
shutdown -h now 关机
linux的一些目录结构分析:
/dev/ 设备目录
/etc/ 文件以及服务启动的目录
/proc/ 显示内核及进程信息虚拟文件系统
/tmp 临时文件目录
/home 普通用户家目录
/var/ 变化目录,一般是日志文件的目录
/usr/ 用户程序及数据,帮助文件等目录
/bin 和 /sbin 和 /usr/sbin 用户命令的目录
重要的一些子目录说明:
1.网卡地址:
etc/sysconfig/network-scripts/ifcfg-eth0
/etc/init.d/network restart 重启网卡(所有网卡)
ifdown eth0 && ifup eth0 (只对eth0)
通过setup可以设置网络配置
2.设置Linux本地的客户端DNS的文件--DNS可以实现域名和IP的解析
/etc/resolv.conf
3.设置用户IP和名字(或域名)的对应解析表
/etc/hosts
4.修改机器名及网卡启动,网关等配置
/etc/sysconfig/network
5.记录开机要mount的文件系统的一个文件
/etc/fstab
6.存放开机自启动程序命令的文件(chkconfig只能管理yum、rpm安装程序的启动服务)
/etc/rc.local
7.设定系统启动时,init进程将系统设置成什么样的runlevel及加载相关的启动文件设置。linux开机启动流程。
/etc/inittab
8.存放系统或服务器启动的脚本
/etc/init.d
9.系统全局环境变量配置路径
/etc/profile
#查看系统版本
cat /etc/issue
#查看版本信息
#隐藏系统版本
#>/etc/issue
或者
cat /dev/null >/etc/issue
锁定关键系统文件
上锁:
chattr +i /etc/passwd /etc/shadow/ /etc/group /etc/gshadow /etc/inittab
解锁:
chattr -i /etc/passwd /etc/shadow/ /etc/group /etc/gshadow /etc/inittab
查看内容是否加锁:
lsattr(查看文件属性) /etc/passwd
chattr(修改文件属性)
SELinux
关闭SElinux
vim /etc/selinux/config
更改:
SELINUX=enforcing
为:
SELINUX=disabled
或者使用命令:
sed -i s#SELINUX=enforcing#SELINUX=disabled#g /etc/selinux/config
修改之后查看:
grep "disabled" /etc/selinux/config
执行命令:
setenforce 0
(生效需要重启,但是Linux一般不重启,所有先临时更改setenforce 0,启后永久更改)
Linux启动有7种启动模式:
查看当前系统运行级别
runlevel
编辑启动文件
vi /etc/inittab(配置文件)
不同运行级别模式之间的切换
init 0(关机)/1/2/3(默认命令模式)/4/5(桌面模式)/6
精简开机系统启动的服务为:
1).setup->systerm service
2).ntsysv
3).脚本一键完成处理
chkconfig查看设置开机自动启动软件的命令类似与windows下的msconfig命令
chkconfig --list |grep "3:on"
如果是中文,执行命令:
LANG=en
更改sshd远程连接配置
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ori 对源文件进行备份
vi /etc/ssh/sshd_config 编辑sshd_config
更改内容:
port 52113 ssh连接默认的端口为22,更改更安全
PermitRootLogin no root用户黑客都知道,禁止它远程登录,但可以本地登录
PermitEmptyPasswords no 禁止空密码登录
UseDNS no 不使用DNS
重启生效
/etc/init.d/sshd restart
关闭防火墙
/etc/init.d/iptables stop
查看网络状态
netstat -an
或
-lntup | grep ssh
lsof -i port(52113) 有结果表示服务已开启52113为更改后的sshd端口
更改字符集
vi /etc/sysconfig/il8n
更改为:
LANG="zh_CN.GB18030"
SYSFONT="latarcyrheb-sun 16"
source /etc/sysconfig/il8n 使更改生效
echo $LANG 查看字符集
时间同步
Linux系统的时间同步方法--ntp服务时间软件
which ntpdate
/usr/bin/ntpdate
执行如下命令:
/usr/sbin/ntpdate time.nist.gov 临时设置同步
#定时任务
echo '#time synv by user at 2016-1-30'>>/var/spool/cron/root
echo '*/5 * * * */'usr/sbin/ntpdate time.nist.gov>/dev/null 2>&1'>>/var/spool/cron/root
crontab -l
额外学习:linux优化笔记整理
基础优化回顾总结:
1).不用root,添加普通用户,通过sudo授权管理;
2).更改默认的远程连接SSH服务端口及禁止root用户远程连接;
3).定时自动更新服务器时间
4).配置yum更新源,从国内更新源下载安装rmp包
5).关闭selinux及iptables(iptables工作场景如果有wap ip一般要打开,高并发除外)
6).调整文件描述符的数量,进程及文件的打开都会消耗文件描述符
7).定时自动清理/var/spool/clientmquene/目录垃圾文件,放在inodes节点被占满
8).精简开机自启动服务(crond,sshd,network,rsyslog)
9).Linux内核参数优化(etc/sysctl.conf,执行sysctl -p生效)
10).更改字符集,支持中文,但建议还是用英文字符集,放在乱码问题
11).锁定关键系统文件
chattr +i /etc/passwd /etc/shadow/ /etc/group /etc/gshadow /etc/inittab
处理以上内容,把chattr改名test,会相对更安全。
12).清空/etc/issue,去除系统及内核版本登录前的屏幕显示。
cat 显示内容输出
tac 反转内容输出
tail -f(跟踪文件结尾变化) a.txt