Shell编程总结

1. Ls    

用来查看目录的内容 

-a   列举目录中的全部文件,包括隐藏文件 

-l   列举目录内容的细节,包括权限(模式)、所有者、组群、大小、创          建日期、文件是否是到系统其它地方的链接,以及链接的指向。 

-f   文件类型(File type)。在每一个列举项目之后添加一个符号。这些         符号包括:/ 表明是一个目录;@ 表明是到其它文件的符号链接;* 表         明是一个可执行文件。 

-r   逆向(reverse)。从后向前地列举目录中的内容 

-R   递归(recursive)。该选项递归地列举所有目录(在当前目录之下)          的内容。 

-s   大小(size)。按文件大小排序。 

2. touch      

生成新的空文件或者改变现有文件的时间戳      

-t    设定时间与日期,格式与date相同,yyyyMMddhhmm 

3. who 

who 查看有哪些人登陆了系统 

who am i 查看自己的账户信息 

which ls 查看ls程序所在的路径。 

 

3. mkdir         

建立一个目录,同时设置目录权限 

   mkdir f1 创建目录f1 

-p: 可以是一个路径名称(多层文件)。 

例: 

$ mkdir –p d2/d3   在当前目录中建立目录d2和d2下的d3目录,也就 是连续建两个目录。 

5. pwd 

pwd 显示当前目录 

 

6. cd 

cd 回到起始目录,也即刚登陆到系统的目录,cd后面无参数 

 

   cd / 回到根目录 

 

   cd .. 返回上一级目录 

 

cd - 返回到最近使用的目录 

 

 

7. rm 

 

rm -rf f1 删除目录f1及其子目录,即使目录不空 

 

   rm -rf f1/* 删除目录f1下的所有内容,但不删除f1本身 

 

rm -rf * 删除当前目录下所有文件,包括子文件加及其中的文件,-r表示递归,-f表示   强制删除,不询问。 

 

   rmdir f1 删除空目录f1 

 

8. cat 

 

cat e1 浏览文件e1的内容 

 

cat e1 e2浏览多个文件的内容 

 

cat -n e1浏览文件e1的内容并显示行号 

 

9. grep 

 

在一个或多个文件中搜索是否包含给定的字符串 

grep ‘the’ 1.txt 

 

-a:以文本文件方式搜索 

 

 -c 计算找到的符合行的次数 

 

 -i 忽略大小写 

  

-n 顺便输出行号 

  

-v 反向选择,即找 没有搜索字符串的行 

 

 

10. head 

 

head命令在屏幕上显示指定文件的开头若干行,行数由参数值来确定 

 

   –n,表示显示从第一行开始的n行内容 

 

11. tail 

 

tail命令在屏幕上显示指定文件的末尾10行 

tail f.c 

 

-n,显示后几行 

 

例: 

tail -5 f.c 

 

 

12. find 

 

查找符合条件的文件或目录 

find /etc -name *ab*  包含ab的 

find /etc –name ab*   ab开头的 

 

13、rmdir         

删除空目录 

dirname表示目录名。该命令从一个目录中删除一个或多个子目录项。 

 

注意:一个目录被删除之前必须是空的。删除某目录时也必须具有对父目录的写权限 

 

- p  :删除指定目录后,该目录的上层目录已变成空目录时,将其一并删除 

 

注意:  是递归删除,即先删除内层后,外层为空,则一并删除 

 

 

14、cp    

实现文件和目录的复制。即将源文件或目录复制到目标文件或目录中 

 

cp [选项] 源文件或目录目标文件或目录 

 

注意:不写绝对路径,表明是当前目录下 

  

-a:递归地将源目录下的所有子目录及其文件都复制到目标目录中,并且保留文件链接和文件属性不变。它等效于-dpR。 

 

-i:在覆盖目标文件之前先给出提示,要求用户予以确认。回答y,将覆盖目标文件。 这是交互式复制。 

 

-R,-r:递归复制目录,即将源目录下的所有文件及其各级子目录都复制到目标位置。 

 

15、mv  

 

对文件或目录重新命名,或者将文件从一个目录移到另一个目录中 

 

-i,--interactive     交互式操作。如果源文件与目标文件或目标目录中的文   件同名,则询问用户是否覆盖目标文件。用户输入“y”,表示将覆盖目标文 件;输入“n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。 

 

   -f    与“-i”相反,它禁止交互式操作。在覆盖已有的目标文件时,不给任  何提示。 

 

16、Shutdown 

关闭或者重启Linux系统;允许用户在指定的一个时间点或者一个指定的时间段之后关    闭或重启Linux系统 

 

–h:关机 

 

-r:重启 

 

17、Df 

查看磁盘空间的使用情况 

 

-a 列出所有的文件系统,包括系统特有的/proc等文件系统。 

 

   -k 以KB为单位显示个文件系统 

 

   -m 以mb为单位显示各文件系统 

 

   -h 以gb格式显示 

 

   -T 显示物理文件系统的文件格式类型。 

 

   -i 以inode数量来显示 

 

18、Du 

查看某个目录所占空间大小 

 

a 列出目录和文件的大小 

 

   -h 以易读方式表示大小 

 

   -s 只列出总量而不列出子目录大小 

19、Free 

查看系统内存的使用情况,包括已用的、剩余的物理内存和交换内存,以及共享内存和  被内核使用的缓存区 

 

-b:字节为单位 

 

-k:千字节为单位 

 

-m:兆字节为单位 

20、passwd 

为已有用户修改密码 

21、sudo 

临时为普通用户授权为超级用户的命令,将sudo放到要执行的命令前即可,授权时间在5分钟左右,过期后会再次要求输入密码 

22、Echo 

在标准输出设备-显示器上输出一段文字。 

例: 

echo “hello” 

23、Clear 

清空屏幕上的信息,清屏后命令提示符移动到屏幕左上角。 

24、Who 

列出所有正在使用系统的用户、所用终端名和注册到系统的时间 

25、Date 

在屏幕上显示或设置系统的日期和时间 

26、More 

该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出  至今已显示的该文件的百分比. 

27、Less 

允许用户向前或向后浏览文件,而more命令只能向前浏览。 

 

28、bzip2/bunzip2:    

扩展文件名为.bz2的压缩/解压工具 

29、gzip/gunzip: 

    扩展文件名为.gz的压缩/解压工具 

30、zip/unzip         

扩展文件名为.zip的压缩/解压工具 

31、tar:     

     打包压缩 

    -c              归档文件 

    -x              压缩文件 

    -z              gzip压缩文件 

    -j              bzip2压缩文件 

    -v              显示压缩或解压缩过程 v(view) 

    -f              使用档名 

例: 

tar -cvf /home/abc.tar /home/abc              只打包,不压缩 

tar -zcvf /home/abc.tar.gz /home/abc        打包,并用gzip压缩 

tar -jcvf /home/abc.tar.bz2 /home/abc      打包,并用bzip2压缩 

当然,如果想解压缩,就直接替换上面的命令  tar -cvf / tar -zcvf  / tar -jcvf 中的“c” 换成“x” 就可以了。 

32.Eixt 

立即退出正在执行的shell脚本,并设定退出值。  

 

 

 

 

九九乘法表的表示方法 

1、for的俩种方法 

(1) 

for((i=1;i<=9;i++)) 

do 

for((j=1;j<=i;j++)) 

 do 

echo -ne "$i*$j=$((i*j))\t" 

done 

Echo 

done  

 

(2) 

for i in {1,2,3,4,5,6,7,8,9} 

do 

   for j in {1,2,3,4,5,6,7,8,9} 

   do 

       ((p=$i*$j)) 

       echo -ne $i\*$j=$p"\t" 

   done 

echo 

done      

2、while的表示方法 

i=1; 

j=1; 

while((i<=9)) 

do 

 while((j<=i)) 

 do 

  let"temp=i*j" 

 echo -ne "$i*$j=$temp\t" 

  letj++ 

 done 

  leti++ 

  letj=1 

 echo "" 

Done 

3、until的表述方法 

i=1 

until ((i>9)) 

do 

 letj=1 

 until ((j>i)) 

 do 

 let"temp=i*j" 

 echo-ne "$i*$j=$temp\t" 

 letj++ 

done 

 leti++ 

 echo"" 

done  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值