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. ng-app一些使用

    ng-app是angular的一个指令,代表一个angular应用(也叫模块).使用ng-app或ng-app=""来标记一个DOM结点,让框架会自动加载.也就是说,ng-app是 ...

  2. How to see the "real" available resources ?

    Hi, Hope this will help you : nova hypervisor-stats It will return the statistics of the Hypervisor ...

  3. maven学习(上)- 基本入门用法

    一.下载及安装 1.1 下载maven 3.1.1 先到官网http://maven.apache.org/download.cgi 下载最新版本(目前是3.1.1 ),下载完成后,解压到某个目录(本 ...

  4. php阳历转农历的类 谷歌到的

    <?phpclass Lunar {    var $MIN_YEAR = 1891;    var $MAX_YEAR = 2100;    var $lunarInfo = array(   ...

  5. CString转换为string

    string CStringToString(CString strMFC) { CStringA strA; strA = strMFC.GetBuffer(); strMFC.ReleaseBuf ...

  6. [转]utf8编码原理详解

    from : http://blog.csdn.net/baixiaoshi/article/details/40786503 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态 ...

  7. 微信后台开发第一步:nodeJS+express接入微信后台详细教程

    博文由  水车  编写 欢迎各位指正,转载请把链接带上——http://www.cnblogs.com/xuange306/p/4971702.html 前期准备工作 1:如果你没有服务器,那你需要一 ...

  8. jquery 替换img 属性

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  9. SQUID常用命令

    Squid日常维护过程中,常用的一些命令: 1,初始化你在 squid.conf 里配置的 cache 目录squid -z如果有错误提示,请检查你的 cache目录的权限.可以使用使用更改目录权限: ...

  10. 安装SQL Developer,连接Oracle 12c,创建新用户

    1.访问Oracle官网:https://www.oracle.com/index.html,下载SQL Developer 2.安装... 3.打开Sql Developer,右键"创建新 ...