Linux~其实shell脚本也很简单
用了两个的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脚本也很简单的更多相关文章
- 使用C#给Linux写Shell脚本(下篇)
在上篇的<使用C#给Linux写Shell脚本>结尾中,我们留下了一个关于C#如何调用BashShell的问题.在文章发布之后,我留意到有读者留言推荐使用“Pash”(一款类PowerSh ...
- Linux常用Shell脚本珍藏【转载】
我们在运维中,尤其是linux运维,都知道脚本的重要性,脚本会让我们的 运维事半功倍,所以学会写脚本是我们每个linux运维必须学会的一门功课,这里收藏linux运维常用的脚本.如何学好脚本,最关键的 ...
- 详解Linux交互式shell脚本中创建对话框实例教程_linux服务器
本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...
- Linux/Unix shell 脚本中调用SQL,RMAN脚本
Linux/Unix shell脚本中调用或执行SQL,RMAN 等为自动化作业以及多次反复执行提供了极大的便利,因此通过Linux/Unix shell来完成Oracle的相关工作,也是DBA必不可 ...
- 从windows到linux的shell脚本编码和格式问题
从windows到linux的shell脚本编码和格式问题 从windows到Linux的shell脚本编码和格式问题 1.异常问题 :set ff=unix 启动脚本在启动时报错比如执行sh s ...
- Linux执行shell脚本方式及区别&命令后台运行
Linux执行shell脚本方式及区别&命令后台运行 http://blog.csdn.net/heqiyu34/article/details/19089951/
- Linux:从windows到linux的shell脚本编码和格式
从windows到linux的shell脚本编码和格式问题 异常问题 :set ff=unix 启动脚本在启动时报错比如执行sh start.sh,时会报Command not found等等的错误, ...
- 使用C#给Linux写Shell脚本
在这个逼格决定人格,鄙视链盛行的年头,尤其是咱们IT界,请问您今天鄙视与被鄙视的次数分别是多少?如果手中没有一点压箱的本事,那就只有看的份了.今天我们也要提升下自己的格调,学习些脑洞大开的东西,学完之 ...
- linux下shell脚本执行jar文件
最近在搞一个shell脚本启动jar文件个关闭jar文件的东东.搞得我都蛋疼了.今天晚上终于弄好了 话说,小弟的linux只是刚入门,经过各方查资料终于搞定了.话不多说,下面开始上小弟写的shell脚 ...
随机推荐
- C++ 使用 hiredis 封装redis 的数据获取接口
整合自互联网 一.hiredis 类库的安装 tar -zxvf hiredis-v0.13.3.tar.gz make make install mkdir /usr/lib/hiredis cp ...
- cgi、fast-cgi、php-pfm关系
CGI是一种规定了服务器和处理进程的数据传输格式的协议 如:nginx 和 php处理进程之间的数据传输是使用cgi格式来相互传输数据 CGI 是 接到请求,fork一条进程来处理,处理完后就退出. ...
- 如何让pandas表格直接转换为markdown表格
https://stackoverflow.com/questions/33181846/programmatically-convert-pandas-dataframe-to-markdown-t ...
- 用java从0生成一个简单的excel
用java从0生成一个简单的excel 目标 用代码实现对一个excel的基础操作,包括创建,插入文字,(好像就这些了),生成的excel可以用wps打开,如果直接用c++的文件流会生成假的xls表格 ...
- SSM框架mapper.xml模糊查询语句
SSM框架mapper.xml模糊查询语句 在用SSM框架时,如果想要实现模糊查询,可以在mapper.xml文件中进行数据库语句的书写,方法有很多种,在这里我选择了两种介绍: 方法1: <se ...
- Makefile = ?= := 区别 $@,$^,$<
= 是最基本的赋值:= 是覆盖之前的值?= 是如果没有被赋值过就赋予等号后面的值+= 是添加等号后面的值 1.“=” make会将整个makefile展开后,再决定变量的值.也就是说,变量的值将会是整 ...
- sass快速入门
sass十分钟入门 变量 sass中可以定义变量,方便统一修改和维护. //sass style //----------------------------------- $fontStack: H ...
- Apache Maven入门篇(转)
[上篇] 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法.这个入门篇分上下两篇.本文着重动手,用 maven 来构建运行 ...
- .htaccess 文件 访问二级域名 对应的 指定文件夹
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / # 绑定m.xxx.cc 到子目录m RewriteCond %{HTTP_ ...
- kali linux学习笔记(四) : 网络端口大全介绍
端口大全介绍 2端口:管理实用程序 3端口:压缩进程 5端口:远程作业登录 7端口:回显 9端口:丢弃 11端口:在线用户 13端口:时间 17端口:每日引用 18端口:消息发送协议 19端口:字符发 ...