1、Linux学习方向
- Linux嵌入式开发工程师.
- Linux运维工程师
- Linux下做各种程序开发
2、linux入门
- linux是一款操作系统,免费,开源,安全,高效,稳定,处理高并发非常强悍,很多企业级的项目都部署到linux或者unix服务器运行
- linux创始人是 林纳斯 linus
- linux吉祥物 是一只企鹅,名字叫 TUX [燕尾服]
- linux主要的发行版:Centos,redhat 红帽,Ubuntu,红旗Linux,Suse
- linux是一个内核,很多厂商在内核上面添加了很多应用软件
3、Linux安装
学习linux需要一个环境,创建一个虚拟机,然后在虚拟机上安装一个Centos系统来学习
- 先安装vm 虚拟机
- 再安装Linux Centos
详细下载内容查看百度
centos终端使用和联网
终端: 鼠标右键——>终端
跟换配色:编辑——>首选项
联网:右上角网络按钮 点击联网
安装vmtools
- 可以直接粘贴命令再windows和centos系统之间
- 可以设置windows和centos的共享文件夹
4、共享文件夹设置
5、共享文件夹在centos中的位置
计算机——>文件系统 ——> mnt ——>hgfs——-共享文件夹
二、Linux目录结构
1、linux目录:
/ 根目录 (根目录只有一个)
—— bin 常用指令
—— home
—— root
—— boot
—— dev 管理设备,把硬件映射成文件来管理
—— etc 存放配置文件
—— home 用户文件
—— lib 静态库
—— …
像一颗倒栽的树一样,根在最上面
在linux世界里,一切皆文件
总结:
- linux的目录中有且只有一个根目录
- linux的各个目录存放的内容都是规划好的,不要乱放
- linux是以文件的形式管理我们的设备,因为 linux世界里 一切皆为文件
- linux的文件目录下存放什么内容,必须有一定的了解
2、具体的目录结构
三、远程登陆
为什么需要远程登录到linux?
- linux服务器都在机房里面,而你的电脑上没有linux,你需要远程登录到机房的linux才能对服务器进行维护
- 使用最多的一款远程登录工具的是 xshell6
- 远程上传和下载的软件 xftp5
1、安装xshell6(远程操作linux)
安装之前先看看linux有没有启动sshd服务
- 查看—->终端——>setup——->系统服务——->找到sshd 前面是*号标识 启动了 【会监听22号端口,让别人来远程登录的,远程访问的】
查询linux ip地址 ifconfig
根据右边图片傻瓜式连接 然后输入用户名和密码
2、安装完之后
如果在连接中输入reboot 重启指令后,机房里面的linux会重启,因为这是远程操作
所以说 你可以在这个xshell6的命令行界面 操作机房里面的linux服务器
四、vi和vim编辑器
1、什么是vi 和 vim
- 正常模式
- 当使用vim打开一个文档就能直接进入一般模式了,在正常模式下可以使用快捷键
- 插入模式/编辑模式
- 按下 i I o O a A r R 等任何一个字母后才会进入编辑模式,一般来说按i就行
- 命令行模式
- 在这个模式中,可以提供你相关的指令,读取,存盘,替换。。。。。
3、快速入门案例
使用vim开发一个hello.java
- 在xshell6里面 输入
vim Hello.java
- 输入一个
i
进入插入模式 - 编写代码
- 按一下
esc
【进入命令行模式】 - 输入冒号 : 输入命令
wq
【w代表写 ,q代表退出(保存并退出)】**:wq**
保存 并退出**:q**
不保存 退出 【打开看一眼,不做任何修改才能用q】**:q!**
强制退出【虽然修改了,但是我不保存你的修改】
3.1 Vi 和 vim模式相互转换
4、vi和vim下的快捷键
【都是在正常模式使用, 在按下esc后】
4.1 文本中操作【正常模式】
yy
—————-复制一行5yy
—————把光标下面的5行都复制了p
——————— 粘贴一份dd
——————- 删除一行5dd
——————-删除5行gg
最首行 G最末行u
—————撤销Shift + g
————-下移20行
4.2 命令行中操作
- 命令行:
/关键字
————查找 再按 n 下一个 - 命令行:
:set nu
这是行号,: set nonu
取消行号
五、开机/重启/用户登录/注销
1、关机&重启命令
**shutdown**
关机
shutdown -h now
表示立即关机shutdown -h 1
表示一分钟过后关机shutdown -r now
表示立即重启**halt**
停机==关机
halt 直接使用 效果等价于关机
**reboot**
重启机器
**sync**
把内存的东西同步到磁盘上,防止数据丢失
【执行后看不到效果,建议关机或者重启前使用一下】2、用户的登录和注销
- 在登录时,尽量少使用root账号,最高的权限,避免操作失误
- 登录后再使用
su 用户名
指令来切换成系统管理员身份 - 在提示符下输入 logout 即可注销用户 【退出用户】
注意
logout在图形运行级别是不管用的,在xshell可以
六、用户管理
1、基本介绍
- linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须向系统管理员申请一个账号,然后以这个账号的身份进入系统
- linux的用户只要属于一个组 【linux是用组来管理用户的权限的】
2、案例
- 添加一个用户小明
- 在root用户下的终端中 输入
useradd xiaoming
【如果没有指定放在哪个组,那么就会创建一个和xiaoming同名的组,并且将xiaoming放到xiaoming组里面】
- 使用
cd /home
就可以切换到home文件夹下,ll 就可以查看到新建的用户 **passwd 用户名**
指定密码
细节:
- 当用户创建成功后,会自动创建和用户名同名的家目录
- 也可以通过
useradd -d /指定目录 /新目录 新的用户名
, 给创建的用户指定家目录
3、用户类指令
3.1 指定/修改密码【root用户才行】
passwd 用户名
- 在工作中密码一定要复杂点
-
3.2 删除用户 【root用户才行】
**userdel 用户名**
仅删除用户 但保留home目录**userdel -r 用户名**
删除用户名 和home目录,【一般不会把 home目录删掉 】3.2 查询用户信息
**id 用户名**
查询用户信息- 当用户不存在时,返回 无此用户 信息
-
3.3 切换用户
在操作的时候,如果当前用户的权限不够,可以通过su 指令 来切换到高权限用户 比如root
**su root**
切换到root用户- 高权限用户 切换到 低权限用户时 不需要输入密码 。高—>低 需要密码
-
3.4 查看当前是哪个用户
whoami
4、用户组指令
类似于角色,系统可以对有共性的多个角色进行统一的管理
新增组**groupadd 组名**
删除组**groupdel 组名**
增加一个用户时,直接加上组**useradd -g 用户**``**组 用户名**
修改用户的组**usermod -g 用户组 用户名**
**usermod -d 目录名 用户名**
【改变用户登录的初始目录】
用户和组的三个相关文件
- 用户信息会放到
**/etc/passwd **
文件中【配置文件】- 每行的含义: 用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell
- 组信息放到
**/etc/group**
文件中【配置文件】- 每行的含义:登录名:加密口令:最后一次的修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
- 口令信息放到
**/etc/shadow**
【配置文件 存放用户密码的】- 每行含义:组名:口令:组标识号:组内用户列表