常识
1.为什么要使用linux ?
...
2.如何连接到远程服务器?
1.远程连接工具:Xshell
2.远程登录条件:
对方机器:
ip :
查看机器网卡的ip
ifconfig
port :(一般22)
用户名
密码
3.linux概述?
1.操作系统
2.发明:
林纳斯 =》linux内核
=》git
3.版本:
乌班图、小红帽、centos、Debian、。。。
centos =》 win 专业版
4.其他操作系统?
1.win、linux、ios、and、mac、鸿蒙os
部署linux系统:
1.vm 安装
2.linux镜像【centos 7.x】
centos :
6.x
7.x
配置:
/boot ext4 : 1g
分配linux机器启动的时候 需要的空间
swap:
linux 内存 1g =》
把磁盘当做内存来使用 1g
/ : 完整的磁盘空间 ext4 =》 18g
相关命令
1.pwd 查看当前光标所在的目录
[root@gh10 ~]# pwd
/root
2.ls 显示文件夹或者文件
用法:ls [选项]... [文件]...
ls -l 显示文件夹或者文件详细信息
ls -l -a 显示文件夹或者文件详细信息+ 显示隐藏文件 【隐藏文件:.开头的文件】
ls -l => ll
ls -l -h 查看文件大小
[root@gh10 ~]# ls
zuoshao
3.mkdir 创建文件夹
[root@gh10 ~]# mkdir zuoshao
//并级创建文件夹:
[root@gh10 ~]# mkdir xuanxuan tiantain haoge
//串级创建文件夹:
[root@gh10 ~]# mkdir -p zuoshao/dir1/dir2/dir3
4.cd 切换目录
[root@gh10 ~]# cd zuoshao/
//目录【路径】:
//相对路径:从当前光标开始的路径
[root@gh10 ~]# cd haoge/
//绝对路径:从根目录开始的路径
[root@gh10 ~]# cd /root/haoge/
如何回到家目录:
1.cd /root
2.cd 回车
3.cd ~
./ => 当前路径
../ ==》 上一层级目录
cd - 回到上一次操作的目录
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.echo "" > xx.log
2.cat /dev/null > xx.log
3.删除 +touch 【先不用】
人为编辑一个文件 该如何清空?
gg + dG ***
7.查看文件
cat 查看文件所用内容 打印到控制台 **【文件内容比较少】
文件内容比较多 =》 vimmore 文件内容一页一页往下翻 按空格 往下翻 q退出 终止进程 ctrl+z ctrl +c
less 文件内容一页一页往下翻 按空格 往下翻 上下箭头 q退出 终止进程 ctrl+z ctrl +c
tail 实时查看文件内容: flume 采集日志【了解】
-f -F的区别
-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】
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
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.文件
[root@gh10 ~]# rm 4_1.log
//rm:是否删除普通空文件 "4_1.log"?y
[root@gh10 ~]# rm -f 1_1.log
[root@gh10 ~]# rm -rf .zuoshao
//2.文件夹
[root@gh10 ~]# rm -r zuoshao/
//rm:是否进入目录"zuoshao/"? y
//rm:是否删除普通空文件 "zuoshao/4.log"?y
2.[root@gh10 ~]# rm -r -f haoge/
通用:
rm -rf xxx
rm -rf ./* * 表示所有
[root@gh10 ~]# rm -rf ./*
rm -rf / [千万别写]
rm -rf /xxx[也不要写] xxx可能是一个空的 /xxx => /
10.别名 alias
ls -l => ll
[root@gh10 ~]# alias aa="cd /tmp"//等号2边不能有空格
//注意:在当前会话生效 ,在其他会话不生效
[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
[root@hxh ~]# history
97 cd /etc
98 cd etc/sysconfig/network-scripts/
99 cd ./sysconfig
100 cd ./network-scripts/
101 vi ifcfg-ens33
102 su ameng
103 cd ~
104 cd etc/
105 mkdir aa
106 cd aa/
注意:
如果你干坏事 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
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
6443.修改文件权限
文件:
chmod 646 2.log
文件夹:
chmod -R 646 xx
drwxr-xr-x 755
chmod -R 750 data4.修改文件的所属者
chown
//文件:
[root@gh10 tmp]# chown zuoshao:zuoshao 1.log
//文件夹:
[root@gh10 tmp]# chown -R zuoshao:zuoshao xx
14.其他
//1.查找文件:
find / -name "*zuoshao*"
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
java app =》 jps =》pid
启动
[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