Linux基础
一、Linux入门
基于Linux(CentOS6.9
)。
1.1 概述
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
1.2 Linux 和 Windows 的区别
比较 | Window | Linux |
---|---|---|
免费与收费 | 收费且很贵 | Linux免费或少许收费 |
软件与支持 | 数量和质量的优势,不过大部分为收费软件;由微软官方提供支持和服务 | 开源自由软件,用户可以修改定制和再发布,由于基本免费没有资金支持,部分软件质量和体验欠缺;有全球所有的Linux开发者和自由软件社区提供支持。 |
安全性 | 三天两头打补丁安装系统安全更新,还是会中病毒木马 | 相对Windows平台要更加安全 |
使用习惯 | 普通用户基本都是纯图形界面下操作使用,依靠鼠标和键盘完成—切操作,用户上手容易入门简单; | 兼具图形界面操作和完全的命令行操作,可以只用键盘完成—切操作,新手入i门较困难,需要—些学习和指导,—旦熟练之后效率极高。 |
可定制性 | 封闭的,系统可定制性很差; | 开源,可定制化非常强。 |
应用场景 | 桌面操作系统主要使用的是window。 | 支撑百度,谷歌,淘宝等应用软件和服务的,是后台成干上方的Linux服务器主机。世界上大部分软件和服务都是运行在Linux之上的。 |
1.3 CentOS下载地址
网易镜像: http://mirrors.163.com/centos/7/isos/
搜狐镜像: http://mirrors.sohu.com/centos/7/isos/
二、Linux文件与目录结构
2.1 Linux文件
Linux系统中一切皆文件
2.2 Linux目录结构
目录 | 作用 |
---|---|
/bin | 是Binary的缩写,这个目录存放着最经常使用的命令 |
/sbin | s 就是Super User的意思,这里存放的是系统管理员使用的系统管理程序 |
/home | 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录是以用户的账号命名的。 |
/root | 该目录为系统管理员,也称作超级权限者的用户主目录 |
/lib | 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。 |
/lost+found | 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。 |
/etc | 所有的系统管理所需要的配置文件和子目录。 |
/usr | 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。 |
/boot | 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里。 |
/proc | ·这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。 |
/srv | service缩写,该目录存放一些服务启动之后需要提取的数据。 |
/sys | 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs。 |
/tmp | 这个目录是用来存放一些临时文件的。 |
/dev | 类似于windows的设备管理器,把所有的硬件用文件的形式存储。 |
/media(CentOS6) | linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。.CentOS7迁移到/run/media |
/mnt | 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。 |
/opt | 这是给主机额外安装软件所摆放的目录。比如你安装一个mysql数据库则就可以放到这个目录下。默认是空的。 |
/var | 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。 |
三、VI/VIM 编辑器
3.1 VI/VIM是什么
VI 是 Unix 操作系统和类 Unix 操作系统中最通用的文本编辑器。
VIM 编辑器是从 VI 发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜 色辨别语法的正确性,方便程序设计。VIM 与 VI 编辑器完全兼容
3.2 一般(普通)模式
以 vi/vim 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档 案内容, 也可以使用『复制、粘贴』来处理你的文件数据。
语法 | 功能描述 |
---|---|
yy | 负责功能光标当前行 |
y 数字 y | 复制一段(从第几行到第几行) |
p | 箭头移动到目的行粘贴 |
u | 撤销上一步 |
dd | 删除光标当前行 |
d 数字 d | 删除光标(含)后多少行 |
x | 剪切一个字母,相当于del |
X | 剪切一个字母,相当于Backspace |
yw | 复制一个词 |
dw | 删除一个词 |
shift+6(^) | 移动到行头 |
shift+4($) | 移动到行尾 |
1+shift+g | 移动到页头,数字 |
shift+g | 移动到页尾 |
数字+shift+g | 移动到目标行 |
3.3 编辑模式
在一般模式
中可以进行删除、复制、粘贴等的动作,但是却无法编辑文件内容的!要等到你按下『i, I, o, O, a, A』等任何一个字母之后才会进入编辑模式。
注意了!通常在Linux中,按下这些按键时,在画面的左下方会出现『INSERT或 REPLACE』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下 『Esc』这个按键即可退出编辑模式
- 进入编辑模式
按键 | 功能 |
---|---|
i |
当前光标前 |
a |
当前光标后 |
o |
当前光标行的下一行 |
I |
光标所在行最前 |
A |
光标所在行最后 |
O |
当前光标行的上一行 |
- 退出编辑模式
按『Esc』键 退出编辑模式,之后所在的模式为一般模式。
3.4 指令(命令)模式
在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那 一行。
在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、 离开 vi 、显示行号等动作是在此模式中达成的!
命令 | 功能 |
---|---|
:w | 保存 |
:q | 退出 |
:! | 强制执行 |
/要查找的词 | n查找下一个,N往上查找 |
:noh | 取消高亮显示 |
:set nu | 显示行号 |
:set nonu | 关闭行号 |
:%s/old/new/g | 替换内容 /g替换匹配到的所有内容 |
3.5 模式之间的转换
四、常用基本命令
4.1 帮助命令
4.1.1 man获取帮助信息
语法
man [命令或配置文件]
显示说明
信息 | 功能 |
---|---|
NAME | 命令的名称和单行描述 |
SYNOPSIS | 怎样使用命令 |
DESCRIPTION | 命令功能的深入讨论 |
EXAMPLES | 怎样使用命令的例子 |
SEE ALSO | 相关主题(通常是手册页) |
案例:
查看ls 命令的帮助信息
man ls
4.1.2 help获取shell内置命令的帮助信息
一部分基础功能的系统命令是直接内嵌在 shell 中的,系统加载启动之后会随着 shell 一起加载,常驻系统内存中。这部分命令被称为“内置(built-in)命令”;相应的其它命令 被称为“外部命令”。
-
基本语法 help 命令(功能描述:获得 shell 内置命令的帮助信息)
-
案例实操
(1)查看 cd 命令的帮助信息
help cd
4.1.3 常用快捷键
常用快捷键 | 功能 |
---|---|
ctrl + c |
停止程序 |
ctrl + l |
清屏,等同于clear;彻底清屏是reset |
tab键 | 提示 |
上下键 | 查找执行过的命令 |
4.2 文件目录类
4.2.1 pwd显示当前工作目录的绝对路径
pwd:print working directory 打印工作目录
案例:
[root@hadoop101 ~]# pwd
/root
4.2.2 ls列出目录的内容
ls:list列出目录内容
语法:
ls [选项] [目录或是文件]
选项说明
选项 | 功能 |
---|---|
-a |
全部文件,连同隐藏档(开头尾.的文件)一起列出来 |
-l |
长数据传列出,包含文件的属性与权限等到数据:等价于ll |
显示说明
每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小用byte 来表示 建立或最近修改的时间 名字
案例:
[atguigu@hadoop101 ~]$ ls -al
总用量 44
drwx------. 5 atguigu atguigu 4096 5 月 27 15:15 .
drwxr-xr-x. 3 root root 4096 5 月 27 14:03 ..
drwxrwxrwx. 2 root root 4096 5 月 27 14:14 hello
-rwxrw-r--. 1 atguigu atguigu 34 5 月 27 14:20 test.t
4.2.3 cd切换目录
cd:Change Directory 切换路径
语法:
cd [参数]
参数说明:
参数 | 功能 |
---|---|
cd 绝对路径 | 切换路径 |
cd 相对路径 | 切换路径 |
cd ~ 或者 cd | 回到自己的家目录 |
cd - | 回到上一次所在目录 |
cd .. | 回到当前目录的上一级目录 |
cd -P | 跳转到实际物理路径,而非快捷方式路径 |
4.2.4 mkdir 创建一个新目录
mkdir:Make directory 建立目录
语法:
mkdir [选项] 要创建的目录
选项说明:
选项 | 功能 |
---|---|
-p | 创建多层目录 |
4.2.5 rmdir 删除一个空的目录
rmdir:Remove directory 移除目录
语法:
rmdir 要删除的空目录
4.2.6 touch 创建空文件
语法:
touch 文件名称
4.2.7 cp 复制文件或目录
语法:
cp [选项] source dest #功能描述:复制source文件到dest
选项说明:
选项 | 功能 |
---|---|
-r | 递归复制整个文件夹 |
参数说明
参数 | 功能 |
---|---|
source | 源文件 |
dest | 目标文件 |
4.2.8 rm 删除文件或目录
语法:
rm [选项] deleteFile
选项说明:
选项 | 功能 |
---|---|
-r | 递归删除目录中所有内容 |
-f | 强制执行删除操作,而不提示用户进行确认 |
-v | 显示指令的详细执行过程 |
4.2.9 mv 移动文件与目录或重命名
语法:
mv oldNameFile newNameFile # 重命名
mv /temp/movefile /targetFolder # 移动文件
4.2.10 cat 查看文件内容
查看文件内容,从第一行开始显示。
语法:
cat [选项] 要查看的文件
选项说明:
选项 | 功能描述 |
---|---|
-n | 显示所有行的行号,包括空行 |
4.2.11 more 文件内容分屏查看器
more 指令是一个基于 VI 编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件 的内容。more 指令中内置了若干快捷键,详见操作说明。
语法:
more 要查看的文件
操作说明:
操作 | 功能说明 |
---|---|
空白值(space) | 代表向下翻一页 |
Enter | 代表向下翻一行 |
q | 代表立刻离开more,不再显示该文件内容 |
Ctrl + F | 向下滚动一屏 |
Ctrl + B | 返回上一屏 |
= | 输出当前行的行号 |
:f | 输出文件名和当前行的行号 |
4.2.12 less 分屏显示文件内容
less 指令用来分屏查看文件内容,它的功能与 more 指令类似,但是比 more 指令更加 强大,支持各种显示终端。less 指令在显示文件内容时,并不是一次将整个文件加载之后 才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
语法:
less 要查看的文件
参数说明:
操作 | 功能说明 |
---|---|
空白键 | 向下翻动一页 |
pagedown | 向下翻动一页 |
pageup | 向上翻动一页 |
/字串 | 向下搜寻字串的功能;n:向下查找;N向上查找 |
?字串 | 向上搜寻字串的功能;n:向上查找;N向下查找 |
q | 离开less这个程序 |
4.2.13 echo
echo 输出内容到控制台
语法:
echo [选项] [输出内容]
选项:
-e:支持反斜杠控制的字符转换
案例:
[atguigu@hadoop101 ~]$ echo “hello\tworld”
hello\tworld
[atguigu@hadoop101 ~]$ echo -e “hello\tworld”
hello world
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通