这是我在学习Java后端开发过程中整理的笔记!汇总的蛮详细的,入门够用了。希望能和大家一起交流学习。如果觉得文章有用的话希望能点赞收藏一下,这样我也有动力去分享更多内容。
目录结构(跳转失效,直接往下翻即可)
(2)pwd命令(print work directory) 10
20、【touch命令】创建、修改文件/目录或其时间属性 14
(1)cat命令 (concatenate 连接(到文件并打印)) 16
(5)grep命令 (Global Regular Expression Print 全局正则表达式打印) 17
(3)tar命令 ([.tar]打包 [.tar.压缩格式]打包及压缩) 21
②使用 sh demo.sh或bash demo.sh执行 26
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)编写与执行
·在当前的工作目录下执行hello.sh
·需要在第一行指定bash路径
·需要添加执行权限
chmod 777 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 变量名