简述

本文主要介绍Shell和Linux常用命令。

Shell

Shell 是一个用 C 语言编写的应用程序,提供了用户访问Linux操作系统内核服务的界面,它可以用来启动、挂起、停止、编写程序。Shell 既是一种命令语言,又是一种程序设计语言。

Shell分类

ash:Kenneth Almquist编写,Linux操作系统尺寸最小的Shell之一,有24个不同的内建命令和10个不同的命令行参数。

bash:Brian Fox和Chet Ramey编写,Bourne Again Shell是Linux操作系统最流行的Shell之一。48个内建命令和十多个命令行参数。

csh:tsch的一个符号链接。

ksh:pdksh,公共域Korn(与ksh兼容)Shell。

sh:对bash的一个符号链接。

tcsh:与csh兼容的Shell。

zsh:Z-shell,一个域csh、ksh、sh兼容的Shell。

Shell脚本

Shell 脚本(shell script),是一种为 shell 编写的脚本程序。

打开文本编辑器(vi/vim命令)来创建文件,新建一个文件 test.sh,扩展名为 sh(sh代表shell),扩展名并不影响脚本执行,如果你用 php 写 shell 脚本,扩展名就用 php 好了。

实例:

#!/bin/bash

echo "Hello World !"

#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,使用哪一种 Shell。

echo 命令用于向窗口输出文本。

运行 Shell 脚本

chmod +x ./test.sh #使脚本具有执行权限

./test.sh #执行脚本

Shell变量

定义变量:定义变量时,变量名不加$符号(PHP语言需要)。

语法:

MPath=/usr/local

变量名的命名须遵循如下规则:

命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。中间不能有空格,可以使用下划线(_)。不能使用标点符号。不能使用bash里的关键字(可用help命令查看保留关键字)。使用变量:使用一个定义过的变量,只要在变量名前面加美元符号即可。

语法:

#!/bin/bash

$MPath

只读变量:使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。

语法

#!/bin/bash

MPath=/usr/local

readonly MPath

删除变量:使用 unset 命令可以删除变量。

语法:

unset MPath

变量被删除后不能再次使用。unset 命令不能删除只读变量。

Shell 字符串

单引号:单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;单引号字符串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。

实例:

str='this is a string'

双引号:双引号里可以有变量,双引号里可以出现转义字符。

实例:

your_name='test'

str="Hello, I know you are \"$your_name\"! \n"

单引号拼接字符串:

语法:

your_name="'test'"

msg='hello, '$your_name' !'

双引号拼接字符串:

语法:

your_name="'test'"

msg="hello, "$your_name" !"

获取字符串长度:

语法:

your_name="test"

echo ${#your_name}

截取字符串:

语法:

your_name="test"

echo ${your_name:1:2}

查找字符串:查找字符 i的位置(哪个字母先出现就计算哪个)。

语法:

string=" this is a string "

echo `expr index "$string" i`

定义数组:

语法:

array_name=(value0 value1 value2 value3)

array_name[0]=value0

array_name[1]=value1

array_name[2]=value3

array_name[4]=value4

读取数组:

语法:

${数组名[下标]}

获取数组长度:

语法:

# 取得数组元素的个数

length=${#array_name[@]}

# 或者

length=${#array_name[*]}

# 取得数组单个元素的长度

lengthn=${#array_name[n]}

Shell注释

单行注释:以 # 开头的行就是注释,会被解释器忽略。

实例:

# 这是一个注释

多行注释:通过每一行加一个 # 号设置多行注释。

语法:

# 这是一个注释

# 这是一个注释

:<

注释内容...

'

:<

注释内容...

!

Linux常用命令

PS:查看进程状况。

语法:

PS[option]

ps ax

ps –ef

-常用选项说明如下:

-e:显示所有进程。

-f:全格式。

-u:打印用户格式,显示用户名和起始时间。

kill:终止后台进程。

语法:

kill [-s|-p][-a]进程号

kill –I [信号]

命令中参数说明如下:

-s:指定需要送出的信息。

-p:进程 pid。

-I:显示信号名称列表。

sleep:休眠进程,可使当前正在执行的进程在规定时间内处于休眠。

语法:

$sleep[time]

-time:为进程睡眠时间,单位秒。

cd:进入不同目录

语法 :

cd /usr/local

pwd:查看所在位置

语法

pwd

find:在子目录搜索文件

语法:

-name 按名字查找。如想查找子目录/usr中的spell命令

find /usr –name spell –print

#模糊查找:模糊查找下*xxx*.c这个文件

find / -name *xxx*.c

whereis:查文件存放位置。

语法:

#查看指令"bash"的位置

whereis bash

ok,以上就是Linux操作系统Shell和常用命令汇总,看完记得转发、点赞和收藏。如果有错误,欢迎批评指正,感谢。

(云渺书斋)

举报/反馈

linux常用的命令shell,Linux操作系统Shell和常用命令汇总相关推荐

  1. 【shell脚本开发技术】linux中shell script脚本开发编程常用命令与脚本速记指南

    shell script #!/bin/bash # do something run shell script sh script.shorchmod a+x script.sh ./script. ...

  2. Linux常用命令(本篇包括,Linux目录结构介绍、Linux Shell介绍、9个常见命令介绍、文件的概念、文件的操作(20个)、目录的操作、文件和目录的权限、文件压缩及解压缩)

    Linux常用命令(本篇包括,Linux目录结构介绍.Linux Shell介绍.9个常见命令介绍.文件的概念.文件的操作(20个).目录的操作.文件和目录的权限.文件压缩及解压缩)         ...

  3. Linux笔记——常用命令详解及Shell脚步基本用法

    Linux笔记 修改运行级别 临时切换运行级别:用init命令,例如进入级别3 [root@localhost ~]# init 3 永久切换,需要修改配置文件vi /etc/inittab 重启虚拟 ...

  4. android shell命令以及Linux常用命令.(以后就不用东奔西走的找了)

    Android本来就是一个linux操作系统,所以大部分都是linux的命令,如mkdir,ls,netstat,mount,ps 等,这里就不具体介绍了, 主要介绍几个Android特有的. get ...

  5. linux emacs命令,Linux Bash Shell 终端 Terminal Emacs 模式 常用 快捷键 命令

    背景: OS:Ubuntu 16.04 Bash 的编辑模式:Emacs 模式 本文介绍的快捷键 仅当 您的 Bash 的编辑模式 为 Emacs 模式 时 有效,Bash 默认的编辑模式为 Emac ...

  6. linux shell指令 amp,shell入门基础amp;常见命令及用法

    shell shell是一个命令解释器,实际是一个程序,/bin/bash,linux中所有的命令都由它来解释,有自己的语法 shell脚本 以.sh结尾 shell语法+linux命令 注释: 单行 ...

  7. linux常用命令、linux系统、linux属于什么操作系统、linux系统安装、linux怎么读、linux和windows的区别、linux配置ip地址、linux系统一般用来,在线查询工具

    linux vi编辑器常用命令 linux 查看ip linux find -name 查找文件名 linux shell linux 查看端口占用 linux 删除文件命令 linux cp命令复制 ...

  8. 从常用指令入手了解Linux系统 (Learn Linux from shell commands)

    如果直接学习Linux系统的一些理论知识,可能比较枯燥,那么不如结合Linux各种各样有趣的命令,边自己尝试一些输入输出获得的一些成果,边了解与这些输入输出相关的Linux系统的知识,可能会比较有趣吧 ...

  9. Day25 linux shell中的特殊符号与命令

    2019独角兽企业重金招聘Python工程师标准>>> linux shell中的特殊符号 *:代表零个或多个任意字符 ?:只代表一个任意字符,不管是数字还是字母,只要是一个字符,都 ...

最新文章

  1. Vert.x 发送邮件
  2. 微信公众号中网页安全提示去掉
  3. 项目中序列化时,去除属性为null的key
  4. 大屏监控系统实战(9)-爬取所有博主实时投票票数并存数据库
  5. canopy算法流程_Canopy聚类算法
  6. OpenCV中的reshape
  7. Java模拟实现一个基于文本界面的《家庭记账软件》
  8. 【JS】js打开新窗口与页面跳转
  9. 微信公众平台配置服务器之后实现自动回复
  10. 太阳系行星运行图-java多媒体实验
  11. 智能管家App kotlin版(1)——框架搭建
  12. ssms连接mysql_SQL Server安装以及使用SSMS连接数据库
  13. Hibernate:cannot simultaneously fetch multiple bags 解决方案
  14. 【自媒体营销神器】一键自动下载短视频并分发至长视频平台脚本开源展示
  15. pt-table-checksum 使用实践
  16. 如何正确的下载安装使用别人的laravel项目?
  17. uniapp小程序获取定位(高德SDK)
  18. 解决No EPCS layout data --- looking for section [EPCS-xxxxx]
  19. 大悲寺——依教奉行溯正源,良苦用心谁人知?纵然世间一比丘,不退初心证菩提。[转]...
  20. python屏幕录制与回放_monkeyrunner之录制与回放(七)

热门文章

  1. Jest测试框架学习(一)
  2. 开关电源如何布置-唯样商城
  3. 联想笔记本thinkpad外放没有声音,插耳机有声音?
  4. 【Angular】在angular2的app.component.html中使用 *ngIf 更改路由出口router-outlet
  5. git 提交整个文件夹所有文件
  6. 元宇宙十问十答:元宇宙会成为灾难让世界走向灭亡吗?
  7. maven插件加载依赖的类
  8. Java 创建对象的 6 种方式,总有一种适合你
  9. 博客引入漂亮字体二三事
  10. C++知识点总结及习题