Linux常用指令及Shell编程大汇总(超详细)

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


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容