linux命令:
5.创建文件:(三种方式)
1.touch xx.xx
2.vim/vi xx.xx 【编辑文件的命令】
退出保存:
shift+;=》 : + wq 回车
3.echo "zuoshao zhen shuai" >> 3.log
echo "zuoshao zhen shuai" => 控制台打印
> 创建或者 覆盖一个文件
>> 追加到文件
需求:
三种方式创建文件,名字 zuoshao1.txt zuoshao2.txt zuoshao3.txt
需求:
创建一个空文件?
1.touch xx.xx
2.vim/vi xx.xx 【不要用】
3.cat /dev/null > done 【空文件】
cat 查看文件所有内容
/dev/null 就是一个空文件
4.echo "" > done1 【不能创建空文件】
6.vim 编辑文件+ 【文件里面添加内容】
vim 三种模式:
1.命令行模式
2.编辑模式
3.尾行模式
vim 2.log =》 命令行模式
i =>进入编辑模式【insert】
esc 退出保存: 编辑模式 -》 命令行模式
shift+;=》: 命令行模式 =》 尾行模式
尾行模式 :
w 保存
q 退出
! 强制
扩展:
1.命令行模式:
1.移动光标:
行:
1.光标移动首行 gg **
2.光标移动尾行 G **
3.光标移动num行 num+G
行内移动:
1.移动行头 shift +^
2.移动行尾 shift+$
2.复制
1.复制光标当前行 yy+p **
2.复制光标当前行以下num行 y+num+y +p
3.删除
1.删除当前光标所在行 dd **
2.删除当前光标所在行以下num行 d+num+d
3.删除当前光标以下所有行 dG **
3.撤回 u
2.尾行模式: shift+; =>:
1.w 保存
2.q 退出
3.! 强制退出
4./查找的词 n 查找下一个 N 往上找
5.显示行号 set nu
6.关闭行号 set nonu
退出保存: 尾行模式: shift+; =>:
1.wq
2.wq!
3.x
4.快捷键 shift+zz
需求:
创建一个1.log
添加内容:
1 linux easy 5行
2 linux easy
...
删除第3 行
删除4行以下所有行
需求:
清空一个文件? 【里面没有内容】
1.echo "" > xx.log
2.cat /dev/null > xx.log
3.删除 +touch 【先不用】
人为编辑一个文件 该如何清空?
gg + dG ***
7.查看文件
cat 查看文件所用内容 打印到控制台 **【文件内容比较少】
文件内容比较多 =》 vim
more 文件内容一页一页往下翻 按空格 往下翻 q退出 终止进程 ctrl+z ctrl +c
less 文件内容一页一页往下翻 按空格 往下翻 上下箭头 q退出 终止进程 ctrl+z ctrl +c
tail 实时查看文件内容: flume 采集日志【了解】
-f
-F => -f + retry
日志数据:
java app =》 springboot =》 log 【log4j】
qingtian.log 100m
qingtian.log qingtian_1.log
qingtian.log
日志:
qingtian.log 【正在生成的日志】
qingtian_1.log 【写完】
qingtian_2.log
qingtian_3.log
qingtian_4.log
qingtian_5.log
flume :
tail -F qingtian.log
cat
log => 监控app运行情况 =》
error
1.安装app
tail -f log
2.app 运行 报错
思考:
快速定位 error 的位置 【log 1g】
1.
cat anaconda.log | grep -A 10 error 后10行 after
cat anaconda.log | grep -B 10 error 前10行
cat anaconda.log | grep -C 10 error 前后各10行
| 管道符 上一个命令的结果作为下一个命令的输入
grep 过滤
cat anaconda.log | grep -C 10 error > error.log [error.log日志文件还是很大]
下载到本地
文件上传下载:
1.yum install -y lrzsz
rz上传
sz xxx 下载
2.远程连接工具:
上传 【直接拖】
下载 【】
linux里面安装软件: 【centos】
1.yum
2.rpm
3.tar
github
xxxhub
8.mv cp 移动 复制
mv 移动: 操作的文件始终是 1份
1.移动
[root@gh10 ~]# mv ./5.log ./zuoshao/
2.改名字
mv 1.log 1_1.log
cp 复制:操作的文件始终是 2份
1.移动
[root@gh10 ~]# cp 4.log ./zuoshao/
2.改名字
[root@gh10 ~]# cp 4.log 4_1.log
9.rm 删除文件或者文件夹【高危命令】
1.文件
1.[root@gh10 ~]# rm 4_1.log
rm:是否删除普通空文件 "4_1.log"?y
2.[root@gh10 ~]# rm -f 1_1.log
[root@gh10 ~]# rm -rf .zuoshao
2.文件夹
1.[root@gh10 ~]# rm -r zuoshao/
rm:是否进入目录"zuoshao/"? y
rm:是否删除普通空文件 "zuoshao/4.log"?y
2.[root@gh10 ~]# rm -r -f haoge/
通用:
rm -r -f xx
rm -rf xxx
rm -rf ./* * 表示所有
[root@gh10 ~]# rm -rf ./*
rm -rf / [千万别写]
10.别名 alias
ls -l => ll
注意:在当前会话生效 ,在其他会话不生效
[root@gh10 ~]# alias aa="cd /tmp"
[root@gh10 anaconda]# aa
bash: aa: 未找到命令...
aa命令 在任何位置都能用?
环境变量:好处=》在任何位置都能用
环境变量:
环境变量文件:
1.全局环境变量 【所有用户都可以使用】
/etc/profile
2.个人环境变量 【个人用户可以使用】
~/.bash_rc
~/.bash_profile
1.配置环境变量:
[root@gh10 ~]# vim /etc/profile
alias aa="cd /tmp"
2.生效环境变量:
[root@gh10 ~]# source /etc/profile
切换用户:
su - xxx
zuoshao 用户
alias cc="cd /tmp"
配置在个人环境变量:
~/.bash_rc
11.history
注意:
如果你干坏事 history
1.!执行历史操作
[root@gh10 ~]# !176
2.如果你干坏事 history -c
12.用户相关命令
用户
[root@gh10 ~]# ll /usr/sbin/user*
-rwxr-x---. 1 root root 118192 11月 6 2016 /usr/sbin/useradd
-rwxr-x---. 1 root root 80360 11月 6 2016 /usr/sbin/userdel
-rwxr-x---. 1 root root 113840 11月 6 2016 /usr/sbin/usermod
用户组
[root@gh10 ~]# ll /usr/sbin/group*
-rwxr-x---. 1 root root 65480 11月 6 2016 /usr/sbin/groupadd
-rwxr-x---. 1 root root 57016 11月 6 2016 /usr/sbin/groupdel
-rwxr-x---. 1 root root 57064 11月 6 2016 /usr/sbin/groupmems
-rwxr-x---. 1 root root 76424 11月 6 2016 /usr/sbin/groupmod
1.用户
1.创建用户
useradd:
[root@gh10 ~]# useradd qs
[root@gh10 ~]# id qs
uid=1002(qs) gid=1002(qs) 组=1002(qs)
useradd qs:
1.创建了一个用户 qs
2.创建了一个用户组 qs
3.生成了家目录:/home/qs
2.切换用户
su - xx
su xx
注意:
root =》 xx 不需要密码
xxx =》xxxx 都需要密码
3.存储用户信息的文件 /etc/passwd
2.组
1.添加一个组
[root@gh10 ~]# groupadd jjm
2.存储用户组信息的文件 /etc/groups
修改qs用户组?
组:
主组 附属组
usermod -a -G jjm qs
需求:
qs 主组 jjm 附属组 qs jjm
[root@gh10 ~]# usermod -g jjm qs
[root@gh10 ~]# id qs
uid=1002(qs) gid=1004(jjm) 组=1004(jjm)
[root@gh10 ~]# usermod -a -G qs qs
[root@gh10 ~]# id qs
uid=1002(qs) gid=1004(jjm) 组=1004(jjm),1002(qs)
3.设置用户密码
passwd xxx [root]
4.普通用户临时具有root用户的权限
sudo ls
前提: 配置一个普通用户临时具有root用户的权限 文件
/etc/sudoers
[root@gh10 ~]# vim /etc/sudoers
zuoshao ALL=(ALL) NOPASSWD: ALL
[zuoshao@gh10 root]$ sudo ls
2.log
emo
13.文件权限相关命令
1.权限
drwxr-xr-x. 2 root root 4096 3月 18 15:48 app
权限 用户 用户组 大小 时间 文件 文件夹的名字
drwxr-xr-x:10个字母
1.第一个字母:
d 文件夹
- 文件
l 软连接【快捷方式】
2.权限rwxr-xr-x 755
权限:
r 读权限 4
w 写权限 2
x 执行权限 1
- 没权限 0
第一组:rwx 4+2+1=7 代表文件的所属用户的权限
第二组:r-x 4+0+1=5 代表文件的所属用户组的权限 jjm
第三组:r-x 5 代表文件的其他用户组的权限
drwxr-xr-x. 2 root root 4096 3月 18 15:48 app
755
-rw-r--r--. 1 root root 10 3月 18 14:50 2.log
644
3.修改文件权限
文件:
chmod 646 2.log
文件夹:
chmod -R 646 xx
drwxr-xr-x 755
chmod -R 750 data
4.修改文件的所属者
chown
文件:
[root@gh10 tmp]# chown zuoshao:zuoshao 1.log
文件夹:
[root@gh10 tmp]# chown -R zuoshao:zuoshao xx
14.其他
1.查找文件:
1.find / -name "*zuoshao*"
2.locate xxx [选择性使用]
2.查看文件大小
ll -h =>只能查看文件大小
du -sh xx => 既可以查看文件夹 也可以查看文件
3.相关的命令
查看机器内存:free
[zuoshao@gh10 ~]$ free -h
磁盘:df
[zuoshao@gh10 ~]$ df -h
top:查看进程 实时进程 top
load average: 0.00, 0.04, 0.05 负载 =》 10
每个进程的 cpu mem
网络:
linux 192.168.10.133
win
1.ping
2.查看某个进程的pid
ps -ef | grep
1.java app =》 jps =》pid
2.http
1.安装:httpd
yum install httpd
2.启动
[zuoshao@gh10 ~]$ service httpd start
httpd =》 有哪些进程
1.查看进程的pid
ps -ef | grep httpd
2.杀死 进程
service httpd stop 【优雅】
kill -9 pid
3.按照app名字进行杀进程
kill -9 $(pgrep -f http)
netstat =>pid =>port