1.linux的目录结构
1).Linux只有一个根目录:/
root : 该目录为系统管理员目录,root是具有超级权限的用户。
bin ->usr/bin : 存放系统预装的可执行程序,这里存放的可执行文件可以在系统的任何目录下执行。
usr是linux的系统资源目录,里边存放的都是一些系统可执行文件或者系统以来的一些文件库。
usr/local/bin:存放用户自己的可执行文件,同样这里存放的可执行文件可以在系统的任何目录下执行。
lib->usr/lib: 这个目录存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。
boot : 这个目录存放启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
dev: dev是Device(设备)的缩写,该目录下存放的是Linux的外部设备,Linux中的设备也是以文件的形式存在。
etc: 这个目录存放所有的系统管理所需要的配置文件。
home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名以用户的账号命名,叫作用户的根目录;用户登录以后,默认打开自己的根目录。
var : 这个目录存放着在不断扩充着的东西,我们习惯将那些经常被修改的文件存放在该目录下,比如运行的各种日志文件。
mnt : 系统提供该目录是为了让用户临时挂载别的文件系统,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容
opt: 这是给linux额外安装软件所存放的目录。比如你安装一个Oracle数据库则就可以放到这个目录下,默认为空。
tmp: 这个目录是用来存放一些临时文件的。
2.linux的远程操作
首先查看本机linux的ip地址命令:ifconfig:192.168.28.128
3.vi和vim:
两者都是linux中创建,查看或者编辑文本文件,vi和vim的使用:
vi和vim编辑器有三种模式:
一般模式:
用vi或者vim命令打开文本文件:操作指令,假如用vim打开(vim test.txt)vim+文件名
编辑模式: 在一般模式下是无法编辑文本的,按下i或者a键就可以进去编辑模式,可以编辑内容,但无法保存,如果中途卡死,那么文件就会丢失,按下Esc键就可以推出剪辑模式进去一般模式
命令行模式: 在一般模式下,按shift+:就可以进入命令行模式:
q!———–不保存并强制推出编辑器
wq————保存并且推出编辑器
q————只是退出编辑器
vi和vim的快捷键:
1).赋值当前行:在一般模式下,按yy把光标所在行赋值到剪切板,按p就把剪切板的内容粘贴到光标的下一行
2).赋值当前行向下赋值n行:再一般模式下,按nyy,把光标所在行往下n行赋值到剪切板
3).再文本文件中查找关键字:再命令行模式下,输入/关键字,回车
4).删除光标所在的当前行:再一般模式下按下dd删除当前,删除光标所在行下n行,再一般模式下按下ndd
5).撤销上次操作,在一般模式下按u
6).一般模式下,使用快捷键到达文档的最首行[gg]和最末行[G]。
7).显示行号:在命令行模式下 set nu,set nonu取消行号
4.linux的用户管理
1).任何使用linux系统资源的用户,必须有合法的账号和密码,账号和密码一般由超级(root)管理员创建管理
2).添加用户(前提必须是root账号):useradd 用户名
linux底层操作:
|->创建一个用户(jack)
|->在/home目录下创建用的根目录,目录名称默认跟用户名相同
|->在linux中任何一个用户都至少属于一个组,新建用户如果不指定组,则会创建一个组,组名和用户名相同,并且将该用户加入到该组中。
3).如果想正常使用账户就要为账号设置密码:passwd 用户名
4).删除用户:userdel 用户名,这个指令并不会删除用户名对应的文件,文件夹依旧在home的路径下,如果加上参数: userdel -r删除用户的同时级联删除他的主目录
5).查看用户的信息:id 用户名,可以显示出用户的id值,组id
6).切换用户:su 用户名
5.linux中的组管理
1).Linux的组类似于角色,系统可以对有共性的多个用户进行统一的管理。每一个用户都至少属于一个组,创建用户时如果不指定组,会默认创建一个跟用户名相同的组,并且把新创建的用户分配到组中,root用户默认属于root组
2).添加组 groupadd 组名
3).删除组 groupdel 组名
4).把用户添加到组中:gpasswd -a 用户名 组名
5).将用户从组中移除:gpasswd -d 用户名 组名
6).我们如果将创建的用户加入对应的组后,我们发现该用户属于两个组,一个自己的组,一个加入对应的组,
我们希望在创建用户的时候就直接将其加入到对应的组中: useradd -g 组名 用户名
6.linux帮助指令
1).用来查看linux系统手册上的帮助信息: man 命令:man ls,可以回车或者空格用来翻阅系统内置的帮助文档,按q可以退出查看
7.linux中的文件和目录操作的指令
1).查看当前所在目录:pwd
2).ls用来查看指定目录下所有的子目录或者文件列表ls【指定目录】eg:ls /home
也可以添加参数:ls -l 【指定目录】:以列表形式展示
ls -a【指定目录】:显示指定列表下梭有的子目录和文件列表【包括虚拟目录】
ls -al【指定目录】:两者结合输出
3).切换目录: cd 目录名
其中.表示当目录,..表示上一级目录
4).创建mkdir 目录名【绝对目录或相对目录】
创建目录只能由root用户来创建
如何创建多级目录:
mkdir -p 加上多级目录
5).删除一个空目录:rmdir 目录名,但这种方法只能够删除空目录,如果该目录下还有目录就会删除失败
rmdir -rf 【目录名】可以实现级联删除
6).创建一个或多个空文件:touch 文件列表(文件名之间用空格隔开)
7).编辑文件 vi/vim+文件名
8).赋值文件:cp source(源) dest(目标目录),同时赋值相当于创建了一个新的文件,所有依旧需要管理员全限
如果想赋值一个文件夹到另一个文件夹中,首先默认不带参数被复制的文件夹只能是空的文件夹,如果想要将整个目录结构赋值过去就需要加参数
cp -r 文件名1(resource) 文件名2(dest)
如果已经存在目录文件会询问是否覆盖
9).删除文件或目录:rm 文件名或目录名
rm -f 加文件名表示强制删除,并不会提示是否确认删除
rm -r 加文件名表示删除目录,递归删除文件
rm -rf加文件名表示强制删除,并不会提示是否删除
10).移动目录或者文件:相当于window目录下的剪切
mv 文件名1(resource) 文件名2(dest)
特殊情况:mv t1.txt newName.txt可以实现文件的重命名
11).显示文件内容:cat+文件名,以只读的形式打开该文件,如果加上参数cat -n+文件名可以在文本文件中加入行号
在指令的末尾加上|more可以用来分页显示文本内容,按空格可以翻页,直到显示到最后一页为止
12).echo:输出系统变量或者常量的值到命令行终端
echo:$PATH:将path变量输出到控制台中
13).>:把前一个查看命令的结果输出到指定的文件中:查看命令 > 文件名
如图所示可以将ls所得到的命令结果写入到t1.txt文件
注意:如果文件不存在就会创建新的文件,如果文件已经存在就会把以前的文件内容覆盖
8.关于时间日期指令
1).显示当前日期:date
2).显示当前年份:date +%Y,注意+和%之间没有空格
3).date +%m(功能描述:显示当前月份)
4).date +%d(功能描述:显示当前是哪一天)
5).date “+%Y-%m-%d %H:%M:%S”(功能描述:显示年月日时分秒)
6).date -s 字符串时间(功能描述:设置日期)
7).cal:查看当前月份的日历
8).指定年份的日历 cal 月份
9.搜索查找指令
1).find【搜索范围】【选项】文件名,其中文件名可以配合通配符使用
选项的说明:-name:(默认方式)按名称查找秒支持使用通配符,-user:按文件的所有者查找,-size:按文件大小查找
如上图所示,如果查询对象为目录,查找当前目录下所有隶属于Dir
如果查询对象为文件,则找到对应的文件
使用-size关键字用来表示用文件大小来筛选目标+表示大于,-表示小于
2).locate指令
linux在底层用一个目录树来存储文件,locate指令通过访问目录树来查找文件,都是根据名称去搜索,所有效率比find指令高
但linux创建文件不会及时的更新目录树上,linux会根据它自己的策略来隔一段时间再把文件在目录上存储,所以在使用locate之前先进行updatedb指令来更新一下数据库
locate 关键字 ,用来按照名字来在目录树中查找指定文件
*10.搜索过滤的命令**
搜索过滤命令,在一个搜索指令的结果中进行按名称进一步过滤:
查看命令|grep 过滤条件
搜素命令|grep 过滤条件
其中grep后还可以加选项:-n:显示行号,-i:忽略大小写
11.压缩和解压指令
1).压缩或者解压文件(操作单个文件),不能操作目录
gzip:文件名:压缩单个文件,会生成一个.gz的压缩包,并且会把原来的文件删除
gunzip:文件名:解压单个文件
2).可以压缩或解压多个文件和目录:
zip 目标文件名 文件或者目录列表 【目标压缩包名称,建议zip后缀】:
unzip 压缩包名字 -d 表示解压到指定目录:将指定的压缩包解压到当前目录
该组指令在执行解压或者压缩操作后,源文件并不会删除,同样这其中涉及到文件的创建故需要管理员权限
3).同样可以压缩或者解压的指令:tar【选项】目标文件【xxx.tar.gz】 文件或者目录列表,选项可以选:
-c:打包或者压缩
-x:解压
一般我们用tar命令也要显示详细信息,压缩后的文件名等参数,所以我们通常组合使用选项
tar -zcvf xxx.tar.gz 文件或者目录列表 【-C解压目录】
解压:tar -zxvf 解压目标文件 【-C加压目标目录】
12.Linux文件与组
1).·在前文中我们提到linux中每一个用户都至少属于一个组,用户不能独立于组存在,一个用户可以属于多个组
·在linux中每一个文件或目录也都属于一个组,但文件只能属于一个组。文件或者目录通过组来设置用户的访问权限。
·在文件或者目录看来,linux系统中所有用户分为三类
所有者:默认情况下,文件或者目录的所有者都是创建者,可以修改
同组用户:跟文件或者目录属于同一个组的用户
其他组用户:文件看来既不是所有者也不是同组用户
2).查看当前目录下所有文件的所有者和所在组的指令:ls -l
3).修改文件的所有者:
(只改所有者)chown 新的所有者 文件名
(修改组名和所有者)chown 新的所有者:新的组名 文件名
如果更改目录的所属关系,目录下的文件默认下不会更改,如果向更改目录下文件的所属关系:
chown -R 新的所有者:新的组名 文件名(递归修改)
4).(只改组名)修改文件或者目录的所在组:
charp 新的组 文件名或目录名
13.文件和目录的全限管理
1).文件或者目录的三种全限:
在linux中,任何文件或者目录都有三种全限:读(Read),写(Write),执行(Execute,确保目标文件是可执行文件).shell文件
·对于文件而言:
读:可以读取,查看文件的内容比如:cat,more,less,head,tail等
写:可以修改文件内容,比如vim或者vi指令
执行:如果该文件是可执行文件(.shell文件),可以直接运行
·对于目录而言:
读:可以读取,查看目录下边的内容,比如:ls等
写:可以修改目录中的内容,创建,删除子目录,创建,删除文件
执行:可以进入该目录,比如:cd
2).文件或者目录的权限控制:
在linux中,任何一个文件或者目录都有三部分权限:所有者权限,同组用户权限,其他组用户权限
·第一部分权限:所有者权限,文件或者目录的所有者所拥有的权限,使用r,w,x分别表示读写执行的权限。比如:rwx:拥有读写执行的权限,r-x:拥有读和写的权限,w–:只拥有度的权限,—没有权限
ls -l可以查看文件各部分的权限
·第二部分权限:同组用户权限,文件或者目录的同组用户对该文件所拥有的权限,表示方式和第一部分权限相同
·第三部分权限:其他组用户权限,和上述的一致
图中第一位表示文件类型,d表示目录,-表示文件,2-5表示第一部分权限,依次类推
14.修改文件或者目录的权限:
1).用r,w,x分别表示读写执行的权限,用u,g,o,a分别给所有者,同组用户,其他组用户,所有用户修改权限
用+,-,=分别表示给指定的用户增加,减少,设置对应的权限
chmod 用户类别+操作 文件名
chmod u=rwx 文件名:表示将对应的文件权限设为值读写执行
2).使用数字的方式来修改文件或者目录的权限:
每一个权限都可以说用数字来表示:4,2,1分别表示读,写,执行,所以每一部分权限都可以用一组数据之和来表示
eg:rw-:6,r-x:5,r–:4
15.linux网络配置
在linux的配置文件中: /etc/sysconfig/network-scripts/ifcfg-ens33用vim或vi编辑器来修改配置文件
配置BOOTPROTO为静态
ONBOOT=”yes”
IPADDR
GATEWAY,DNS1保持一致
16.linux中的进程管理
·线程:一个程序的线路
·进程:一个程序的执行,一个进程占用一个端口
查看进程:ps,类似于windows中的任务管理器
ps:只会显示应用进程
ps -e:显示所有的进程
ps -ef:以全格式的形式显示所有进程
如果向定位到某个具体的进程,就需要配合前面所学的过滤器使用
ps -ef|grep firewalld 查看防火墙的进程
·关闭某个进程:
kill 【选项】 进程ID
-9表示强迫进程立即结束,如果不带-9不起作用,因为linux认为终端进程比较重要
17.服务管理
1).服务是支持Linux运行的一些必要程序,本质上也是进程,交守护进程
2).操作服务:systemctl【start|stop,restart,reload,status,enable】服务名称
systemctl status firewalld
systemctl stop firewalld
18.Linux软件包管理(软件安装包)
1).RPM:一种linux的软件包的打包和安装工具,它操作的软件包都是.rpm结尾
2).使用RPM:rpm命令
①.查看当前系统已经安装的rpm软件包:
rpm -qa【可以结合grep筛选使用】
②.卸载软件包:rpm -e【软件名字】
③.安装rpm包:rpm -ivh 【xxx.rpm】
3).YUM包管理:类似于maven中央仓库,能从指定服务器上自动下载rpm安装包并且自动安装包之间的依赖关系:
a).查看当前系统已经安装的rpm软件包:
yum list installed
b).卸载ypm安装包:yum remove 【软件的全名eg:firefox.x86_64】
c).安装rpm包(yum的优势所在)
yum install 【软件的关键词】
因为下载资源所以需要外网的支持
19.关于如何安装jdk,tomcat,mysql详情请见文档
20.如何启动和关闭mysql
1).在mysql-5.7.18/bin目录下执行命令:./mysqld_safe &(其中&符号表示后台启动),输入命令后按Enter。
确认msyql是否启动,查看进程 ,使用ps -ef | grep mysql
![]
2).接下来登录mysql
登录进入mysql,mysql-5.7.18/bin目录下执行命令:./mysql -uroot -p,输入密码后登录成功
3).退出mysql
quit;指令输入密码后即可退出mysql
4).关闭mysql服务
./mysqladmin -uroot -p shutdown;输入密码后即可关闭
可以ps -ef|grep mysql查看运行状态
以上就是mysql的一些基本操作。