移动(剪切)mv
mv:移动 move # 系统默认别名mv -i 为mv(-i交互,在覆盖前会进行提醒),经测试我的centos7虚拟机并没有该别名...
mv [OPTION]... 源文件 目标
-i:交互(在覆盖前会进行提醒)
-t:调换目标和源文件位置
1.如果目标是一个目录,就把文件放入目录
2.如果目标是一个文件,就会被覆盖
[root@db04 ~]# mv file /tmp/
[root@db04 ~]# mv file1 test1 # 如test1不存在, file1改名为test1。test1存在且为文件,覆盖; 如为目录, 放到该目录下
[root@db04 ~]# mv dir1 /tmp/
[root@db04 ~]# mv dir2 file4 file5 file6 /opt/ /usr/local/ # 移动dir2..., opt文件夹到/usr/local/路径下
[root@db04 ~]# mv /tmp/dir1 ./
[root@db04 ~]# mv /tmp/dir1 .
[root@db04 ~]# mv /tmp/dir2 ../
[root@db04 ~]# mv -t /tmp/ file1 file2 ./file3
# 注: 在移动很多内容的文件夹时使用下方命令
绝对路径执行命令:就是执行命令本身,不经过alias(别名) # which cp获取命令位置,使用 /usr/bin/cp ...
命令前面加上转义符'\':就是执行命令本身,不经过alias # \mv hig qqq 或者 /bin/mv hig qqq
删除 rm
rm:删除 remove
-i:交互
-r:递归
-f:强制删除(force)
-v:显示删除过程
[root@oldboyedu ~]# rm -r zls
rm: descend into directory ‘zls’? y
rm: descend into directory ‘zls/zls1’? y
rm: descend into directory ‘zls/zls1/zls2’? y
rm: remove directory ‘zls/zls1/zls2/oldboy’? y
rm: remove directory ‘zls/zls1/zls2’? y
rm: remove directory ‘zls/zls1’? y
rm: remove directory ‘zls’? y
注: 最好别名永久禁止rm命令,写入/etc/bashrc重启也会生效, 再执行source /etc/bashrc即可
查看文件内容cat tac
cat:查看
-n:查看文件内容并显示行号
-A:显示文件的结束符和tab键 相当于-vET
----------------------------------------
-b:空行不显示编号
-E:显示文件的结束符($)
-T:显示文件的tab键(^I)
cat >> zls.txt << EOF # 写入文件
卧槽
作者:曾老湿
江山风景美如画,
本想吟诗赠天下。
奈何自己没文化,
一句卧槽浪好大。
谢谢大家。
EOF
> :输入重定向
>> :追加重定向
[root@oldboyedu ~]# > /etc/bashrc # 相当于清空文件,非常危险
用法:cat [选项]... [文件]...
[root@oldboyedu ~]# cat 123
file1
[root@oldboyedu ~]# cat 456
file2
[root@oldboyedu ~]# cat 123 456
file1
file2
tac # 文件内容从尾到头反向输出
查看文件命令 more,less
more # 按空格是翻页, 按回车是一行一行显示, 按q退出(cat把所有内容全加载到内存里,太大会崩。用more没事)
[root@oldboyedu ~]# more /etc/services
less # 有查找功能
[root@oldboyedu ~]# less /etc/services
/ + 关键字 回车
n:向下搜索
N:向上搜索(shift + n) 或者开启大写键也行
[root@oldboyedu ~]# less -m -N /etc/services # 其中-m显示百分比,-N显示行号。
输入操作命令G转到最后一行。(输入g跳转到第一行)
head + 文件名
默认显示前10行
-n:显示前n行,n可以不写,为数字,n后面加数字
[root@oldboyedu ~]# head /etc/services
#查看文件前20行
[root@oldboyedu ~]# head -n 20 /etc/services
[root@oldboyedu ~]# head -20 /etc/services
tail + 文件名
默认显示后10行
-f:追踪文件末尾 相当于 tailf (通过再开一个窗口,echo 123 >> services左右对比测试)
[root@oldboyedu ~]# tail -f services 等同于 tailf services
-n:显示后n行,n可以不写,为数字,n后面加数字
tail -n 5 services 或 tail -5 services
grep:过滤关键字
-n:显示行号
-o:只显示关键字 # grep -on 'root' /etc/passwd显示行号不然分不清
-B:显示关键字的前n行,n为数字 (before)# grep -B 2 '呵呵' zls.txt
-A:显示关键字的后n行,n为数字 (after)
-C:显示关键字的前后n行,n为数字(center)# grep -C 1 '想' zls.txt 等于 grep -B 1 -A 1 '想' zls.txt
# grep -2 本想 zls.txt # 可以不加直接 -数字
-v:取反 # grep -v '^[a-f]' /etc/passwd
-i:忽略大小写,不区分大小写
-E:支持多关键字,多个关键字之间要用竖线 '|'分隔 相当于egrep # grep -E 'root|bash|mail' /etc/passwd
# egrep '^root|^bash|^mail' /etc/passwd 以root,bash或mail开头
^ :以...开头
$ :以...结尾
. :代表任意字符
* :代表所有 # grep '.*' /etc/passwd 匹配所有
| :管道符,将前面命令输出的结果,交给后面的命令去处理 # ifconfig |grep eno
-r, -R:递归过滤 某一目录下的 文件中的关键字
[root@oldboyedu ~]# grep '^root' /etc/passwd # 以root开头
[root@oldboyedu ~]# grep 'bash$' /etc/passwd # 以bash结尾
[root@oldboyedu ~]# grep -n '我' zls.txt # -n显示行数(从1开始计数)
[root@oldboyedu ~]# grep -n '^$' zls.txt # 查找空行
#以数字的范围开头
[root@oldboyedu ~]# grep -n '^[0-9]' passwd
26:1
27:2
28:3
[root@oldboyedu ~]# grep -n '^[6-9]' passwd
[root@oldboyedu ~]# grep -n '^[1-2]' passwd
26:1
27:2
#以字母的范围开头
[root@oldboyedu ~]# grep -n '^m' passwd
13:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
[root@oldboyedu ~]# grep -n '^[m-n]' passwd
13:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
17:nobody:x:99:99:Nobody:/:/sbin/nologin
[root@oldboyedu ~]# grep -n '^[a-z]' passwd # 开头a-z范围
[root@oldboyedu ~]# grep -n '^[a-Z]' passwd
[root@oldboyedu ~]# grep -i 'ftp' passwd