经过以往的学习,现在对Linux的学习进行一次总结。记录一下自己在Linux使用的感悟。
by Marvin.Zhao
我的Linux哲学
Linux有自己的一套的哲学理论,我在学习Linux的过程中也被Linux的设计哲学所惊艳到。
我的Linux学习哲学是:
我是谁?
第一个对应的是英文中的WHO。在Linux系统中,我们首先要做的就是确认自己的角色。确认角色的主要目的就是为了明确自己的权限。我是普通用户还是管理员,这是非常重要的。我所在的组是什么,我能进行哪些操作,都是跟角色有关的。
角色就涉及到权限,权限约束这用户能够对哪些文件进行操作,能够使用哪些命令。
主要分辨出两点:
- 普通用户
- 管理员用户
这是需要十分明确的。使用如下命令:
1 | whoami |
是的,你没有看错。就是这样一条命令,系统就能告诉你,你是谁。当然除了这条命令之外还可以使用其他命令查看有哪些用户(在什么时间)登陆了该系统。
1 | #下面的命令是查看有哪些用户登陆了该系统 |
经过上面的操作,你就明白自己是什么角色了。其中id
,这个命令的结果如果大于1000,那么就是普通用户。如果小于1000,可能是系统用户或者管理员或者普通用户。
小补充
这里补充一下系统用户的知识。什么是系统用户?
在Linux系统的/etc/passwd
文件中按照行存储了一些用户以及其他的信息。
1 | [hexo@dhu021 ~]$ cat /etc/passwd |
可以看到每一行都是按照冒号分隔了7个字段。这些字段代表了不同的意思。
字段 | 含义 |
---|---|
1 | 用户名 |
2 | 用户的密码原来直接存储在第二字段,但是为了安全,最后专门有了/etc/shadow文件,现在默认用x替代 |
3 | 用户的uid,一般情况下root为0,1-499默认为系统账号,有的更大些到1000,500-65535为用户的可登录账号,有的系统从1000开始。 |
4 | 用户的gid,linux的用户都会有两个ID,一个是用户uid,一个是用户组id,在我们登录的时候,输入用户名和密码,其实会先到/etc/passwd查看是否有你输入的账号或者用户名,有的话将该账号与对应的UID和GID(在/etc/group中)读出来。然后读出主文件夹与shell的设置,然后再去检验密码是否正确,正确的话正常登录。 |
5 | 用户的账号说明解释 |
6 | 用户的家目录文件夹 |
7 | 用户使用的shell,如果换成/sbin/nologin/就是默认没有登录环境的。 |
情况就是这样。这里3、4字段的含义就指出了哪些是系统用户了,哪些是普通用户。
我在哪儿?
第二需要明确的是WHERE。就是要知道自己所处的位置。Linux系统那么多目录,一条命令:
1 | pwd |
找到自己所处的位置,不会迷路。自己也能做到心中有数。
我要干什么?
第三步,就是抛开一切的想法。脑子里只要高速自己,我在XXX目录下,我要干嘛。我的任务(TASK)是要复制一个文件还是重命名一个文件还是编辑一个文件等等。这一步讲的就是不要在Linux中迷失自我,要做到目标明确,不要做无头苍蝇。
我要怎么干?
最后一步也是通常人们常要做的。就是,我该怎么做才能达到在第三步提出的问题。我要怎么干?这就是涉及到Linux的哲学问题了。化大为小,化繁为简,分而治之。将一个大问题化简成多个小问题,把一个繁杂的问题分解成许多个简单问题。这样就可以理清楚自己需要怎么做了。
命令集合
这里我都不想写了。很多常用的我就步介绍了。这里会更新一些不常用的,而且很有用的命令。
- scp
- mount
- ln
后记
在学习Linux的过程中,我们每次打开命令行只要要反问自己前三个问题,尤其是强两个问题,必须要明确。