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. JS树形菜单

    超全的JS树形菜单源代码共享(有实例图) 树形菜单是很常用的效果,常用在管理软件当中,但是一套树形菜单已经不能满足需求,所以如果能有一套比较全面的树形菜单JS特效代码,将会非常方便,下面懒人萱将超全的 ...

  2. int与CString互相转化

    int num; CString str; //int转CString num=; str.Format(_T("%d"),num); //CString转int str=L&qu ...

  3. HTML DOM 之<textare>标签

    对于DOM元素节点textarea的value值,下面举例说一下. 1. <textarea><textarea> 2.<textarea> <textare ...

  4. word20161222

    T.120 tag / 标记 TAPI, Telephony API / 电话 API target journaling / 目标日志 taskbar / 任务栏 taskbar button / ...

  5. 卡特兰数(Catalan)

    卡特兰数又称卡塔兰数,英文名Catalan number,是组合数学中一个常出现在各种计数问题中出现的数列.由以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名,其前几项为 : 1, 2, ...

  6. swing中JTable的使用方法

    public static void main(String[] args) { Student s1 = new Student("张三", "001", 0 ...

  7. 采用MVC模式JDBC演示案例

    MVC三层架构: Model 模型层,数据处理和业务逻辑 View 视图层,为客户展示内容 Control 控制层,协调控制,更新模型 案例如下: 1.获得数据库连接 package com.db; ...

  8. jquery.extend

    经常在插件中看到jquery.extend 方法,最近在尝试写一些简单的插件,顺便研究一下这个方法. 原文:http://www.cnblogs.com/RascallySnake/archive/2 ...

  9. LocalDB连接失败

    最近项目尝试放弃sqlexpress2005使用LocalDb2014,遇到问题: LocalDB安装成功,能正常添加实例,但同一个winform程序 在不同的win7电脑上有的能连上,有的怎么也连接 ...

  10. WEB端实现打印

    首先需要下载一个JQ插件: 地址: http://files.cnblogs.com/files/SabWoF/jq%E6%89%93%E5%8D%B0%E6%8F%92%E4%BB%B6%E5%AE ...