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 ...
随机推荐
- WPF这样的界面应该如何编写呢?
如上图: 外围是一个Border,内部填充一个Grid,Grid分成两行,第一行有一个按钮可以进行操作(主要是操作ListBox的数据源:增加和删除对象),第二行填充一个ListBox,绑定数据源并根 ...
- C语言位域
转载自 http://tonybai.com/2013/05/21/talk-about-bitfield-in-c-again/ 再谈C语言位域 五 21 bigwhite技术志 bitfield, ...
- 盘点8种CSS实现垂直居中水平居中的绝对定位居中技术
Ⅰ.绝对定位居中(Absolute Centering)技术 我们经常用margin:0 auto来实现水平居中,而一直认为margin:auto不能实现垂直居中--实际上,实现垂直居中仅需要声明元素 ...
- Longest Substring Without Repeating Characters
Given a string, find the length of the longest substring without repeating characters. Examples: Giv ...
- Redis常用操作及客户端工具
修改redis密码 打开redis.windows.conf,找到requirepass 设置密码重启服务即可 将redis安装为windows服务,批处理如下: redis-server.exe ...
- CNN车型分类总结
最近在做一个CNN车型分类的任务,首先先简要介绍一下这个任务. 总共30个类,训练集图片为车型图片,类似监控拍摄的车型图片,训练集测试集安6:4分,训练集有22302份数据,测试集有14893份数据. ...
- 左右手坐标系转换时R和T的具体形式分析
本文介绍了在计算机视觉的一些应用中,左手坐标系和右手坐标系之间转换时,旋转矩阵R和平移向量T的具体表达形式有哪些变化.
- soft-margin SVM
1. soft-margin SVM的形式 其中ξn表示每个点允许的犯错程度(偏离margin有多远),但是犯错是有代价的,也就是目标函数里面要最小化的.c控制对犯错的容忍程度. 2. 推导soft ...
- Gson解析纯Json数组
[ { "type": "123", "value": 123 }, { "type": "234" ...
- 【JavaScript】--重点解析之跨域请求
JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. JSON是用字符串来表示Javascript对象,例如可以在django中发送一个JSON格式 ...