一、学习 Linux 的注意事项

1. Linux 严格区分大小写

Linux 是严格区分大小写的,这一点和 Windows 不一样,所以操作时要注意区分大小写的不同,包括文件名和目录名、命令、命令选项、配置文件设置选项等。

2. Linux 一切皆文件

Linux 中所有内容都是以文件的形式保存和管理的,硬件设备也是文件,这和 Windows 完全不同,Windows 是通过设备管理器来管理硬件的。Linux 的设备文件保存在/dev/目录中,硬盘文件是/dev/sd[a-p],光盘文件是/dev/hdc 等。

3. Linux 不靠扩展名区分文件类型

Windows 是依赖扩展名区分文件类型的,比如,“.txt”是文本文件、“.exe”是执行文件、“.ini”是配置文件、“.mp4”是小电影等。但 Linux 不是靠扩展名区分文件类型的,而是靠权限位标识来确定文件类型的,而且文件类型的种类也不像 Windows 下那么多,常见的文件类型只有普通文件、目录、链接文件、块设备文件、字符设备文件等几种。Linux 的可执行文件不过就是普通文件被赋予了可执行权限而已。
但 Linux 中的一些特殊文件还是要求写“扩展名”的,并不是 Linux 一定要靠扩展名来识别文件类型,写这些扩展名是为了帮助管理员来区分不同的文件类型。这样的文件扩展名主要有以下几种。

  • 压缩包:Linux 下常见的压缩文件名有.gz、.bz2、.zip、.tar.gz、.tar.bz2、.tgz 等。为什么压缩包一定要写扩展名呢?其实很好理解,如果不写清楚扩展名,那么管理员不容易判断压缩包的格式,虽然有命令可以帮助判断,但是直观一点更加方便。另外,就算没写扩展名,在 Linux 中一样可以解压缩,不影响使用。
  • 二进制软件包:CentOS 中所使用的二进制安装包是 RPM 包,所有的 RPM 包都用“.rpm”扩展名结尾,目的同样是让管理员一目了然。
  • 程序文件:Shell 脚本一般用“.sh”扩展名结尾,其他还有用“.c”扩展名结尾的 C 语言文件等,“*.py”扩展名结尾的python文件。
  • 网页文件:网页文件一般使用“.html”“.php”等结尾,不过这是网页服务器的要求,而不是 Linux的要求。
4.Linux 中所有的存储设备都必须在挂载之后才能使用

Linux 中所有的存储设备都有自己的设备文件名,这些设备文件必须在挂载之后才能使用,包括硬盘、U 盘和光盘。挂载其实就是给这些存储设备分配盘符,只不过 Windows 中的盘符用英文字母表示,而 Linux中的盘符则是一个已经建立的空目录。我们把这些空目录叫作挂载点(可以理解为Windows的盘符),把设备文件(如/dev/sdb)和挂载点(已经建立的空目录)连接的过程叫作挂载。

5.Windows 下的程序不能直接在 Linux 中使用

Linux 和 Windows 是不同的操作系统,可以安装和使用的软件也是不同的,所以能够在 Windows中安装的软件是不能在 Linux 中安装的。有好处吗?当然有,那就是能够感染 Windows 的病毒和木马都对 Linux 无效。有坏处吗?也有,那就是所有的软件要想在 Linux 中安装,必须单独开发针对 Linux的版本,或者依赖模拟器软件运行。
很多软件也会同时推出针对 Windows 和 Linux 的版本,如大家熟悉的即时通信软件 QQ、音乐软件 网易云音乐。

二、linux管理建议
1.Linux 目录结构
目 录 名 目录的作用
/bin/ 存放系统命令的目录,普通用户和超级用户都可以执行。是/usr/bin/目录的软链接
/sbin/ 存放系统命令的目录,只有超级用户才可以执行。是/usr/sbin/目录的软链接
/usr/bin/ 存放系统命令的目录,普通用户和超级用户都可以执行
/usr/sbin/ 存放系统命令的目录,只有超级用户才可以执行
/boot/ 系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序
/dev/ 设备文件保存位置
/etc/ 配置文件保存位置。系统内所有采用默认安装方式(rpm 安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等
/home/ 普通用户的家目录。在创建用户时,每个用户要有一个默认登录和保存自己数据的位置,就是用户的家目录,所有普通用户的宿主目录是在/home/下建立一个和用户名相同的目录。如用户love2的家目录就是/home/love2/
/lib/ 系统调用的函数库保存位置。是/usr/lib/的软链接
/lib64/ 64 位函数库保存位置。是/usr/lib64/的软链接
/lost+found/ 当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中 fsck 工具会检查这里,并修复已经损坏的文件系统。这个目录只在每个分区中出现,例如/lost+found 就是根分区的备份恢复目录,/boot/lost+found 就是/boot 分区的备份恢复目录
/media/ 挂载目录。系统建议是用来挂载媒体设备的,如软盘和光盘
/misc/ 挂载目录。系统建议用来挂载 NFS 服务的共享目录。我们在刚刚已经解释了挂载,我们应该知道只要是一个已经建立的空目录就可以作为挂载点。那么系统虽然准备了三个默认挂载目录/media、/mnt、/misc,但是到底在哪个目录中挂载什么设备都可以由管理员自己决定
/mnt/ 挂载目录。早期 Linux 中只有这一个挂载目录,并没有细分。现在系统建议这个目录用来挂载额外的设备,如 U 盘、移动硬盘和其他操作系统的分区
/opt/ 第三方安装的软件保存位置。这个目录是放置和安装其他软件的位置,手工安装的源码包软件都可以安装到这个目录中。不过习惯还是把软件放到/usr/local/目录中,也就是说,/usr/local/目录也可以用来安装软件
/proc/ 虚拟文件系统。该目录中的数据并不保存在硬盘上,而是保存到内存中。主要保存系统的内核、进程、外部设备状态和网络状态等。如/proc/cpuinfo 是保存 CPU信息的,/proc/devices 是保存设备驱动的列表的,/proc/filesystems 是保存文件系统列表信息的。。。
/sys/ 虚拟文件系统。和/proc/目录相似,该目录中的数据都保存在内存中,主要保存与内核相关的信息
/root/ root 的宿主目录。普通用户宿主目录在/home/下,root 宿主目录直接在“/”下
/run/ 系统运行时产生的数据,如 ssid,pid 等相关数据。/var/run/是此目录的软链接
/srv/ 服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据
/tmp/ 临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入。我们建议此目录中不能保存重要数据,最好每次开机都把该目录清空
/usr/ 系统软件资源目录。注意 usr 不是 user 的缩写,而是“UNIX Software Resource”的缩写,所以不是存放用户数据的目录,而是存放系统软件资源的目录。系统中安装的软件大多数保存在这里
/usr/lib/ 应用程序调用的函数库保存位置
/usr/local/ 手工安装的软件保存位置。我们一般建议源码包软件安装在这个位置
/usr/share/ 应用程序的资源文件保存位置,如帮助文档、说明文档和字体目录
/usr/src/ 源码包保存位置
/usr/src/kernels/ 内核源码保存位置
/var/ 动态数据保存位置。主要保存缓存、日志以及软件运行所产生的文件
/var/lib/ 程序运行中需要调用或改变的数据保存位置。如 MySQL 的数据库保存在/var/lib/mysql/目录中
/var/log/ 系统日志保存位置
/var/run/ 一些服务和程序运行后,它们的 PID(进程 ID)保存位置。是/run/目录的软链接
/var/spool/ 放置队列数据的目录。就是排队等待其他程序使用的数据,比如邮件队列和打印队列
/var/spool/mail/ 新收到的邮件队列保存位置。系统新收到的邮件会保存在此目录中
/var/spool/cron/ 系统的定时任务队列保存位置。系统的计划任务会保存在这里
2. 远程服务器关机及重启时的注意事项

为什么远程服务器不能关机呢?很简单,远程服务器没有放置在本地,关机后,谁可以帮你按开机电源键启动服务器?虽然计算机技术日新月异,但是像插入电源和开机这样的工作还是需要手工进行的。如果服务器在远程,一旦关机,就只能求助托管机房的管理人员帮你开机了。

远程服务器重启时需要注意两点。
2.1 远程服务器在重启前,要中止正在执行的服务

计算机的硬盘最怕在高速存储时断电或重启,非常容易造成硬盘损坏。所以,在重启前先中止你的服务,甚至可以考虑暂时断开对外提供服务的网络。可能你会觉得服务器有这么娇贵吗?我的笔记本电脑经常强行关机,也没有发现硬盘损坏啊?这是因为你的个人计算机没有很多人访问,强制断电时硬盘并没有进行数据交换。小心驶得万年船!

2.2 重启命令的选用

Linux 可以识别的重启命令有很多条,但是建议大家使用“shutdown -r now”命令重启。这条命令在重启时会正常保存和中止服务器中正在运行的程序,是安全重启命令。"reboot" 和"init 6"都不安全。不推荐使用。而且最好在重启前执行几次“sync”命令,这条命令是数据同步命令,可以让暂时保存在内存中的数据同步到硬盘上。

3.不要在服务器访问高峰运行高负载命令

在服务器访问高峰,如果使用一些对服务器压力较大的命令,则有可能会造成服务器响应缓慢甚至死机。
哪些命令是高负载命令呢?其实,如果大家使用过 Windows 操作系统,则也会留意到一些操作会给计算机带来较大的运算压力,道理都是一样的,如复制大量的数据、压缩或者解压缩大文件、大范围的硬盘搜索等。
什么时间算作访问高峰期呢?一般认为 17:00—24:00 算作访问高峰期。当然,每台服务器具体提供的服务不同,访问高峰期有时也会有所出入。比如,服务器主要是供美国人民访问的,那就要考虑时差的问题;或者服务器提供的服务很特殊,访问高峰期可能也不同。 一般我们建议在凌晨 4:00—5:00 执行这些命令。

4.远程配置防火墙时不要把自己踢出服务器

简单来讲,防火墙就是根据数据包自身的参数来判断是否允许数据包通过的网络设备。我们的服务器要想在公网中安全地使用,就需要使用防火墙过滤有害的数据包。但是在配置防火墙时,如果管理员对防火墙不是很熟悉,则有可能把自己的正常访问数据包和有害数据包全部过滤掉,导致自己也无法正常登录服务器,如防火墙关闭了远程连接的 SSH 服务的端口。
防火墙配置完全是靠手工命令完成的,配置规则和配置命令相对也比较复杂,万一设置的时候心不在焉,悲剧就发生了。 如何避免这种尴尬的情况发生呢?最好的方法当然是在服务器本地配置防火墙,这样就算不小心把自己的远程登录给过滤了,还可以通过本机登录来进行恢复。如果服务器已经在远程登录了,要配置防火墙,那么最好在本地测试完善后再进行上传,这样会把发生故障的概率降到最低。虽然在本地测试好了,但是传到远程服务器上时仍有可能发生问题。所以如果需要远程配置防火墙,那么先写一个系统定时任务,让它每 5 分钟清空一下防火墙规则,就算写错了也还有反悔。

5.指定合理的密码规范并定期更新
  • 复杂性 8位字符以上 ,大写字母、小写字母、数字、符号四种最少含有三种 ,不能是现有英文单词 ,不能和用户个人信息相关
  • 易记忆性
  • 时效性
6.合理分配权限

服务器管理有一个最简单的原则:给予用户最小的权限。

7.定期备份重要数据和日志

备份的基本原则:不要把鸡蛋放在同一个篮子里

Linux注意事项的更多相关文章

  1. 安装Linux注意事项

    网络配置NAT Worstation 生成虚拟网卡,编辑虚拟网络中子网IP地址为10网段内部地址,避免冲突.  Linux命令 查看主机IP地址 [root@C8 ~]# hostname -I 19 ...

  2. 虚拟机安装 deepin Linux 注意事项

    主要要注意下面几点: 一.虚拟机"客户机操作系统"类型 选择"Windows 7 x64" 选择"客户机操作系统"类型,这个选择十分重要,D ...

  3. linux 学习1

    这里主要是听讲的一些东西的总结, thanks to lamp brother ____安装虚拟机 vmware 8.0.4, 因为高版本占用空间大,没必要 cent OS 6.3 linux 版本 ...

  4. SSH连接Linux

    转载自百度经验 https://jingyan.baidu.com/article/bea41d439d16d7b4c51be619.html 连接Linux的工具有Putty.SSH Secure ...

  5. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

  6. MySQL 5.1参考手册

    目录 前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. My ...

  7. PHP+MySQL代码部署在Linux(Ubuntu)上注意事项

    最近帮同学做一个网站,同学买的是阿里云服务器,Linux发行版是Ubuntu12.04.我在本地把程序写好,都调试好了.然后他让我自己发布和部署.之前在大学里上操作系统课程时,也用过一段时间的Ubun ...

  8. Linux网卡配置及学习linux的注意事项

    一.网卡配置 1.ifconfig网卡信息,配置IP ifconfig eth0 192.168.2.102 2.修改网卡配置(连接不了可能是IP给占用了) 进入编辑界面命令:vi /etc/sysc ...

  9. Linux任务调度进程crontab的使用方法和注意事项

    参考文章:Linux任务调度进程crond命令的使用方法和注意事项 一.crond简介 概念 crond的概念和crontab是不可分割的.crontab是一个命令,常见于Unix和类Unix的操作系 ...

随机推荐

  1. Cocos2d-x 学习笔记(11.6) Sequence

    1. Sequence 动作序列.动作按参数顺序执行,动作总时长为每个动作的时长之和. 1.1 成员变量 FiniteTimeAction *_actions[]; float _split; // ...

  2. libevent::实现的低级 socket

    LibEvent 实现的低级 ROT13 例子 #include <cstdio> #include <netinet/in.h> #include <sys/socke ...

  3. golang会取代php吗

    看看PHP和Golang如何在开发速度,性能,安全性,可伸缩性等方面展开合作. PHP与Golang比较是一个艰难的比较. PHP最初创建于1994年,已有24年.自那时起,由于PHP的开源格式,易用 ...

  4. spring cloud 优雅停机

    spring cloud 优雅停机 大部分部署项目如果要停掉项目一般都是用kill -9 来杀进程 但是由于Eureka采用心跳的机制来上下线服务,会导致服务消费者调用已经kill的服务提供者然后出错 ...

  5. QCustomplot使用分享(九) 绘制图表-多功能游标

    目录 一.概述 二.效果图 三.源码讲解 1.源码结构 2.头文件 3.添加游标 4.监测移动 5.移动游标 6.其他函数 四.测试方式 1.测试工程 2.测试文件 3.测试代码 五.相关文章 六.总 ...

  6. .NET Core 3.0之深入源码理解ObjectPool(二)

    写在前面 前文主要介绍了ObjectPool的一些理论基础,本文主要从源码角度理解Microsoft.Extensions.ObjectPool是如何实现的.下图为其三大核心组件图: 核心组件 Obj ...

  7. 实战--dango自带的分页(极简)

    注意,我将templates定义在项目的同级目录下: 在settings.py中配置 TEMPLATES = [ { 'BACKEND': 'django.template.backends.djan ...

  8. fenby C语言 P10

    if判断语句; if(a<0)→if(条件) if(){C语言语句} #include <stdio.h> int main() { int a=10; if(a>0) { p ...

  9. text文本样式二

    text-transform样式用于将元素的字母全都变成大小 letter-spacing设置字符之间的间距 <html> <head> <style type=&quo ...

  10. ArangoDB简单实例介绍

    数据介绍: 2008美国国内航班数据 airports.csv flights.csv 数据下载地址:https://www.arangodb.com/graphcourse_demodata_ara ...