一.linux基础
1.ls:列出目录
- -a:全部的文件,连同隐藏文件一起列出来
- -l:列出长数据串,包含文件的属性与权限等数据
- –full-time:列出完整的时间模式输出
2.cd:切换
3.pwd:显示当前目录
4.mkdir:创建新的目录
5.cp:复制
- -a:相当于pdr
- -d:若源文件为连接文件的属性,则复制连接文件属性而非文件本身
- -i:目标文件已经存在,在覆盖时会先询问操作的进行
- -p:连同文件的属性一起复制过去,而非使用默认属性,备份常用
- -r:递归持续复制,用于目录的复制
6.mv:移动文件或者目录
- -f:force,强制。如果目标文件已覆盖,不会询问而直接覆盖
- -i:interaction,互动模式,若目标文件已存在,就会询问是否覆盖
- -u:update,若目标文件已经存在,且source比较新,才会更新
7.rm:移除文件或者目录
- -f:force,强制删除
- -i:interaction,互动模式,在删除前会询问用户是否操作
- -r:recursion,递归删除。常用于目录的删除
8.touch:创建新文件或修改时间(文件有三个时间:内容改变时间mtime,状态改变时间ctime,读取时间atime)
- -a:仅修改访问时间atime
- -c:仅修改文件的时间,文件不存在则创建新文件
- -d:后面接预修改的日期而不用当前的日期
- -m:仅修改mtime
9.vi/vim:vim算是vi的高级版本,vi是老式的文字处理器,vim是程序开发者的一项很好的工具
10.cat
- -b:列出行号,仅针对非空白行做行号显示,空白行不标行号
- -n:打印行号,连空白行也会有行号,与-b的参数不同
11.more
12.less
13.tail
- -n:后面接数字,代表显示几行的意思
- -f:表示持续检测后面所接的文件名,要等按下ctrl+C才会结束tail的检测
14.od:od -t c /usr/bin/passwd
- -t:后面可以接各种类型的输出,例如:
a:利用默认的字符来输出
c:使用ASSCII字符进行输出
d[size],f[size],o[size],x[size]:利用10,浮点数,8,16进制来输出数据
二.文件操作
1.修改文件属性:
- r读权限read4
- w写权限write2
- x操作权限execute1
- u 属主 user
- g 属组 group
- o 其他 other
- chmod 777 test,修改test文件权限属性
- chmod g + x test , 给属组修改文件权限属性
2.更改 文件属组名:
- chgrp <组名> <文件名>
3.更改文件属主,属组名:
- chown <用户名>:<组名> <文件名>
三.top分析系统瓶颈
1.确认问题:IO瓶颈、CPU瓶颈、内存瓶颈还是程序导致的系统问题
2.输入top进行交互,
-
输入M,进程列表按内存使用大小降序排序,便于我们观察最大内存使用者使用有问题(检测内存泄漏问题);
-
输入P,进程列表按CPU使用大小降序排序,便于我们观察最耗CPU资源的使用者是否有问题
3.top第三行显示当前系统的,其中有两个值很关键:
- %id:空闲CPU时间百分比,如果这个值过低,表明系统CPU存在瓶颈;
- %wa:等待I/O的CPU时间百分比,如果这个值过高,表明IO存在瓶颈;
四.分析内存瓶颈
- 1.查看内存使用情况,以M显示:free -m
- 2.vmstat 监视内存使用情况
- 3.df -h 查看磁盘空间利用情况
五.分析IO瓶颈
1.如果IO存在性能瓶颈,top工具中的%wa会偏高;
2.进一步分析使用iostat工具;
- 如果%iowait的值过高,表示硬盘存在I/O瓶颈。
- 如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。
- 如果 svctm 比较接近await,说明 I/O 几乎没有等待时间;
- 如果 await 远大于 svctm,说明I/O队列太长,
- io响应太慢,则需要进行必要优化。 如果avgqu-sz比较大,也表示有大量io在等待。
六.ps分析进程调用
ps -ef | grep task
- | 符号,是个管道符号,表示ps 和 grep 命令同时执行;
- grep 命令是查找(Global Regular Expression Print),能使用正则表达式搜索文本,然后把匹配的行显示出来
ps命令有一些参数: - -e : 显示所有进程
- -f : 全格式
- a :显示终端上的所有进程,包括其他用户的进程。
- r :只显示正在运行的进程。
- u :以用户为主的格式来显示程序状况
七.查看日志
你可以使用-n选项指定要显示的行数
- tail -n 100 filename.txt
也可以使用-f选项进行实时查看
- tail -f
head
cat
tac
vim /etc/profile,/etc/bashrc 是系统全局环境变量设定,代理
vim /.profile,/.bashrc用户目录下的私有环境变量设定
八.查看文件个数
查看有目录下文件和文件夹的总数
ls | wc -w
查看文件的总数
ls -l |grep ^-|wc -l
九.查看系统版本
- 内核版本
cat /proc/version
- 系统版本
cat /etc/issue
- CentOS版本
cat /etc/redhat-release