1、如何使用shell 打印 “Hello World!”

(1)如果你希望打印 !,那就不要将其放入双引号中,或者你可以通过转义字符转义
(2)echo 'hello world!' 使用单引号echo 时,bash 不会对单引号中的变量求值

2、求变量的长度

var='hello world'
echo ${#var} \\ 11

3、$0 表示 SHELL 的名称,是那种SHELL 一般为 bash $SHELL 为SHELL 的位置 /bin/bash

4、完成定义2个变量 no1=1,no2=2 no3=no1+no3 ,然后打印 no3

no1=2
no2=3
let no3=no1+no2
echo $no3

如果是 no3=$no1+$no2 会输出什么?

5、完成判断是否为root用户的SHELL 命令

if [ $UID -ne 0 ]; then echo 'not root!'; else echo 'root!' ;fi

#if 中括号 杠相不相等,分号 then 直接跟语句 fi

6、shell 进行浮点数运算 1.5*4

var1=1.5
var2=4
result=`echo "$var1*$var2" | bc`

7、执行某条命令cmd,将正确及错误信息都输入到 output.txt

cmd output.txt 2>&1

8、使用写一个脚本,运行时能够将下面的内容放入 aa.txt

wget http://localhost:8080/obu-interface/index.jsp
netstat -anp | grep 8080

#!/bin/bash
cat <<EOF>aa.txt
wget http://localhost:8080/obu-interface/index.jsp
netstat -anp | grep 8080
EOF

9、定义一个含有4个元素的一维数组,并依次完成,打印其中的第2个元素,打印数组长度,打印所有元素

array_var=(1 2 3 4)
echo ${array_var[1]}
echo ${array_var[*]} 或 echo ${array_var[@]}
echo ${#array_var[*]} 或 echo ${#array_var[@]}

10、打印文件下所有的文本,非目录

for file in `ls` ;
do
if [ -f $file ];
then
echo $file;
fi
done

11、按照这种格式输出时间

2016-01-13 18:06:07 date '+%Y%m%d%H%M%S'

20160113180750 date '+%Y-%m-%d %T'

1452679772 date '+%s'

12、while 循环 10次 依次在屏幕的一行内打印 1-10,打印一次休眠1s

#!/bin/bash
echo -n Count:
count=0;
while true;
tput sc; #存储光标位置
do
if [ $count -lt 4 ] ; then
sleep 1;
let count++;
tput rc; #恢复关标位置
tput ed; #清空光标后的内容
echo -n $count;
else
exit 0;
fi

done;

13、写一断代码检测一个命令 cmd 是否执行成功

#!/bin/bash
CMD="ls -l"
$CMD
if [ $? -eq 0 ] ; then
echo "$CMD executed successfully"
else
echo "$CMD executed failed"
fi

14、以下文件系统相关判断分别是什么含义

[ -f $file ]

[ -d $file ]

[ -e $file ]

[ -w $file ]

[ -r $file ]

[ -x $file ]

15、SHELL 如何判断两个字符串是否相等、字符串比较大小、字符串是否为空

if [[ $str1 = $str2 ]]

if [[ $str1 > $str2 ]]

if [[ -z $str1 ]] #str1 为空 返回真

if [[ -n $str1 ]] #str1 非空 返回真

16、cat 显示行号 cat -n test.txt

17、使用 find 命令 将某个文件夹下的所有txt 文件全部找到,并删除、备份(或 拷贝到另一个目录下),分别使用 -exec xargs 等命令

find /i -type f -name "*.txt" -exec cp {} /test \;
find /i -type f -name "*.txt" -exec rm -rf {} \;

find /i -type f -name "*.txt" -print | xargs rm -rf ;

find /i -type f -name "*.txt" -print | xargs -t -i cp {} {}.bak

# 大多数 Linux 命令都会产生输出:文件列表、字符串列表等。但如果要使用其他某个命令并将前一个命令的输出作为参数该怎么办?例如,file 命令显示文件类型(可执行文件、ascii 文本等);你能处理输出,使其仅显示文件名,目前你希望将这些名称传递给 ls -l 命令以查看时间戳记。xargs 命令就是用来完成此项工作的。他允许你对输出执行其他某些命令。

# -i 选项告诉 xargs 用每项的名称替换 {}

18、使用tr 命令 将 HELLO WORLD 替换成小写

echo "HELLO WORLD" | tr 'A-Z' 'a-z'

19、替换文件 text.txt 的所用 制表符为空格

cat text.txt | tr '\t' ''

20、使用 tr 命令 删除数字

echo 'hello 124 world 345!'| tr -d '0-9' #-d 表示删除

21、删除Windows文件“造成”的'^M'字符

cat file | tr -s "\r" "\n" > new_file # -s 表示替换重复的字符串

Linux SHELL 命令入门题目答案(一)的更多相关文章

  1. Linux SHELL 命令入门题目(一)

    新年新气象,注重知识积累,提高手敲代码能力,而不是眼高手低,只会复制黏贴. 1.使用shell 打印 “Hello World!” 2.求变量'hello world'的字符长度 3.$0 .$SHE ...

  2. Linux Shell脚本入门--cut命令

    Linux Shell脚本入门--cut命令 cut cut 命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields &l ...

  3. Linux Shell脚本入门--wget 命令用法详解

    Linux Shell脚本入门--wget 命令用法详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能 ...

  4. [转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)

    linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习) https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 ...

  5. Linux常用命令入门文件、网络、系统及其他操作命令

    Linux常用命令入门文件.网络.系统及其他操作命令.压缩 归档 文件系统 系统管理 用户管理  网络管理 finger 相关命令 netstat ping rsh telnet wget 进程管理等 ...

  6. 常用Linux Shell命令,了解一下!

    目录 1 前言 2 正文 2.1 关机/重启 2.2 echo 2.3 vim文本编辑器 2.3.1 最基本用法 2.3.2 常用快捷键 2.3.3 查找/替换 2.4 拷贝/删除/移动/重命名 2. ...

  7. 73条日常Linux shell命令汇总,总有一条你需要!

    转载: 73条日常Linux shell命令汇总,总有一条你需要! 1.检查远程端口是否对bash开放: echo >/dev/tcp/8.8.8.8/53 && echo &q ...

  8. Linux shell命令中expr

    在Linux shell命令中expr虽然不是很起眼,但是它的作用是非常大的!到目前为止,我个人看来最大的作用就是两个——四则运算和字符串的操作. 先说四则运算,在Shell中四则运算不能简简单单的加 ...

  9. Linux/shell命令的实际应用——查看Port占用 netstat

    启动1024端口一下,是需要root权限的 该Linux/shell命令主要用于解决: 1.查看某端口是否被占用: 2.查看某端口被哪个进程占用: 3.查看某个进程占用了哪些端口: 比如我tomcat ...

随机推荐

  1. JSP学习网站

    JSP学习网站 http://www.yiibai.com/jstl/ http://www.w3cschool.cc/jsp/jsp-jstl.html

  2. BZOJ4591——[Shoi2015]超能粒子炮·改

    1.题意:求 2.分析:公式恐惧症的同学不要跑啊QAQ 根据lucas定理-- 这一步大家都能懂吧,这是浅而易见的lucas定理转化过程,将每一项拆分成两项 那么下一步,我们将同类项合并 我们观察可以 ...

  3. static修饰符

    static修饰符表示静态的,可修饰字段.方法.内部类,其修饰的成员属于类,也就是说static修饰的资源属于类级别,而不是对象级别. static的正真作用:用来区别字段,方法,内部类,初始化代码块 ...

  4. saltstack命令执行过程

    saltstack命令执行过程 具体步骤如下 Salt stack的Master与Minion之间通过ZeroMq进行消息传递,使用了ZeroMq的发布-订阅模式,连接方式包括tcp,ipc salt ...

  5. python之路十八

    1.JS 正则    test   - 判断字符串是否符合规定的正则        rep = /\d+/;        rep.test("asdfoiklfasdf89asdfasdf ...

  6. CSS标签

    CSS类选择器被大量使用了 class = cssname

  7. 48. 二叉树两结点的最低共同父结点(3种变种情况)[Get lowest common ancestor of binary tree]

    [题目] 输入二叉树中的两个结点,输出这两个结点在数中最低的共同父结点. 二叉树的结点定义如下:  C++ Code  123456   struct BinaryTreeNode {     int ...

  8. Home 安转beta版软件

    今天想装测试版的cocoapods,用 brew install cocoapods 后,总是安装稳定版,就是1.1.0,不是最新的beta版,发现用下面这个命令可以装最新beta版 brew ins ...

  9. Angular2 依赖注入

    1. 使用DI 依赖注入是一个很重要的程序设计模式. Angular 有自己的依赖注入框架,离开了它,我们几乎没法构建 Angular 应用.它使用得非常广泛,以至于几乎每个人都会把它简称为 DI. ...

  10. 进程管理supervisor的简单说明

    背景: 项目中遇到有些脚本需要通过后台进程运行,保证不被异常中断,之前都是通过nohup.&.screen来实现,带着能否做一个start/stop/restart/reload的服务启动的想 ...