学习Linux的注意事项
Linux严格区分大小写
- 在命令行中按tab键有命令/文件补齐功能
- Linux的命令/文件名全是小写,环境变量习惯性作为大写
Linux中所有内容以文件形式保存,包括硬件
- 硬盘文件是/dev/sd[a-p]
- 光盘文件是/dev/sr0等
- Linux中若想使修改的内容永久生效,归根结底都需要写入文件,不管是ip地址,网关,用户等信息都要写入文件,如果单纯使用命令行修改只是写入内存,临时生效,一旦重启系统,就失效了
Linux不靠拓展名区分文件类型,靠文件权限区分文件
- 某些拓展名只是为了让开发者区分文件类型,实际运行中,拓展名没有任何作用(虽然Linux有可以区分文件的拓展名,但是不直观) | 压缩包 | .gz/.bz2/.tar.bz2/.tgz | | — | — | | 二进制软件包 | *.rpm | | 网页文件 | .html/.java | | 脚本文件 | *.conf |
- 在Linux中所有文件均没有拓展名,而最早Windows对文件的命名遵循(8.3规则)
- 8.3文件名是指在任意目录说明符之后最多8个字符,最多3个字符的扩展名,两者通过“.”连接起来,这也是8.3命名规则名称的由来
- 现行的Windows早已突破8.3规则的限制
- Linux中的文件区分拓展名,拓展名只作为标识给管理人员辨认文件类型
- 因此Windows中所有文件不能直接放到Linux下去执行(处理*.txt)
- 因为Windows中的文件传给Linux时拓展名Linux不认识
- 优点是Windows中所有木马和病毒都不能感染Linux
- 缺点是大部分软件都要针对Linux做开发
- *.zip,程序文件,照片文件
- 因此Windows中所有文件不能直接放到Linux下去执行(处理*.txt)
Linux所有用户的存储设备都必须挂载之后用户才能使用,包括硬盘,U盘和光盘
Windows下的程序不能直接在Linux中安装
服务器管理和维护建议
Linux各目录的作用
- 前面是个目录均和命令相关 | /bin/ | 所有用户均可执行 | /sbin/ | 仅超级用户可以执行 | | — | — | — | — | | /usr/bin/ | 单用户下不能执行 | /usr/sbin/ | |
/boot/ | 没有特殊情况,不能在boot目录下写数据 |
---|---|
/dev/ | 设备文件的保存位置 |
/etc/ | 配置文件保存位置(默认) |
/home/ | 普通用户的家目录 |
---|---|
/lib/ | 函数库位置 |
/lost found/ | 丢失的和找到的(每个分区都有自己的/lost found/) |
/media/ /mnt/ /misc/ | 系统提供的挂载目录 |
/opt/ | 第三方软件保存位置 |
/proc/ | /sys/ | 虚拟文件系统.文件数据保存在内存中,不在硬盘中 |
---|
/root/ | 超级用户的家目录 |
---|---|
/srv/ | 服务数据目录 |
/tmp/ | 临时目录,新手进行命令行练习时,可以使用/home/目录也可使用/tmp/目录 |
/usr/ | 系统资源目录 |
/var/ | 动态数据保存位置(日志,邮件,缓存) |
服务器注意事项
- 远程服务器不允许关机,只能重启
- 固然存在远程唤醒功能,但是所有的远程唤醒前提条件均在待机状态,而关机,相当于断电状态
- 重启时应该关闭服务
- PC与服务器的区别 | PC | 强制断电时,没有处在大容量的数据吞吐状态 | | — | — | | 服务器 | 服务器,在运行过程中突然断电或突然重启,导致服务器不管是软件和硬件都极可能崩溃 |
- 不要在服务器访问高峰运行高负载命令 | 高负载命令 | 大数据量复制,压缩,全盘扫描,压缩和解压缩 | | — | — |
- 在服务器访问高峰运行高负载命令时服务出现问题的可能性非常大
- 远程配置防火墙时不要把自己踢出服务器 | 防火墙 | 相当于一个过滤器,靠IP地址,端口号,mac地址和包中数据来判断,是否符合规则 | | — | — | | 防火墙与杀毒软件没有关系 | 因为某些病毒和木马可以伪装IP地址和端口 | | 经常需要在服务器上设置防火墙规则 | 有可能将自己的服务器踢出来了,因此在配防火墙时,可以采用一下方法执行定时任务,指定每5分钟,把所有防火墙规则清空一次,直至防火墙规则配置完了,再去掉定时任务 |
- 指定合理的密码规范并定期更新
- 合理分配权限
- 给用户分配的权限越小越好(原则:够用就行)
- 系统启动的服务越少越好
- 定期备份重要数据和日志