常用命令
1、目录操作
cd 切换目录
cd / 切换到根目录
cd ~ 回到个人用户的主目录
ls 查看当前目录下所有文件的详细信息 list的意思
ll 查看当前目录下所有文件的详细信息
pwd 显示当前目录的全路径
. 当前目录
.. 上级目录
2、文件操作
cp 复制
mv 重命名、剪切移动位置
rm 删除 加上 -rf 就不会出现提示直接删除
mkdir test 在当前目录下创建一个test文件夹
touch a.txt 在当前目录下创建一个文件a.txt
./文件名 执行文件(切换到那个目录然后执行)
3、文件编辑
vi a.txt 编辑,文件编辑器
进入后只能查看,按i进入编辑模式,可以移动光标进行文本编辑操作
按esc退出编辑模式
输入:wq 保存并退出(w代表保存,q代表退出)
输入/abc 回车 搜索文件中包含abc的内存
4、文件查看
cat a.txt 一次性读取并打印a.txt文件里的所有信息
more a.txt 读取a.txt文件,每次读取一屏幕,按空格键翻页
tail -200 a.txt 读取后面两百行(看日志排查错误的时候,后面是最新的)tail是尾巴的意思
tail -f a.txt 实时读取这个文件(监控日志用)
head -10 a.txt 从前往后读10行
5、搜索
find / -name a.txt 从根目录全局搜索(当问你我想找系统有没有a.txt这个文件的时候用)
我给你一个日志文件,你给我找出出现错误的那行数据,怎么操作?
grep "ClassLoaderLogManager" 日志文件名
grep "ERROR" 日志文件名
grep "EXCEPTION" 日志文件名
有时候只看这行数据没用,因为错误信息太长太多了,我们怎么筛选
grep -A 10 "error" test.log -A表after 包含这个行以及后面10行
grep -B 10 "error" test.log -B表示before 包含这行和前面10行
grep -C 10 "error" test.log -C表示A和B的结合 包含前10和后10行
其实这样看还是乱,用sz error.log 把日志下载到本地看
6、其他命令
tar和rpm 可以安装mysql、jdk等环境
ifconfig 查看网络设备信息
free -h 检查服务器内存是否足够
df -lh 查看磁盘空间大小
uname -a 查看系统版本
yum install 安装java
java -jar 可以启动项,但是这个是不是后台启动
nohup java -jar 后台启动项目
7、进程命令
top 查看所有线程 像window任务管理器
ps -ef 看看有没有进程
ps -ef|grep 'java' 直接ps -ef搜到太多,通过管道符加grep只看java项目
kill -9 进程id 看查看出进程id然后用kill删除-9强行删除
ps和top的区别?
ps是查看瞬间的信息,主要查看需要查看的进程
top可以持续监控进程信息,还可以看到性能,还可以操作进程,主要看内存和cpu占用情况
netstat -anp | grep 8080 查看8080端口占用情况
8、文件权限
文字设定法
1)u:表示属主(user)
2)g:表示同组人(group)
3)o:其他人 (other)
4)a:所有人 (all)
5)+:表示增加权限 -:表示去掉权限
例如:修改main.c文件的所有者权限:
1).取消写权限:
chmod u-w main.c
2).成为可写可读的
chmod u=rw main.c
3).同时修改main.c的属主权限和组用户权限:
chmod u-w,g+x main.c
2)数字设定法
采用数字设定法时,权限通常由三位数字组成,每一位数字代表一种角色的权限。
每个角色的数值由其所具有的权限对应的数值之和构成;
1)写权限
r : (read)读权限 ,值为4(100)
2)读权限
w : (write)写权限 ,值为2(010)
3)执行权限
x: (execute)执行权限 ,值为1(001)
4)格式:
chmod nnn 文件名