一、基础知识
- Linux命令是严格区分大小写的,与windows不同;
- 命令之间是有空格的;
- 错误提示:
command not found :大部分原因是命令拼写有问题;
permission denied:拒绝访问,没有权限
二、常用命令
1、su 切换用户
su root 切换为超级管理员,需要输入密码
由超级管理员切换为其他用户,不需要输入密码
2、cd 切换路径(可以使用tab键关联补全)
cd / 进入根目录
cd .. 返回上一层目录
cd ../.. 返回上两层目录
绝对路径:从根目录开始进入,“/”开头表示绝对路径
先输入cd /opt
再输入cd /bin
那么当前目录是:/bin
相对路径:相对于当前目录进入
先输入cd /opt
再输入cd bin
那么当前目录是:/opt/bin
3、 pwd 显示当前路径
4、ls 显示当前文件下所有目录、文件
ls -a 显示包括隐藏文件的所有文件
ls -l (或ll)显示所有文件的属性
- 第一个字母: d表示目录 -表示文件 后边每三个字母为一组,分别表示创建者、组成员、其他的权限。
r:read w:write x:excute rwx,固定格式没有哪个权限就用-表示。 - 数字表示链接数
- 后边依次表示创建者、创建者所在的组、文件大小、创建时间、文件名称。
5、chmod 修改权限
r:4
w:2
x:1
chmod 权限 文件名
chmod 753 bin 表示把bin文件的创建者权限改为rwx(7),组成员权限改为r-x(5),其他权限-wx(3)。
6、vi 文本编辑器(注意观察左下角变化)
vi test.txt 若没有test.txt文件,则创建一个新文件;若有,则打开
然后按键盘:
-
i,则进入insert模式,也就是编辑
-
/关键字 ,可以按照关键字查询,n表示查看下一个
(查询在测试中很常用,比如程序出现了bug,而日志文件又很长,我可以去查找error,exception等;
与grep 关键字 文件名 如grep exception ceshi.log功能类似)
然后键盘输入Esc退出编辑
英文状态下可输入
:q!(强制退出,不保存)
:wq!(退出并保存)
7、tail 查看日志
tail -f 日志文件
tail -f ceshi.log 查看测试日志文件
8、ps 查看进程
ps -ef 显示正在运行的进程,并把进程号(PID)、内存(C)显示出来
ps -ef | grep java 查找包含java的进程
“|” 是管道运算符,它的作用是把前面命令的输出,作为后边命令的输入。
9、kill -9 进程号 强制杀掉进程
kill -9 2366 杀掉进程号为2366的进程
kill -a java 杀掉包含java的所有进程
若知道端口号,不知道进程号,可以通过netstat命令查看
netstat -apn | grep 8080 查看端口号为8080的进程
10、find 在指定目录下查找文件
find 路径名 -name
find ./ -name "*zs*" 查找当前路径下,名字中有zs的文件
出现权限不够,可以加上 sudo
sudo find ./ -name "*zs*" 查找当前路径下,名字中有zs的文件
find 路径名 -size
find ./ -size +1M -size -2M 查找当前路径下,文件大小大于1M小于2M的文件
find 路径名 -perm
find ./ -perm 777 查找当前目录下权限为777的文件或者目录
注:find找文件,grep文件中找内容
11、cal 查看日历
cal 查看当前日期所在月的日历
cal -y 2020 查看2020年的日历
cal -y 2020 > cal.txt 把2020年的日历保持保存在cal.txt文件中
12、date查看时间
date 显示当前时间
date "+%Y年%m月%d日" 按照设定格式显示时间