用了两个的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. 数组遍历for forEach for..in for..of

    最开始接触的遍历for 通过下标获取数组每一项的值 ,,]; ;i<num.length;i++) { console.log(num[i]) } /*打印2 5 7*/ forEach遍历数组 ...

  2. [CF1093G]Multidimensional Queries

    [CF1093G]Multidimensional Queries 题目大意: \(k(k\le5)\)维空间中有\(n(n\le2\times10^5)\)个点.\(m\)次操作,操作包含一下两种: ...

  3. Rectangular Covering [POJ2836] [状压DP]

    题意 平面上有 n (2 ≤ n ≤ 15) 个点,现用平行于坐标轴的矩形去覆盖所有点,每个矩形至少盖两个点,矩形面积不可为0,求这些矩形的最小面积. Input The input consists ...

  4. mysql练习

    1.表关系 创建如下表格,并创建相关约束 ##(1)创建一个数据库 create database db2 default charset utf8; ##切换到db2数据库中 use db2 ##创 ...

  5. ES6-个人学习大纲

    1,let   const学习补充 1.1,let的知识点: 01-作用域只限制在当前代码块内,代码块形式如下: { var str = '张三'; console.log(str); let str ...

  6. python 可迭代对象 迭代器 生成器总结

    可迭代对象 只要有魔法方法__iter__的就是可迭代对象  list和tuple和dict都是可迭代对象 迭代器 只要有魔法方法__iter__和__next__的就是可迭代对象 生成器 只要含有y ...

  7. python 模型 ORM简介

    Django之ORM (Object Relational Mapping(ORM)一.ORM介绍1.ORM概念 对象关系映射模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术.2.OR ...

  8. .NET Core跨平台的奥秘[中篇]:复用之殇

    在<.NET Core跨平台的奥秘[上篇]:历史的枷锁>中我们谈到:由于.NET是建立在CLI这一标准的规范之上,所以它天生就具有了"跨平台"的基因.在微软发布了第一个 ...

  9. 像屎一样的 Spring Boot入门,总算有反应了

    我特么最烦的就是现在Java不知道抽什么风,喜欢用maven这种,怎么搞都会有错误提示的玩意.搞个spring boot,官方的所谓http://start.spring.io/生成的项目启动不了. ...

  10. MSSQL事务隔离级别详解(SET TRANSACTION ISOLATION LEVEL)

    控制到 Transact-SQL 的连接发出的 SQL Server 语句的锁定行为和行版本控制行为. TRANSACT-SQL 语法约定 语法   -- Syntax for SQL Server ...