find
查找最近10分钟内修改的文件
find . -mmin -10
查找10分钟以前修改的文件
find . -mmin +10
查找当前目录下面大于5M的文件:
find . -size +5M
查找当前目录下面大于0.5M的文件:
find . -size +512k
文件压缩 tar
抽取tar压缩包中的某一个文件
tar zxvf XXXXX.tar.gz YYYYY/ZZZ.txt
其中XXXXX.tar.gz为你的压缩文件的名字,YYYYY/ZZZ.txt为你要抽取的文件位于压缩包中的路径。
列出压缩包中包含的所有文件的列表
tar ztvf XXXXX.tar.gz
文件分包压缩/合并
拆分单个很大的文件
split -b1024m "file.tar.gz" "file.tar.gz.part-"
# Creates files: file.tar.gz.part-aa, file.tar.gz.part-ab, file.tar.gz.part-ac, ...
用tar压缩文件时,按照特定的大小进行分包
# create archives
$ tar cz my_large_file_1 my_large_file_2 | split -b1024m - myfiles_split.tgz_
# uncompress $ cat myfiles_split.tgz_* | tar xz
用gzip压缩单个大的文件时,按照特定的大小进行分包
# create archives
$ gzip -c my_large_file | split -b1024m - myfile_split.gz_
# uncompress
$ cat myfile_split.gz_* | gunzip -c > my_large_file
关于杀掉进程:
抄袭自:http://www.ttlsa.com/linux-command/4-method-to-kill-user-all-process/
1. pkill方式
# pkill -u ttlsa
2. killall方式
# killall -u ttlsa
3. ps方式
ps列出ttlsa的pid,然后依次kill掉,比较繁琐.
# ps -ef | grep ttlsa | awk '{ print $2 }' | sudo xargs kill -9
4. pgrep方式
pgrep -u参数查出用户的所有pid,然后依次kill
# pgrep -u ttlsa | sudo xargs kill -9
查看外网IP
➜ ~ curl ifconfig.me
179.214.180.100
➜ ~ wget -qO- ifconfig.me/ip
179.214.180.100
SCP获取远程服务器上的文件
从服务器下载整个目录
scp -r username@servername:remote_dir/ /tmp/local_dir
例如:
scp -r codinglog@192.168.0.101 /home/kimi/test /tmp/local_dir
抄袭自:http://www.cnblogs.com/no7dw/archive/2012/07/07/2580307.html
文本处理
tac将文件从最后一行开始输出。
tac yourfilename
linux下查看当前网络流量
查看/proc/net/dev
user_00@xxxx64:~> cat /proc/net/dev
Inter- | Receive | Transmit
face | bytes packets errs drop fifo frame compressed multicast | bytes packets errs drop fifo colls carrier compressed
eth0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
eth1: 67437819880 552776948 0 0 0 0 0 6 63179118041 486899714 0 0 0 0 0 0
lo: 2338316682 34154992 0 0 0 0 0 0 2338316682 34154992 0 0 0 0 0 0
tunl0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
sit0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ip6tnl0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
最左边的表示接口的名字,Receive表示收包,Transmit表示收包;
bytes表示收发的字节数;
packets表示收发正确的包量;
errs表示收发错误的包量;
drop表示收发丢弃的包量;
查看局域网内所有主机的IP地址
nmap -sP 192.168.1.0/24
查看内网IP 192.168.1.0~ 192.168.1.255 之间存活的主机
crontab 语法
语法为:
1 2 3 4 5 /path/to/command arg1 arg2
或者
1 2 3 4 5 /root/ntp_sync.sh
其中:
第1个字段:分钟 (0-59)
第2个字段:小时 (0-23)
第3个字段:日期 (0-31)
第4个字段:月份 (0-12 [12 代表 December])
第5个字段:一周当中的某天 (0-7 [7 或 0 代表星期天])
/path/to/command - 计划执行的脚本或命令的名称
* * * * * 要执行的命令
----------------
| | | | |
| | | | ---- 周当中的某天 (0 - 7) (周日为 0 或 7)
| | | ------ 月份 (1 - 12)
| | -------- 一月当中的某天 (1 - 31)
| ---------- 小时 (0 - 23)
------------ 分钟 (0 - 59)
### 每隔 5 分钟运行一次 backupscript 脚本 ##
*/5 * * * * /root/backupscript.sh
### 每天的凌晨 1 点运行 backupscript 脚本 ##
0 1 * * * /root/backupscript.sh
### 每月的第一个凌晨 3:15 运行 backupscript 脚本 ##
15 3 1 * * /root/backupscript.sh
列出你所有的定时任务
# crontab -l
# crontab -u username -l
### 删除所有的定时任务
crontab -r
### 删除某用户名下的定时任务,此命令需以 root 用户身份执行
crontab -r -u username
如果想将输出内容发送到特定的邮件账户中,比如说 vivek@nixcraft.in 这个邮箱, 则你需要像下面这样定义一个 MAILTO 变量:
MAILTO="vivek@nixcraft.in"
0 3 * * * /root/backup.sh >/dev/null 2>&1
典型的 /etc/crontab 文件内容是这样的:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly