Linux学习
linux学习方向
- 运维工程师
- Linux嵌入式
- Linux下开发项目 javeEE 大数据 python php c/c++
Linux的应用领域
- 服务器领域
- 嵌入式领域
- 桌面领域
升级之路
- First level : 基本命令,编辑工具等等
- Second level : 学会配置等等
- Third level : 搭建环境等等
- Fourth level : 编写shell脚本,对服务器进行维护等等
- Fifth level : 安全设置,防止攻击等等
- Sixth level : 深入理解等等
Linux基本入门
Linux介绍
1. 读法多种多样式
2. 安全,高效,免费,稳定
3. Linus Torvalds(创始人) 吉祥物 企鹅tux
4. 发行版 centose Redhat( Ubuntu Suse 红旗Linux
Vm安装
Centos安装
网络连接
Linux目录结构
/ :根目录(有且只有一个)
/bin 指令
/boot 存放核心 文件,连接文件以及镜像文件
/home 用户主目录
/root 系统管理员
/lib 共享库
/los+found
/etc 配置文件和子目录
/usr 应用程序和文件都放在此目录
/opt 软件安装
/sbin 高权限
/selinux 安全子系统
/proc 虚拟目录,系统映射等等
/srv 服务启动之后所需的数据
/sys 文件系统
/tmp 存放临时文件
/user 用户
/medai 识别挂在u盘和光驱,
/mnt 临时挂在别的系统文件
/var 日志文件,不断充斥文件
/usr/local 安装目录
/dev 设备管理
Linux一切都是文件
来源于互联网
linux远程连接
远程登陆Linux的工具 : xshells (22端口 ,sshd协议)
远程上传或下载软件 : xftp5 mtsql安装文件
提取码:aehf
傻瓜式安装
文本编辑器
vim:是高度可配置的,跨平台的,高效的文本编辑器.
Emacs: 用于编辑程序源代码文件的文本编辑器
nano: 在字符界面提供了菜单操作,易用性 较好
grdit: GNOM图形界面环境中文本把编辑器
vim编辑器的三个模式
- 命令模式 : 可复制粘贴,删除.查找等工作
- 输入模式 : 正常的文本录入
- 末行模式 : 保存或退出文档.以及编辑环境
vim 编辑器的启动和退出
直接进入 : $vi
进入并新建 : $vi myfile
退出编辑环境 : q
保存退出 : wq
强制退出 : q!
文件的打开和读取
打开新文件到vi编辑器 :e filename
打开新的,放弃当前修改 : e! filname
读取文件内容到当前vi编码器 :r filename
最常用的快捷键
复制 yy 5p
粘贴 p
删除 x dd 5d
行号 :set nu :set nonu
查找 /hello n N
行首行尾 home end
撤销 u
vim快捷键详见
编辑文件,将光标移动到 20行shift + g
set nu
输入20
输入 shift +g
开机,重启和用户注销
shutdown -h now 立刻关机
shutdown -h 1 表示1分钟 后关机
shutdown -人now 立即重启
halt 直接使用,相当于关机
reboot 重启系统
sync : 帮内存的数据同步到磁盘
logout 注销 (在级别3下有效)
用户和组
Linux是多用户多任务操作系统,用户至少属于一个组.
添加用户
useradd [选项] 用户名
创建组用户成功后,会自动创建和用户相同的家目录.
通过useradd -d指定目录 新的用户名,给新创建的用户指定目录
切换用户 : su -xm
回到原来用户 exit
组
创建组 :roupadd 组名
删除组 : groupdel 组名
用户直接指定组 : useradd - g 用户组 用户名
例 指定张无忌用户到武当组
1.groupadd wudang
2.useradd -g wudang zwj
3.id zwj (查看用户)
4.cd /home/ (切换家目录)
修改用户组
useemod -g 用户组 用户名
例
groupadd shaolin
usermod -g shaolin zwj
id zwj
用户和组的相关文件
/etc/passwd/ 例:vim /etc/passwd
用户配置的文件 ,记录各种信息
/etc/shadow
口令的配置文件
每行的含义,登录名: 加密口令;最后一修改时间;最小时间间隔.警告时间:不活动时间,失效时间;标志
/etc/group
组(group)的配置文件,记录linux包含的组的信号
每行含义,组名 : 口令 :组标识; 组内用户列表
实用指令(配合百度使用学习效果加倍)
指定运行级别
0.关机
1单用户(找密码)
2.多用户状态无网络服务
3.多用户状态有网络服务
4.保留
5.图形界面
6.系统重启
运行级别配置级别文件 /etc/inittab
vim /etc/inittab
init 3
initi 5
init 0
常用的级别是3 5,
切换运行级别指令 : init [0123456]
找回丢失的密码
思路 : 首先进入单入户,然后修改密码;
例
1.机 > 引导界面 > 输入e > 进入界面,选中第二行(编辑内核 )> 再输入e > 在最后一行输 入 1 在输入回车>再次输入b, 进入单用户模式. 用passwd 修改密码
2.运行Linux,直接进入 命令界面 即将进入3运行级别 即可
帮助指令
man [命令或配置文件] (功能描述,获得帮助信息 有困难找男人)
help 命令 (功能描述;获得shell内置命令的帮助信息)
文件目录类
查看
pwd (功能描述 : 显cd示当前工作绝对目录)
ls [选项] [目录和文件] (功能描述: 查看文件列表)
-a 显示当前目录所有列表和文件,包括隐藏
-l 以列表方式显示
切换目录
cd [参数]
cd ~或cd : 回到家目录
cd… 回到上级目录
绝对路径
/home 即从根目录开始定位
例 : cd /home
相对路径
…/home, 从当前工作目录开始定位到需要的目录去
例 : cd …/…/root (要知道当前目录)
创建目录
mkdir [选项]
-p 创建多级目录
rmdir 指令删除的空目录
rmdir [选项] 删除空目录
rm - rf [目录] 删除有文件的目录
**touch **
touch 创建空文件
cp指令
cp [源目录] [指定的位置 ] 指令拷贝文件到指定目录
-r 递归复制整个文件夹 Recursion 递归
强制覆盖 cp前加
rm指令
rm [选项] 要删除文件或目录
-r : 递归删除整个文件夹
-f : 强制删除不提示
mv 指令
移动文件与目录或重命名
mv oldNameFile newNameFile
mv /temp/movefile/targeFolder
cat 指令
cat [选项] 要查看文件
cat 查看的问文件,是只读
-n显示行号
more指令
more 指令是一个基于vi编辑器的文件过滤器,它以全屏的方式按页显示文本的内容
more 要查看文件
less
less指令用来分屏查看文件内容,它的功能与 more类似,但是比more指令更加强大,支持各种显示终端,less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容, 对于显示大型文件具有较高的效率;
less 查看的文件
ctrl +b 向上翻
ctrl +f 向下翻
指令> 和>>
输出重定向> 和追加 >>
1.ls -l >文件 (功能描述:列表的内容写入文件a.txt覆盖写))
2. ls -a >>文件 (功能描述:列表的内容追加到文件aa.txt的末尾)
3.cat 文件1>文件2 (功能描述: 将文件内容覆盖到文件2)
4.echo “内容” >>文件
练习:
cal >> /home/mycal/
echo指令
echo [选项] [输出内容] 输出内容到控制台
环境变量:
输出文本
head 指令
head用于显示文件的开头部分内容,默认情况下head指令显示文件前10行内容
head 文件 (功能描述:查看文件头10行内容)
head -n 5文件 (功能描述,查看文件头5行内容,)
tail指令
tail用于输出文中尾部的nr,默认情况下tail指令显示文件的后10行内容
1.tail 文件 (功能描述:查看文件后10内容)
2.tail -n 5 文件
3.tail -f 文件 (功能描述: 实时跟踪该文档的所有更新,工作经常使用)
特别常用
实时监控mydate.txt文件
ln 指令
软连接也叫符号连接,类似快捷方式.主要存放了链接其他文件的路径
in -s [原文件或目录][链接名] (功能描述:给文件创建一个软连接)
history指令
history 查看已经执行过的历史命令.
例:
显示所有的历史命令
history
显示最近使用过的10个指令
history 10
执行历史编号为2 的指令
!2
时间日期类指令date 显示当前时间
date指令
date + %Y 显示当前年份
date + %m 显示当前月份
date+%d 显示当前哪一天
date"+%Y-%m-%d-%H:%M:%S" 显示年月日时分秒
date -s 字符串时间 (设置时间)
cal指令
cal [选项] 显示本月日历
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201201175342887.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzUxNDg5MjA0,size_16,color_FFFFFF,t_70
搜索查找指令
find 指令
find [搜索范围] [选项]
-name<查询方式> 按照指定文件名查找模式查找文件
-user<用户名> 查找属于指定用户名所有文件
-size<文件大小> 按照指定的文件大小查找
#find / -size -k 单位根据实际情况查找
locate指令
- locaate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。由于locate指令基于数据库进行查询,所以第一次运行前, 必须使用updatedb指令创建locate*
案例1:请使用locate指令快速定位hello.txt文件所在目录
grep指令和管道符号
grep过滤查找,管道符,"|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
grep [选项]查找内容源文件
-n 显示匹配行及行号
-i 忽略字母大小写
压缩解压缩指令
gzip用于压缩文件,gunzip 用于解压的
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz (功能描述: 解压缩文件命令)
●应用实例
案例1:gzip压缩,将/home下的hello.txt 文件进行压缩
案例2: gunzip压缩,将home下的ello.xt.gz文件进行解压缩
zip/unzip指令
zip用于压缩文件,unzip 用于解压的,这个在项目打包发布中很有用的
zip [选项] XXX.zip将要压缩的内容(功能描述:压缩文件和目录的命
unzip [选项] XXX zip (功能描述:解压缩文件)
-r: 递归压缩,即压缩目录
unzip的常用选项
-d<目录> :指定解压后文件的存放目录
例一:将home下的所有文件进行压缩成mypackage zip
例二: 将home下的所有文件进行压缩成mypackage zip
tar指令
tar指令是打包指令,最后打包后的文件是.tar.gz 的文件。
tar [选项] xx.targz打包的内容 (打包目录,压缩后的文件格式targz)
-c 产生.tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
-x 解包.tar文件
案例1:压缩多个文件,将/home/a1.txt和/home/a2.txt压缩成a.tar.gz
案例2:将/home的文件夹压缩成myhome.targz
案例3:将a.tar.gz_解压到当前目录
用户切换root出现bash-4.2#解决办法
可能是根目录下缺失几个配置文件,或者是配置文件改坏了.只要从默认配置中拷贝过来就可以解决了
cp /etc/skel/.bashrc /root/
cp /etc/skel/.bash_profile /root/
然后重新进行登录即可。