目标:
- 了解Linux是什么
- 了解Linux的文件系统目录结构
- 了解终端和shell的概念
- 了解vi和vim编辑器
1.Linux简介
严格来说,GNU/Linux才算是一个真正意义上的操作系统,Linux只是一个Linux系统中的内核。一些组织或厂家将Linux内核与GNU软件整合起来,并提供一些安装界面和系统设定与管理工具,这样就构成了一套发行套件,例如Ubuntu、Red Hat、Centos等。
1.1 Linux的文件系统目录结构
Linux的文件系统采用的是级层式的树状目录结构,在此结构中最上层的目录是“ / ”,然后在此目录下创建其他目录。Linux系统里,一切皆文件,硬盘、网卡、U盘等都会被映射成一个文件。
/bin
存放最经常使用的指令的,比如说cp,ls,kill/sbin
存放系统管理员使用的系统管理指令/home
存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录是以用户的账号命名的/root
系统管理员的用户主目录/boot
存放的是启动Linux时使用的一些核心文件/lib
库文件存放目录/etc
存放所有系统管理所需要的配置文件,比如说mysql中的配置文件,my.conf/usr
用户的很多应用程序和文件都放在这个目录下,有点像Windows下的program files目录/proc,别动
这是系统内存的映射/srv,别动
service的缩写,存放的是一些服务启动之后需要使用的数据/sys,别动
系统相关文件/tmp
用来存放临时文件/dev
类似于windows的设备管理器,把所有的硬件用文件的形式存储/media
Linux会识别一些设备,例如U盘,光驱等等,识别后,Linux会把识别的设备挂载到这个目录下/mnt
用于让用户临时挂载别的文件系统,我们可以将外部的存储挂载在/nmt/上,然后进入该目录就可以查看里面的内容的,如我们之前设置的共享文件夹/opt
正常这个文件夹是用来放安装包的/usr/local
安装后的程序存放的地方/var
存放经常需要被修改的文件,比如各种日志文件/selinux
全名— security enhanced linux,安全加强linux。这个类似于windows中的杀毒软件,是一种安全系统,比如收到攻击的时候这个文件会被触发
2.终端和shell
terminal和shell是两个概念:终端负责交互;shell负责解析输入命令并传递给操作系统,并把操作系统反馈信息输出。
操作系统执行命令的过程可以理解为:
- 打开终端。
- 在终端的命令行里输入命令。
- 回车,终端将命令传递给shell程序解释。
- shell程序解释命令后,调用对应的操作系统接口执行。
- shell程序将执行结果返回给终端显示。
2.1 终端
打开终端后,命令提示符会是$
,表示已以普通用户
的身份登录了终端。而为了以root用户
的身份登录终端,可输入如下命令:sudo su
,再输入密码(注意:输入密码的时候是看不到密码的),即可以root用户
的身份登录终端,此时,命令行提示符会变为:#
。输入exit
或CTRL+D
可退出root用户
,回到普通用户
,再输入exit
或CTRL+D
,则可退出终端。
2.1.1 终端快捷键设置方法
不同版本的Linux设置方法可能不太一样,但原理是一样的。
在centos 7下设置打开终端快捷键:首先在/bin目录下确定打开终端的命令(此处为gnome-terminal),然后在Applications>>System Tools>>settings>>KeyBoard设置即可。
设置terminal中使用的快捷键,在terminal中Edit>>Preferences>>Shortcuts设置。
2.1.2 终端常用快捷键(默认设置下)
terminal操作 | 命令 |
在已运行的terminal中打开新的窗口 | shift+ctrl+n / shift+ctrl+t |
复制 | shift+ctrl+c |
粘贴 | shift+ctrl+v |
查找 | shift+ctrl+f |
放大 | ctrl++(+因为与=复用需要结合shift) |
缩小 | ctrl+- |
terminal中标签口切换 | alt+数字 |
2.2 shell
它的作用类似于Windows操作系统中的命令行,但是,Shell的功能远比命令行强大的多;在UNIX或者linux中,Shell既是用户交互的界面,也是控制系统的脚本语言。
- shell是命令解释器,它能识别用户输入的各种命令,并传递给操作系统。
- 命令或程序语句不在命令行下执行,而是通过一个程序文件来执行,该程序文件就是shell脚本。(shell脚本运行时首先查找系统环境变量ENV,在加载了环境变量文件后,shell就开始执行shell脚本中的内容)
2.2.1 常用shell命令:
命令 | 功能描述 |
pwd | 显示当前工作目录的绝对路径 |
ls [选项] [目录或文件] | 显示当前目录的所有文件与文件夹 (-a 包括隐藏文件和文件夹) |
cd [目录] | 切换目录 |
mkdir [选项] [目录] | 创建目录(-p 创建多级目录) |
touch [文件] | 创建空文件,可一次创建多个 |
cp [选项] [源文件] [目的目录] | 将指定文件或目录复制到指定目录 |
rm [选项] [待删除文件或目录] | 删除指定文件或目录(-rf 直接删除) |
mv [old] [new] | 文件或目录的移动或重命名 |
[内容] >/>> [文件] | 将内容写入文件(>以覆盖方式写入,>>以追加方式写入) |
echo [内容] | 打印内容 |
head [-n] [文件] | 显示文件开头部分内容,默认10行 |
tail [-n] [文件] | 显示文件结尾部分内容,默认10行 |
wc [选项] [文件] | 显示文件中的字符数、单词数、行数(-c、-w、-l) |
find [搜索范围] [选项] [命令] | 搜索符合条件的文件并作出相应处理 常用选项(-name 文件名 和 -size +n/-n/n) 常用命令(-print) |
grep [选项] [查找内容] [源文件] | 抓取文件中的指定内容,常与管道操作结合使用 |
chmod | 常用于增加可执行权限,chmod +x [文件名] |
diff [文件1] [文件2] | 比较文件 |
dircmp [目录1] [目录2] | 比较目录 |
meld [文件1] [文件2] | 比较文件 |
scp | 远程文件复制 (scp -r 用户名@服务器路径:文档路径 目标路径) |
top | 显示系统中所有动态进程 |
du [选项] [目录] | 显示目录所占空间(单位:块,每块512字节) |
file [文件] | 确定文件类型 |
fuser [选项] [文件] | -k:杀死所有访问该文件的进程 -u显示访问该文件的进程 |
basename [路径] | 从路径中分离出文件名 |
dirname [路径] | 从路径中剥离文件名,仅返回文件名前的路径 |
cat [选项] [文件] | 查看文件内容 |
ps | ps -ef | grep 进程 (筛选出命令进程) |
3.vi和vim基本介绍
所有的 Linux 系统都会内建 vi 文本编辑器。vim 具有程序编辑的能力,可以看做是vi 的增强版本,方便程序设计。
vi和vim的三种常见模式
正常模式
插入模式
命令行模式
参考资料:CSDN中Linux技能树的相关内容(非常详细)