返回顶部
首页 > 资讯 > 操作系统 >Linux下一些常用的Shell脚本整理
  • 287
分享到

Linux下一些常用的Shell脚本整理

脚本常用Linux 2022-06-04 21:06:04 287人浏览 泡泡鱼
摘要

如何计算当前目录下的文件数和目录数 # ls -l * |grep "^-"|wc -l ---- to count files # ls -l * |grep "^d"|w

如何计算当前目录下的文件数和目录数


 # ls -l * |grep "^-"|wc -l ---- to count files
  
  # ls -l * |grep "^d"|wc -l ----- to count dir


如何只列子目录?


  ls -F | grep /$ 或者 alias sub = "ls -F | grep /$"(linux)
  
  ls -l | grep "^d" 或者 ls -lL | grep "^d" (Solaris)


如何实现取出文件中特定的行内容

如果你只想看文件的前5行,可以使用head命令,

如:


head -5 /etc/passwd


如果你想查看文件的后10行,可以使用tail命令,

如:


tail -10 /etc/passwd


你知道怎么查看文件中间一段吗?你可以使用sed命令

如:


sed -n '5,10p' /etc/passwd 

这样你就可以只查看文件的第5行到第10行。

如何查找含特定字符串的文件

例如查找当前目录下含有"the string you want find…"字符串的文件:


$find . -type f -exec grep "the string you want find…" {} ; -print


如何列出目录树

下面的短小的shell程序可以列出目录树, 充分利用了sed强大的模式匹配能力。

目录树形式如下:


  .
  
  `--shellp
  
  `--updates
  
  `--wu-ftpd-2.4
  
  | `--doc
  
  | | `--examples
  
  | `--src
  
  | | `--config
  
  | | `--makefiles
  
  | `--support
  
  | | `--makefiles
  
  | | `--man
  
  | `--util


脚本如下:


 #!/bin/sh
  
  # dtree: Usage: dtree [any directory]
  
  dir=${1:-.}
  
  (cd $dir; pwd)
  
  find $dir -type d -print | sort -f | sed -e "s,^$1,," -e "/^$/d" -e "s,[^/]*/([^/]*)$,`----1," -e "s,[^/]*/,| ,g"


如何实现取出文件中特定的列内容

我们经常会遇到需要取出分字段的文件的某些特定字段,例如/etc/passWord就是通过":"分隔各个字段的。可以通过cut命令来实现。例如,我们希望将系统账号名保存到特定的文件,就可以:


cut -d: -f 1 /etc/passwd >; /tmp/users


-d用来定义分隔符,默认为tab键,-f表示需要取得哪个字段。

当然也可以通过cut取得文件中每行中特定的几个字符,例如:


  cut -c3-5 /etc/passwd


就是输出/etc/passwd文件中每行的第三到第五个字符。

-c 和 -f 参数可以跟以下子参数:

N 第N个字符或字段

N- 从第一个字符或字段到文件结束

N-M 从第N个到第M个字符或字段

-M 从第一个到第N个字符或字段

在vim中实现批量加密

密码中还是不能带空格,不管了,能加密就好,先这么用着。


 #!/bin/bash
  
  # Encrypt file with vim
  
  if (test $# -lt 2) then
  
  echo Usage: decrypt password filename
  
  else
  
  vim -e -s -c ":set key=$1" -c ':wq' $2
  
  echo "$2 encrypted."
  
  fi
  
  [weeder@SMTH weeder]$ for file in *.txt ; do encrypt test $file ; done
  
  test2.txt encrypted.
  
  test4.txt encrypted.
  
  test9.txt encrypted.
  
  kick.txt encrypted.
  
  echo "$2 encrypted."
  
  fi
  
  [weeder@SMTH weeder]$ for file in *.txt ; do encrypt test $file ; done
  
  test2.txt encrypted.
  
  test4.txt encrypted.
  
  test9.txt encrypted.
  
  kick.txt encrypted.
  
  too_old.txt encrypted.
  
  too_old_again.txt encrypted.
  
  bg5.txt encrypted.
  
  [weeder@SMTH weeder]$


$@等特定shell变量的含义

在shell脚本的实际编写中,有一些特殊的变量十分有用:

$# 传递到脚本的参数个数

$* 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过9个

$$ 脚本运行的当前进程ID号

$! 后台运行的最后一个进程的进程ID号

$@ 与$#相同,但是使用时加引号,并在引号中返回每个参数

$- 显示shell使用的当前选项,与set命令功能相同

$? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。

如何使程序的执行结果同时定向到屏幕和文件

program_name |tee logfile

这样程序执行期间的显示都记录到logfile同时显示到标准输出(屏幕
)。

如何用sendmail给系统所有用户送信

首先在aliases文件里面建立一个alias:


  alluser: :include:/etc/mail/allusers


并执行newaliases使之生效,然后在/etc/mail/allusers里面列出所有用户,可以使用下面的命令:


awk -F: '$3 >; 100 { print $1 }' /etc/passwd >; /etc/mail/allusers


如何查找某条命令的相关库文件

在制作自己的发行版时经常需要判断某条命令需要哪些库文件的支持,以确保指定的命令在独立的系统内可以可靠的运行。

在Linux环境下通过ldd命令即可实现,在控制台执行:


  ldd /bin/ls


即可得到/bin/ls命令的相关库文件列表。

如何使用host命令获得更多信息

Host能够用来查询域名,然而它可以得到更多的信息。host -t mx linux.com可以查询出Linux.com的MX记录,以及处理Mail的Host的名字。Host -l linux.com会返回所有注册在linux.com下的域名。host -a linux.com则会显示这个主机的所有域名信息。

如何停止终端多个进程

以下是脚本:


echo "系统当前用户"
  
  echo "---------------"
  
  who | awk '{print $2}'
  
  echo "---------------"
  
  echo "输入要杀死终端的终端号:"
  
  read $TTY
  
  kill -9 ${K}=`ps -t $TTY | grep [0-9] | awk '{print $1}'` 

--结束END--

本文标题: Linux下一些常用的Shell脚本整理

本文链接: https://lsjlt.com/news/18492.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Linux下一些常用的Shell脚本整理
    如何计算当前目录下的文件数和目录数 # ls -l * |grep "^-"|wc -l ---- to count files # ls -l * |grep "^d"|w...
    99+
    2022-06-04
    脚本 常用 Linux
  • Linux下一些常用的Shell脚本总结
    这篇文章主要介绍“Linux下一些常用的Shell脚本总结”,在日常操作中,相信很多人在Linux下一些常用的Shell脚本总结问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux下一些常用的Shell脚...
    99+
    2023-06-09
  • linux shell脚本的基础知识整理
    这篇文章主要讲解了“linux shell脚本的基础知识整理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux shell脚本的基础知识整理”吧!Shell脚本:#!  指定...
    99+
    2023-06-09
  • 常用的shell脚本有哪些
    这篇文章主要讲解了“常用的shell脚本有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“常用的shell脚本有哪些”吧!1.模拟linnux登录shell代码如下:#/bin/bashe...
    99+
    2023-06-09
  • linux中面试常用Shell脚本有哪些
    小编给大家分享一下linux中面试常用Shell脚本有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!注意事项1)开头加解释器:#!/bin/bash2)语法缩进,使用四个空格;多加注释说明。3)命名建议规则:变量名大写...
    99+
    2023-06-16
  • linux下shell常用脚本命令及有关知识
    目录一、需要记住的一些知识点1、变量类型2、shell变量说明3、单引号和双引号和反引号的区别4、shell转义字符5、算术运算符列表6、关系运算符7、布尔运算符列表8、文件测试运算符列表二、常用脚本命令举例说明 一、需...
    99+
    2022-06-04
    inux下shell脚本命令 shell脚本命令相关知识
  • 常用的Linux shell命令整理
    这篇文章主要介绍“常用的Linux shell命令整理”,在日常操作中,相信很多人在常用的Linux shell命令整理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”常用的Linux shell命令整理”的疑...
    99+
    2023-06-13
  • Linux下实现SNMP一键安装的Shell脚本
    Net-SNMP是一个免费的、开放源码的SNMP实现,以前称为UCD-SNMP。SNMP 很多都用其安装之后,作为监控宝和阿里云的系统信息监控使用。下面就来分享linux下实现SNMP一键安装的shell脚...
    99+
    2022-06-04
    一键 脚本 Linux
  • linux shell常用的脚本语句语法
    这篇文章主要介绍“linux shell常用的脚本语句语法”,在日常操作中,相信很多人在linux shell常用的脚本语句语法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux shell常用的脚本语...
    99+
    2023-06-13
  • 有哪些常用的shell脚本命令
    有哪些常用的shell脚本命令?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。shell脚本基本命令:1、echo 命令1 基本使用Shell 的 echo 指令...
    99+
    2023-06-14
  • Linux下shell通用脚本启动jar
    Linux下shell通用脚本启动jar?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。vim app_jar.sh#!/bin/bash#source /etc/...
    99+
    2023-06-09
  • Linux下使用shell脚本自动执行脚本文件
    以下实例本人在Centos6.5 64位操作系统中使用 一、定时复制文件   a、在/usr/local/wfjb_web_back目录下创建 tomcatBack.sh文件   文件内容: #将to...
    99+
    2022-06-04
    脚本 文件 Linux
  • LINUX下的流量监控shell脚本
    最近比较忙,好久没更新博客了,今天刚好不忙写了一个流量监控脚本.测试在centos下已通过,有需要的朋友可以试试,有BUG或者需要添加其他功能话可以留言哦.一、脚本源码# vi /etc/rc.d/traf...
    99+
    2022-06-04
    脚本 流量 LINUX
  • Linux下如何复用外部shell脚本
    这篇文章主要介绍Linux下如何复用外部shell脚本,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Linux开发中,经常会编写shell脚本来执行一些任务,通常是一个脚本只做一件事,随着任务的增加,脚本会越来越多,...
    99+
    2023-06-27
  • Linux下怎么复用外部shell脚本
    这篇文章的内容主要围绕Linux下怎么复用外部shell脚本进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!在Linux开发中,经常会编写shell脚...
    99+
    2023-06-28
  • Linux下如何实现SNMP一键安装的Shell脚本
    这篇文章主要介绍Linux下如何实现SNMP一键安装的Shell脚本,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Net-SNMP是一个免费的、开放源码的SNMP实现,以前称为UCD-SNMP。SNMP 很多都用其安...
    99+
    2023-06-09
  • 有哪些好用的Shell脚本常用命令
    这篇文章主要讲解了“有哪些好用的Shell脚本常用命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些好用的Shell脚本常用命令”吧!列出所有目录使用量,并按大小排序。代码如下:ls|...
    99+
    2023-06-09
  • shell linux中如何用shell写一个占用CPU的脚本
    使用场景: 向公司申请的虚机资源自己工作用的比较方便,因占用较小basis要求回收掉,现写一个脚本,让CPU跑满一些。 首先看下共有几颗逻辑CPU cat /proc/cpuinfo |grep "processo...
    99+
    2022-06-04
    [db:TAGS]
  • shell脚本中常见的一些特殊符号和作用有哪些
    这篇文章主要讲解了“shell脚本中常见的一些特殊符号和作用有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“shell脚本中常见的一些特殊符号和作用有哪些”吧!1、{} 大括号:用法一:...
    99+
    2023-06-09
  • Linux shell脚本输出日志笔记整理(必看篇)
    1、日志方法简介: #日志名称 log="./upgrade.log" #操作日志存放路径 fsize=2000000 #如果日志大小超过上限,则保存旧日志,重新生成日志文件 ex...
    99+
    2022-06-04
    必看 脚本 笔记
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作