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自己设置一个分隔符横向显示
Linux学习---Day04
原创
©著作权归作者所有:来自51CTO博客作者dourylee的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:Linux学习---Day03
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Day04 Docker
Docker
docker Docker 系统资源 -
SQL学习day5
SQL学习day5
聚合函数 窗口函数 MySQL -
springMVC学习-day04
@ModelAttribute注解
springMVC 学习 day04 -
Spring学习-day04
bean之间的关系
Spring 学习 -
golang--学习day04
默认不打开 go mod 功能时,所有的代码都需要在 $GOPATH/src 目录下才能完成编译与安装而引入了go mod功能之后,只需要当前
golang 学习 linux 可执行文件 当前目录 -
Spring源码学习(day04)
单例池单例Bean != Spring容器中只有一个该类型的Bean, 同一个类型的Bean
spring 构造方法 初始化 实例化 -
python讲义学习 day04
day04
python 学习 开发语言 元组 封包