Shell命令文本操作命令小结

时间:2024.3.20

Shell命令文件操作命令小结

显示文本文档中某几行:

显示第n行:

sed -n 'np' test.txt

或 head -n test.txt |tail -1

显示第m到第n行:

sed -n 'm,np' test.txt

或 head -n test.txt | tail -(n-m)

显示某一文件夹folder/下所占存储空间:

du -sh folder/

删除某文件夹下的特定文件:

例:删除某文件加下的软连接文件

rm -f `ls -l|grep ^l|awk `{print $8}`

返回上次进入的目录:cd -

删除一个文本文档中所有内容:

切换到命令行模式

:1,$d

使用rm删除一个目录下的除了ttt以外的所有文件

解决:

1. ls | grep -v ttt | xargsrm {}

2. ls | grep -v ttt | xargsrm

3. mvttt /tmp/ &&rm -rf * && mv /tmp/ttt ./

4. find . -name e -prune -o -print | xargsrm -rf

5. find . -name e -prune -o -name dir -prune -o -print | xargsrm -rf {}

6. 删除目录下的除去ttt和目录外所有文件

d=/tjy/

fori in `ls $d`; do

if [ $i != "ttt" ];then

j=`file $d$i | awk '{print $2}'`

if [ $j != "directory" ];then

rm -rf $d$i

fi

fi

done

利用shell命令分割文件:

系统运维的过程中,日志文件往往非常大,这样就要求对日志文件进行分割,在此特用shell脚本对文件进行分割

方法一:

#!/bin/bash

linenum=`wc -l httperr8007.log| awk '{print $1}'`

n1=1

file=1

while [ $n1 -lt $linenum ]

do

n2=`expr $n1 + 999`

sed -n "${n1}, ${n2}p" httperr8007.log > file_$file.log

n1=`expr $n2 + 1`

file=`expr $file + 1`

done

其中httperr8007.log为你想分割的大文件,file_$file.log 为分割后的文件,最后为file_1.log,file_2.log,file_3.log……,分割完后的每个文件只有1000行(参数可以自己设置) 方法二:

split 参数:

-b :后面可接欲分割成的档案大小,可加单位,例如 b, k, m 等;

-l :以行数来进行分割;

#按每个文件1000行来分割除

split -l 1000 httperr8007.log httperr

httpaa,httpab,httpac ........

#按照每个文件100K来分割

split -b 100k httperr8007.log http

httpaa,httpab,httpac ........

使用alias来自定义命令

还有一个使工作变得轻松的方法是使用命令别名。命令别名通常是其他命令的缩写,用来减少键盘输入。

命令格式为:

alias [alias-name=’original-command’]

其中,alias-name是用户给命令取的别名,original- command是原来的命令和参数。需要注意的是,由于Bash是以空格或者回车来识别原来的命令的,所以如果不使用引号就可能导致Bash只截取第一个字,从而出现错误。如果alias命令后面不使用任何参数,则显示当前正在使用的被别名化的命令及其别名。为命令取的别名在该次登录期间始终有效。如果用户需要别名在每次登录时都有效,那么就将alias命令写到初始化脚本文件中。

这是一些很多人认为有用的别名,可以把它们写入初始化脚本文件中来提高工作效率: alias ll=’ls –l’

alias log=’logout’

alias ls=’ls –F’

如果您是一名DOS用户并且习惯了DOS命令,可以用下面的别名定义使 Linux表现得象DOS一样:

aliasdir=’ls’

alias copy=’cp’

alias rename=’mv’

alias md=’mkdir’

alias rd=’rmdir’

注意:在定义别名时,等号两边不能有空格,否则shell不能决定您需要做什么。仅在命令中包含空格或特殊字符时才需要引号。如果键入不带任何参数的alias命令,将显示所有已定义的别名。


第二篇:Shell 循环语句用法小结


在写shell脚本时,常常会用到循环语句。这里简单总结下常用的3种循环语句,以便以后能快速地参考写出,废话不说,开始demo:

1、for

主要用于:在以知序列里遍历元素

[plain] view plaincopy #! /bin/sh -

if [ $# -ge 1 ]; then path=$@ else path=*.sh fi

for i in $path do ls -lh $i done注意:for循环的in列表时可选的,如果省略,shell会遍历整个命令行参数,此时 for i 相当于 for i in "$@"

再给一个for的用法示例:

[plain] view plaincopy #! /bin/sh -

for i in `seq 1 9` do echo $i done注意:for in 可以和 `` 与 $() 合用

再给一个for的用法示例:

[plain] view plaincopy #! /bin/sh -

for i in {a……z} do echo $i done

注意:for in 的大括号{}具有自动补齐功能,大括号与要补齐的内容之间不能有空格,要补齐的内容首尾由两个……相连,其间不能有空格再给个for的用法示例:

[plain] view plaincopy #! /bin/sh -

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

do echo $i done提醒:这个主要是用了(())

2、while

主要用于:当某条件成立时,一直执行

[plain] view plaincopy #! /bin/sh -

cnt=9

while [ $cnt -ge 0 ] do echo $((cnt——)) done 注意:1、算术运算,需要放在$(()) 的括号中 2、对于变量的算术运算,在$(())中,变量前面不需要$ 3、unitl 主要用于:当某条件成立时,停止执行 [plain] view plaincopy #! /bin/sh - cnt=9 until [ $cnt -lt 0 ] do echo $cnt cnt=$((cnt - 1)) done 注意:给变量赋值时,前面不要加$

更多相关推荐:
Linux基本命令的实验报告

实验二Linux基本命令1实验目的:掌握Linux环境下的基本操作命令。2实验内容:掌握Linux的基本操作命令3实验步骤:3.1登录和退出1登录服务器系统:注:远程用户可使用telnet或sshtelnet远…

学习CASS软件快捷命令总结

CASS7.0系统对比AutoCAD20xx系统简称全称含义简称全称含义DD或DL通用绘图命令DCODIMCONTINUE连续标注XP绘制自然斜坡DDIDIMDIAMETER直径标注AAADDWNAME给实体加…

全国计算机考试四级网络工程师复习考点总结3——路由器配置命令大全

1、进入特权模式enablerouterenablerouter#2、进入全局配置模式configureterminalrouterenablerouter#configureterminalrouter(co…

adb 命令小结

adb命令小结:一.adb安装对于windowsxp用户,步骤:先安装usb驱动android_usb_windows.zip。然后单独下载adb工具包adb_win.zip。下载后解压,把里面adb.exe和…

matlab命令总结

Matlab数学计算f=表达式,g=表达式,矩阵r1.因式分解a=factor(f);当f为数值时例如f=7589;factor(sym(‘f’)),是将其分解为素数乘积的形式2.反函数a=finverse(f…

个人总结的一些matlab命令

matlab初学者应学习操作基本命令(1)clc清除命令空间的所有字符(2)clear从工作空间清除所有变量(3)clf清除图形窗口内的内容(4)who列出当前工作空间中的变量(5)whos列出当前工作空间中的…

matlab函数作图命令总结

函数作图1.平面图形a.竖直条形图调用格式:bar(x,y);b.描点法绘制函数y=f(x)随x从a到b间的图形调用格式:x=a:h:b;y=f(x);plot(x,y)c.在同一个坐标系下绘制多个函数图形调用…

Linux命令符总结

Linux命令符1.虚拟终端①当所属页面为字符界面时,使用ctrl+shift+alt+f7切换到图形化用户界面,也可以使用alt+(f1~f6)切换到其它的字符界面。②当所属页面为图形化用户界面时,使用alt…

Linux基本命令总结

Linux基本命令Linux下的命令太多了,但对刚入门的我来说,掌握基本的就够用了,如果要深入就去专门学习某些特殊的命令。下面是一些简单的命令:文件操作命令ls作用:列目录。一般用法:ls[选项][文件]常用参…

linux入侵常用命令总结

cat/etc/passwd查看linux用户cat/etc/shadow查看用户密码需要root权限cat/etc/sysconfig/network-scripts/ifcfg-ethnN代表网卡号查看所在…

Linux常用命令总结

总结的,存着以后好用。1.Cd命令ls#以默认方式显示当前目录文件列表ls–a#显示所有文件包括隐藏文件ls–l#显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行ls--color=never*.…

linux命令总结

linux命令总结1.查看当前linux发行版本支持的shell类型#cat/etc/shells2.设置自己想要的命令格式fuzhi----cp#vi.bashrc3.查看用户文件后3项信息#tail-3/e…

命令(113篇)