版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/login_sonata/article/details/77620761
cat -n abc
,输出文件abc并显示行号(-n)。cat 00* > abc
,把当前目录下所有00开头的文件内容合并到一个新文件abc。>
表示重写文件,>>
表示文件追加操作,这俩只写能正确输出的内容,2>>
表示将错误信息写入,&>>
表示不管对错都写入。cat abc | tr 'a-z' 'A-Z' > newfile
,把abc文件的小写替换(tr)成大写并写到新文件,cat abc | tr -d '0-9' > newfile
,删除(-d)数字。|
叫做管道符,表示把前一个命令的结果输出给后一个命令。wc -l abc
,输出文件abc的行数。参数-w
表示统计字数。ls -la
,显示全部(a)文件的详细(l)信息,参数-d
表示只显示目录,参数-h
把大小用兆显示,其中ls -l
等价于ll
。ls /etc | wc -l
,查看目录etc下的文件数目。ls *5?
,显示文件名的倒数第二位为5的文件。通配符[0-9]
所有数字,[12]
为1或者2,[!12]
为不含1和2。ps -ef
或者ps -aux
,查看所有进程。ps -ef | grep test.py
,当ctr+c停不掉任务时,查看运行的py文件的进程的pid(第二列),用kill -9 [pid]
杀掉。grep
正则匹配。killall httpd(服务名)
,杀掉httpd服务的所有进程。pidof [进程名]
,显示进程pid号,每个进程唯一。df –h
,所有当前被挂载的文件系统的磁盘空间占用情况。默认单位是字节,-h
换算为M或G。head -n 100 abc
,打印文件abc的前100行,不带-n默认10行。类似还有tail -n 100 abc
显示后100行,tail -f abc
不断刷新显示后10行。less -f abc
,一页一页地打印文件abc。空格
翻下一页,b
(back)上一页,/
向下搜索字符串,?
向上搜索,n
下一个搜索内容,N
上一个搜索内容,v
进入到vi模式,q
退出。类似的还有more
指令。du -sh 目录/文件
,目录/文件所占空间大小。-h
是以M或G显示,-s
是该目录下所有文件总和大小,不加的话会列出每个文件的大小。env
(环境英文缩写)显示所有环境变量,使用echo
可以打印出来,如echo $SHELL
。- 十分钟后关机:
shutdown –h 10
。立马关机:shutdown –h now
。8点21关机:shutdown –h 20:21
。-h
是关机,-r
是重启,重启也可以reboot
。 top
动态监视进程和系统负载。uptime
也能查看负载,显示1/5/15分钟内的负载压力。uname -a
或者cat /etc/redhat-release
查看linux版本信息。free -h
显示易读的内存情况。who
当前登录用户信息,last
所有登录过的用户信息。history
显示历史命令,输入![编号]
可以执行编号对应的命令。pwd
显示当前目录。cd -
进入上一次所处的目录。touch abc
创建文件。mkdir
创建目录文件,mkdir -p a/b/c
创建递归目录文件。cp a b
复制文件a,cp -r a b
复制目录a。mv a b
剪切文件a。rm -f abc
删除文件abc不需确认,rm -r abc
删除目录文件abc。file abc
查看文件abc类型,stat abc
查看文件abc信息。diff a b
显示a文件和b文件的区别。tar -czvf abc.tar.gz abc
压缩abc文件,-c
表示压缩,-z
表示压缩格式,-v
表示显示过程,-f
后跟着压缩或解压的文件名。tar -xzvf abc.tar.gz -C /etc
解压文件,-x
表示解压,-C
表示输出目录,注意是大写,没写的话解压到当前目录。dd if=/dev/zero of=abc count=1 bs=50M
创建指定大小的文件abc,/dev/zero
是一个自带文件有无穷的0,bs
表示块大小,count
表示一次读写的块数。还能测试磁盘读写速度。cut -d: -f1 /etc/abc
按列打印,-d
接分隔符,-f
接打印第几列,后边是文件。文本搜索
grep -n 123 abc
在文件abc中查找包含123的行,-n
显示行号,-v
表示反向查找,显示不包含123的行。文件搜索find [文件名]
,可以用通配符。一次运行多个命令的shell脚本怎么写?创建一个文件如run.sh,内容如下:
#!/bin/sh python test1.py && python test2.py
说明:写完后使用
chmod +x run.sh
命令修改权限,然后就可以在当前目录输入sh -x run.sh
运行这个脚本了,-x
表示调试运行(每执行一条命令会打印出来)。这个脚本会先执行当前目录下的test1.py
,&&
表示如果前一个命令执行成功,则执行后一个命令。
实际中,我们通常会定时执行脚本,输入crontab -e
进入编辑页面,输入以下内容:0 3 * * * (cd /tmp; sh -x run.sh >>log 2>&1)
说明:这个意思是每天凌晨3点cd到对应目录下(分/时/日/月/星期),执行
run.sh
这个脚本,并把命令运行产生的输出追加写入到log文件中。2>&1
是把错误信息输出,跟&>>
差不多。