博客
电影
宝箱
友链
关于
<
JavaScript类的语法糖
如何用正确的姿势写HTML
>
Linux之新手村攻略
作者:
Cifer
类别: 技术·运维
时间:2016-08-08 00:04:52
字数:5167
版权所有,未经允许,请勿转载,谢谢合作~
##### 前言 曾几何时,大前端的号角吹响,Linux也成为前端的必备技能之一,就算做不到精通,网络、权限、日志、vi、服务器等简单日常使用还是要会的。所以说本文只能让你简单了解下Linux是什么,简单用几个命令。真要入门还得看书及实践。 Linux是1991写的类Unix系统 ,主要用作服务器,市场占有60%以上(参考wiki:<a href="https://zh.wikipedia.org/wiki/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E4%BD%BF%E7%94%A8%E4%BB%BD%E9%A2%9D" target="_blank" rel="nofollow">https://zh.wikipedia.org/wiki/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E4%BD%BF%E7%94%A8%E4%BB%BD%E9%A2%9D</a>),如此普及,除了其内核优化的好,更重要的原因还是开源。 顺便说说, Unix早到1969年被贝尔实验室开发,算是Linux与 Mac os的祖宗啦。而Windows算是另一派的系统,但它的图形界面,又与Mac os有扯不清的关系,《浪潮之巅》里提到:Mac os的麦金托什诞生后,与微软合作,同时微软暗渡陈仓,模仿当时Mac os的交互式图形界面,推出改变世界的Windows3.0,虽然后面就此打官司,可Mac os当时的图形界面,也是施乐(xerox)公司帕洛阿图(PaloAlto,斯坦福大学所在地)实验室(Parc)研制出来,苹果公司并没占到多少好处,有趣的是, 帕洛阿图 除了研制出该交互图面,还研发了以太网 ,可都没有把技术价值转成商业价值。 它是开源的,基于该内核有三个发行版RedHat , Slackware与Debian,代表产品有RHEL,SUSE,Ubantu,这里以RHEL的改版centos(免费)为例。 centos官网下载(<a href="https://www.centos.org/download/" target="_blank" rel="nofollow">https://www.centos.org/download/</a>),分Everything, DVD, Minimal三个版本,分别是集成版、标准版、极简版, 大小分别是7.7G,4.1G,680M,推荐Minimal,需要什么软件再安装即可,虽说操作系统分32位与64位,本例使用的是centos7,其已经不提供32位了。 如果你还想用windows,但又想学Linux,可以使用VMware来安装,细节[西法](http://www.boatsky.com "太空船博客")就不多说了。 ##### 用户 Linux安装时可以创建用户,无论如何都会有一个默认的用户root,唯一的超级管理账户,密码在安装系统时设置。但由于其权限过高,我们平时不会使用它,以免误操作。Linux支持多用户同时在线,需创建多个用户,为便于管理,我们把用户分组,比如管理员组admin,会员组vip,顾客组guest, 但不管叫什么名字,都只能命名而已,他们都只会是普通用户,只是我们可以赋与他们管理员的部分或全部权限而已。 添加用户组: ``` groupadd admin groupadd vip groupadd guest ``` 查看用户组: ``` cat /etc/group ``` 查看部分结果 root:x:0: admin:x:1000: vip:x:1001: :分开的三个参数,分别是,用户组名:密码:GID:用户列表 重命名vip为newvip: ``` groupmod -n newvip vip ``` 删除用户组: ``` groupdel newvip ``` 删除之后再重新添加vip,其GID还是会原来的基础上加1(当然也可以指定GID为1002,groupadd -g 1002 vip,不过没有必要),而不是像我们SQL的自增ID删除后中断,GID一般从1000开始累加,据说可以到达4 294 967 295。 给用户组admin增加用户cifer(注意这里是小写的-g): ``` useradd -g admin cifer ``` 给用户cifer设置密码: ``` passwd cifer //然后按提示输入两遍密码 ``` 查看用户信息: ``` cat /etc/passwd ``` 相关结果 cifer:x:1000:1000::/home/cifer:bin/bash 一共七个参数,分别表示 : 用户名:密码:UID:GID:用户命名:home目录:shell 删除用户cifer: ``` userdel cifer ``` 该方法只会删除用户本身,但不会删除用户目录,如果加-r,则把用户目录也删除了,无法挽回,请慎重使用! 为便于测试,这时重新加入用户并设密码: ``` useradd -g admin cifer useradd -g vip byends useradd -g vip coolcity useradd -g guest guest ``` 查看cifer的用户组: ``` groups cifer ``` 同时去用户查看组查看,发现还是 admin:x:1000: 并没有用户列表,为什么呢? 显示cifer信息: ``` id cifer ``` 结果: uid=1000(cifer) gid=1000(admin) groups=1000(admin) 看明白了吧! 原来用户组分两种:主组及附加组。一个用户只能在一个用户组,但可以同时属于不同的附加组。 在/ect/group只会显示以附加组加入该组的用户,但如果没有特意给用户指定附加组,则把主组当成附加组,但在组文件中不显示 cifer加入admin与vip两个附加组: ``` usermod -G admin,vip cifer ``` 再去用户组查看用户: admin:x:1000:cifer vip:x:1001:cifer 不过上述修改附加组方式,每次得带上全部的附加组,比如 usermod -G admin cifer就相当于删除了其他附加组,所以还可以这样添加 cifer加入guest附加姐,该方法保留之前的 附加组 ,但只能一次操作一个: ``` gpasswd -a cifer vip gpasswd -a cifer guest ``` 把cifer从guest附加组里删除: ``` gpasswd -d cifer guest ``` 明白了用户与用户组简单操作,不要随便使用root用户了 切换成cifer用户,-l表示重新登录系统,使用cifer的环境变量等: ``` su -l cifer ``` ##### 文件 cd 是打开目录,如打开要目录cd /,打开上一层 cd .. ``` mkdir test rmdir test ``` 创建目录 删除空目录 删除非空目录不做提示是rm -rf test 这个命名慎用,一不小心把不该删除的删除了就只能跑路了~ 在var目录下查看详情: ``` ls -l ``` drwxr-xr-x. 2 root root 6 Feb 23 11:24 test 依次: drwxr-xr-x 文件类型、权限,则表示其他用户的权限 2 连接数 root 所属用户 root 所属用户组 6文件大小 Feb 23 11:24 最后修改时间 test 目录名 drwxr-xr-x. 其中d表示目录(-表示文件,l表示软链接),rwx表示拥有者有读r写w执行的权限,第一个r-x表示该用户组的用户对其有读、执行的权限,第二个r-x 把test目录设置为所有用户拥有读、写、执行权限: ``` chmod 777 test ``` 其中777的三个7分别是指二进制111,对应rwx,如果要把test目录下遍历所有子目录(包括子子目录、子子子目录……)也修改则加-R (不过这是不做试验,以免影响后续例子连贯性)chmod -R 777 test 此处除了使用数据,还可以使用u,g,o,a分别代码拥有者,组,其他,全部,进行+,-,=进行运算 比如上述还可以这样写: ``` chmod a=rwx test ``` 我们用cifer用户在test创建一个文件cifer(后缀其实是多余的,只是习惯): ``` touch cifer touch cifer.txt touch cifer.html ``` 类型、权限默认是 -rw-r--r-- ``` rm cifer ``` 删除cifer文件 修改文件所有者(只有root用户可以执行该命令,否则会提示operation no permitted): ``` chown byends:guest cifer.html ``` 重命名文件: ``` rm cifer.txt admin.txt ``` 重命名目录(MAC): ``` mvdir cifer admin ``` 使用vi打开admin.txt,在里面写入hello world,然后按esc 强制保存退出:wq! find查找cifer前缀的文件名: ``` find /var/test -name cifer* ``` 查找文件内容: ``` whereis hello ``` 查找是否安装的软件tc: ``` which tc ``` ##### 目录 Windows与Linux目录有些区别。前者是按磁盘分区分成c、d、e等多个根目录;后者只有一个根目录'/',根目录下有各个子目录,磁盘挂载在目录上。 根目录下有各个子目录,因为Linux有一个文件规范的存在,可以理解为,特定的目录存储同一类的文件,一定程度上避免了多数用户在Windows文件分类混乱问题。 bin 可执行文件 boot 引导器配置文件 dev 设备文件 etc 系统专有配置 home 用户目录 lib 共享库和内核模块 lib64 x86_64系统特有lib media 可稳动设备挂接点 mnt 临时挂接点 opt 附加应用包 proc 系统内核内部数据结构与系统内核设置,存在内存 root root用户特有目录 run 本次系统运行需要的文件,重启后重新生成 sbin 系统级可执行文件 srv 系统提供用于服务器数据 sys 统一设备模型管理 temp 临时文件 usr 文件系统的第二层 var 可变数据 以上目录下又有下级目录,就不展开了。 ##### VI编辑器 vi是Linux默认全屏编码器,功能强大,是编码器战役中的王牌军之一。vim是它的升级版,兼容vi。 比如本次安装的centos7,查看vi版本: ``` vi --version ``` 可以看到 VIM - Vi IMproved 7.4 则说明此处vi使用的就是vim vim如此强大,这里只简单介绍几个常用功能。 vi有三种模式:一般模式、编辑模式、指令模式。 vi filename 进入一般模式: h 左移光标 j 下移光标 k 上移光标 l 下移光标 yy 复制一行 p 粘贴光标之后 P 粘贴光标之前 u 恢复上一命令 Ctrl+R 撤销恢复上一命令 一般模式中使用以下命令,则进入插入模式: i 光标之前插入 I 插入至当前行行首 a 光标之后插入 A 当前行行末插入 o 当前行下面生成一空行并插入 O 当前行上面生成一行并插入 插入模式按Esc,切回到一般模式 一般模式按:,变成指令模式,指令模式用见命令: w 保存 wq 保存退出 wq! 保存强制退出 q 退出 q! 不保存强制退出 w filename保存文件 ##### 上网 虚拟机情况下,怎么上网呢 此处使用root用户操作 激活网卡 进入 /etc/sysconfig/network-scripts目录 打开 ifcfg-en开头的网卡文件,把ONBOOT=no改成 ONBOOT=yes 重启网络: ``` service network restart ``` 使用ping www.boatsky.com 已经成功返回说明成功联网,但ifconfig却command not found,因为没有安装net-tools工具 此处查找该工具包: ``` yum search ifconfig ``` 查找到一个网络工具包名为net-tools.x86_64 安装网络工具包: ``` yum install net-tools.x86_64 ``` 此时使用ifconfig则可以看到其网络信息啦 最常用的5个地方已经简单介绍啦,想了解更多,还是得多用。 本文[cifer](http://www.boatsky.com "太空船博客")参考了《Linux就是这个范》《鸟哥的linux私房菜》等资料,推荐新手多看类似的入门的新书籍,会系统化的讲解,一般比网络博客写的详细。
如果觉得有帮忙,您可以在本页底部留言。
相关推荐:
v2ray+ws+tls+cloudflare+nginx实现一台服务器两用
升级到php7.3与laravel5.8的问题记录
2核1G内存的服务器能承载多少人访问
Navicat远程连接Linux上MySql
Centos7+Nginx+PHP+MySQL搭建网站
……
更多
<
JavaScript类的语法糖
如何用正确的姿势写HTML
>
全部留言
我要留言
内容:
网名:
邮箱:
个人网站:
发表
全部留言