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脚 ...
随机推荐
- linux中sogou输入法崩溃重启
经常在linux中搜狗输入法用着用着就崩溃了,无法输入中文,又不想重启电脑,照着下面在终端输入命令可以重启输入法: 1.先关闭fcitx(小企鹅输入法,提供了良好的中文输入法环境) # killall ...
- 元素定位-XPATH定位方法总结
1.Xpath定位方法探讨 xpath是比较常用的一种定位元素的方式,因为它很方便,缺点是,消耗系统性能.如果Xpath使用的比较好,几乎可以定位到任何页面元素,而且受页面变化影响较小. 1.1.什么 ...
- tensorflow 使用 3 模型学习
模型学习 import tensorflow as tf import numpy as np # 生成 100 个随机的点 x_data = np.random.rand( 100 ) y_data ...
- A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
使用arduino烧写esp32模块遇到的无法烧录问题,时钟无法烧录遇到如下提示 后来搜索在如下连接找到解决方法: https://github.com/espressif/esptool/issue ...
- js数组基础
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- SpringBoot+ Mybatis 搭建
spring boot+mybatis整合 LZ今天自己搭建了下Spring boot+Mybatis,比原来的Spring+SpringMVC+Mybatis简单好多.其实只用Spring bo ...
- h5的video下载按钮如何隐藏
h5的video下载按钮在部分手机系统上是不可用的,想要把这个按钮屏蔽掉,可苦于没有像屏蔽全屏按钮那样的伪类video::-webkit-media-controls-fullscreen-butto ...
- 多路分支----switch语句
switch-case与if-else有相似的作用,都是表达分支的方式. 语法形式: switch(type){ case 常量1: do something; break; case 常量2: do ...
- [tkinter]为列表框添加滚动条
为了给列表框配备滚动条,看来很多别人的博客 终于解决了问题 ,现在我总结一下 from tkinter import * root = Tk() lb = Listbox(root) scr = Sc ...
- C语言面试题分类->链表
链表的创建,清空,插入,删除 typedef int (* __compfunc)(const void *, const void *); //Traverse list. Fast macro t ...