这是我在学习Java后端开发过程中整理的笔记!汇总的蛮详细的,入门够用了。希望能和大家一起交流学习。如果觉得文章有用的话希望能点赞收藏一下,这样我也有动力去分享更多内容。
目录结构(跳转失效,直接往下翻即可)
1、【目录结构】 5
2、【用户管理】 5
3、【用户组】 5
4、【管理组内成员】 6
5、【日期管理】 6
6、【显示用户】 6
7、【切换用户】 6
8、【id命令】查看用户信息 7
9、【sudo命令】提高此操作权限 7
10、【查看进程信息】 7
(1)top命令 7
(2)ps命令 8
11、【杀死进程】 8
12、【关机&重启】 8
13、【查看当前登录用户】 9
14、【矫正服务器时间、时区】 9
15、【清屏】 9
16、【目录管理】 9
(1)ls命令 10
(2)pwd命令(print work directory) 10
(3)cd命令 11
(4)mkdir命令 11
(5)rmdir命令(remove) 11
(6)rm命令 11
(7)cp命令(copy) 11
(8)mv命令(move) 12
17、【文件基本属性】 12
18、【修改文件属主和属组】 13
(1)chgrp命令:change group 13
(2)chown命令:change owner 13
19、【修改文件权限】 13
(1)数字权限 13
(2)符号权限 14
20、【touch命令】创建、修改文件/目录或其时间属性 14
21、【vi/vim编辑器】 14
(1)打开和新建文件 15
(2)进入编辑模式 15
(3)进入末行模式保存文件 15
(4)小技巧:显示行号 15
(5)快捷键 15
22、【文件查看】 16
(1)cat命令 (concatenate 连接(到文件并打印)) 16
(2)less命令 (分页查看) 16
(3)tail命令 16
(4)head命令 17
(5)grep命令 (Global Regular Expression Print 全局正则表达式打印) 17
23、【linux中的逻辑运算符】 17
(1)& : 17
(2)&&: 17
(3)|: 17
(4)||: 17
24、【vim定位行】 17
25、【vim异常处理:交换文件】 18
26、【echo命令】 18
27、【文本分析工具】awk命令 19
(1)搜索 19
(2)切割及获取内容 19
(3)计算 20
28、【软连接】 20
29、【查找】find 20
30、【压缩与解压】 21
(1)常见压缩格式及压缩&解压操作 21
(2)gzip、gunzip命令 (.gz) 21
(3)tar命令 ([.tar]打包 [.tar.压缩格式]打包及压缩) 21
(4)zip、unzip命令 (.zip) 22
(5)bzip2、bunzip2命令 (.bz2) 22
31、【网络管理】 22
(1)ifconfig命令 22
(2)ping命令 23
(3)netstat命令 23
32、【磁盘管理】 23
(1)lsblk命令(从硬盘角度查看) 23
(2)df命令(从分区角度查看) 23
(3)mount命令(挂载和卸载磁盘) 23
33、【软件安装与包管理】 24
(1)使用yum管理rpm包 24
(2)rpm 25
34、【shell语法】 25
(1)介绍 25
(2)编写与执行 26
①使用 ./demo.sh 执行 26
②使用 sh demo.sh或bash demo.sh执行 26
(3)注释 26
(4)shell变量 27
①定义变量 27
②使用变量 27
③只读变量 28
④删除变量 28
(5)变量数组 28
(6)算术运算符 28
(7)字符串运算符 29
(8)关系运算符 30
(9)布尔运算符 30
(10)逻辑运算符 30
(11)判断语句if-else 31
(12)选择语句case 31
(13)for循环 31
(13)while循环 31
(14)函数定义 31
(15)读取键入 32
1、【目录结构】
↑重要目录
2、【用户管理】
(需要切换至root用户)
ctrl + d退出当前用户
3、【用户组】
4、【管理组内成员】
gpasswd -a user1 group1添加用户入组
grep ‘kaifazu’/etc/group查看组内成员
(Linux grep命令用于查找文件里符合条件的字符串)
5、【日期管理】
6、【显示用户】
7、【切换用户】
su:switch user
su -c命令 root :切换到指定用户执行shell命令,并返回到原用户
(sudo -u root命令:效果也一样)
8、【id命令】查看用户信息
9、【sudo命令】提高此操作权限
sudo命令
sudo -u其它用户 命令
10、【查看进程信息】
·top实时、ps静态(可以和grep搭配使用用户检索指定进程)
(1)top命令
(2)ps命令
·ps -ef | grep 关键字:查找指定的进程信息
11、【杀死进程】
12、【关机&重启】
poweroff也可以立马关机
13、【查看当前登录用户】
14、【矫正服务器时间、时区】
使用ntp协议连接ntp时间服务器进行同步时间
15、【清屏】
(清完后还可以向上回滚)
16、【目录管理】
(1)ls命令
·还可以使用tree来查看文件结构树
$ Yum -y install tree
$ tree
·查看当前目录下各文件及目录占用空间大小
du -sh *
(2)pwd命令(print work directory)
(或直接pwd)
(3)cd命令
(4)mkdir命令
(5)rmdir命令(remove)
(6)rm命令
touch文件名 : 创建文件
加上-f强制不询问
(7)cp命令(copy)
(8)mv命令(move)
17、【文件基本属性】
d:文件夹、-:文件、|:链接
18、【修改文件属主和属组】
(1)chgrp命令:change group
(2)chown命令:change owner
19、【修改文件权限】
chmod命令:change mode
(1)数字权限
(2)符号权限
20、【touch命令】创建、修改文件/目录或其时间属性
21、【vi/vim编辑器】
(1)打开和新建文件
(2)进入编辑模式
(3)进入末行模式保存文件
(4)小技巧:显示行号
(5)快捷键
·复制行:
在命令模式下,将光标移动到将要复制的行处,按“yy”进行复制;
在命令模式下,将光标移动到将要复制的首行处,按“nyy”复制n行;
在命令模式下,将光标移动到将要粘贴的行处,按“p”进行粘贴;
·撤销和恢复操作
u:撤销上一步的操作
ctrl + r:恢复上一步被撤销的操作
22、【文件查看】
(1)cat命令 (concatenate 连接(到文件并打印))
(2)less命令 (分页查看)
(3)tail命令
-f:为动态显示,因为有的文件不断地append,例如日志文件
-数字f:组合键
(4)head命令
(5)grep命令 (Global Regular Expression Print 全局正则表达式打印)
·-c:输出匹配到的个数
可以搭配ps -ef进行进程搜索
23、【linux中的逻辑运算符】
在linux中,&和&&,|和||介绍如下
(1)& :
表示任务在后台执行,如要在后台运行redis-server,则有 redis-server &
(2)&&:
表示前一条命令执行成功时,才执行后一条命令,如echo '1‘ && echo '2'
(3)|:
表示管道,上一条命令的输出,作为下一条命令参数,如echo 'yes' | wc -l
(4)||:
表示上一条命令执行失败后,才执行下一条命令,如cat nofile || echo "fail"
24、【vim定位行】
vim a.txt +5
25、【vim异常处理:交换文件】
也可继续编辑
26、【echo命令】
用于字符串的输出
·双引号可以省略
·显示转义字符:echo "\"It is a test\""
·> 重定向输出符号,覆盖写入
·>> 重定向输出符号,追加写入
·&> 及 &>> 错误重定向
27、【文本分析工具】awk命令
AWK是一种处理文本文件的语言,是一个强大的文本分析工具
需求:
(1)搜索
(2)切割及获取内容
不写OFS=,则默认使用空格
(3)计算
NR表示行数
28、【软连接】
29、【查找】find
在当前文件夹下查找使用“.”作为路径名
30、【压缩与解压】
(1)常见压缩格式及压缩&解压操作
(2)gzip、gunzip命令 (.gz)
压缩完源文件消失
(3)tar命令 ([.tar]打包 [.tar.压缩格式]打包及压缩)
(4)zip、unzip命令 (.zip)
(5)bzip2、bunzip2命令 (.bz2)
31、【网络管理】
(1)ifconfig命令
(2)ping命令
(3)netstat命令
32、【磁盘管理】
(1)lsblk命令(从硬盘角度查看)
block阻塞 块 街区
(2)df命令(从分区角度查看)
·查看当前目录下各文件及目录占用空间大小
du -sh *
(3)mount命令(挂载和卸载磁盘)
33、【软件安装与包管理】
(1)使用yum管理rpm包
“小黄狗”
优点:可以自动解决软件的依赖问题,会自动安装依赖包
·安装和查找
·更换yum源
# cd /etc/yum.repos.d
# mv CentOS-Base.repo CentOS-Base.repo.back将yum配置文件进行备份
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
(2)rpm
34、【shell语法】
(1)介绍
(2)编写与执行
①使用 ./demo.sh 执行
·在当前的工作目录下执行hello.sh
·需要在第一行指定bash路径
·需要添加执行权限
chmod 777 demo.sh
②使用 sh demo.sh或bash demo.sh执行
·将hello.sh作为参数传给sh(bash)命令来执行的。这时不是hello.sh自己来执 行,而是被人家调用执行,所以不要执行权限。
·不需要指定bash路径
(3)注释
(4)shell变量
①定义变量
·普通变量
习惯:数字不加引号,其它默认加双引号
注意:变量赋值不要空格,否则可能会出错
·命令变量
!命令会执行完并返回结果给变量
②使用变量
这种写法更标准,可以更加精确的界定变量名称的范围
③只读变量
声明为只读变量后不能再修改
④删除变量
unset变量名
(5)变量数组
(6)算术运算符
①使用expr
空格、反引号
②使用$(( ))
在 $(( )) 中的变量名称,可于其前面加 $ 符号来替换,也可以不用
d=$((a+b+c)); echo $d
(7)字符串运算符
补充:获取字符串长度:${#a}
·在shell中,0为真,1为假
·[]和运算符之间要有空格隔开
·通过$? 可以获取上个语句的结果
(8)关系运算符
·类似于高级语言中的比较运算符
·关系运算符只支持数字,不支持字符串,除非字符串的值是数字
(9)布尔运算符
(10)逻辑运算符
·逻辑运算符用双括号[[ express ]]
·有短路操作
(11)判断语句if-else
(12)选择语句case
·case后面为值,而不是变量名
·;表示换行
·;;表示break
(13)for循环
(13)while循环
(14)函数定义
①无参无返回值
·调用不需要括号,可以理解,因为变量需要+$,因此不会混淆
②有参无返回值、有参有返回值
·函数签名不需要写,可以理解,因为只有一种数据类型,用编号即可
(15)读取键入
·read 变量名