iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >常用Linux Shell进阶部分小结
  • 680
分享到

常用Linux Shell进阶部分小结

进阶小结常用 2022-06-04 21:06:50 680人浏览 八月长安
摘要

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

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


  # 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://www.lsjlt.com/news/18542.html(转载时请注明来源链接)

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何理解常用Linux Shell进阶部分
    这篇文章主要讲解了“如何理解常用Linux Shell进阶部分”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解常用Linux Shell进阶部分”吧!如何计算当前目录下的文件数和目录数...
    99+
    2023-06-09
  • Loguru基本、进阶使用方法小结。
    loguru简介 loguru是一个开源的Python日志记录器,它提供了简单且易于使用的接口,同时具有高度的可定制性。loguru的特点包括:支持格式化日志、记录到文件或终端、支持自动清理日志、支持...
    99+
    2023-09-14
    linux python pytorch 深度学习
  • Linux常用命令小结
    这篇文章主要讲解了“Linux常用命令小结”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux常用命令小结”吧!Linux常用命令使用CRT / Xshell 软件连接VM,编写虚拟机1...
    99+
    2023-06-03
  • Linux下常用的shell命令总结
    这篇文章主要介绍“Linux下常用的shell命令总结”,在日常操作中,相信很多人在Linux下常用的shell命令总结问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux下常用的shell命令总结”的疑...
    99+
    2023-06-16
  • Linux下一些常用的Shell脚本总结
    这篇文章主要介绍“Linux下一些常用的Shell脚本总结”,在日常操作中,相信很多人在Linux下一些常用的Shell脚本总结问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux下一些常用的Shell脚...
    99+
    2023-06-09
  • CSS的部分常用属性总结
    这篇文章主要讲解了“CSS的部分常用属性总结”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS的部分常用属性总结”吧!CSS背景: background:#00ffee; //设置背景颜色...
    99+
    2023-06-08
  • Python进阶篇之正则表达式常用语法总结
    目录正则表达式概述1、点-匹配所有字符2、星号-重复匹配任意次3、加号-重复匹配多次4、 花括号-匹配指定次数5、 问号-贪婪模式和非贪婪模式6、方括号-匹配几个字符之一7、起始位置...
    99+
    2024-04-02
  • Linux中SELinux、Shell简介、touch命令的应用小结
    目录 SElinux⛳️ SELinux的规则与概念⛳️ 查看SELinux⛳️ SELinux策略⛳️ SELinux模式⛳️ SELinux设置 Shell简介⛳️ Shell分类⛳️ BASH基础 touch命令的...
    99+
    2023-02-03
    linux  SELinux linuxShell简介 linux touch命令
  • 分享12个Webpack中常用的Loader(小结)
    目录前言style-loadercss-loadersass-loaderpostcss-loaderbabel-loaderts-loaderhtml-loaderfile-loa...
    99+
    2024-04-02
  • Linux环境shell脚本获取时间的常用命令总结
    本篇内容介绍了“Linux环境shell脚本获取时间的常用命令总结”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 相关概念Linux的系...
    99+
    2023-06-16
  • Spring Cloud Sleuth 和 Zipkin 进行分布式跟踪使用小结
    目录什么是分布式跟踪?分布式跟踪的关键概念带有SpringCloudSleuth的SpringBoot示例使用Zipkin可视化跟踪分布式跟踪允许您跟踪分布式系统中的请求。本文通过了...
    99+
    2024-04-02
  • Linux系统下常用基础管理命令,分类总结
    本文源码:GitHub·点这里 || GitEE·点这里一、目录指令1、创建目录make directorymkdir 目录名称 //mkdir spring,创建一个spring文件夹mkdir -...
    99+
    2023-06-05
  • 如何对Linux上使用LUKS加密的部分进行备份
    这篇文章主要讲解了“如何对Linux上使用LUKS加密的部分进行备份”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何对Linux上使用LUKS加密的部分进行备份”吧!一个解决方案: Bds...
    99+
    2023-06-12
  • 实时 Linux Shell 中使用 Python 进行数据分析有什么优势?
    随着数据量的不断增长,越来越多的人开始倾向于使用实时 Linux Shell 中的 Python 进行数据分析。那么,实时 Linux Shell 中使用 Python 进行数据分析有什么优势呢?本文将为您详细解答。 一、Python 的...
    99+
    2023-09-24
    实时 linux shell
  • 实时 Linux Shell 中使用 Python 进行网络编程的技巧分享。
    实时 Linux Shell 中使用 Python 进行网络编程的技巧分享 随着计算机科学的不断发展,网络编程已成为了一个重要的领域。在实时 Linux Shell 中使用 Python 进行网络编程的技巧,可以帮助开发者更加高效地实现网络...
    99+
    2023-09-24
    实时 linux shell
  • Linux/Centos查看进程占用内存大小的几种方法总结
    1.命令行输入top回车,然后按下大写M按照memory排序,按下大写P按照CPU排序。2. ps -ef | grep "进程名"    ps -e -o 'pid,comm,args,pcpu,rsz,vsz,sti...
    99+
    2023-06-06
  • Java进程ProcessBuilder类的介绍及使用,ProcessBuilder调用外部程序执行shell命令Linux命令
    目录 ProcessBuilder类的介绍及使用 【前言】 【正文】 --构造方法-- --常用方法-- --使用技巧-- --调用本地Shell命令,实例-- 【总结】 【注意】 ProcessBuilder类的介绍及使用 【前言】 ...
    99+
    2023-09-12
    java 开发语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作