用了两个的centos之后,也想看看它的脚本,我们知道shell这个东西就像windows里的批处理,它可以将一些语句进行组合,然后统一去执行,感觉挺方便的。

shell文件的组成

shell语言环境

#! /bin/bash  --它表示shell使用的语言为bash脚本

说明

使用#开头的一行表示为“注释”,它不会被执行,只是起到说明的作用

文件权限

r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权
w(Write,写入):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。

下面是文件权限对象的数字,添加时可以直接使用数字

-rwx------:等于数字表示700。
-rwxr―r--:等于数字表示744。
-rw-rw-r-x:等于数字表示665。
drwx―x―x:等于数字表示711。
drwx------:等于数字表示700。

chmod 755 hello  --表示对所有用户添加一个读写执行的权限,它对就的文件是hello

shell主体

可以使用任何linux支持的语言来实现脚本,我们以bash为例,以下代码功能列表所有以abc开头的文件

ls -l abc*

执行shell程序

./hello  --其中./表示当前目录下的文件

结果

aaarticlea/png;base64,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" alt="" />

以上代码表示当前目录和其子目录下,没有以abc开头的文件。

几个基础的命令

cat–concatenate and print files

cat用于在标准输出(监控器或屏幕)上查看文件内容

grep

grep ""在给定的文件中搜寻指定的字符串。grep -i ""在搜寻时会忽略字符串的大小写,而grep -r ""则会在当前工作目录的文件中递归搜寻指定的字符串。

find

这个命令会在给定位置搜寻与条件匹配的文件。你可以使用find -name的-name选项来进行区分大小写的搜寻,find -iname来进行不区分大小写的搜寻。

find <folder-to-search> -iname <file-name>

man

man会为给定的命令显示一个手册页面。

su

su用于切换不同的用户。即使没有使用密码,超级用户也能切换到其它用户。

df

df查看文件系统中磁盘的使用情况–硬盘已用和可用的存储空间以及其它存储设备。你可以使用df -h将结果以人类可读的方式显示。

ps

ps显示系统的运行进程。ps PID,显示具体进程的信息

top

top命令会默认按照CPU的占用情况,显示占用量较大的进程,可以使用top -u查看某个用户的CPU使用排名情况。

感谢各位的阅读!

Linux~其实shell脚本也很简单的更多相关文章

  1. 使用C#给Linux写Shell脚本(下篇)

    在上篇的<使用C#给Linux写Shell脚本>结尾中,我们留下了一个关于C#如何调用BashShell的问题.在文章发布之后,我留意到有读者留言推荐使用“Pash”(一款类PowerSh ...

  2. Linux常用Shell脚本珍藏【转载】

    我们在运维中,尤其是linux运维,都知道脚本的重要性,脚本会让我们的 运维事半功倍,所以学会写脚本是我们每个linux运维必须学会的一门功课,这里收藏linux运维常用的脚本.如何学好脚本,最关键的 ...

  3. 详解Linux交互式shell脚本中创建对话框实例教程_linux服务器

    本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...

  4. Linux/Unix shell 脚本中调用SQL,RMAN脚本

    Linux/Unix shell脚本中调用或执行SQL,RMAN 等为自动化作业以及多次反复执行提供了极大的便利,因此通过Linux/Unix shell来完成Oracle的相关工作,也是DBA必不可 ...

  5. 从windows到linux的shell脚本编码和格式问题

    从windows到linux的shell脚本编码和格式问题   从windows到Linux的shell脚本编码和格式问题 1.异常问题 :set ff=unix 启动脚本在启动时报错比如执行sh s ...

  6. Linux执行shell脚本方式及区别&命令后台运行

    Linux执行shell脚本方式及区别&命令后台运行 http://blog.csdn.net/heqiyu34/article/details/19089951/

  7. Linux:从windows到linux的shell脚本编码和格式

    从windows到linux的shell脚本编码和格式问题 异常问题 :set ff=unix 启动脚本在启动时报错比如执行sh start.sh,时会报Command not found等等的错误, ...

  8. 使用C#给Linux写Shell脚本

    在这个逼格决定人格,鄙视链盛行的年头,尤其是咱们IT界,请问您今天鄙视与被鄙视的次数分别是多少?如果手中没有一点压箱的本事,那就只有看的份了.今天我们也要提升下自己的格调,学习些脑洞大开的东西,学完之 ...

  9. linux下shell脚本执行jar文件

    最近在搞一个shell脚本启动jar文件个关闭jar文件的东东.搞得我都蛋疼了.今天晚上终于弄好了 话说,小弟的linux只是刚入门,经过各方查资料终于搞定了.话不多说,下面开始上小弟写的shell脚 ...

随机推荐

  1. 【nuget】PackageReference

    .net 爬虫 <PackageReference Include="HtmlAgilityPack" Version="1.9.0" /> < ...

  2. CSS特例定位方式

    同级向下一个元素定位,一个+表示下一个元素,++表格下下个元素 input[name='name1'] +input td:eq(0)表示第一个td元素,此定位方式限于执行js,在selenium时用 ...

  3. Android像素密度单位解析

    Android应用程序 res/drawable-hdpi drawable-xxhdpi 显示的不同 对比实验: 创建项目后,默认在相关文件目录中生成以下图标: hdpi --> 72px m ...

  4. 为什么在Python里推荐使用多进程而不是多线程?

    最近在看Python的多线程,经常我们会听到老手说:“Python下多线程是鸡肋,推荐使用多进程!”,但是为什么这么说呢?   要知其然,更要知其所以然.所以有了下面的深入研究: 首先强调背景: 1. ...

  5. linux android开发环境搭建

    android开发环境搭建的一些有用链接:1.sdk manager的国内服务器http://www.cnblogs.com/huangjacky/p/4077982.html2.常见问题的解决htt ...

  6. pickle 模块

    序列化和反序列化的定义 序列化:就是把不可传输的对象转换为可存储或可传输的过程 反序列化:就是把在磁盘,等介质中的数据转换为对象 import pickle #dic={'name':'alex',' ...

  7. kibana 创建index pattern 索引模式时过慢导致无法创建成功 以及解决方案

    下面我具体描述一下我遇到的问题. 在kibana上面创建索引点击创建时,一直显示下面的页面 就看到不停的在那转,始终创建不成功. 查看后台日志,看到状态码为403,报了如下的错误 由于我用的是es6版 ...

  8. 显存充足,但是却出现CUDA error:out of memory错误

    之前一开始以为是cuda和cudnn安装错误导致的,所以重装了,但是后来发现重装也出错了. 后来重装后的用了一会也出现了问题.确定其实是Tensorflow和pytorch冲突导致的,因为我发现当我同 ...

  9. springmvc的日期类型转换

      springmvc的日期类型转换 # spring mvc绑定参数之类型转换有三种方式: ## 1.实体类中加日期格式化注解 @DateTimeFormat(pattern="yyyy- ...

  10. Katalon Studio之请求响应中文乱码解决方法

    最近在用Katalon做接口测试过程中发现请求响应消息中返回的中文均为乱码,这是因为我们使用的系统环境在初始安装时选择的中文简体,导致windows系统默认编码格式为GBK,但是KS的编码格式是UTF ...