“Linux 基础入门( 广东金融学院)”实验报告

命令执行顺序控制与管道

顺序执行多条命令

  • sudo apt-get update 等待——————————然后输入下面的命令
  • sudo apt-get install some-tool //这里some-tool是指具体的软件包 等待——————————然后输入下面的命令
  • some-tool

用分号隔开;

$ sudo apt-get update;sudo apt-get install some-tool;some-tool 让它自己运行

有选择的执行命令

  • $ which cowsay>/dev/null && cowsay -f head-in ohch~ 加粗文字
  • &&就是用来实现选择性执行的
  • 返回0则执行后面的,否则不执行
  • $?环境变量获取上一次命令的返回结果 图片描述

1、which cowsay:查找cowsay命令是否存在,如果存在,显示命令的绝对路径

2、>/dev/null :将前面命令的输出信息重定向到/dev/null文件中,/dev/null属于字符特殊文件,它属于空设备,是一个特殊的设备文件,它会丢弃一切写入其中的数据,写入它的内容都会永远丢失,而且没有任何可以读取的内容。

3、&&:shell 在执行某个命令的时候,会返回一个返回值,该返回值保存在 shell 变量 ?中。当? 中。当 ? == 0 时,表示执行成功;当 $? == 1 时,表示执行失败。

有时候,下一条命令依赖前一条命令是否执行成功。如:在成功地执行一条命令之后再执行另一条命令,或者在一条命令执行失败后再执行另一条命令等。shell 提供了 && 和 || 来实现命令执行控制的功能,shell 将根据 && 或 || 前面命令的返回值来控制其后面命令的执行。 语法格式如下: command1 && command2 [&& command3 ...] 命令之间使用 && 连接,实现逻辑与的功能。 只有在 && 左边的命令返回真(命令返回值 $? == 0),&& 右边的命令才会被执行。 只要有一个命令返回假(命令返回值 $? == 1),后面的命令就不会被执行。 ####4、cowsay:动物说话的命令, 使用其他动物 cowsay -f 动物类型 说话内容 图片描述

管道

我们在使用一些过滤程序时经常会用到的就是匿名管道,在命令行中由|分隔符表示

具名管道简单的说就是有名字的管道,通常只会在源程序中用到具名管道。

  • $ ls -al /etc 查看/etc目录下有哪些文件和目录 图片描述
  • $ ls -al /etc | less 通过管道将前一个命令(ls)的输出作为下一个命令(less)的输入,然后就可以一行一行地看。

cut 命令,打印每一行的某一字段

  • $ cut /etc/passwd -d ':' -f 1,6 打印/etc/passwd文件中以:为分隔符的第1个字段和第6个字段分别表示用户名和其家目录: 图片描述

前五个(包含第五个)

$ cut /etc/passwd -c -5 图片描述

前五个之后的(包含第五个)

图片描述 $ cut /etc/passwd -c 5-

第五个

$ cut /etc/passwd -c 5 图片描述

2到5之间的(包含第五个)

$ cut /etc/passwd -c 2-5 图片描述

grep 命令,在文本中或 stdin 中查找匹配字符串

  • $ grep -rnI "shiyanlou" ~
  • 搜索/home/shiyanlou目录下所有包含"shiyanlou"的文本文件,并显示出现在文本中的行号 图片描述
  • 查看环境变量中以"yanlou"结尾的字符串 exportgrep".yanlou export | grep ".*yanlou" 图片描述

wc 命令,简单小巧的计数工具

查看信息

$ wc /etc/passwd

行数

$ wc -l /etc/passwd

单词数

$ wc -w /etc/passwd

字节数

$ wc -c /etc/passwd

字符数

$ wc -m /etc/passwd

最长行字节数

$ wc -L /etc/passwd 图片描述

$ ls -dl /etc/*/ | wc -l

  • 管道来操作一下,下面统计 /etc 下面所有目录数 图片描述

sort 排序命令

  • $ cat /etc/passwd | sort 字典排序 图片描述
  • $ cat /etc/passwd | sort -r 反转排序 图片描述
  • $ cat /etc/passwd | sort -t':' -k 3 特定字段排序 图片描述

    -t参数用于指定字段的分隔符,这里是以":"作为分隔符;-k 字段号用于指定对哪一个字段进行排序。这里/etc/passwd文件的第三个字段为数字,默认情况下是以字典序排序的,如果要按照数字排序就要加上-n参数:

    图片描述

uniq 去重命令 使用history命令查看最近执行过的命令

  • $ history | cut -c 8- | cut -d ' ' -f 1 | uniq 图片描述

    uniq命令只能去连续重复的行,不是全文去重

  • $ history | cut -c 8- | cut -d ' ' -f 1 | sort | uniq
  • 或者$ history | cut -c 8- | cut -d ' ' -f 1 | sort -u 图片描述

输出重复过的行(重复的只输出一个)及重复次数

$ history | cut -c 8- | cut -d ' ' -f 1 | sort | uniq -dc

输出所有重复的行

$ history | cut -c 8- | cut -d ' ' -f 1 | sort | uniq -D 图片描述 图片描述 图片描述

最新评论
暂无评论~