1.find /data/ -type f -exec rm -f {} ; *删除目录/data下的所有文件 2.\ 让一个有意义的字符脱掉马甲 . 当前目录 .. 上级目录 . 代表点号 3.find /data/ -type f|xargs rm -f *删除目录/data下的所有文件 4.| 管道符,把前一个命令结果的输出交给后一个程序继续处理 5.find /data -type f ! -name "c.txt"|xargs rm -f *删除目录下所有文件,但只保留c.txt 6.find /data -name *按名称查找 find ./ -type f -name "test.txt" -exec sed -i 's#bcd#abc#g' {} ; *把当前目录及递归目录下的所有test.txt文件中的bcd字符替换为abc(此方法为串行处理) find ./ -type f -name "test.txt" |xargs sed -i 's#abc#cba#g' *把当前目录及递归目录下的所有test.txt文件中的abc字符替换为cba(此方法为串行处理) sed -i 's#cba#bcd#g' find ./ -type f -name "test.txt" *把当前目录及递归目录下的所有test.txt文件中的cba字符替换为bcd(此方法为并行处理,效率更高) 7.!代表“取反”,即“非”的含义 8.cat >>test.txt<<EOF test liyao aa EOF 9.grep *筛选并打印,把想要的和不想要的分离开(linux三剑客,擅长过滤) sed *stream editor筛选(linux三剑客,擅长取行) sed -n '/筛选的内容/处理的命令' 文件 -n *取消sed的默认输出 -i *改变文件内容 处理的命令:p print打印,d delete删除 grep "aa" test.txt *从test.txt筛选aa sed -n '/aa/p' test.txt *从test.txt筛选aa grep -v "aa" test.txt *从test.txt筛选除了aa以外的 sed '/aa/d' test.txt *从test.txt筛选除了aa以外的 sed -i 's#aaa#bbb#g' test.txt *把aaa替换成bbb *s常说的查找并替换,用一个字符串替换成另一个 *g(global)与s联合使用时,表示对当前行全局匹配替换 *这里的"#"是分隔符,可以用/,@,=等替换 grep -B *除了显示匹配的一行之外,并显示该行之前的n行 grep -A *除了显示匹配的一行之外,并显示该行之后的n行 grep -C *除了显示匹配的一行之外,并显示该行之前后各n行 grep "字符串" -B 10 test.txt sed -n '20,30p' test.txt *查看test.txt文件内第20到30行的内容(简单易用高效的方法) awk *一门语言,可过滤内容(取列),打印内容,删除内容(linux三剑客,擅长取列) awk '{print $1}' 文件 *$1第一列,$2第二列,$NF最后一列,$(NF-1)倒数第二列 awk -F ":" '{print $1}' /etc/passwd *打印第一列,-F自定义分隔符 awk -F ":" '{print $1 "-" $2 "-" $3}' /etc/passwd *打印第一列-第二列-第三列 awk '{if(NR<31 && NR>19) print $1 "\n"}' test.txt *打印test.txt文件内第20到30行的内容(NR代表行号,&&并且,\n回车换行) 10.Ctrl+C *强制中断程序的执行,终止进程 Ctrl+Z *把当前的程序挂起,暂停执行这个程序。配合bg和fg命令进行前后台切换,fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台执行. Ctrl+D *不是发送信号,而是表示一个特殊的二进制值,表示 EOF;在shell中,ctrl-d表示推出当前shell,比如你从管理员root退回到你的普通用户就可以这么用 11.head *取文件开头的N行,不接参数默认是前10行 head -n 3 *取前三行 head -3 *取前三行 tail *取文件末尾的N行,不接参数默认是末尾10行 tail -n 3 *取末尾三行 tail -3 *取末尾三行 tail -f test.txt *跟踪一个文件尾部的实时变化 head -30 test.txt |tail -11 *查看test.txt文件内第20到30行的内容 12.mkdir -p /root/data/aa *-p代表递归创建目录 13.yum *linux包管理器(下载包,然后调用rpm命令安装包) yum install tree -y *下载安装tree rpm -ivh (-i install安装、-v 显示输出、-h以人类可读展示) rpm -ivh 包名.rpm (提前下载好) *最大问题,依赖问题不好解决,yum帮助解决依赖问题 rpm -qa tree *查询tree这个包(-q query,-a all) 14.tree *显示目录树结构 15./bin/cp /mnt/test.txt /tmp/ \cp /mnt/test.txt /tmp/ cp ='cp-i' 16.alias *查看以及定义别名 aa='echo "I am aa linux."' alias rm='echo "rm can not be used,pls use mv"' 修改别名可: vi ~/.bashrc 对所有用户生效可: vi /etc/bashrc或/etc/profile 生效:source /etc/bashrc或/etc/profile unalias *去除别名pwd 17.seq *sequence序列 seq [OPTION]... LAST seq [OPTION]... FIRST LAST seq [OPTION]... FIRST INCREMENT LAST seq -s "自定义分隔符" *-s自己设置一个分隔符横向显示