千家信息网

如何理解常用Linux Shell进阶部分

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要讲解了"如何理解常用Linux Shell进阶部分",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何理解常用Linux Shell进阶部分
千家信息网最后更新 2026年11月03日如何理解常用Linux Shell进阶部分

这篇文章主要讲解了"如何理解常用Linux Shell进阶部分",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何理解常用Linux Shell进阶部分"吧!

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

  # 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}'`

感谢各位的阅读,以上就是"如何理解常用Linux Shell进阶部分"的内容了,经过本文的学习后,相信大家对如何理解常用Linux Shell进阶部分这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

文件 命令 字符 字段 目录 参数 脚本 常用 部分 进阶 内容 系统 进程 信息 变量 域名 字符串 就是 库文件 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网络科技 南京欣网互联网络科技有限公司 互联网科技会 互联网络科技有限公司 互联网 科技创业 互联网 视角下的科技创新 互联网科技美容 中国最先进互联网科技公司 语蝶互联网科技有限公司 移动互联网科技公司 民营互联网公司国防科技 允成互联网科技有限公司融资 互联网新科技动漫ppt素材 广州新华互联网科技学校电竞方面 玉溪新华互联网科技好不好 梅州GM互联网络科技有限公司 广州富喜互联网络科技 互联网科技包装股份有限公司上市 广州燕处互联网科技有限公司 上海万顺科技互联网有限公司招聘 耶加雪菲 广州大一互联网络科技有限公司 米客互联网科技 互联网金融监管科技 镁科技互联网资讯平台 济南华为互联网科技产业总部基地 知域互联网科技有限公司大骗子 互联网公司属于科技吗 互联网科技博主张洲 科技互联网专业务虚会材料
0