下面显示的是根目录下的子目录:
目录结构:
1)root:该目录为系统管理员目录,root是具有超级权限的用户。
2)bin->usr/bin:存放系统预装的可执行程序,这里存放的可执行文件可以在系统的任何地方执行。 ->usr/local/bin:用户自己的可执行文件,可以在任何目录下执行。
3)etc:存放相关配置的文件。配置环境变量(/etc/profile)
4)home:用户的根目录。默认情况下,home下的目录名和自己的用户名相同,当然也可以自行修改成其他。
5)opt:存放额外安装的软件。相当于Windows系统中的ProgramFiles目录。
6)tmp:用于存放一些临时文件,比如日志。
Linux是一个典型的多用户操作系统,它和Windows(单用户)不同,Linux需要满足多用户同时使用,多个人怎么同时使用呢?
Linux的终端模拟软件。
文件传输软件。
vi 和 vim 是Linux中的文本编辑器,用来在Linux中查看、创建或者编辑文本文件,就好像Windows中的记事本一样。vi 是Unix 系统最初的编辑器,就像Windows最初只给你提供记事本,什么editplus都需要你自己下。Vim 是由 Vi 发展演变过程的文本编辑器,因其具有语法高亮显示、多视窗编辑、代码折叠、支持插件等功能,已成为众多 Linux 发行版本的标配。
vi 和 vim的使用:
Esc
可以回到一般模式。shift+:
键;进入命令模式。按Esc
可以回到一般模式。一般模式
操作键 | 功能 |
---|---|
x或delete | 删除光标对应着的字符 |
dd | 删除光标所在行 |
ndd(3dd) | 删除从光标往下n(3)行 |
yy | 复制当前行到剪切板 |
nyy(4yy) | 从光标所在行往下复制n(4)行到剪切板 |
p | 粘贴 |
r+ | 替换所在位置的字符 |
u | 撤销最后执行的命令,多次输入多次撤销 |
命令模式
命令 | 功能 |
---|---|
q! | 强制退出编辑器 |
wq | 保存并推出编辑器 |
q | 单纯推出编辑器,不保存 |
set nu | 在编辑器中显示行号 |
set nonu | 在编辑器中不显示行号 |
/查找的内容 | 文件中对应查找的内容颜色会变亮 |
任何使用Linux的系统资源的用户,必须使用一个合法的账号和密码,账号和密码一般都是向系统管理员申请。root是Linux系统管理时默认创建的系统管理员账号,由root创建普通账号。
1)添加用户:useradd 用户名
useradd lisi
1.创建一个用户lisi
2.在/home目录下创建用户的根目录,默认名称和用户名相同
3.在Linux中任何一个用户都至少属于一个组,新建用户时如果不指定组,组名跟用户名相同,并且把该用户添加到该组中
2)创建完用户后,必须给用户设置密码,否则无法登陆。passwd 用户名
3)用户间的切换。su 用户名
从权限高的用户切换到权限低的用户,不需要密码验证;
从权限低的用户切换到权限高的用户,需要密码验证。
4)删除用户。userdel 用户名
userdel -r lisi
删除用户的同时级联删除它的主目录。
5)查看用户信息:id 用户名
Linux中的组相当于角色的概念,可以对有共性的用户进行统一的管理。每一个用户至少属于一个组,不能独立于某个组存在,也可以属于多个组。新建用户时如果不指定组,则会新建一个组,组名跟用户名相同,并且把该用户添加到该组中。(组即是为权限做准备的)
1)添加组:groupadd 组名
2)删除组:groupdel 组名
3)把用户添加到组中:gpasswd -a 用户名 组名
4)把用户从组中移除:gpasswd -d 用户名 组名
5)新增用户同时添加到工作组:useradd -g 组名 用户名
useradd -g dev lisi
在Linux中每一个用户都至少属于一个组,用户不能独立于组存在,一个用户可以属于多个组。
在Linux中每一个文件或者目录也必须属于一个组,而且只能属于一个组:文件或者目录通过组来控制哪些用户可以对它们进行哪些操作;在文件或者目录看来,Linux系统中所有的用户可分为三类:
a. 所有者:默认情况下,文件或者目录的所有者都是创建者,可以修改
b. 同组用户:跟文件或者目录属于同一个组的用户
c. 其它组用户:既不是文件或者目录的所有者,也不是同组用户
chown -R 新的文件所有者:新的组 目录
:递归修改目录的所有者和组
在Linux中,任何文件或者目录都有三种权限:读(Read)、写(Write)、执行(Execute)。
对文件而言:
对目录而言:
在Linux中,任何一个文件或者目录都有三部分权限:所有者权限、同组用户权限、其他组用户权限。
u
user),文件或者目录的所有者对该文件所拥有的权限。使用r、w、x分别表示所有者对该文件所拥有的读、写、执行的权限。比如:rwx–拥有读写执行的权限。(ls -l 的前三个字符(234)位置)g
group),文件或者目录的同组用户对该文件所拥有的权限,使用r、w、x分表表示读、写、执行的权限。(ls -l 的中间三个字符(567)位置)o
other),文件或者目录的其他组用户对该文件所拥有的权限。(ls -l 的后三个字符(8910)位置)用r、w、x分别表示读、写、执行的权限,
用 u、g、o分别表示所有者、同组用户、其他组用户三个身份,
用 a(all) 则表示三个用户身份。
用 +、- 表示添加或去除某个权限,
用 = 去表示某用户身份的权限,比如 chmod a=rwx t.txt:给t.txt文件三种身份都赋予rwx权限。。
给t2.txt三种用户身份都添加执行权限。
去除t2.txt三种用户身份上的执行权限
注意:经过小编的测试,使用chmod
命令去修改文件或者目录的权限,只能文件和目录的所有者(u
)才能去执行。
即每一个权限都可以用一个数字来表示:
r、w、x分别用4、2、1表示。
每一个文件或者目录都有三部分权限,每一部分权限都可以用一组数据之和来表示,三部分权限就是一组三个数字的序列。
例如:
举例:
给aaaaaa.sh文件授予所有者有读写执行权限,剩余两用户只有执行权限。则:chmod 711 aaaaa.sh
帮助命令主要有两个,man
和 help
。
help 是用来获取 Shell 内置命令的帮助信息。比如:cd、pwd、echo等等
man ls
按键 | 用途 |
---|---|
Enter或者空格 | 向下翻一行 |
PgDn | 向下翻一页 |
PgUp | 向上翻一页 |
/或者? | 查询内容 |
q | 退出 |
help echo
pwd
:显示当前目录的绝对路径ls
:列出指定目录下的所有子目录和文件列表ls命令 | 作用 |
---|---|
ls [指定目录] | 列出指定目录所有子目录和文件列表 |
ls -a(–all) | 显示全部文件和目录(包括隐藏的) |
ls -l | 按列的顺序显示该目录下的文件和信息 |
cd 目录名
:切换目录
touch 文件名
:创建一个或者多个空文件(文件名之间用空格隔开)
touch t1.txt t2.txt t3.txt
rm [选项] 文件或者目录
:删除文件或者目录
命令参数1:-f
:强制删除,跳过询问
命令参数2:-r
:递归执行(-rf
:强制递归删除)
命令参数3:-d
:删除空目录,像rmdir命令一样
cat 文件名
:查看文件内容
more 文件名
:查看文件内容,一页一页显示
显示时部分按键的作用:
空格键:向下翻一页
q:推出more命令,不再查看下面的内容
>
:把前一个查看命令的结果输出到指定的文件中:查看命令 > 文件名
如果文件已存在,则把文件以前的内容覆盖;
如果文件不存在,则会新建文件然后把内容输入进去。
find [搜索范围] [搜索条件]
:查找文件和目录
-name:按文件名称搜索(搜索范围得在查找范围的前面)
-user:按文件拥有者查找
grep
:搜索过滤命令,在前一个搜索命令的结果中按名称进一步过滤
使用:
搜索命令 文件|grep [选项] 过滤条件
查看命令 文件|grep [选项] 过滤条件
-i
:忽略大小写
为了便于传输或节省存储空间有时候文件是以压缩包的形式存在,因此就需要了解压缩和解压的相关命令。
压缩或者解压单个文件: gzip 文件名
:压缩单个文件,生成一个==.gz==的压缩包,并且会把原来的文件删除。
解压 .gz压缩包,使用gunzip
命令。
压缩(打包)或者解压多个文件和目录:zip [参数] 包名.zip 文件或者目录列表
可以看见多个文件被压缩后,文件还在,而gzip
压缩单个文件的时候,文件木的了。
unzip 压缩包名.zip
:将指定的 .zip 压缩包解压到当前目录.
压缩(打包)或者解压多个文件和目录:tar [选项] 目标研所包名称(xxx.tar.gz)
短指令 | 长指令 | 作用 |
---|---|---|
-c | –create | 打包 |
-x | –extract | 解包 |
-f | –file | 要操作的文件名 |
-v | –verbose | 显示详细的tar处理的文件信息的过程 |
-z | –gzip, --gunzip, --ungzip | 通过 gzip 进行归档压缩或解压 |
-C | 解压文件指定目录(可加可不加) |
一般是 -zcvf
和 -zxvf
一起用。
线程:一个程序的线路
进程:一个程序的执行,一个进程占用一个端口。
ps
:查看系统中的进程参数 | 作用 |
---|---|
-e | 显示所有进程 |
-f | 全格式 |
ps -ef
:查看Linux系统中某一些软件或者应用是否处于启动状态
上面使用 ps -ef
后显示的进程信息太多了,可以使用管道命令+grep进行过滤。
管道命令的作用就是将左边命令的返回结果作为右边命令的输入。
比如查看防火墙是否开启
ps -ef |grep firewalld
服务介绍:服务是支持Linux运行的一些必要程序,本质上也是进程,也叫守护进程。
systemctl [start|stop|restart|reload|status|enable] + 服务名称
:操作服务systemctl status firewalld
:查看防火墙的状态
systemctl stop firewalld
:关闭防火墙
systemctl start firewalld
:开启防火墙,开启需要root身份验证。
RPM:Linux软件包的打包和安装工具,它操作的软件包都是以.rpm
结尾。
YUM包管理:是一种基于RPM的软件包管理工具,它能够从指定服务器上自动下载RPM包并且自动安装,可以自动处理软件包之间的依赖关系。(这一点上有点类似于Maven,会自动处理依赖关系)
yum install rpm软件包
:安装rpm软件包