一天一点linux(6)

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
    原文作者:denson
    原文地址: https://segmentfault.com/a/1190000004412996
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞