Linux学习笔记(一):基础
一、Linux学习阶段
linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多中型,大型甚至是集群项目都在使用linux,很多软件公司考虑到开发成本都首选linux,在中国软件公司得到广泛的使用。
第 1 阶段:linux环境下的基本操作命令,包括 文件操作命令(rm mkdir chmod , chown) 编辑工具使用(vi vim)linux用户管理(useradd userdel usermod)等
**第 2 阶段:**linux的各种配置(环境变量配置,网络配置,服务配置)
第 3 阶段:linux下如何搭建对应语言的开发环境(大数据,JavaEE,Python等)
第 4 阶段:能编写shell脚本,对Linux服务器进行维护。
第 5 阶段:能进行安全设置,防止攻击,保障服务器正常运行,能对系统调优。
第 6 阶段:深入理解Linux系统(对内核有研究),熟练掌握大型网站应用架构组成、并熟悉各
个环节的部署和维护方法。
二、安装环境
2.1 安装VM和CENTOS
学习Linux需要创建一个虚拟机,然后在虚拟机上安装一个Centos系统来学习。
此处略过
2.2 VMTOOLS
作用
可以直接粘贴命令在windows和 centos系统之间
可以设置windows和centos的共享文件夹
1.进入centos
2.点击vm菜单的->install vmware tools
3.centos会出现一个vm的安装包
4.点击右键解压, 得到一个安装文件
5.进入该vm解压的目录 ,该文件在 /root/桌面/vmware-tools-distrib/下
6.安装 ./vmware-install.pl
7.全部使用默认设置即可
8.需要reboot重新启动即可生效
使用vmtools来设置windows和linux的共享文件夹
打开虚拟机设置,在选项卡页设置共享文件夹
该共享文件就在centos的 /mnt/hgfs/ 下
三、LINUX 的目录结构
3.1 基本介绍
linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此
目录下再创建其他的目录。
深刻理解linux树状文件目录是非常重要的
在Linux世界里,一切皆文件。
3.2 目录结构的具体介绍
总结:
1 ) linux的目录中有且只要一个根目录 /
2 ) linux的各个目录存放的内容是规划好,不用乱放文件。
3 ) linux是以文件的形式管理我们的设备,因此linux系统,一切皆为文件。
4 ) linux的各个文件目录下存放什么内容,大家必须有一个认识。
5 ) 学习后,你脑海中应该有一颗linux目录树
四、远程登录 LINUX 系统
4.1 为什么需要远程登录LINUX.
说明: 公司开发时候, 具体的情况是这样的
1 ) linux服务器是开发小组共享的.
2 ) 正式上线的项目是运行在公网的.
3 ) 因此程序员需要远程登录到centos进行项目管理或者开发.
4 ) 画出简单的网络拓扑示意图(帮助理解)
5 ) 远程登录客户端有 Xshell, Xftp , 我们学习使用 Xshell和 Xftp, 其它的远程工具大同
小异.
4.2 Xshell
Xshell 是目前最好的远程登录到Linux操作的软件,流畅的速度并且完美解决了中文乱码的问题, 是目前程序员首选的软件。
Xshell是一个强大的安全终端模拟软件,它支持SSH 1 ,SSH 2 , 以及MicrosoftWindows 平台
的TELNET 协议。
Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终
端的目的。
特别说明:如果希望安装好XShell 就可以远程访问Linux系统的话,需要有一个前提,就是
Linux启用了SSHD服务,该服务会监听 22 号端口。
4.3 安装XSHELL 5 并使用
使用ifconfig
可以查看当前虚拟机ip
安装和连接略,不赘述
五、VI 和 VIM 编辑器
5.1 VI和VIM的基本介绍
所有的 Linux 系统都会内建 vi 文本编辑器。
Vim 具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
5.2 VI和VIM的三种常见模式
1.正常模式
在正常模式下,我们可以使用快捷键。
以 vim 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用『上 下左右』
按键来移动光标,你可以使用『删除字符』
或『删除整行』
来处理档案内容, 也可以使用
『复制、贴上』
来处理你的文件数据。
2.插入模式/编辑模式
在模式下,程序员可以输入内容。
按下i,I,o,O,a,A,r,R等任何一个字母之后才会进入编辑模式, 一般来说按 i
即可
常用命令:(先输入冒号)
- 保存
:w
- 保存并退出
:wq
- 退出
:q
3.命令行模式
在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开 vim 、显示行号等的动
作则是在此模式中达成的
5.3 VI和VIM 三种模式的相互转化图
6 5 快捷键的使用
1.拷贝当前行 yy
, 拷贝当前行向下的 5 行 5yy
,并粘贴(p)
2.删除当前行dd
, 删除当前行向下的 5 行 5dd
3.在文件中查找某个单词 [命令行下 /关键字
,回车 查找 , 输入n
就是查找下一个 ],查询
hello.
4.设置文件的行号,取消文件的行号.[命令行下:setnu
和 :setnonu
]
5.编辑 /etc/profile 文件,使用快捷键到底文档的最末行[G
]和最首行[gg
],注意这些都是在正常模
式下执行的。
6.在一个文件中输入 “hello”,然后又撤销这个动作,在正常模式下输入 u
7 ) 编辑 /etc/profile 文件,并将光标移动到 第 20 行 shift+g
第一步:显示行号 :setnu
第二步:输入 20 这个数
第三步: 输入shift+g
六、开机、重启和用户登录注销
6.1 关机&重启命令
shutdown
- shutdown -hnow: 表示立即关机
- shutdown -h 1 : 表示 1 分钟后关机
- shutdown -r now: 立即重启
halt
:关机
reboot
:重启系统。
syn
: 把内存的数据同步到磁盘
当我们关机或者重启时,都应该先执行以下sync指令,把内存的数据写入磁盘,防止数据丢失。
6.2 用户登录和注销
1 ) 登录时尽量少用root帐号登录,因为它是系统管理员,最大的权限,避免操作失误。可以利
用普通用户登录,登录后再用 su- 用户名
命令来切换成系统管理员身份
2 ) 在提示符下输入 logout
即可注销用户
细节:logout 注销指令在图形运行级别无效,在 运行级别 3 下有效.
七、 实操篇 用户管理
7.1 基本介绍
说明
1 ) Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向
系统管理员申请一个账号,然后以这个账号的身份进入系统。
2 ) Linux的用户需要至少要属于一个组。
7.2 添加用户
基本语法
useradd [选项] 用户名
实际案例
添加一个用户xm.
---
useradd xm
---
特别说明:
cd 表示changedirectory, 切换目录.
细节说明
1 ) 当创建用户成功后,会自动的创建和用户同名的家(home)目录
2 ) 也可以通过 useradd-d 指定目录 新的用户名,给新创建的用户指定家目录
例如
创建一个animal下的dog用户:
useradd -d /home/animal dog
7.3 给用户指定或者修改密码
基本语法
passwd 用户名
给xiaoming 指定密码:
passwd xiaoming
7.4 删除用户.
基本语法
userdel 用户名
应用案例
删除用户xm,但是要保留家目录
userdel xm
删除用户xh以及用户主目录
在删除用户时,我们一般不会将家目录删除。
7.5 查询用户信息
基本语法
id 用户名
应用实例
请查询root信息
---
id root
---
输出:uid=0(root) gid=0(root) 组=0(root)
细节说明
当用户不存在时,返回”无此用户”
7.6 切换用户.
介绍
在操作Linux中,如果当前用户的权限不够,可以通过 su - 指令,切换到高权限用户,比如root
基本语法
su - 用户名
应用实例
创建一个用户zf, 指定密码,然后切换到 zf.
useradd zf
passwd zf
(输入密码)
su - zf
细节说明
1 )从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
2 )当需要返回到原来用户时,使用exit指令
7.7 用户组
介绍
类似于角色,系统可以对有共性的多个用户进行统一的管理。
增加组
groupadd 组名
groupadd wuhan
删除组
指令(基本语法)
groupdel 组名
groupdel wuhan
7.8 增加用户时直接加上组
指令(基本语法)
useradd -g 用户组 用户名
增加一个用户 zwj, 直接将他指定到 wudang
groupadd wudang
useradd -g wudang zwj
7.9 修改用户的组
指令(基本语法)
usermod -g 用户组 用户名
案例演示
创建一个shaolin组,让将zwj 用户修改到shaolin
usermod -g shaolin zwj
7.10 /ETC/PASSWD 文件
用户(user)的配置文件,记录用户的各种信息
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
7.11 /ETC/SHADOW文件
口令的配置文件
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动
时间:失效时间:标志
7.12 /ETC/GROUP文件…
组(group)的配置文件,记录Linux包含的组的信息
每行含义:组名:口令:组标识号:组内用户列表