linux基本命令
Linux基本命令2(首写全部小写)
三剑客awk、sed、grep
- grep -v oldboy oldboy.txt(显示排除oldboy之外的内容)
- Grep oldboy oldboy.txt 显示除oldboy;
- Head -n 文件名 显示除文件的前N行
Head -20 oldboy.txt.如果没有行数,显示默认前10行
- tail -n oldboy.txt 显示尾部的n行,默认10行;
- Sed -n(取消原始输出,也就是不全部打印) /li/p oldboy.txt 显示这个文件中所有li开头的内容;
- Sed “oldboy/d” oldboy.txt 将oldboy删除
并将其余内容打印出来
- awk /oldboy/ oldboy.txt 将oldboy全部显示出来
三剑客全部都有过滤的功能
- Mkdir a b c 一次可以创建多个目录
Mkdir -p /dolboy/a/b/test 可以创建目录及其子目录;
- LANG=en 调整乱码 yum install tree -y 安装tree
- Man mkdir (man的作用)
- Tab有查询文件和命令补全功能;
- Cp /data/oldboy.txt /mnt/ 将这个文件复制到/mnt/下
会弹出/mnt/oldboy.txt?,问你是否要创建
解决办法有2中
- \cp /data/oldboy.txt /mnt/
- /bin.cp /data/oldboy.txt /mnt/
为什么会弹出对话框确认呢,因为我们对于一些比较重要的命令设置了一些别名,用alias查看时发现cp=’cp -i’
-i意思是需要确认,输入yes就好。
输入 unalias cp,取消别名,就不会在弹出确认了。
设置别名:
Alias cp=’cp -i’
Alias oldboy=’echo”i am studying linux”’
单引号里面必须得是命令才可以;
之前设置的全都是临时的别名,重启之后就会无效。
Cat ~/.bashrc是系统创建的别名。
13.find / -type f -name “oldboy.txt”
找到/下所有的oldboy.txt文件
Find / -type f -name “oldboy.txt”-exec rm -f {}\;
Find / -type f -name “oldboy.txt”|xargs rm -f
通过管道符将一个命令的结果传给下一个命令;
Find /root/ -type f -mtime -5 最近5天之内改过的目录
Find /root/ -type f -mtime 5 5之前的一天;
Find /root/ -type f -mtime +5 6天前的内容
Find /root/ -type f -name “*.log” -mtime -5|xargs rm -f将5天之内的文档全部删除
Seq 输出序列的数字
Seq 5 竖着打印1 2 3 4 5
Seq -s “ ”5 横着打印1-5,并且用空格符分开
Seq -s “=”5 横着打印1=2=3=4=5
Seq 2 5 从2打印到5
Seq 1 3 10 打印1 4 7 10
3代表中间的段长
Seq 1 5|tac 倒着打印 5 4 3 2 1
Seq 100> ett.txt将1到100打印到ett.txt文件中
例一:只查看ett.txt内第20到30行的内容
Seq 100>ett.txt
Vi ett.txt
输入:set nu 显示行号
方法一:Head -30 ett.txt|tail -11
先显示头30行,在显示尾部11行,就输出了20-30行
方法二:tail -81 ett.txt|head -11
方法三:sed -n 20,30p ett.txt
Sed -n 30p ett.txt 只显示30行
Sed擅长打印行
Awk擅长打印列
Awk -F ”:” ‘{print $1}’ etc/passwd
显示passwd所有行的第一列,分隔符为冒号。
Sed特长是显示行
Echo oldboylinux>ett.txt
Cat ett.txt
Cp ett.txt /etc/
Cp ett.txt /pte/
一共有三份ett.txt文件,现在要讲oldlinux内容替换为oldwindows
Sed s#oldboylinux#oldboywindows#g ett.txt
将当前文件的oldboylinux改为oldboywindows,改的这个只是输出的内容变了,内容并没有改变
Sed -i s#oldboylinux#oldboywindows#g ett.txt
现在要将所有的的修改
Find / -type f -name “ett.txt”|xargs sed -i s#oldboylinux#oldboywindows#g
Find / -type f -name “ett.txt”|xargs cat
查看一下所有的ett.txt内容
Echo {1..5} 打印1-5 横着打印
Echo {a..z}你们懂的
Ctrl+c:种猪当前进程
Ctrl+shift+c 在linux下是复制
Ctrl+shift+v是拷贝
Ctrl+a 一段命令快速跳到最前端
Ctrl+c 一段命令快速调到末尾
Catrl+u 剪切
History:查看历史记录
!!表示最近一次操作的命令记录
!+数字:表示哪一行的命令记录
!+字母 表示最近一次这个字母开头的命令