这是我在学习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 变量名
