rename 重命名
rename -n 's/abc/def/' * //针对当前文件夹下的所有文件 把abc 替换为def -n并不执行
rename 's/abc/def/' * //针对当前文件夹下的所有文件 把abc 替换为def
rename 's/abc/def/g' * //针对当前文件夹下的所有文件 把所有abc 替换为def
支持通配符
? 可替代单个字符
* 可替代多个字符
例子 文件夹中有这些文件foo1, ..., foo9, foo10, ...foo111
rename foo foo0 foo? // foo1到foo9的文件重命名为foo01到foo09,重命名的文件只是有4个字符长度名称的文件,文件名中的foo被替换为foo0
rename 's/^\(//' *.png。 //将左括号"("去掉
rename 's/\.jpg$/\.png/' *.jpg //将后缀名.jpg改成.png
ssh/scp
ssh -p 6000 root@xxx.com
ssh -i ~/xxx.pem root@xxx.com
scp -P 6000 root@xxx.com:/xxx.txt ./
scp -i ~/xxx.pem root@xxx.com:/xxx/xxx.txt ./
scp xxx.txt root@xxx.com:/xxx.txt
(-v detail info)
traceroute 192.168.9.1 -n
telnet 192.168.1.2 8000 (only tcp, quit)
nc
nc -vzw 6 IP port (-w timeout time) //测试TCP端口
nc -vuzw 2 IP port //测试UDP端口
nc -l port //临时监听TCP端口
nc -lk port //永久监听TCP端口
nc -lu port //临时监听UDP
nc -luk port //永久监听UDP
rsync copy file
1)拷贝本地文件。当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。
如:rsync -a ./test.c /backup
2)使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DES路径地址包含单个冒号":"分隔符时启动该模式。
如:rsync -avz test.c user@172.16.0.11:/home/user/src
3)使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号":"分隔符时启动该模式。
如:rsync -avz user@172.16.0.11:/home/user/src ./src
4)从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。
如:rsync -av user@172.16.0.11::www /databack
5)从本地机器拷贝文件到远程rsync服务器中。当DES路径信息包含"::"分隔符时启动该模式。
如:rsync -av /databack user@172.16.0.11::www
6)列远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。
如:rsync -v rsync://172.16.78.192 /www
-v, --verbose 详细模式输出
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-z, --compress 对备份的文件在传输时进行压缩处理
lsof命令
通过list open file命令可以查看到当前打开文件,在linux中所有事物都是以文件形式存在,包括网络连接及硬件设备。
lsof -i:80
-i参数表示网络链接,:80指明端口号,该命令会同时列出PID,方便kill
查看所有进程监听的端口
sudo lsof -i -P | grep -i "listen"
杀前6个有NODE 的进程:
ps aux | grep node | head -6 | awk '{print $2}' | xargs kill -9
统计已连接上的,状态为“established'
netstat -na|grep ESTABLISHED|wc -l
系统信息
cat /proc/cpuinfo
cat /proc/version
cat /etc/issue
cat /etc/lsb-releaseu
uname -a
free -h
df -h
du
/var/log/wtmp //每个用户的登录次数和持续时间等信息
/var/log/btmp //详细,包括登录失败请求
/var/run/utmp //当前正在本系统中的用户的信息
将二进制文件转换为可编辑文件 wtmp.file
utmpdump /var/log/wtmp >/var/log/wtmp.file
将可编辑文件转换为二进制文件
utmpdump -r < /var/log/wtmp.file > /var/log/wtmp
crontab文件的含义:
六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:
minute hour day month week command
其中:
minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
在以上各个字段中,还可以使用以下特殊字符:
星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。