最近打算考红帽认证,将自己学习到的和工作中常用的一些命令进行总结,供初学者和一定基础的参考。
想系统性学习的话,还是建议看书(鸟哥的Linux私房菜)和看视频(基础版,推荐马哥和老男孩)
1、常用快捷键
TAB:命令/地址补全
Ctrl+L:清空屏幕
Ctrl+a:交互命令行首
Ctrl+e:交互命令行尾
Ctrl+c:中止
Ctrl+z:挂起/截断
2、查看帮助
cmd --help:查看简单版命令帮助
man cmd:查看详细帮助
3、常用命令
echo $环境变量、$?(上一次命令执行结果,0:成功;1~255:失败)
ifconfig 获取网卡配置与网络状态等信息
uname 查看系统内核与系统版本等信息
ping 查看网络通信状态
cd 路径转换
常用的有:cd ..(返回父级目录);cd ~(返回家目录);cd .(当前目录);cd - (返回上一次目录);cd PATH(常用,跳转到对应的绝对路径下)
alias 命令别名(unalias:撤销别名)
which 显示命令完整路径
whereis 可查看命令地址、文档、手册
ls 列出文件信息
常用的有:ls -l (列出当前路径下文件详细信息,可简写为"ll") ;ls -lh (文件详细信息中,文件大小将以"MB","KB"等方式方便阅览)
wc 查看一个文件的行数、字数、字符数
wc -l demon 查看demon文件的函数行数
du 查看一个文件的大小
du -sh demon 查看demon文件的大小(仅看该文件,且以"mb"/"kb"当时呈现)
dd 格式转化
dd if ="" of="" [bs="" count=""]
4、文本查看工具
cat :屏幕中显示文件全部信息
-n:显示行号
-e:显示结尾
more:翻屏显示,尾部后自动退出
less:功能更多,也是作为一张查看方式
head:查看文件前部信息,
-n:查看文件前部的行数
tail:查看文件尾部信息
-n:查看文件尾部的行数
touch:若文件不存在时,会自动创建(主要作用还是修改文件的stamptime)
date:显示不同类型的日期或修改日期
5、文件、目录管理命令
cp 文件/目录 文件/目录 :复制
mv 文件/目录 文件/目录 :移动或重命名
rm [-rf]:文件删除
mkdir [-p]:创建新的目录
stat:显示文件状态
6、VIM编辑器
这是一个需要经常练习的工具,类似于Windows中的doc
模式:命令模式/可视模式/插入模式/正常模式
模式切换:esc/i/a/u/:
光标定位:
到指定行(G):nG/:n;G (文尾);gg(文首);
到行末尾:$;到行首 0或^
到屏幕顶部:H(nH:顶部下方n行),光标落在顶部第一个非空字符上;
到屏幕中间:M
w(下一个单词首字母);e(下一个单词末尾字母);b(上一个单词的首字母)
替换:
常用标记:%:所有行;g:单行内所有匹配项;i:忽略大小写;c:确认是否替换(g、i、c可以自由组合)
全局替换:%s/str1/str2/g ---全局替换,用str2替换str1
局部替换:20,30%s/str1/str2/g ---同理
示例:
- :s/old/new 将光标所在行第一个 old 替换为 new
- :s/old/new/g 将光标所在行所有 old 替换为 new
- :%s/old/new/gc 全文执行替换,询问是否替换
- :3,10s/old/new/gic 将第3行到第10行内容替换,忽略大小写,且每个询问是否替换
7、进程管理
a.ps [ -e -f -a -u -x]:确定有哪些进程正在运行、运行状态、 进程是否结束、有没有僵死、哪些进程占用了过多地资源等等
用法:
ps -ef | grep 列出需要的进程
ps -aux 显示进程信息,包括无终端的(x)和针对用户(u)的进程
b.top :动态显示进程信息
c.crontab:job管理
-l:显示当前服务器的job情况
-e:编辑job工作
示例:
*/5 * * * * /home/shj/dw_alert_log.sh >/dev/null 2>&1 表示每五分钟执行一次脚本,结果放入”黑洞"
d.kill 杀死某个进程