命令列表:
-
sleep seconds
-
date +%s 返回10位时间戳
-
cat/vim/more file
-
head/tail -n 10 file
-
wc [-L行/c字符/w单词] file 统计文件行数/字符数/单次数
-
sudo ln -s 源文件 目标文件
-
grep [-option] pattern file 如:grep '^我是10$’ grep.txt
-o 只显示匹配的,输出一行一个
-v 反转-o
-n 显示行号
-R/-r 递归
-e 正则
- find <指定目录> <指定条件> <指定动作>
- locate file ; updatedb
locate 命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。
Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。
为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。
- sed ’s/pattern/replace/‘ file 替换 ( -i 可以将替换应用于原 文件)
- command | xargs (xargs 默认是以空白字符 (空格, TAB, 换行符) 来分割记录的)
-n 3 每行 3 个参数
-d X 自定义分界符
- awk ' BEGIN{ print "start" } pattern { commands } END{ print "end” }’ file
BEGIN pattern END 均可以省略
$ echo -e "line1 f2 f3\nline2 f4 f5\nline3 f6 f7" | awk '{print "Line no:"NR",No of fields:"NF, "$0="$0, "$1="$1,"$2="$2,"$3="$3}'
Line no:1,No of fields:3 $0=line1 f2 f3 $1=line1 $2=f2 $3=f3
Line no:2,No of fields:3 $0=line2 f4 f5 $1=line2 $2=f4 $3=f5
Line no:3,No of fields:3 $0=line3 f6 f7 $1=line3 $2=f6 $3=f7
- ps
- kill pid
- pkill pname -9强制
- cron
- ssh user@host -p 端口(默认22)
- lftp username@ftphost (端口21)
- scp source destination 其中source和destination都可以是 user@host:path -r 递归复制
如:scp -r ./dist/* www@182.92.232.41:/home/wwwroot/p.[51tiancai.com/public/](http://51tiancai.com/public/)
- ssh-keygen -t rsa -C "youremail@example.com"
- open -a Google\ Chrome --args --disable-web-security
- 压缩命令:tar -zcvf 压缩文件名.tar.gz 被压缩文件名
- 解压缩命令:tar -zxvf 压缩文件名.tar.gz
场景应用
- 批量杀死所有存活的队列进程
pids=`ps -ef|grep app:queue|grep "\-\-process="|grep -v touch|grep -v grep |awk '{print $2}'`
if [ ! -z "$pids" ]
then
echo $pids|xargs kill
echo "kill $pids success"
else
echo 'process not found'
fi
image.png
cat test.log |awk '{print $3}' | sort | uniq -c
find <指定目录> <指定条件> <指定动作>
<指定目录>: 所要搜索的目录及其所有子目录。默认为当前目录。
<指定条件>: 所要搜索的文件的特征。
<指定动作>: 对搜索结果进行特定的处理。
如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。
1、删除以html结尾的10天前的文件,包括带空格的文件:
find /usr/local/backups -name "*.html" -mtime +10 -print0 |xargs -0 rm -rfv
xargs -i 参数或者-I参数配合{}即可进行文件的操作。
加-i 参数直接用 {}就能代替管道之前的标准输出的内容;
加 -I 参数 需要事先指定替换字符
1.1复制以html结尾的10天前的文件,包括带空格的文件到/dir/目录下
find /usr/local/backups -name "*.html" -mtime +10 -print0 |xargs -0 cp {} /dir
2、统计所有c文件的行数
find source_code_dir_path -type f -name "*.c" -print0 | xargs -0 wc -l
ln -s 类似Windows下的超级链接。
举例:
当前目录是/local,而我经常要访问/usr/local/linux/work
那么我就可以使用在local下建立一个文件linkwork,
sudo ln -s /usr/local/linux/work /local/linkwork
删除链接
rm -rf symbolic_name
注意不是
rm -rf symbolic_name/
那么上面我就是
rm -rf /local/linkwork
网友评论