当前位置: 技术问答>linux和unix
要考试了 可是平时没有看书 老师出了两道题 大家帮帮忙 小弟先谢过了 ~~~
来源: 互联网 发布时间:2015-05-25
本文导语: 7.编写程序,使它只接受一个命令行参数,如果此参数是文件,显示该文件的文件名和大小。 需要考虑以下各种情况: ①无命令行参数或者有多个命令行参数; ②命令行参数是否为存在的文件; 程序运行结果要求...
7.编写程序,使它只接受一个命令行参数,如果此参数是文件,显示该文件的文件名和大小。
需要考虑以下各种情况:
①无命令行参数或者有多个命令行参数;
②命令行参数是否为存在的文件;
程序运行结果要求:无论何种情况都应有提示信息。
程序运行结果如下:
$ listmore file1
Name Size
File1 1857
$
1.有时候,您所写的Script可能会跨越好几种平台,如Linux、SunOS、Solaris等等,而各平台之间,多多少少都有不同之处,有时候需要判断目前正在那一种平台上操作。编写一个程序使之能分别针对不同的系统执行不同的操作(如输出该系统的名称等)。
提示:找出可以判断目前所使用的系统名称的命令。
程序执行结果如下:
$syst
This system is Linux.
$
2.编写一个具有两个参数的程序,第一个参数是目录名,第二个是以字节计的文件容量。这一命令应列出给定目录(即第一个参数)中具有读权限,而且,容量大于给定容量(即第二个参数)的所有普通文件名。程序应检查命令行只有两个参数,而且第一个参数是目录名。运行结果如下:
$listfile . 20 列出当前目录下所有大于20的可读文件
./file1 has size 140 bytes
./file2 has size 230 bytes
./file3 has size 4560 bytes
写写各位了!!!!
需要考虑以下各种情况:
①无命令行参数或者有多个命令行参数;
②命令行参数是否为存在的文件;
程序运行结果要求:无论何种情况都应有提示信息。
程序运行结果如下:
$ listmore file1
Name Size
File1 1857
$
1.有时候,您所写的Script可能会跨越好几种平台,如Linux、SunOS、Solaris等等,而各平台之间,多多少少都有不同之处,有时候需要判断目前正在那一种平台上操作。编写一个程序使之能分别针对不同的系统执行不同的操作(如输出该系统的名称等)。
提示:找出可以判断目前所使用的系统名称的命令。
程序执行结果如下:
$syst
This system is Linux.
$
2.编写一个具有两个参数的程序,第一个参数是目录名,第二个是以字节计的文件容量。这一命令应列出给定目录(即第一个参数)中具有读权限,而且,容量大于给定容量(即第二个参数)的所有普通文件名。程序应检查命令行只有两个参数,而且第一个参数是目录名。运行结果如下:
$listfile . 20 列出当前目录下所有大于20的可读文件
./file1 has size 140 bytes
./file2 has size 230 bytes
./file3 has size 4560 bytes
写写各位了!!!!
|
1. echo This system is `uname -s`
2.
#! /bin/sh
if [ $# -ne 2 ] ; then
echo Usage $0 path size
fi
if [ ! -d $1 ] ; then
echo $1 is not a directory
fi
find $1 -size +$2
2.
#! /bin/sh
if [ $# -ne 2 ] ; then
echo Usage $0 path size
fi
if [ ! -d $1 ] ; then
echo $1 is not a directory
fi
find $1 -size +$2
|
#! /bin/bash
#This script prints the name and the size of file
if [ $# -eq 1] && [ -f $1 ]; then
size=`ls -l $1| gawk '{print $5}'`
echo -e "NamettSize"
echo -e "$1ttsize"
else
echo "Please input only one file which must exist as parametre!"
fi
#This script prints the name and the size of file
if [ $# -eq 1] && [ -f $1 ]; then
size=`ls -l $1| gawk '{print $5}'`
echo -e "NamettSize"
echo -e "$1ttsize"
else
echo "Please input only one file which must exist as parametre!"
fi
|
the no 1 can also implement by gcc compiler.
no1.c is this :
#include
#include
int main(void)
{
printf("This system is %s",SI_SYSNAME);
}
为何要舍近求远呢。
no1.c is this :
#include
#include
int main(void)
{
printf("This system is %s",SI_SYSNAME);
}
为何要舍近求远呢。
|
再试试这个如何?
#! /bin/sh
if [ $# -ne 2 ] ; then
echo Usage $0 path size
fi
if [ ! -d $1 ] ; then
echo $1 is not a directory
fi
SIZE=$2
ALL=`find $1 -size +${SIZE}c -type f -maxdepth 1`
for f in $ALL
do
if [ -r $f ] ; then
echo $f have size `wc -c` bytes
fi
done
#! /bin/sh
if [ $# -ne 2 ] ; then
echo Usage $0 path size
fi
if [ ! -d $1 ] ; then
echo $1 is not a directory
fi
SIZE=$2
ALL=`find $1 -size +${SIZE}c -type f -maxdepth 1`
for f in $ALL
do
if [ -r $f ] ; then
echo $f have size `wc -c` bytes
fi
done
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。