Linux SHELL 命令入门题目答案(一)
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 命令入门题目答案(一)的更多相关文章
- Linux SHELL 命令入门题目(一)
新年新气象,注重知识积累,提高手敲代码能力,而不是眼高手低,只会复制黏贴. 1.使用shell 打印 “Hello World!” 2.求变量'hello world'的字符长度 3.$0 .$SHE ...
- Linux Shell脚本入门--cut命令
Linux Shell脚本入门--cut命令 cut cut 命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields &l ...
- Linux Shell脚本入门--wget 命令用法详解
Linux Shell脚本入门--wget 命令用法详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能 ...
- [转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)
linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习) https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 ...
- Linux常用命令入门文件、网络、系统及其他操作命令
Linux常用命令入门文件.网络.系统及其他操作命令.压缩 归档 文件系统 系统管理 用户管理 网络管理 finger 相关命令 netstat ping rsh telnet wget 进程管理等 ...
- 常用Linux Shell命令,了解一下!
目录 1 前言 2 正文 2.1 关机/重启 2.2 echo 2.3 vim文本编辑器 2.3.1 最基本用法 2.3.2 常用快捷键 2.3.3 查找/替换 2.4 拷贝/删除/移动/重命名 2. ...
- 73条日常Linux shell命令汇总,总有一条你需要!
转载: 73条日常Linux shell命令汇总,总有一条你需要! 1.检查远程端口是否对bash开放: echo >/dev/tcp/8.8.8.8/53 && echo &q ...
- Linux shell命令中expr
在Linux shell命令中expr虽然不是很起眼,但是它的作用是非常大的!到目前为止,我个人看来最大的作用就是两个——四则运算和字符串的操作. 先说四则运算,在Shell中四则运算不能简简单单的加 ...
- Linux/shell命令的实际应用——查看Port占用 netstat
启动1024端口一下,是需要root权限的 该Linux/shell命令主要用于解决: 1.查看某端口是否被占用: 2.查看某端口被哪个进程占用: 3.查看某个进程占用了哪些端口: 比如我tomcat ...
随机推荐
- CentOS最常用命令及快捷键整理
CentOS最常用命令及快捷键整理 整理了Linux常用命令及快捷键. 常用命令: 文件和目录: # cd /home 进入 '/home' 目录 # ...
- [原创]zepto打造一款移动端划屏插件
最近忙着将项目内的jquery 2换成zepto 因为不想引用过多的zepto包,所以花了点时间 zepto真的精简了许多,源代码看着真舒服 正好项目内需要一个划屏插件,就用zepto写了一个 逻辑其 ...
- POJ1002
转化为七位数字 #include<iostream> #include<map> #include<cstring> #include<cstdio> ...
- 奇怪的bug(ant-design)
ant-motion模板代码启动报错. 多了一层 import 会导致 less 编译的顺序发生变化,很奇怪的问题,还需要再深入看看.目前 ant-d.less 可以先改成这样来解决: + @impo ...
- react+redux官方实例TODO从最简单的入门(3)-- 删
上一篇文章我们实现了增删改查中<增>这个功能 那么这一篇我们将实现第二个功能,删! 首先增加一个状态: actions中增加对应的约定 到reducer里面设置执行的函数(这里todo.i ...
- word20161216
object / 对象 object identifier / 对象标识符 offline / 脱机 OLE on-disk catalog / 磁盘目录 on-media catalog / 媒体 ...
- CSS中不定宽块状元素的水平居中显示
CSS中不定宽块状元素的水平居中显示 慕课网上的HTML/CSS教程 http://www.imooc.com/view/9 其中有三种方法 第一种是加入table标签 任务是实现div元素的水平居中 ...
- java 反序列化PHP
由于本人所在开发的项目,前期是由php完成的,这里需要对数据库中php序列化的字符串进行反序列化. 1.引入maven依赖 <!--反序列化 php--> <dependency&g ...
- Delphi Code Editor 之 编辑器选项
Delphi Code Editor 之 编辑器选项 可从Code Editor的右键菜单中选择“Properties”菜单项来查看编辑器选项.也可以从主菜单[Tools | Editor Optio ...
- c++拷贝构造和编译优化
#include <iostream> using namespace std; class MyClass { public: MyClass(); MyClass(int i); My ...