linux澶嶅埗绮樿创鎬庝箞鎿嶄綔
淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】
1、什么是Linux:Linux就是一个操作系统,大多数用在服务器上
2、服务器是啥?服务器就是一台机器,配置高,价格贵
对于一个软件项目来说,一般都有服务端和客户端,大部分功能都是由客户端和服务端共同完成的。
3、为啥要学Linux?
1)测试环境部署
2)性能测试的时候,监测服务器的各种硬件指标
3)查看错误日志,发现bug以后,通过错误日志帮助开发快速定位问题
4、操作系统:就是一个用户和计算机硬件之间的中介(桥梁)
5、为什么服务器上用linux系统
1)Linux运行的时候占用的硬件资源相对少
2)Linux支持多用户同时操作
6、pwd 查看当前所在目录的全称
7、命令的格式:
1)命令的名字必须有 ls 显示目录下的内容
2)命令的参数可以有 ls -l 显示内容详情
3)命令的值可以有 ls -l /home 显示/home的内容
4)有空格的地方,至少应该有一个空格,没有空格的地方不能有空格
5)严格区分大小写
8、小技巧
1)上下键:快速调出之前执行过的命令
2)tab键:补齐名字:文件/目录/命令
9、history 显示命令的执行历史列表
11、tree 树状结构展示指定目录中的内容,如果不指定目录,则显示当前目录
注意点:tree属于非Linux基本命令,需要安装以后才能使用
yum install -y tree
12、Linux的根目录只有一个 用 / 表示
树的根在下面,所以键盘下方的斜杠是根目录
windows可以有很多的根目录
13、ls命令 显示指定目录下的内容,如果不指定,则显示当前目录
链接文件就是快捷方式
14、属主目录:属于主人的目录(家目录) 用~表示
系统管理员的属主目录 /root 普通用户的属主目录 /home/用户名
普通用户无法查看其他人的属主目录的内容
小结:
1、Linux的概念以及服务器的概念
2、命令的格式 命令名字 参数(可选) 值(可选)
3、小技巧 上下键(快速调出之前执行过的命令) tab键(自动补全名称的)
4、ls pwd tree history
5、根目录 / 属主目录 ~
1、需求:创建文件,修改文件
命令:touch同时创建多个空文件 touch 文件1 文件2 文件3 文件4
命令:vi 文件名 如果文件不存在,则新建文件;如果存在,则打开文件
2、vi有三种模式
直接打开文件,就会进入一般模式
一般模式下,点i进入编辑模式
编辑模式下,esc键回到一般模式
一般模式下,: 进入命令行模式
命令行模式下,esc键回到一般模式
3、一般模式下:文件的查看/简单的编辑
查看格式:vi 文件名 直接打开文件内容,实现查看功能
删除行:dd 删除光标所在的一行 ndd 从光标处往下删除n行
3dd 删除从光标处开始往下的三行 如果光标的位置是最后一行,则ndd无效
如果不足三行,则有多少删多少
整行复制黏贴:yy 复制整行 p 黏贴
4、编辑模式:修改文件内容
一般模式下点i:从光标处开始插入
一般模式下点o:从光标处的下一行自动插入一个空行,光标自动跳转
一般模式下点a:从光标处的后一个字符的位置开始插入
一般模式下点R:替换,输入的内容会替换光标后面的内容
5、命令行模式
:wq 保存并退出(最常用) w 保存 q 退出
:q 内容没有变更的情况下,可以退出
:q! 强制退出不保存
简单的定位 在一般模式下输入 /加上要查找的内容,实现简单定位 n下一个相同字符
:set nu 显示行数 :set nu ! 取消行数的显示 :nu显示光标处的行号以及该行内容
6、vi小结
1)三种模式的切换
2)一般模式下点i,进入编辑模式修改内容
3):wq保存并退出
4)vi 文件名 打开文件,i进入编辑模式修改,:wq保存并退出
内容2 文件内容查看
面试题:请写出Linux下6种查看文件内容的命令
第一类:针对小文件(文件内容少,一屏可以完全显示)
1、cat命令 格式:cat 参数(参数) 文件名 小猫
-n 内容行号一起显示(包含空行) cat -n 文件名
-b 内容行号一起显示(不包含空行) cat -b 文件名
2、tac命令 格式: tac 文件名
倒叙显示文件内容
第二类:针对大文件(需要多屏才能显示完全)
3、more命令 格式:more 文件名 分页显示文件内容 大猫
4、less 命令 格式:less 文件名 分页显示文件内容
第三类:只查看文件的部分内容(开头多少行/结尾多少行)
5、head命令 显示文前多少行
格式:head -n 数字 文件名
例如:head -n 15 文件名 查看文件的前15行,如果不加-n和数字,则默认显示10行
6、tail 命令 显示文件后多少行
格式:tail -n 数字 文件名
例如:tail -n 15 文件名 查看文件的后15行,如果不加-n和数字,则默认显示10行
-f 等待文件的更新,实时刷新并显示文件的新内容
最常用的工作场景:查看错误日志
grep 关键字 只显示含有关键字的行
面试题:你在工作中什么情况下会用到Linux命令,用来干啥?
tail -f 文件名 | grep 关键字 (*非常重要)
grep可以单独用
格式: grep 关键字 文件名
在文件内容中查找关键字,结果只显示文件内容中含有关键字的行
1、cd命令:切换目录 格式:cd+目录名称 路径/目录/文件夹
如果cd后面不写路径名称,则默认切换到属主目录
. 代表当前目录 .. 代表当前目录的上级目录
绝对路径:从根目录开始的写法 /home /home/Desktop /atstudy/install /root
无论当前在哪里,用cd 绝对路径 的写法,都能切换成功
相对路径:相对于当前目录来说,从当前目录开始,当前目录中有这个目录才能使用
对于绝对路径和相对路径的使用的思路:
1)pwd看一下当前的路径
2)ls看一下当前目录有没有我们要切换的目录
3)如果有,则可以用相对路径的写法,如果没有,只能用绝对路径
linux的目录结构
2、pwd 显示当前所在的完整目录(绝对路径)
3、创建目录 命令 mkdir
格式:mkdir 目录名称 创建单个目录
mkdir 目录1 目录2 目录3 目录4 同时创建多个目录
参数-p 如果创建目录的时候,上级目录不存在,则同时创建上级目录
4、rmdir 删除目录 但是只能删除空目录,非空目录不能删除 鸡肋(没人用)
5、rm 删除文件
-f 强制删除
-r 循环删除(删除目录以及目录下面的所有内容) 不加-r 则只能删除文件
6、cp 复制 格式:cp 源 目标路径
支持复制过来直接该名字 cp 源 目标路径/新文件名
-r 复制目录以及目录下所有的东西到指定目录 cp -r 源(目录) 目标路径
源文件和目标都支持绝对路径和相对路径
7、mv 剪切(移动) mv 源(文件或者目录) 目标目录
mv 重命名 mv 源(文件或者目录) 新的名称(不存在一个名称)
小结:
1、vi 三种模式的切换 一般模式下点i,进入编辑模式修改文件,:wq保存并退出
2、查看文件内容 cat tac more less head tail grep
3、文件和目录的操作 cd pwd mkdir rm cp mv
不同于windows系统,对于文件的后缀有严格的要求,linux对于文件的后缀几乎不做要求
行业规范:tar打包以后的文件,要加上.tar的后缀
tar压缩以后的包文件,要加上.tar.gz的后缀
1、tar命令,通过不同的参数组合来决定你的操作是打包/解包/压缩/解压缩
tar -c 打包(创建包文件)
-x 解包 c和x只能出现一个
-f 给包文件命名,后面跟上包文件的名称
-v 过程可见
-z 压缩或者解压缩
2、相关的参数组合
1)打包(-cvf)的命令格式:tar -cvf 包文件名.tar 要打包的文件(多个,用空格隔开)
注意点:1- cvf中,f必须放在组合的最后,因为后面要根包文件名称
2- 包文件名必须加.tar,否则系统不认为是包文件,显示为普通文件
2)解包(-xvf)的命令格式:tar -xvf 包文件名 -C 目标路径
注意点:如果不加-C和目标目录,默认解包到当前目录,有同名的会被替换
3)压缩(-zcvf)的命令格式:tar -zcvf 压缩包名.tar.gz 要压缩的文件(多个,用空格隔开)
路径和文件:文件在哪里?在不在当前路径?文件和路径都支持相对路径和绝对路径的写法
文件可以在不同的目录下,不在当前目录的文件必须用绝对路径的写法
4)解压缩(-zxvf)的命令格式:tar -zxvf 包文件名 -C 目标路径
注意点:如果不加-C和目标目录,默认解压缩到当前目录,有同名的会被替换
5)查看包里的文件的内容
命令格式:tar -tvf 包文件名
6)补充:打包或者压缩的场景
1- 针对单个文件 tar -zcvf 包名 file1
2- 针对多个文件 tar -zcvf 包名 file1 file2 file3 ...
3- 针对单个目录 tar -zcvf 包名 dir1
代表将dir1以及下面的所有文件以及子目录一起压缩
4- 针对多个目录 tar -zcvf 包名 dir1 dir2 dir3 ...
代表将所有目录以及下面的所有文件以及子目录一起压缩
3、zip和unzip
zip和unzip不是Linux标准命令,需要先安装后使用
yum install -y zip yum install -y unzip
1)zip压缩的格式 zip 包名 要压缩的文件(多个,用空格隔开)
注意点:包名要以.zip结尾(行业规范)
2)unzip解压缩格式:unzip -d 目标路径 zip包文件名
注意点:如果不加-d和目标路径,默认解压到当前目录,有同名的会被替换
小结:
1、打包、解包、压缩、解压缩 tar命令通过不同的参数组合来决定
2、tar -cvf 打包
3、tar -xvf 解包
4、tar -zcvf 压缩
5、tar -zxvf 解压缩
6、zip和unzip
1、使用场景
开发小组的小明写了一个文件.java(读/写/运行),给同组的小刚(组内审查)共享(读/运行),
给测试组的大龙(代码走查)共享(读)
小明 文件的拥有者 owner u(r/w/x)
小刚 组内用户 group g(r/x)
大龙 其他用户(不同组) other o(r)
Linux中,对于一个文件来说,谁才是老大?root才是老大,所以一般情况下,更改用户的权限由root来操作,更改用户权限的命令:chmod(这个命令一般情况下由root使用)
2、相关概念
10位 4组
组1 第1位(d/-/l) d:目录 -:文件 l:链接文件(快捷方式)
组2 2~4位 文件拥有者的权限 u
组3 5~7位 组内用户的权限 g
组4 8~10位 其他用户的权限 o
权限 读 r 数字4 r-- 1 0 0 (4)
写 w 数字2 -w- 0 1 0 (2)
运行 x 数字1 --x 0 0 1 (1)
3、更改用户权限的方式1 ugo法
格式:chmod -R(可选) ugo(任意组合) +-=(三选一) rwx(任意组合) 文件(目录)名称
-R 针对目录以及目录下所有的东西
4、更改用户权限的方式2 数字法
格式:chmod -R(可选) 765(数字组合) 文件或目录
数组组合的三个数据,依次代表文件拥有者/组内用户/其他用户的权限
单个数据代表 0没有权限 1运行 2写 3写和运行 4读 5读和运行 6读和写 7读写运行
实际场景:新人入职,让她加入一个部门开发组,成立测试组,让她去测试组兼职,人员离职,部门解散
Linux中需求:新增用户rose,激活用户,修改她的首要组为dev,新增一个组test,将rose加入test组兼职,切换用户,删除用户,删除组
用户和组的相关的命令,大多数只有root才可以执行
1、创建组
组的概念:理解为部门或者项目组,可以对下面的用户进行统一管理
命令格式:groupadd 组名 例如:groupadd dev
查看是否创建成功
2、创建用户
命令格式:useradd 用户名 例如:useradd rose
查看是否创建成功
注意点:1、创建用户的同时,会创建一个同名的目录,作为这个用户的属主目录
2、创建用户的同时,会创建一个同名的组,作为这个用户的首要组和附加组
3、查看用户信息
命令格式:id 用户名 如果不加用户名,则查看自己的信息
uid(用户id,唯一的,相当于我们的身份证,无法更改)
gid(用户的首要组/主组/默认组,唯一的,相当于全职部门,可以更改)
groups(用户的附加组/附属组/其他组,相当于你的兼职部门,可以更改,不唯一)
4、给用户设置密码(激活用户)
普通用户,只有设置了密码,才能够自己登录
设置或者修改密码的命令格式:passwd 用户名 例如 passwd rose
查看密码信息(加密) cat /etc/shadow
注意点:1)工作以后,拿到密码,首先尽快更改
2)密码规则:不少于8位,大写/小写【【网址】】/p/数字 4选3,不能和上次一样
3)root更改普通用户的密码时,不受密码规则的限制
5、切换用户 格式:su 用户名 不加用户名,默认且自己
1)root切换普通用户,不需要密码
2)普通用户之间的切换,使用su命令,需要输入密码
3)如果是root从普通用切换回来,用exit就可以,也不需要密码
6、修改用户的首要组为dev
命令格式:usermod -g 组名 用户名 只有root才可以使用
7、给rose的附加组增加test,将rose加入test组兼职
命令格式:usermod -aG 组名 用户名
8、删除用户:userdel 用户名
9、删除组:groupdel 组名
1、查看网卡的情况 ifconfig
启动网卡:ifup 网卡名称 看到ip地址才叫启动成功,才可以联网
2、查看已使用的端口 netstat -tlnpu 特朗普
小结:
1、打包 解包 压缩 解压缩 tar zip unzip
2、chmod更改文件的用户权限 ugo 数字法
3、用户和组 useradd增加用户 usermod 更改用户的组信息 id passwd
任务1注意点
1、新建用户,会同时创建同名的组
2、新建用户,会同时创建同名的目录(属主目录)
任务23注意点
1、相对路径和绝对路径 pwd
2、我在哪?我要去哪?有没有?目录的结构/文件的具体位置
任务4
1、更改文件的用户权限的两种方式 ugo 数字
任务56注意点
1、tar 不同的参数组合对应不同操作
2、*.log 匹配当前目录下所有以.log结尾的文件
任务7注意点
1、cat -n 1.log
2、cat -b 1.log
3、vi :set nu
4、cat 1.log | wc -l(包含空行)
任务8和9注意点:
1、cat 1.log | grep err(查询文件中含有关键字的行)
2、cat 1.log | grep -v err(查询文件中不含有关键字的行)
任务10 查找文件名包含关键字的文件
1、find 目录(绝对/相对) -name “*.log”
任务11 查找当前目录下文件内容包含关键字的文件
1、grep error * -r
任务12 删除
1、rm -rf