查看指定端口被哪个进程占用的情况
1、lsof -i:端口号
2、netstat -tunlp|grep 端口号
文件清空
1.彻底置空,也就是ls文件的大小为0,文件里面什么都没有
(1): > filename
(2)true > filename
(3)cat /dev/null > filename
(4)> filename
2.置空文件,但是文件中有空行,ls文件的大小,显示还有大小
(1)echo "" > filename
(2)echo > filename
查看系统中文件的使用情况 df -h
查看当前目录下各个文件及目录占用空间大小 du -sh *
方法一:切换到要删除的目录,删除目录下的所有文件 rm -f *
/法二:删除logs文件夹下的所有文件,而不删除文件夹本身 rm -rf log/*
Linux下" >/dev/null 2>&1 "
0:表示键盘输入(stdin)
1:表示标准输出(stdout),系统默认是1
2:表示错误输出(stderr)
command >/dev/null 2>&1 & == command 1>/dev/null 2>&1 &
1)command:表示shell命令或者为一个可执行程序
2)>:表示重定向到哪里
3)/dev/null:表示Linux的空设备文件
4)2:表示标准错误输出
5)&1:&表示等同于的意思,2>&1,表示2的输出重定向等于于1
6)&:表示后台执行,即这条指令执行在后台运行
1>/dev/null:表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,不显示任何信息。
2>&1:表示标准错误输出重定向等同于标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。
这条命令的意思就是在后台执行这个程序,并将错误输出2重定向到标准输出1,然后将标准输出1全部放到/dev/null文件,也就是清空.
所以可以看出" >/dev/null 2>&1 "常用来避免shell命令或者程序等运行中有内容输出。
换行问题:
编辑器vi/vim打开你需要执行的脚本文件,输入 :set fileformat=unix 并回车,然后保存退出,重新执行脚本,问题就解决了;
“tar: Removing leading `/’ from member names”的错误
其原因是tar默认为相对路径,使用绝对路径的话就回报这个错,可以使用-P参数(注意大写)解决这个问题
使用tar打包时,排除不想打包的文件
1.以备份我司数据库为列,我只想打包aa,cc“文件”不想打包bb文件。
tar -zPcvf /root/mysql.tar.gz /home/mysql/* --exclude=/home/mysql/bb.txt
2.如果文件的后缀是会变动的,就使用下面操作。
tar -zPcvf /root/mysql.tar.gz /home/mysql/* --exclude=/home/mysql/aa.*
3.排除掉某个“目录”。
tar -zPcvf /root/mysql.tar.gz /home/mysql/* --exclude=/home/mysql/testnew
ls 获取指定目录下指定数量的目录名称
ls -F /opt/teset/ | grep /$ | head -n1