1.常见的操作系统:windows、Mac、Android(Linux)、IOS(Unix)
2.linux内核版本分为稳定版和开发版,两种版本相互关联、相互循环
3.linux内核源码网址:http://www.kernel.org
4.linux发行版本包括桌面环境、办公套件、媒体播放器、数据库等应用软件
5.linux在个人桌面领域薄弱、在服务器领域和嵌入式领域使用广泛。查看当前主流网站使用的服务器:https://www.netcraft.com/
6.VMware的安装【掌握】
国内大部分用户电脑都是windows系统,因此想用linux必须安装虚拟机(例如VMWare WorkStation Pro),然后在虚拟机中安装linux操作系统镜像,即可使用linux操作系统
下载地址:链接:https://pan.baidu.com/s/1EHF_XMfVe8G2-YfyVkaDLw 密码:b6mq
安装步骤:
①双击安装
②安装首页面点击下一步
③接收协议下一步
④选择安装路径【路径自行选择】下一步
⑤去掉检查 下一步
⑥选择创建桌面图标
⑦安装
⑧安装执行中
⑨安装完成
⑩点击许可证输入密钥5A02H-AU243-TZJ49-GTC7K-3C61N
7.在VMWare上创建虚拟机【掌握】
进入VMWare中,点击【创建虚拟机】,虚拟机向导选择典型安装,选择操作系统为CentOS,给虚拟机命名及选择虚拟机的存盘地址,选择虚拟机磁盘大小
详细内容查看参考资料 第4点
8.在VMWare上安装CentOS【掌握】
CentOS下载地址:https://www.centos.org/download/
DVD ISO:此镜像类型为普通光盘安装版,可离线安装到计算机硬盘上,包含大量的常用软件,一般选择这种镜像类型即可。
Everything ISO:这个镜像涵盖了上种镜像的内容,并对其进行补充,集成了所有软件。
Minimal ISO:这个版本为精简版的镜像,可以安装一个基本的CentOS系统,包含了可启动系统基本所需的最小安装包。
详细内容查看参考资料 第5点
9.安装XFTP和XSHELL【掌握】
详细内容查看参考资料 第6点
10.文件和目录【熟悉】
linux中没有类似windows的驱动器盘符,看到的都是文件夹
linux没有盘符的概念,只有一个根目录,所有文件都在根目录下面
10.1 目录说明
/bin: (binaries)存放系统命令的目录,所有用户都可以执行。
/sbin: (super user binaries) 保存和系统环境设置相关的命令,只有超级用户可以使用这些命令,有些命令可以允许普通用户查看。(root)
/usr/bin:存放系统命令的目录,所有用户可以执行。这些命令和系统启动无关,单用户模式下不能执行
/usr/sbin:存放根文件系统不必要的系统管理命令,超级用户可执行
/root: 存放root用户的相关文件,root用户的家目录。宿主目录 超级用户
/home:用户缺省宿主目录eg:/home/spark/home/pengpeng
/tmp:(temporary)存放临时文件
/etc:(etcetera)系统配置文件
/usr:(unix software resource)系统软件共享资源目录,存放所有命令、库、手册页等
/proc:虚拟文件系统,数据保存在内存中,存放当前进程信息
/boot:系统启动目录
/dev:(devices)存放设备文件
/sys :虚拟文件系统,数据保存在内存中,主要保存于内存相关信息
/lib:存放系统程序运行所需的共享库
/lost+found:存放一些系统出错的检查结果。
/var:(variable)动态数据保存位置,包含经常发生变动的文件,如邮件、日志文件、计划任务等
/mnt:(mount)挂载目录。临时文件系统的安装点,默认挂载光驱和软驱的目录
/media:挂载目录。 挂载媒体设备,如软盘和光盘
/misc:挂载目录。 挂载NFS服务
/opt: 第三方安装的软件保存位置。 习惯放在/usr/local/目录下
/srv : 服务数据目录
10.2 用户目录
位于/home/user,称之为用户工作目录或家目录
10.3 绝对路径和相对路径
绝对路径:从目录开始描述的路径,如 cd /home 、 ls /usr
相对路径:从当前位置开始描述的路径,如 cd .../../ 、 ls abc/def
.表示当前目录
...表示上一级目录,即父目录
根目录下的.和...都表示当前目录
10.4 文件权限就是 文件的访问控制权限,即那些用户和组群可以访问文件及可以执行什么样的操作
Unix/Linux系统是一个典型的多用户系统,不同的用户处于不同的地位,对文件和目录有不同的访问权限。
为了保护系统的安全性,Unix/Linux系统除了对用户权限作了严格的界定外,还在用户身份认证、访问控制、传输安全、文件读写权限等方面作了周密的控制。
在 Unix/Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。
访问用户:通过设定权限可以从以下三种访问方式限制访问权限
只允许用户自己访问(所有者) 所有者就是创建文件的用户,用户是所有用户所创建文件的所有者,用户可以允许所在的用户组能访问用户的文件。
允许一个预先指定的用户组中的用户访问(用户组)用户都组合成用户组,例如,某一类或某一项目中的所有用户都能够被系统管理员归为一个用户组, 一个用户能够授予所在用户组的其他成员的文件访问权限。
允许系统中的任何用户访问(其他用户)用户也将自己的文件向系统内的所有用户开放,在这种情况下,系统内的所有用户都能够访问用户的目录或文件。
在这种意义上,系统内的其他所有用户就是 other 用户类
访问权限:用户能能够控制一个给定的文件或目录的访问成都,一个文件或目录可能有读、写、执行权限
读权限(r): 对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。
写权限(w):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
可执行权限(x):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。
通常,Unix/Linux系统只允许文件的属主(所有者)或超级用户改变文件的读写权限。
示例说明:
第1个字母代表文件的类型:“d” 代表文件夹、“-” 代表普通文件、“c” 代表硬件字符设备、“b” 代表硬件块设备、“s”表示管道文件、“l” 代表软链接文件。 后 9 个字母分别代表三组权限:文件所有者、用户者、其他用户拥有的权限。
每一个用户都有它自身的读、写和执行权限。
Ø 第一组权限控制访问自己的文件权限,即所有者权限。
Ø 第二组权限控制用户组访问其中一个用户的文件的权限。
Ø 第三组权限控制其他所有用户访问一个用户的文件的权限。
这三组权限赋予用户不同类型(即所有者、用户组和其他用户)的读、写及执行权限就构成了一个有9种类型的权限组。
11.Linux命令概述【掌握】
linux提供了大量的命令,可有效地完成大量的工作,如磁盘操作、文件提取、目录操作、进程管理、文件权限设定等。linux发行版本最少命令有200个之多。
linux命令格式:command [-options] [parameter1] ...
command:命令名,相应功能的英文单词或单词的缩写
[-options]:选项,可用来对命令进行控制,也可以省略,[]表示可选
parameter1...:传给命令的参数,可以是零个、1个或多个
例如:ls -a ./ 、 ls -a /root/hello
查看帮助文档:--help 一般是linux命令自带的帮助信息
例如:ls --help
查看命令的语法规则:man 命令名称
自动补全命令:敲出命令的前几个字母的同时,按下tab键,系统会自动补全命令
12.linux命令-文件管理【掌握】
12.1 查看文件信息:ls
ls是list单词的简写,功能是列出目录的内容,常用命令之一,类似DOS下的dir命令
linux文件或目录名称最长有255字符,"."代表当前目录,"..."代表上一级目录,以"."开头的文件为隐藏文件,需要用-a参数才可以显示
语法说明:
命令名称:ls
命令所在路径:/bin/ls
执行权限:所有用户
功能描述:显示目录文件
语法:ls 选项[-ald][文件或目录]
-a:显示指定目录下所有子目录和文件,包括隐藏文件
-l:以列表方式显示文件的详细信息
-h:配合-l以人性化的方式显示文件大小
-d:可以查看当前目录的属性
案例:
ls -a 显示当前目录下的所有文件包含隐藏文件
ls -al 显示当前目录下的所有文件包含隐藏文件以列表方式显示文件的详细信息
ls -alh 显示当前目录下的所有文件包含隐藏文件以列表方式显示文件的详细信息和大小
ls -dl 查看当前文件夹的属性
linux中,和DOS类似,也允许使用特殊字符来同时引用多个文件名,特殊字符被称为通配符。
通配符含义:文件代表文件名中所有字符
ls te* 查找以te开头的文件
ls *html 查找结尾为html的文件
? 代表文件名中任意一个字符。
ls ?.c 只找第一个字符任意,后缀为.c的文件;
ls a.? 找只有3个字符,前2个字符为a.,最后一个为任意字符的文件
[]将字符组括起来,表示可以匹配字符组中的任意一个。"-"用于表示字符范围
[abc]匹配a、b、c中的任意一个
[a-f]匹配从a到f范围内的任意一个字符
ls [a-f]* 找到a到f范围内的任意一个字符开头的文件
ls a-f 查找文件名为a-f的文件,当-处于方括号之外时失去通配符的作用
\如果要使通配符作为普通字符使用,可在前面加上转移字符。"?"和"*"处于方括号内时不使用转义字符就失去通配符的作用,也就是说想在[]中使用?和*通配符,必须写成\?和\*
ls *a 查找文件名为*a的文件
12.2 切换工作目录:cd
linux所有的目录和文件名敏感。
语法说明:
命令名称:cd
命令英文原意:change directory
命令所在路径:shell内置命令
执行权限:所有用户
语法:cd [目录]
功能描述:切换目录
案例:
cd / 进入用户的主目录
cd test 进入当前目录下的test目录[此目录是相对目录]
cd /root/test 进去root目录下的test目录[此目录是绝对目录]
cd ~ 切换到当前用户的主目录 (/home/用户目录)
cd . 切换到当前目录
cd .. 切换到上级目录
cd - 进入上次所在的目录
12.3 清屏:clear
清除终端上的显示,类似DOS的cls功能,可用快捷键代替:Ctrl+I
12.4 显示当前路径:pwd
语法说明:
命令名称:pwd
命令英文原意:print working directory
命令所在路径:/bin/pwd
执行权限:所有用户
语法:pwd
功能描述:显示当前所在的工作目录
范例:pwd
12.5 创建目录:mkdir -p
通过mkdir命令可创建一个新的目录。参数-p可递归创建目录
新建目录名称不能与已有目录或文件重名,并且目录创建者必须对当前目录具有写权限
语法说明:
命令名称:mkdir
命令英文原意:make directories
命令所在路径:/bin/mkdir
执行权限:所有用户
语法:mkdir [目录名]
功能描述:创建新目录
参数说明:-p 如果上层目录不存在,则会创建上层目录
范例:
mkdir test 在当前目录下创建一个test的目录
mkdir /root/test 在root目录下创建一个test目录
mkdir /root/test1/test2/test3 在root目录下创建test1目录,在test1目录下创建test2目录,在test2目录下创建test3目录
mkdir /root/test4 /root/test5 同时创建两个目录
mkdir test6 test7 在当前目录下创建两个目录
mkdir 'program files' 创建一个有空格的目录[不推荐使用]
12.6 创建文件:touch
语法说明:
命令名称:touch
命令所在路径:/bin/touch
执行权限:所有用户
语法:touch [文件名]
功能描述:创建空文件
范例:
touch test 当前目录创建一个test的文件
touch /root/test 在root下创建一个test的空文件
touch test1 test2 在当前目录下创建两个空文件
touch 'test1 test2' 在当前目录下创建一个有空格的文件[不推荐使用]
12.7 拷贝文件:cp
语法说明:
命令名称:cp
命令英文原意:copy
命令所在路径:/bin/cp
执行权限:所有用户
语法:cp -R [源文件或目录] [新的目录]
-R 表示复制目录
功能描述:复制文件或目录,默认的cp只复制文件,如果复制目录需使用 -r
常用选项说明:
-a 通常在复制目录时使用,保留链接、文件属性,并递归的复制目录。简而言之,保持文件原有属性
-n 已经存在的目标文件而不提示
-i 交互式复制,在覆盖目标文件之前将给出提示,要求用户确认
-r 若源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须是一个目录名
-v 显示拷贝进度
案例:
cp -r /root/mywork /root/helloworld 将mywork复制到helloworl里面
cp - /root/install.log /root/helloworld 把install.log文件复制到helloworld里面
cp -rvif /root/install.log /root/helloworld 把install.log 文件复制到helloworld里面,并显示进度
12.8 移动[重命名]文件:mv
语法说明:
命令名称:mv
命令英文原意:move
命令所在路径:/bin/mv
执行权限:所有用户
语法:mv [源文件或目录] [新的目录]
功能描述:移动文件或目录、给文件或目录重命名
案例:
mv /root/install.log /root/mywork/install.log 将install.log移动到mywork中
my /root/install.log /root/ins.log 将install.log重命名为ins.log
12.9 删除文件:rm -rf
语法说明:
命令名称:rm
命令英文原意:remove
命令所在路径:/bin/rm
执行权限:所有用户
语法:rm -r[文件或目录]
功能描述:删除文件或目录
注意事项:使用务必小心,文件删除后无法恢复。为防止误删,可在rm后添加-i参数以逐个确认要删除的文件
常用参数及含义:
-r 强制删除,忽略不存在的文件,无需提示
-f 递归的删除目录下的内容,删除目录时必须有此参数
-v 显示删除进度
案例:
rm test1 删除test1文件
rm -r test1 删除test1文件或test1文件夹里面的所有内容会提示
rm -rf test1 删除test1文件或文件夹,不提示
rm -rf /root/mywork 删除root下面的mywork文件或文件夹不提示
rm -rf / 删除所有的操作系统文件 【千万不可使用】
12.10 查看或合并文件:cat/more/less
cat 命令用于连接文件并打印到标准输出设备上
语法说明:
命令名称:cat
命令英文原意:concatenate and display files
命令所在路径:/bin/cat
执行权限:所有用户
语法:cat [文件名]
功能描述:显示文件内容
常用参数及含义:
-n 显示文件里数据的行号
范例:
cat install.log 查看当前目录的install.log文件
cat /root/install.log 查看绝对目录root下的install.log文件
cat test1.txt test2.txt >>test3.txt 将test1.txt和test2.txt的内容追加到test3.txt里面
cat test1.txt test2.txt > test3.txt 先将test3.txt文件内容清空,再将test1.txt test2.txt里面的内容追加到test3.txt中
12.11 建立链接文件:ln
类似于windows系统下的快捷方式
链接文件分为软链接和硬链接
软链接:不占用磁盘空间,源文件删除则软链接失效
硬链接:只能链接普通文件,不能链接目录,会同步更新
使用格式:link
ln 源文件 链接文件
ln -s 源文件 链接文件
没有-s选项,代表建立了一个硬链接文件,两个文件都占用相同大小的磁盘空间,即使删除了源文件,链接文件还是会存在,所以-s选项是更常用的形式
注意:如果软链接文件和源文件不再同一个目录,源文件要使用绝对路径,不能使用相对路径
语法说明:
命令名称:ln
命令英文原意:link
命令所在路径:/bin/ln
执行权限:所有用户
语法:ln -s [源文件][目标文件]
-s 创建软链接
功能描述:产生链接文件
案例:
ln /etc/issue /root/etc/issue.bak.hard 硬链接,如果删除了issue文件,issue.bak.hard可以使用
使用命令 echo 'hello world' >> /etc/issue 修改issue文件,issue.bak.hard文件内容也会同步更新
ls -ilh可以查看文件的硬盘地址,可看到硬链接文件的地址和源文件的地址一样,这便是其为何可同步更新的原因
ln -s /etc/issue /root/etc/issue.soft 软链接,如果删除了issue文件,issue.soft就失效了
12.12 命令文件搜索命令:which
语法说明:
命令名称:which
命令所在路径:/usr/bin/which
执行权限:所有用户
语法:which [命令名称]
功能描述:显示系统命令所在目录
范例:which ls 查看ls命令所在的目录
12.13 文件搜索命令:find
语法说明:
命令名称:find
命令所在路径:/usr/bin/find
执行权限:所有用户
语法:find [搜索路径] [搜寻关键字]
功能描述:查找文件或者目录,功能强大,通常用于在特定的目录下搜索符合条件的文件,也可用来搜索特定用户属主的文件
常用用法:
find test.sh 查找当前目录下所有名为test.sh的文件
find *.sh 查找当前目录下所有后缀为.sh的文件
find [A-Z]* 查找当前目录下所有以字母开头的文件
find /tmp -size 2M 查找tmp目录下等于2M的文件
find /tmp -size +2M 查找tmp目录下大于2M的文件
find /tmp -size -2M 查找tmp目录下小于2M的文件
find -size +4K -size -5M 查找tmp目录下大于4K,小于5M的文件
find -perm 777 查找当前目录下权限为777的文件或目录
案例:
find /etc -name init 在目录/etc中查找文件init
find / -size +204800 在根目录下查找文件大于100MB的文件
find / -user sam 在根目录下查找所有者为sam的文件
find /etc -ctime -1 在/etc下查找24小时内被修改过属性的文件或目录
find /etc -size +163840 -a -size -204800 在/etc下查找大于80MB小于100MB的文件
find /etc -name inittab -exec ls -l {} 在/etc下查找inittab文件并显示其详细信息
12.14 查看linux是否安装某些软件
rpm -qa | grep 关键字
12.15 卸载软件
rpm -e --nodeps 被卸载的软件名
12.16 文件搜索命令:grep
语法说明:
命令名称:grep
命令所在路径:/bin/grep
执行权限:所有用户
语法:grep [指定字串][源文件]
功能描述:在文件中搜寻字串匹配的行并输出;
搜索文件中的内容的命令;强大的文本搜索工具;grep允许对文本文件进行模式查找。如果找到匹配模式,grep打印包含模式的所有行。
范例:grep ftp /etc/services
grep一般格式为:grep [-选项] '搜索字符串' 文件名
在grep命令中输入字符串参数时,最好将搜索字符串用单引号或双引号包裹。例如:grep 'a'1.txt
常用选项说明:
-v 显示不包含匹配文本的所有行(相当于求反)
-n 显示匹配行及行号
-i 忽略大小写
-r 递归搜索子目录
-c 统计匹配的行数
-l 仅显示包含匹配模式的文件名
案例:
grep "pattern" file.text 在file.text中搜索指定模式
grep -i "pattern" file.text 在file.text中搜索指定模式,忽略大小写
grep -r "pattern" directory 递归搜索指定目录下的文件
grep -n "pattern" file.text 在文件中搜索指定模式,并显示匹配行号
grep -c "pattern" file.text 在文件中统计指定模式出现的行数
grep -l "pattern" file1.text file2.text 显示包含指定模式的文件名
grep -v "pattern" file.text 显示不包含指定模式的行
12.17 归档管理:tar
压缩:tar -zcvf 压缩后的名字.tar.gz 被压缩的文件
解压:tar -zxvf 压缩后的名字.tar.gz
tar是常用的备份工具命令,此命令可将一系列文件归档到一个大文件中,也可将档案文件解开恢复数据
tar使用格式:tar [参数] 打包文件名 文件
tar命令很特殊,参数前面可使用"-",也可不使用
语法说明:
命令名称:tar
命令所在路径:/bin/tar
执行权限:所有用户
语法:tar 选项[cvf] [目录]
-c 产生.tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
功能描述:打包目录
压缩后文件格式: .tar.gz
常用参数:
-c 生成档案文件,创建打包文件
-v 列出归档解档的详细过程,显示进度
-f 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后
-t 列出档案中所包含的文件
-x 解开档案文件
-z 打包的同时压缩
案例:
tar -zcvf test.tar.gz test 将test文件或文件夹压缩成test.tar.gz
tar -zxvf test.tar.gz 解压test.tar.gz
tar -zxvf XXX.tar.gz -C ./dir1 将XXX.tar.gz解压到指定目录./dir1
13.Linux命令-用户、权限管理
13.1 概述
用户是unix/linux系统工作中重要的一环,用户管理包括用户和组账号的管理
无论是本机登录还是远程登录,每个系统都必须拥有1个账号,并且对不同的资源有不同的使用权限
root账户通常用于系统的维护和管理,对unix/linux系统的所有部分具有不受限制的访问权限
unix/linux系统中,系统会自动创建许多账号,这些账号称为标准用户
大多数版本的unix/linux系统中,不推荐直接使用root账号登录系统
13.2 查看当前用户 whoami
whoami命令用户查看当前系统账号的用户名。可通过 cat /etc/passwd 查看系统用户信息
如果是普通用户登录,则可以用切换root用户命令:su root 切换到root身份对系统进行管理。随后便可使用whoami查看当前用户的身份
13.3 退出登录账户:exit
如果是图形界面:退出终端
如果是ssh远程登录:退出登录账户
如果是切换后的登录用户:退出则返回上一个登录账号
13.4 添加用户账号:useradd
在unix/linux中添加用户可使用useradd和adduser命令,adduser命令是指向useradd命令的一个链接,两个命令的使用格式完全一致
useradd命令使用格式:useradd [参数] 新建用户账号
常用参数如下:
-d 指定用户登录系统时的主目录,如果不使用该参数,系统自动在/home目录下建立与用户名同名目录为主目录
-m 自动建立目录
-g 指定组名称
相关说明:
linux每个用户要有一个主目录,主目录就是第一次登录系统,用户的默认当前目录(/home/用户)
每一个用户必须有1个主目录,所以使用useradd创建用户的时候,一定得给用户指定一个主目录
用户的主目录一般是放到根目录的home目录下,用户的主目录和用户名是相同的
如果创建用户时,不指定组名,系统会自动创建一个和用户名一样的组名
案例:
useradd -d /home/abc abc -m 创建abc用户,如果/home/abc目录不存在,则自动创建此目录,用户属于abc组
useradd -d /home/aa -g test -m 创建aa用户,主目录为/home/aa,如果主目录不存在则自动创建,用户属于test组
cat /etc/passwd 查看系统当前用户名
13.5 设置用户密码:passwd
在unix/linux系统中,超级用户可使用passwd命令为普通用户设置或修改用户口令。用户也可直接使用该命令修改自己的口令,无需在命令后使用用户名。
案例:
root用户修改abc用户的密码:passwd abc 或 sudu passwd abc
abc用户修改自己的密码:passwd
13.6 删除用户:userdel
userdel abc 删除abc用户,但不会自动删除用户的主目录
userdel -r abc 删除abc用户,同时删除用户的主目录
13.7 切换用户:su
su后面可以加"-",su和su - 区别在于:su -切换到对应用户时,会将当前的工作目录自动转换到切换后的用户主目录
案例:
su 切换到root用户
su root 切换到root用户
su - 切换到root用户,同时切换目录到/root
su - root 切换到root用户,同时切换目录到/root
su 普通用户 切换到普通用户
su - 普通用户 切换到普通用户,同时切换目录到普通用户的主目录
13.8 查看有那些用户组
cat /etc/group
13.9 添加、删除组账号:groupadd、groupdel
groupadd 新建组账号
groupdel 删除组账号
cat /etc/group 查看用户组
13.10 查看用户在那些组:groups 用户名
groups abc 、groups root
13.11 修改用户所在组:usermod
语法:usermod -g 用户组 用户名
案例:usermod -g legih abc 将abc转移到legih用户组中
13.12 修改文件权限:chmod
两种使用格式:字母法和数字法
字母法:chmod u/g/o/a +/-/= rwx 文件
u user表示该文件的所有者
g group表示与该文件的所有者属于同一组(group)者,即用户组
o other表示其他以外的人
a all表示三者都是
+ 增加权限
- 撤销权限
= 设定权限
r read表示可读取,对于一个目录,如果没有r权限,则无法通过ls查看此目录的内容
w write表示可写入,对于一个目录,如果没有w权限,则无法在此目录下创建新文件
x execute表示可执行,对于一个目录,如果没有x权限,则无法通过cd进入此目录
字母法案例:
chmod a-x hello.java 移除文件所有者、文件所有者同一组下所有者、其他以外的所有者 对hello.java的x(执行)权限
chomd o-x hello.java 移除文件所有者、文件所有者同一组下所有者之外的人对hello.java的x(执行)权限
chmod o-w hello.java 移除文件所有者、文件所有者同一组下所有者之外的人对hello.java的w(写入)权限
数字法:
r-4,w-2,x-1
案例:
chmod 777 hello.java 设置所有用户对hello.java的读取、写入、执行权限
chmod 771 hello.java 设置文件所有者及文件所有者同一组下的所有用户对此文件的所有文件,其余用户只对此文件具有x权限
13.13 修改文件或目录的所有者和所属组:chown
基本语法:chown [选项] [新所有者][:新所属组] 文件或目录
常用选项:
-R 递归更改指定目录及其下的所有文件和子目录的所有者和所属组
-v 显示处理的详细信息,包括更改的文件或目录的名称
-c 仅显示更改的部分
-f 不显示错误信息,静默模式
--reference=参考文件 将文件或目录的所有者和组更改为和参考文件相同
案例:
更改文件所有者:chown 新所有者 文件或目录
例如:将file1.txt的所有者更改为user1 chown user1 file1.txt
更改文件所属组:chown :新所属组 文件或目录
例如:将file1.txt的所属组更改为group1 chown :group1 file1.txt
同时更改文件的所有者和所属组:chown 新所有者:新所属组 文件或目录
例如:将file1.txt的所有者更新为user1,所属组更新为group1 chowm user1:group1 file1.txt
递归地更改目录及其内容的所有者和所属组:chown -R 新所有者:新所属组 目录
例如:将 directory 及其子目录的所有子文件和子目录的所有者更改为user1,所属组更改为group1 chown -R user1:group1 /directory
注意:使用chown命令,需具备相应的权限或超级用户(root)
13.14 修改文件所属组:chgrp
标准语法:chgrp 新所属组 文件
例如:chgrp zhangsan hello.java 将hello.java的所属组改为zhangsan
13.15 查看当前日历:cal
-y显示整年日历
13.16 显示或设置时间:date
设置时间格式,需具有管理员权限
date [MMDDhhmm[[CC]YY][.ss]] +format
CC为年前两位,YY为年后两位,MM为月份,DD为天,hh为小时,mm为分钟,ss为秒。如 date 010203042016.55 表示2016年1月2日,3点零4分55秒
显示时间格式:(date '+%y,%m,%d,%H,%M,%S')
说明:%y至%S分别表示年月日时分秒
13.17 查看进程信息:ps
进程是一个具有一定独立功能的程序,是操作系统执行的基本单元。
ps命令可查看进程的详细状况,常用选线(选项可以不加"-")如下:
-a 显示终端上所有进程,包括其他用户的进程
-u 显示进程的详细状态
-x 显示没有控制终端的进程
-w 显示加宽,以显示更多信息
-r 只显示正在运行的进程
案例:
ps -au 静态查询所有进程
ps -ef | grep 程序关键字
ps命令用于查看当前正在运行的进程,grep是搜索,例如:ps -ef | grep java 表示查看所有进程中CMD是java的进程信息
ps -aux | grep java -aux表示显示所有状态
13.18 动态显示进程:top
top命令用来动态显示运行中的进程。top命令能够在运行后,在指定的时间间隔更新显示信息。可在使用top命令时加上 -d 来指定显示信息更新的时间间隔
top命令执行后,可按下按键得到对显示的结果进行排序,常用按键及含义如下:
M 根据内存使用量来排序
P 根据CPU占有率来排序
T 根据进程运行时间的长短来排序
U 根据后面输入的用户名来筛选进程
K 根据后面输入的PID来杀死进程
q 退出
h 获得帮助
13.19 终止进程:kill
kill命令指定的进程号的进程,需搭配ps使用
使用格式:kill [-signal] pid [-signal]表示信号值,从0到15,其中9为绝对终止,可以处理一般信号无法终止的进程
案例:kill 9133 终止对应进程号(PID)为9133的应用程序
13.20 关机重启:reboot、shutdown、init
reboot 重新启动操作系统
shutdown -r now 重新启动操作系统,shutdown会给别的用户提示
shutdown -h now 立刻关机,其中now相当于时间为0的状态
shutdown -h 20:05 系统在今天的20:05会关机
shutdown -h +10 系统再过十分钟后自动关机
init 0 关机
init 6 重启
13.21 查看或配置网卡的信息
显示所有网卡的信息
7.0以下的版本使用的命令:ifconfig
7.0及以上的版本使用的命令:Ip addr
13.22 测试远程主机连通性:ping
标准格式:ping [选项] 目标主机
常用选项及含义如下:
-c count:指定发送的ICMP回显请求次数,例如 -c 5 发送5次请求
-i interval:设置连续发送请求的间隔时间,单位为秒,例如 -i 2 每2秒发送一次
-s packetsize:指定发送的数据包大小,单位为字节,例如-s 64发送64字节的数据
-t ttl:设置数据包的生存时间,例如 -t 64 设置TTL为64
-w timeout:设置等待每个恢复的超时时间,单位为毫秒,例如 -w 1000 设置超时时间为1秒
-q:安静模式,只显示结果摘要,不显示每个请求的详细信息
-v:详细模式,显示每个请求的详细信息
-4:强制使用ipv4地址
-6:强制使用ipv6地址
案例:
测试网络链接:ping www.example.com 表示发送ICMP请求到指定网址,直到手动停止(Ctrl+C)
指定发送次数:ping -c 5 192.168.1.1 向192.168.1.1发送5次ICMP回显请求
设置数据包大小:ping -s 100 www.example.com 发送100字节的数据包到指定网址
指定超时时间:ping -w 2000 8.8.8.8 设置等待8.8.8.8回复的超时时间为2秒
使用IPV6地址:ping -6 2001:db8::1 使用ipv6地址2001:db8::1进行测试网络链接
13.23 防火墙管理
10.23.1.6.X版本的使用
查看防火墙状态:service iptables status iptables表示未运行防火墙
开启防火墙:service iptables start
关闭防火墙:service iptables stop
10.23.2.7.X版本的使用
查看防火墙状态:firewall-cmd --state
停止/启动/重启firewall:systemctl stop/start/restart firewalld.service
禁止firewall开机启动:systemctl disable firewalld.service
14.linux网络命令[掌握]
14.1 只下载 Wget
例如:wget https://www.baidu.com/img/1.jpg
14.2 下载并安装 yum
例如
安装vim编辑器:yum -y install vim
搜索jdk:yum search jdk
15.VIM的使用[掌握]
15.1 Vim/Vi简介
Vim/Vi是功能强大的全屏幕文本编辑器,是unix/linux操作系统上最常用的文本编辑器
作用是建立、编辑、显示文本文件。只有菜单,没有命令
15.2 Vim/Vi工作模式
命令模式-进入:vi filename
命令模式变为插入模式:i a o
插入模式变为命令模式:ESC
命令模式变为编辑模式:":"
编辑模式变为命令模式:命令以回车结束运行
命令模式-退出: 输入":wq"
15.3 插入命令
a 在光标后附加文本
A 在本行行末(行尾)附加文本
i 在光标前插入文本
I 在本行开始(行首)插入文本
o 在光标下插入新行
O 在光标上插入新行
15.4 定位命令
:set nu 设置行号
:setnonu 取消行号
gg 到第一行
GG 到最后一行
nG 到第n行
:n 到第n行
$ 移至行尾
0 移至行首
h或者左方向键 左移1个字符
j或者方向下键 下移1行
k或者方向上键 上移1行
l或者右方向键 右移1个字符
H 移至屏幕上端
M 移至屏幕中央
L 移至屏幕下方
15.5 删除命令
x 删除光标所在处字符
nx 删除光标所在处后n个字符
dd 删除光标所在行
ndd 删除光标所在处后n行
:n1,n2d 删除n1至n2范围内的行,包含n1行和n2行。例如 :1,3d 删除1,2,3行
dG 删除光标所在行到末尾的内容
D 删除从光标所在处到行尾
15.6 复制和剪切命令
yy、Y 复制当前行
nyy、nY 复制当前行以下n行
dd 剪切当前行
ndd 剪切当前行以下n行
p、P 粘贴在当前光标所在行下或行上
15.7 替换和取消命令
r 取代光标所在处字符
R 从光标所在处开始替换字符,按照Esc结束
u 取消上一步操作
15.8 搜索和替换命令
/string 向后搜索指定字符串,搜索时忽略大小写 :set ic
?string 向前搜索指定字符串
:%s/old/new/g 全文替换指定字符串
:n1,n2s/old/new/g 在指定范围内替换指定字符串
15.9 保存和退出命令
:w 保存修改
:w new_filename 另存为指定文件
:w >> a.txt 内容追加到a.txt中,前提需确保a.txt存在
:wq 保存修改并退出
shift+zz(ZZ) 保存修改并退出快捷键
:q! 不保存修改退出
:wq! 保存修改并退出(文件所有者可忽略文件的只读属性)
16.Linux安装JDK
16.1 下载
16.2 通过xftp传入linux系统
16.3 解压
mkdir /usr/local/java
tar -zxvf jdk-8U181-linux-x64.tar.gz -C /usr/local/java
16.4 配置环境变量
vim /etc/profile 在最后插入要配置的内容。具体内容查看参考资料13.4内容
JAVA_HOME=/usr/local/java/jdk1.8.0_181
PATH=JAVA_HOME/bin:PATH
export JAVA_HOME PATH
rpm -qa | grep java 查看安装的java版本
rpm -e --nodeps 被卸载的软件名
16.5 刷新环境变量
source /etc/profile
16.6 测试
java -version
17.Linux安装tomcat
17.1 下载
17.2 解压
mkdir /usr/local/tomcat
tar -zxvf apache-tomcat-8.5.43.tar.gz -C /usr/local/tomcat
cd /usr/local/tomcat
mv apache-tomcat-8.5.43/ tomcat1
17.3 启动
./tomcat1/bin/startup.sh
17.4 访问
http://localhost:8080/
18.Linux安装mysql5.7
18.1 下载 https://dev.mysql.com/downloads/mysql/5.7.html#downloads
18.2 解压到/usr/local/mysql (必须解压到此目录)
#解压 tar -zxvf mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz
#重命名 mv mysql-5.7.27-linux-glibc2.12-x86_64 mysql
#复制解压后的mysql目录 cp -r mysql /usr/local
18.3 安装数据库
#进入安装mysql软件目录 cd /usr/local/mysql/
#创建数据仓库目录 mkdir /data/mysql
#新建mysql用户、组及目录
新建一个mysql组 groupadd mysql
创建mysql用户并禁止登录shell useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql
#改变目录所有者
cd /usr/local/mysql
pwd
chown -R mysql .
chgrp -R mysql .
改变数据库目录所有者 chown -R mysql /data/mysql
#配置参数
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
执行完上一行命令之后需记住生成的临时密码,在执行完之后出现的内容结尾
安装 bin/mysql_ssl_rsa_setup --datadir=/data/mysql
# 修改系统配置文件
cd /usr/local/mysql/support-files
cp my-default.cnf /etc/my.cnf 如果my-default.cnf不存在则跳过,看下etc下有无my.cnf文件,存在的话,则执行chmod 777 my.cnf,将权限更改
cp mysql.server /etc/init.d/mysql
vim /etc/init.d/mysql
# 启动mysql
/etc/init.d/mysql start
#登录并修改密码
mysql的bin目录下执行 mysql -u root -p
如果执行 mysql -u root -p 出现 -bash: mysql: commond not found ,则执行 ln -s /usr/local/mysql/bin/mysql /usr/bin
设置root账户密码 set password=password('123456')
设置root账户的host地址(设置之后才可远程登录)
grant all privileges on . to 'root'@'%'identified by '123456';
flush privileges;
查看表
use mysql;
select host,user from user;
#添加系统路径
vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile
#配置mysql自动启动
chmod 775 /etc/init.d/mysql
chkconfig --add mysql
chkconfig --level 345 mysql on
19.发布项目到tomcat运行[掌握]
19.1 war项目
打包成war包、将war包放到tomcat里面、启动tomcat(./bin/startup.sh)
20.云服务器使用[掌握]
20.1 阿里云使用
网站:https://www.aliyun.com/?utm_content=se_1003074876
登录-进入控制台:https://homenew.console.aliyun.com/
端口开放:更多-网络和安全组-安全组配置
20.2 京东云
https://console.jdcloud.com/overview
参考资料:https://blog.csdn.net/m0_47946173/article/details/134576631