1、目录结构
(1)只有一个根
(2)层级式的子目录
bin ->usr/bin 这里存放的都会系统的可执行文件,在任何目录下都可以执行(配置到path环境变量里)
usr/local/bin:放用户自己的可执行文件,可以再任何目录下执行
etc:放置配置文件。配置环境变量(etc/profile)
home:存放每个用户的根目录,用来保存私人数据,默认情况下,目录名和自己的用户名相同
opt:存放给Linux安装的额外安装的软件。相当于Windows系统中的program file。
按照目录来,可不敢乱放)
**
2、Linux的远程操作(操作公司机房)
**
1)用软件远程连Linux去操作:
xshell:Linux的终端模拟软件。
ifconfig:可查看ip地址
xftp:传输文件软件
**
3、vi;vim
**vi,vim是Linux中的文本编辑器,用来在Linux中查看或者编辑文本文件,就好像Windows中的记事本。vim是vi的增强版
vim编辑器的使用:
创建或查看文本编辑器、
一般模式:用vim命令打开文件(vim test.txt),进入一般模式;只能查看文件内容,并且可以通过上下左右键来移动光标来查看文件的某一部分,但是不能编辑文件内容。
编辑模式;在一般模式下,按i/a/I/A键,就可以进入编辑模式,编辑模式可以编辑文件内容,但是不能保存编辑的内容。按esc键,可以回到一般模式
命令行模式;在一般模式下,按shift: 进入命令模式;
输入q!,不保存,并且强制退出
wq,保存,并且推出
q,只是退出
vi和vim编译器的快捷键;
1)幅值当前行:在一般模式下,按(yy)。把光标所在的行幅值到剪切板
按p.吧剪切板中的内容粘贴到光标所在的下一行。
2)复制当前行往下的5行,(5yy),把光标所在的行往下5行复制到剪切板
( p),吧剪切板中的内容粘贴到光标所在的下一行。
3)在文件中搜索关键字,在命令行模式下,输入(/关键字),回车 ;
按(n),查找下一个关键字
4)删除光标所在的当前行:在一般模式下,按(dd),删除光标所在的行
5)删除光标所在的行以下5行:在一般模式下,按(5dd)
6)到达文档的最首行,一般模式下,按【gg】
到达文本的最末行,一般模式下,按【G】
7)撤销,一般模式下,按【u】
8)显示行号,进入命令行模式,(:set nu)
取消文件行号,进入命令模式(:set nonu)
**
7、Linux用户管理
**
1)任何 用户,必须使用一个合法的账号和密码;账号和密码都是向系统管理员申请。
root是Linux系统安装时默认创建的系统管理员账号,由root撞见普通的账号。
2)添加用户:useradd [选项] 用户名
用root账号输入命令:useradd lisi
创建一个用户list;
在/ home目录下创建用的根目录,目录名称默认跟用户名相同;
创建一个组list,linux中任何一个用户都至少属于一个组,新建用户时如果不指定组,则会新建一个组,组名跟用户名相同,并且把该用户添加到该组中
useradd -d home/ww wangwu 创建用户的同时,指定用户的根目录
3)给用户设置密码:passwd 用户名 -> 设置密码 *密码要满足一定的复杂度
4)删除用户:userdl 用户名;userel -r 删除用户的同时级联删除它的主目录
切换账号 su 用户名
5)查看用户的基本信息(用户的标识和组):id 用户名 ;可以通过组来控制文件的访问权限
6)切换用户:su 用户名
* 从权限高的用户到权限底的用户,不需要密码验证
从权限低的用户到权限高的用户,需要密码验证
**
8、Linux的组管理;
**
1)可以对有共性的用户进行统一的管理;每一个用户至少属于一个组,不能独立于组存在,也可以属于多个组
新建用户时如果不指定组,则会新建一个组,组名跟用户名相同,并且把该用户添加到该组中
2)添加组; groupadd 组名
3)删除组:groupdel 组名
4)把用户添加到组中:gpasswd -a 用户名 组名
5)把用户从组中移除:gpasswd -d 用户名 组名
6)创建用户时,指定所属的组(主组):useradd -g 组名 用户名
**
9、Linux中的系统操作命令
**
关机:shutdown now 立即关机
shutdown -h xxx 定时关机
shutdown -r now 立即重启
重启:reboot 立即重启
同步数据库;sync
**
10、Linux中的帮助命令:
**
1)查看Linux系统手册上的帮助信息:man 命令
分屏显示,按回车翻一行、按空格翻一页,q退出
2)help 查看命令的内置帮助信息 : help 命令
**
11、Linux中文件和目录操作命令:
**
1)查看当前所在的目录:pwd
2)查看指定目录下所有的子目录或者文件列表:ls【指定目录】
ls /home 查看home目录下的子目录和文件
ls 查看当前目录下的子目录文件
ls -l /home 搜索结果以列表的形式显示
ls -a /home 显示指定目录下所有的子目录和文件(包括虚拟的目录)
ls -al /home 以列表的形式显示指定目录下所有的子目录和文件(包括虚拟的目录)
3)切换目录:cd 目录名
|-> 绝对目录:从盘符开始的目录叫绝对目录 cd /opt/ test (以/根目录开始往下找)
~:表示当前用户的根目录。在任何目录下执行:cd ~,进入当前用户的根目录
| ->相对目录 : 以目录名开始的目录叫相对目录 cd test
…:表示当前目录的上一级目录,从当前目录开始查找上一级目录
. : 当前目录
xxx.sh=>./xxx.sh
4)创建目录:mkdir 目录名
|-》绝对目录
|-》相对目录
mkdi r /opt/test/test 1 .//在 opt / test目录下创建一个目录test 1
mkdir / test2 //在/opt/test目录下创建一个test2
mkdir -p /opt/test/test 3/test4 //在/opt/test目录下创建目录test3,并且 在test3下创建test4(一次创建多级目录)
5)删除一个空目录:rmdir 目录名
6)创建文件: vi/vim (创建以后会自动打开)
touch创建一个或多个空文件 : touch 文件名列表(文件名之间用空格隔开)
touch t1.txt
touch t1.txt t2.txt t3.txt
7)复制文件或目录:cp source(源) dest(目标)
cp t1.txt test // 把t1. txt文件复制到test目录中
cp -r test2 test5 //把目录复制到另一个目录里
8)删除文件或目录:rm 文件名或目录名
rm t1.txt 提示删除文件
rm -f t2.txt 强制删除文件 force
rm -r test2 递归删除 ,有子文件不会提醒 。若没有-r就会逐一提示
rm -rf test2 递归强制删除目录
9)移动目录或文件(剪切):mv source (源) dest (目标)
mv t1.txt test1
mv test1 test2
mv t1.txt t2 .txt 文件重命名
*如果目标中已经存在该文件或者目录,则会提示是否覆盖
10)查看文件内容:cat 文件名
文件内容一次性显示出来。
cat t4.txt
cat -n t4.txt 显示行号
11)分页查看文件内容:more 文件名 一次性加载文件所有内容到内存,分页显示
按回车翻一行、按空格翻一页
more t4.txt
12)分页查看文件内容: less 文件名 分页加载文件所有内容到内存,分页显示
less t4.txt
按回车翻一行、按空格翻一页,按q退出查看
13)查看文件的头10行:head 【选项】 文件名
head t4.txt
head -n 5 t4.txt
14)查看文件的后10行:tail [选项] 文件名
tail t4.txt
tail -n 5 t4.txt
15)echo: 输出系统变量或者常量的值到命令行终端
echo $JAVA_HOME 显示环境变量
echo hello //在终端命令行内显示hello
16) > :向指定文件填写前一个命令的输出结果:查看命令 > 文件名
(把前一个查看命令的结果输出到指定的文件中 )
如果目标文件不存在,则会新建一个文件
*如果文件不存在,则新建一个文件
如果文件存在,则会把原来文件覆盖
cat ret.txt > t3_new.txt 文件内容的复制
cat t4.txt > t3_new.txt 原来 t3_new.txt 内的内容被覆盖
**
12、Linux中关于日期和时间的操作命令:
**
1)查看或者设置系统的日期或者时间:data
data 查看系统当前的完整的日期和时间
data +%Y 系统当前的年份
data +%m 系统当前的月份
data +%d 系统当前的日期
data ‘+%Y-%m-%d %H:%M:%S’ 按yyy-MM-dd HH:mm:ss 格式显示
data -s ‘2020-10-20 10:30:10’ 设置当前的系统时间
2)查看系统日历:cal
cal :查看当前月份的日历
cal 2020:查看指定年份的日历
**
13、Linux中关于搜索文件或者目录的命令:
**
1)find [搜索范围 ] [搜索标准]关键字
|-》-name:默认按名称搜索 (文件或者目录所在的路径也在搜索范围之内)
|-》-size :按文件大小搜索
|-》-user:按文件的所有者搜索
find *.txt// 通配符。搜索当前目录下所有的.txt文件
find e //搜索当前目录下,所有名称 中包含e的那些文件或者目录
find /etc *.txt // 搜索、etc目录下的.txt文件
find /etc -size +5 //按大于5兆的大小搜索 +5k大于5k
find /etc -user zhangsan 搜索/etc目录下所有的所有者是张三的文件和目录
2)locate指令 :在整个目录树里搜索文件或者目录,都是根据名称搜索,效率高
updatedb同步数据库
locate 关键字
updatedb
locate *.txt
3)搜索过滤命令,在前一个搜索命令的结果中进行按名称进一步过滤:
搜索命令过滤 |grep[选项]过滤条件 ;
查看命令|grep[选项]过滤条件
find *.txt|grep new 搜索当前目录下,所有名称包含new的.txt文件
find /etc -size -5k|grep firefox
cat t1.txt |grep beijing /查看t1.txt中含有beijing的文件
cat t1.txt |grep -ni beijing / n显示行号,i不区分大小写
ls -al |grep new //查看名字里含有new的子目录
**
14、Linux中有关压缩和解压的命令:
**
1)压缩或者解压【单个文件】:(不具备打包或者解包的功能)
gzip 文件名:压缩单个文件,生成一个.gz的压缩包,且会自动把原来的文件删除
gunzip .gz压缩包名: 解压.gz压缩包,并且把原来的文件删除
gzip re.txt
gunzip re.txt.gz
2)压缩(打包)或者解压多个文件和目录:zip 文件或者目录列表 目标压缩包名称(可自己起,通常使用.zip):
unzip 压缩包名(.zip)-d 解压目录名:将指定的.zip压缩包解压到当前目录(或者指定目录)
zip test.zip ret.txt t1.txt text2
unzip test.zip -d test3 //将压缩包解压到test3里面的文件
zip mytest.zip test.zip t3_new.txt t4.txt test2
3)压缩(打包)或者解压多个文件和目录:tar [选项] 目标压缩包名称(xx.tar.gz)文件或者目录列表
|-> c:打包或者压缩
tar [选项]压缩包名(xxx.tar.gz)-c:将指定的.tar.gz压缩包解压到当前目录(或者指定目录)
|->x:解压
|->v:显示详细信息
|->f:指定压缩后的文件名
|->z:打开同时压缩
tar -zcvf xx.tar.gz 文件或者目录列表
tar -zxvf xx.tar.gz -c
**
15、文件或目录与组
**
1)文件或者目录与组的基本介绍
在Linux中,每一个用户至上属于一个组,主组不可以改,附加组可以改,用户不能独立于组存在;
在Linux中,每一个文件也必须属于一个组,而且只能属于一个组;
文件或者目录通过这些组来控制哪些用户可以对它进行哪些操作,即文件或者目录的访问权限。
在文件或者目录看来,Linux系统中所有的用户分为三类:
所有者:默认情况下,文件或者目录的所有者都是创建者,可以修改。
同组用户:跟文件或者目录属于同一组的用户
其他组用户:既不是文件或者目录的所有者,也不是同者用户
2)查看文件的所有者和所在的组
ls -l
3)修改文件的所有者:chown 新的所有者 文件名
chown 新的所有者 :新的组 文件名 //改变新的组合新的所有者
chown zhangsan t1.txt
chown zhangsan : dev t1.txt
chown -R zhangsan :dev test2 递归修改目录的所有者和目录
4)只修改文件和目录所在组:chgrp 新的组 文件名或目录名
chgrp dev t2.txt
chgrp -R dev test3
**
16、Linux里的文件或目录权限管理
**
1)准备工作:
一个用户至少属于一个组,也可以属于多个组;
一个文件或者目录也必须属于一个,并且只能属于一个组;
在一个文件或者目录看来,Linux系统中所有的用户可以分为三类:
所有者:
同组用户:
其他组用户:
2)Linux中任何文件或者目录有三种权限
读(Read)
--查看文件内容 cat more less head tail
查看目录下的子目录 和文件 ls
写(write)
--修改文件 vi/vim
修改目录
执行(Execute)
--脚本文件 就是可执行文件(.sh),可以直接执行,比如:./xxx.sh
能否进入目录,就代表是否可以执行目录
3)文件或者目录的权限控制
在Linux中,任何的一个文件或者目录都有三部分权限:所有者权限,同组用户权限、其他组用户权限
第一部分权限,所有者权限:文件或者目录的所有者对该文件 所拥有的权限,使用r\w\x分别表示读写执行的权限。比如:rwx–表示所有者拥有读写执行的权限,r-x–表示所有者拥有读和执行的权限,r–:只拥有读的权限,—:没有任何权限
第二部分权限,同组用户权限:文件或者目录的同组用户对改文件所拥有的权限
第三部分权限,其他组用户权限
4)查看文件或者目录的权限: ls -l ls -aul
5)修改文件或者目录的权限:chmod
用r\w\x\分别表示读写执行的权限
用u\g\o\a分别表示给所有组、同组用户、其他组用户、所有用户修改权限
用±=分别表示给指定的用户增加、减少、设置对应的权限
chmod g-w,o+w t1.txt // 对同组用户减少写的权限,对其他组用户增加写的权限
chmod g=rwx t1.txt //给同组用户设置权限
6)使用数字的方式来修改文件或者目录的权限:
每一个权限都可以用一个数字来表示:
r\w\x
4\2\1 //从右向左用2的几次方来表示
2^2 ……
每一个文件或者目录都有三部分权限,每一部分权限都可以用一组数据之和来表示,三部分权限就是一组三个数据序列:
rw- r-x r-x
6 5 5
753:rwx/r-x / -wx
777:全权限,所有用户都可以rwx
chmod 777 t5.txt
**
17、网络配置(基于虚拟机的ip地址配置)
**
在Linux的配置文件:vim /etc/sysconfig/network-scripts/ifcfg-ens33 ///tab键可以补全命令
PROXY_METHOD=“static”
ONBOOT=“yes”
到虚拟机里找->编辑->虚拟网络编辑器
IPADDR=192.168.11.128
GATEWAY=192.168.159.2 // 网关 NAT设置里面找
DNS1=192.168.159.2 //与网关一置
重启Linux:reboot
**
18、Linux中的进程管理器
**
线程:一个程序的执行线路
进程:一个程序的执行,一个进程占用一个端口。
查看Linux里的进程,然后关闭不需要的进程。
查看正在运行的进程:ps ( process status )
ps //只会显示应用进程
ps -e //显示所有进程
ps -ef //以全格式的形式显示所有进程
//通常用于查看Linux中的某一些软件或者应用是否处于启动状态
ps -ef|grep firewalld //查看含有防火墙关键字的进程是否开启
**
19、Linux中的服务管理
**
1)服务是支持Linux运行的一些必要程序,本质上也是进程,叫守护进程。守护进程通常默默的运行在后台,为应用提供必要的支撑,如sshd\防火墙等。
2)操作服务:启动、关闭、开机启动、查看状态
|-> systemctl [start\stop\restart\reload\ststus\enable] 服务名称
systemctl status firewalld //查看防火墙状态
systemctl stop firewalld //关闭防火墙状态
systemctl start firewalld //开启防火墙状态
systemctl enable firewalld //设置防火墙开机启动
**
20、Linux软件安装包的管理
**
1)RPM软件包:一种Linux的软件包的打包和安装工具,它操作的软件包都是.rpm结尾。
使用RPM:rpm命令|
查看当前系统中已经安装的rpm软件包:rpm -qa|grep firewalld
卸载rpm软件包:rpm -e firewalld
安装rpm包:rpm -ivh xxx.rpm
cp firefox-52.7.0-1.el7.centos.x86_64.rpm /opt // 拷贝到opt里面去安装
2)YUM包管理:是一种基于rpm的软件包管理工具,它能够从指定服务器上自动下载rpm包并且自动安装,可以自动处理软件包之间的依赖关系。
查看当前系统中已经安装的rpm软件包:yum list installed|grep firfox
卸载rpm软件包:yum remove XXX.x86_64
安装rpm包:yum install firefox
**
21、Linux中搭建JavaEE开发环境
**
(Linux仅是一个运行环境,编写代码还是在windows里)、
自动密码:j4M/bBdx-vcj