文章目录
- 一.linux命令
- 1.root
- 2.pwd 查看当前光标所在的目录 路径
- 3.ls 查看
- 4.mkdir 创建文件夹
- 5.cd 切换目录 路径
- 6.命令帮助 help
- 7.清楚屏幕 clear
- 8.mv移动 cp复制
- 9.创建文件
- 10.查看文件内容 log config data
- 11. 上传下载
- 12.别名 alias
- 13.环境变量
- 14.创建用户
- 15.自动补全 释放你的手指 节省力量
- 16.history 历史命令
- 17.【高危命令】 rm
- 18.用户 用户组
- 19.设置密码passwd
- 20.切换用户
- 21.sudo
- 22./etc/passwd文件
- 23.权限
- 24.大小
- 25.搜索 find
- 26.vi命令
- 27.系统常用检查命令
- 28.yum安装
- 29.进程 端口号
- 30.下载
- 31.压缩 解压
- 32.命令找不到
- 33.定时
- 34.后台执行脚本
- 35.修改机器hostname
- 36. grep 出文件中的配置
- 37.linux防火墙命令
一.linux命令
window装xshell或者crt 百度下载
------------------------------------------------
1.root
[root@ruozedata001 ~]#
root 默认管理员 最大权限
ruozedata001 机器名称
~ 当前该用户的 家目录 /root
2.pwd 查看当前光标所在的目录 路径
[root@ruozedata001 ~]# pwd
/root
[root@ruozedata001 ~]#
3.ls 查看
[root@ruozedata001 ~]# ls
ls 显示文件夹 文件名称
ls -l 显示额外信息 权限 用户用户组 时间 大小
ls -l -a 也显示隐藏文件夹 文件
[root@ruozedata001 ~]# ls -l -a
total 40
dr-xr-x---. 6 root root 4096 Apr 15 21:51 .
dr-xr-xr-x. 17 root root 4096 Aug 8 2018 ..
-rw-------. 1 root root 3814 Apr 15 21:49 .bash_history
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
隐藏文件夹 文件是以.开头
ls -l -h 仅仅查看文件的大小
ls -l -r -t 按时间排序如何快速找到哪些文件 更新了
ls -l ==》ll 等价
ll -a
ll -rt
ll -h
4.mkdir 创建文件夹
[root@ruozedata001 ~]# mkdir ruozedata
[root@ruozedata001 ~]#
[root@ruozedata001 ~]# ls
ruozedata
[root@ruozedata001 ~]#
mkdir dir1 dir2 dir3 并
mkdir -p dir4/dir5/dir6 串 级联创建
5.cd 切换目录 路径
[root@ruozedata001 ~]# cd /
Linux系统 从根目录 标识 /
cd dir1 进入dir1文件夹
cd ../ 退上一层目录
cd ../../ 2层
root用户 家目录 /root
普通xx用户 家目录 /home/xx
家目录 是 ~ 表示
如何进家目录:
cd /root
cd 直接回车 J哥习惯
cd ~
cd - 回退到上一次的目录
[root@ruozedata001 ~]# cd dir4
[root@ruozedata001 dir4]# cd dir5/dir6
[root@ruozedata001 dir6]#
[root@ruozedata001 dir6]# cd -
/root/dir4
[root@ruozedata001 dir4]#
6.命令帮助 help
[root@ruozedata001 /]# ls --help
Usage: ls [OPTION]... [FILE]...
[]标识的 可选
... 多个参数
Usage: ls [OPTIONS]
Usage: ls XXX [OPTIONS]
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options too.
-a, --all do not ignore entries starting with .
-A, --almost-all do not list implied . and ..
7.清楚屏幕 clear
8.mv移动 cp复制
mv是始终一份 快
cp是两份 慢
不标准写法:
mv dir1 ruozedata
cp -r dir2 ruozedata
标准写法:
mv dir1 ruozedata/dir1
cp -r dir2 ruozedata/dir2
小作业:
mv dir1 ruozedata/dir111
cp -r dir2 ruozedata/dir222
也支持修改名称
mv dir2 dir22
cp -r dir3 dir33
9.创建文件
touch 1.log 空文件
vi 2.log
默认命令行
i键 编辑模式,进行编辑
esc键 从编辑模式--》命令行模式
shift+:键 从命令行模式--》尾行模式,输入wq 保存退出
主要场景是为了 覆盖内容 或者 追加内容
echo "ruozedata" > 3.log
打印一句话
> 创建或覆盖 【高危命令1】
>> 追加
10.查看文件内容 log config data
cat 文件内容一下子全部显示 ctrl+z 中断
more 文件内容一页页往下翻,按空格往下 回退不了 q退出
less 文件内容 按上下键 q退出
cat 文件内容 少
more 文件内容 稍微多点
tail 实时查看文件最新内容
tail -f xxx.log
tail -F yyy.log =-f+ retry
场景: 采集业务log日志内容 log4j
规则: 每份100m 保留10份
系统--》 erp.log 90m ...100m
mv erp.log erp.log1
touch erp.log
ll命令查看
erp.log
erp.log1
erp.log2
....
erp.log10
项目喂出来 踩坑
大数据Flume组件 exec source: tail -F erp.log
想要查看文件内容倒数100行,同时实时监控
tail -100f xxx.log
tail -100F xxx.log 错误的
文件内容超多 定位ERROR 信息
cat xxx.log | grep ERROR 当前行
cat xxx.log | grep -A 5 ERROR 后5行
cat xxx.log | grep -B 5 ERROR 前5行
cat xxx.log | grep -C 5 ERROR 前后各5行
| 管道符
grep 过滤
比如 xxx.log ERROR 很多 上万个
cat xxx.log | grep -C 5 ERROR > 20200418error.log
more 20200418error.log
文件内容100m :
vi xxx.log
shift+:
/
ERROR
n寻找
下载到window
editplus(window)
notepad++
sublime(widnow mac)工具 搜索 统计 校验
11. 上传下载
安装工具包 yum install -y lrzsz
sz xxx.log是下载 Linux--》window
rz 是上传 window--》Linux
12.别名 alias
[root@ruozedata001 log]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@ruozedata001 log]#
只在当前会话生效
[root@ruozedata001 log]# alias jj='cd /tmp'
其他会话不生效
[root@ruozedata001 ~]# jj
-bash: jj: command not found
[root@ruozedata001 ~]#
是因为没有在环境变量文件配置
13.环境变量
全局 : /etc/profile 所有用户都可以使用
个人: ~/.bash_profile 只能是当前用户使用 其他不能使用
~/.bashrc 【J哥推荐】
场景: ssh 远程执行B机器 命令 找不到 java command not found
直接登录B机器 命令是找到的 which java有的
命令的环境变量配置在.bash_profile 是不正确的。
应该配置在.bashrc文件
生效文件:
source /etc/profile
source ~/.bash_profile
source ~/.bashrc
cd 进家目录
. .bashrc
14.创建用户
root 默认管理员用户 已存在的
jepson
[root@ruozedata001 tmp]# useradd jepson
[root@ruozedata001 tmp]# su - jepson
[jepson@ruozedata001 ~]$ pwd
/home/jepson
[jepson@ruozedata001 ~]$
[jepson@ruozedata001 ~]$ jj 是因为jj配置在全局变量文件
[jepson@ruozedata001 tmp]$ pwd
/tmp
[jepson@ruozedata001 tmp]$
[jepson@ruozedata001 tmp]$
15.自动补全 释放你的手指 节省力量
tab键一次,只有1个 命令自动补全
多个 没响应
按二次,会把当前匹配到的 所有 打印出来,再挑选
16.history 历史命令
!2 执行第二行命令
history -c 清空历史
直连 服务器 ok
跳板机(vpn) 服务器 ok
堡垒机 敲一个命令 都记录 堡垒机系统里 web界面 可视化
17.【高危命令】 rm
千万不要做 rm -rf / 一了百了
[root@ruozedata001 ~]# rm 11.log
rm: remove regular file ‘11.log’? y
[root@ruozedata001 ~]# rm -f 1.log
[root@ruozedata001 ~]# rm -r dir22
rm: remove directory ‘dir22’? y
[root@ruozedata001 ~]# rm -rf dir33
[root@ruozedata001 ~]#
场景:
脚本里
LOG_PATH=/xxx/yyy
业务逻辑判断 去赋值
漏了一种 没有赋值
rm -rf ${LOG_PATH}/* ==》rm -rf /*
该怎么避免 :
每次删除之前 都判断${LOG_PATH} 是否存在
作业:
1.上次和这次课的 命令 对照敲一篇
2.整理博客
补充:
[root@JD ~]# hostnamectl set-hostname ruozedata001
[root@ruozedata001 ~]# ifconfig 找内网ip 或者 京东云控制台查看
[root@ruozedata001 ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.3 ruozedata001
18.用户 用户组
[root@ruozedata001 ~]# ll /usr/sbin/user*
-rwxr-x--- 1 root root 118192 Nov 6 2016 /usr/sbin/useradd
-rwxr-x--- 1 root root 80360 Nov 6 2016 /usr/sbin/userdel
-rwxr-x--- 1 root root 113840 Nov 6 2016 /usr/sbin/usermod
-rwsr-xr-x 1 root root 11296 Apr 13 2017 /usr/sbin/usernetctl
[root@ruozedata001 ~]#
[root@ruozedata001 ~]#
[root@ruozedata001 ~]# ll /usr/sbin/group*
-rwxr-x--- 1 root root 65480 Nov 6 2016 /usr/sbin/groupadd
-rwxr-x--- 1 root root 57016 Nov 6 2016 /usr/sbin/groupdel
-rwxr-x--- 1 root root 57064 Nov 6 2016 /usr/sbin/groupmems
-rwxr-x--- 1 root root 76424 Nov 6 2016 /usr/sbin/groupmod
[root@ruozedata001 ~]#
[root@ruozedata001 ~]#
[root@ruozedata001 ~]#
[root@ruozedata001 ~]# useradd ruoze
[root@ruozedata001 ~]# id ruoze
uid=1004(ruoze) gid=1004(ruoze) groups=1004(ruoze)
[root@ruozedata001 ~]#
创建一个普通用户 用户名称 ruoze
同时也会创建一个 ruoze用户组
设置ruoze用户的组为ruoze,且把这个ruoze用户组设置为 主组
同时也创建家目录 /home/ruoze
[root@ruozedata001 ~]# ll /home
drwx------ 2 ruoze ruoze 59 Apr 19 20:10 ruoze
用户存储信息 /etc/passwd
用户组 /etc/group
[root@ruozedata001 ~]# userdel ruoze
[root@ruozedata001 ~]# useradd ruoze
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
Creating mailbox file: File exists
[root@ruozedata001 ~]#
样式丢失
[root@ruozedata001 ~]# su - ruoze
Last login: Sun Apr 19 20:16:54 CST 2020 on pts/0
[ruoze@ruozedata001 ~]$ ll -a
total 16
drwx------ 2 ruoze ruoze 79 Apr 19 20:16 .
drwxr-xr-x. 7 root root 67 Apr 19 20:10 ..
-rw------- 1 ruoze ruoze 28 Apr 19 20:17 .bash_history
-rw-r--r-- 1 ruoze ruoze 18 Apr 11 2018 .bash_logout
-rw-r--r-- 1 ruoze ruoze 193 Apr 11 2018 .bash_profile
-rw-r--r-- 1 ruoze ruoze 231 Apr 11 2018 .bashrc
[ruoze@ruozedata001 ~]$ rm -rf .bash*
[ruoze@ruozedata001 ~]$ ll -a
total 0
drwx------ 2 ruoze ruoze 6 Apr 19 20:17 .
drwxr-xr-x. 7 root root 67 Apr 19 20:10 ..
[ruoze@ruozedata001 ~]$
[ruoze@ruozedata001 ~]$
[ruoze@ruozedata001 ~]$ exit
logout
[root@ruozedata001 ~]# su - ruoze
Last login: Sun Apr 19 20:17:08 CST 2020 on pts/0
-bash-4.2$
-bash-4.2$
-bash-4.2$
-bash-4.2$ id
uid=1004(ruoze) gid=1004(ruoze) groups=1004(ruoze)
-bash-4.2$
-bash-4.2$ cp /etc/skel/.* ./
cp: omitting directory ‘/etc/skel/.’
cp: omitting directory ‘/etc/skel/..’
-bash-4.2$ ll -a
total 16
drwx------ 2 ruoze ruoze 79 Apr 19 20:20 .
drwxr-xr-x. 7 root root 67 Apr 19 20:10 ..
-rw------- 1 ruoze ruoze 39 Apr 19 20:18 .bash_history
-rw-r--r-- 1 ruoze ruoze 18 Apr 19 20:20 .bash_logout
-rw-r--r-- 1 ruoze ruoze 193 Apr 19 20:20 .bash_profile
-rw-r--r-- 1 ruoze ruoze 231 Apr 19 20:20 .bashrc
-bash-4.2$
样式恢复
-bash-4.2$
-bash-4.2$ exit
logout
[root@ruozedata001 ~]# su - ruoze
Last login: Sun Apr 19 20:18:56 CST 2020 on pts/0
[ruoze@ruozedata001 ~]$
[ruoze@ruozedata001 ~]$
[ruoze@ruozedata001 ~]$
添加用户到bigdata用户组
[root@ruozedata001 ~]# groupadd bigdata
[root@ruozedata001 ~]# usermod -a -G bigdata ruoze
[root@ruozedata001 ~]# id ruoze
uid=1004(ruoze) gid=1004(ruoze) groups=1004(ruoze),1005(bigdata)
[root@ruozedata001 ~]#
[root@ruozedata001 ~]#
[root@ruozedata001 ~]# usermod -g bigdata ruoze
[root@ruozedata001 ~]#
[root@ruozedata001 ~]# id ruoze
uid=1004(ruoze) gid=1005(bigdata) groups=1005(bigdata)
[root@ruozedata001 ~]#
[root@ruozedata001 ~]#
[root@ruozedata001 ~]# usermod -a -G ruoze ruoze
[root@ruozedata001 ~]#
[root@ruozedata001 ~]# id ruoze
uid=1004(ruoze) gid=1005(bigdata) groups=1005(bigdata),1004(ruoze)
[root@ruozedata001 ~]#
[root@ruozedata001 ~]#
19.设置密码passwd
[root@ruozedata001 ~]# passwd
Changing password for user root.
New password:
[root@ruozedata001 ~]# passwd ruoze
Changing password for user ruoze.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@ruozedata001 ~]#
20.切换用户
su ruoze
su - ruoze 【J哥推荐】
代表该用户切换到家目录,且执行环境变量文件
[root@ruozedata001 ~]# pwd
/root
[root@ruozedata001 ~]# su ruoze
[ruoze@ruozedata001 root]$ pwd
/root
[ruoze@ruozedata001 root]$ exit
exit
[root@ruozedata001 ~]# su - ruoze
Last login: Sun Apr 19 20:33:23 CST 2020 on pts/2
[ruoze@ruozedata001 ~]$ pwd
/home/ruoze
[ruoze@ruozedata001 ~]$
21.sudo
普通用户临时使用root的最大权限
vi /etc/sudoers
ruoze ALL=(root) NOPASSWD:ALL
[ruoze@ruozedata001 ~]$ cat /root/rz.log
cat: /root/rz.log: Permission denied
[ruoze@ruozedata001 ~]$
[ruoze@ruozedata001 ~]$
[ruoze@ruozedata001 ~]$ sudo cat /root/rz.log
www.ruozedata.com
[ruoze@ruozedata001 ~]$
22./etc/passwd文件
ruoze:x:1004:1005::/home/ruoze:/sbin/nologin 提示
ruoze:x:1004:1005::/home/ruoze:/usr/bin/false 没提示
CDH平台 hdfs yarn hive hbase
su - yarn 不成功的
/sbin/nologin /usr/bin/false ===》/bin/bash
23.权限
[root@ruozedata001 ~]# ll
-rw-r--r-- 1 root root 9 Apr 18 20:50 22.log
drwxr-xr-x 2 root root 6 Apr 15 22:12 dir3
第一个字母:d文件夹 -文件 l连接
后面9个字母,3个字母为一组:
rw- r-- r--
r: read 读权限 4
w: write 写权限 2
x: 执行 1
-: 没权限 0 占位
7=4 2 1
5=4 1
6=4 2
rw- 第一组 6 代表文件或文件夹的所属用户,读写权限
r-- 第二组 4 代表文件或文件夹的所属用户组,读权限
r-- 第三组 4 代表其他用户组的用户对这个文件或文件夹,读权限
rw-r--r-- root root 22.log
关于权限:
chmod -R 777 文件或文件夹
chown -R 用户:用户组 文件或文件夹
3=2+1 w x
r-x
案例:
[root@ruozedata001 tmp]# vi ruoze.log
www.ruozedata.com
[ruoze@ruozedata001 tmp]$ cat ruoze.log
www.ruozedata.com
[ruoze@ruozedata001 tmp]$
收回其他组的r权限
[root@ruozedata001 tmp]# chmod 640 ruoze.log
[ruoze@ruozedata001 tmp]$ cat ruoze.log
cat: ruoze.log: Permission denied
24.大小
文件: ll -h 、du -sh
文件夹: du -sh
25.搜索 find
接手大数据平台,服务器登录,大数据组件安装目录在哪?
find / -name ‘hadoop’
find /home/hadoop/ -name ‘hadoop’
补充:
history 命令
ps -ef 查看进程
26.vi命令
26.1 正常编辑一个文件,要正常退出 wq
反之:
-rw-r--r-- 1 root root 16 Apr 19 21:26 2.log
-rw-r--r-- 1 root root 12288 Apr 19 21:31 .2.log.swp
rm -rf .2.log.swp
26.2 粘贴的坑,必须进入编辑模式,否则第一行内容丢失 不完整
26.3 搜索 尾行–》 /error
26.4 行号
尾行–》 set nu 设置行号
set nonu 取消行号
f 也是可以显示 当前光标的所在的行
26.5 常用快捷方式
dd 删除当前行
dG 删除当前及以下所有行
ndd 删除当前及以下n行
gg 跳转到第一行的第一个字母
G 跳转到最后一行的第一个字母
shift+$ 行尾
场景:
清空这个文件内容,从另外一个文件内容 拷贝过来
gg--》dG --》 i -->鼠标右键单击 粘贴上
清空补充:
cat /dev/null > 1.log
echo "" > 2.log
[root@ruozedata001 ~]# ll
total 16
-rw-r--r-- 1 root root 0 Apr 19 21:58 1.log
-rw-r--r-- 1 root root 1 Apr 19 21:58 2.log
场景:
shell脚本,数据文件清空操作,根据字节大小判断是否清空完成
echo "" > 2.log
if filezie > 0 then
业务不操作
else
2.log 灌业务数据
作业:
1.课堂的命令对照做,梳理笔记为自己的
2.博客 五一前 检查各位博客
true > 1.log 也是清空文件内容 0字节
27.系统常用检查命令
磁盘 df -h
内存 free -m
负载 top
[ruoze@ruozedata001 ~]$ free -m
total used free shared buff/cache available
Mem: 7823 222 6229 257 1371 7096
Swap: 0 0 0
大数据 生产服务器 swap是设置0 10也可以
[ruoze@ruozedata001 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 16G 25G 39% /
/dev/vdb1 2T 16G 25G 1% /data01
/dev/vdb2 2T 16G 25G 1% /data02
/dev/vdb3 2T 16G 25G 1% /data03
/dev/vdb4 2T 16G 25G 1% /data04
500G ssd
不要
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 16K 3.9G 1% /dev/shm
tmpfs 3.9G 258M 3.6G 7% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
tmpfs 783M 0 783M 0% /run/user/1004
[ruoze@ruozedata001 ~]$
系统负载
load average: 0.01, 0.03, 0.05
1min 5min 15min
经验值: 10 生产不用超过这个 ,否则认为服务器就是卡
a.是你的程序有问题 在大量跑计算
b.是不是被挖矿 yarn redis 最容易被hacker 攻击
c.硬件问题 内存条 硬盘 重启
top - 21:20:22 up 7 days, 58 min, 1 user, load average: 0.01, 0.03, 0.05
Tasks: 89 total, 1 running, 88 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.2 us, 0.5 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.3 st
KiB Mem : 8011076 total, 6377388 free, 229060 used, 1404628 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 7265724 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2374 root 20 0 394348 31376 8608 S 0.3 0.4 41:44.99 jdog-kunlunmirr
1 root 20 0 125356 3796 2508 S 0.0 0.0 1:22.32 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.08 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 0:02.50 kworker/u4:0
28.yum安装
yum search httpd
yum install httpd
centos6:
service httpd status|start|stop 1个应用httpd
centos7:
service httpd status|start|stop 兼容
systemctl status|start|stop httpd app2 app3 app4 一次性操作多个应用
搜索 卸载:
[root@ruozedata001 ~]# rpm -qa|grep http
httpd-2.4.6-90.el7.centos.x86_64
httpd-tools-2.4.6-90.el7.centos.x86_64
[root@ruozedata001 ~]# rpm -e 包名称 --nodeps
[root@ruozedata001 ~]# yum remove httpd-2.4.6-90.el7.centos.x86_64
29.进程 端口号
ps -ef | grep http
kill -9 16629
kill -9 16630 16631 16632 16633 16634
根据匹配字段 搜索所有符合的进程 全部杀死
但是: 生产慎用 除非你先ps查看 这个关键词搜索的进程 是不是都是你想要杀死的进程
保不齐有个其他服务的进程 会造成误杀 生产事故!!!
[root@ruozedata001 ~]# ps -ef|grep http
root 18363 1 0 21:51 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 18364 18363 0 21:51 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 18365 18363 0 21:51 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 18366 18363 0 21:51 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 18367 18363 0 21:51 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 18368 18363 0 21:51 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
root 18387 15881 0 21:51 pts/2 00:00:00 grep --color=auto http
[root@ruozedata001 ~]# kill -9 $(pgrep -f httpd)
[root@ruozedata001 ~]#
[root@ruozedata001 ~]#
[root@ruozedata001 ~]# ps -ef|grep http
root 18444 15881 0 21:52 pts/2 00:00:00 grep --color=auto http
[root@ruozedata001 ~]#
[root@ruozedata001 ~]# ps -ef|grep http
root 18670 1 0 21:53 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 18671 18670 0 21:53 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 18672 18670 0 21:53 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 18673 18670 0 21:53 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 18674 18670 0 21:53 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 18675 18670 0 21:53 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
root 18696 15881 0 21:54 pts/2 00:00:00 grep --color=auto http
[root@ruozedata001 ~]# yum install -y net-tools.x86_64
[root@ruozedata001 ~]# netstat -nlp| grep 18670
tcp6 0 0 :::80 :::* LISTEN 18670/httpd
[root@ruozedata001 ~]#
[root@ruozedata001 ~]#
[root@ruozedata001 ~]#
[root@ruozedata001 ~]# netstat -nlp| grep 18671
[root@ruozedata001 ~]# netstat -nlp| grep 18672
[root@ruozedata001 ~]# netstat -nlp| grep 18673
[root@ruozedata001 ~]#
进程不一定都会起到端口号
但是 与其他服务通信 比如需要端口号!!!
老板: 去打开xxx服务器的应用yyy的网页?你会涉及到哪些Linux命令
ip
ps -ef|grep yyy --》pid
netstat -nlp|grep pid --》port
浏览器: http://ip:port
细节:
[root@ruozedata001 ~]# netstat -nlp| grep 18670
tcp6 0 0 :::80 :::* LISTEN 18670/httpd
tcp6 0 0 0.0.0.0:80 :::* LISTEN 18670/httpd
tcp6 0 0 192.168.0.3:80 :::* LISTEN 18670/httpd
tcp6 0 0 127.0.0.1:80 :::* LISTEN 18670/httpd
tcp6 0 0 localhost:80 :::* LISTEN 18670/httpd
危险: 该服务只能自己服务器的里面自己访问自己
ping ip
telnet ip port
window cmd:
ping 114.67.101.143
telnet 114.67.101.143 80
Linux:
[root@ruozedata001 ~]# telnet ruozedata001 80
Trying 192.168.0.3...
Connected to ruozedata001.
Escape character is '^]'.
^Z
Connection closed by foreign host.
[root@ruozedata001 ~]#
[root@ruozedata001 ~]#
[root@ruozedata001 ~]#
[root@ruozedata001 ~]#
[root@ruozedata001 ~]# telnet ruozedata001 809
Trying 192.168.0.3...
telnet: connect to address 192.168.0.3: Connection refused
[root@ruozedata001 ~]#
有可能你的服务器 防火墙 开启,云主机 需要开启 安全组策略
直接找Linux运维 网络工程师 加防火墙(硬件)策略
总结:
Connection refused
1.ping ip 因为服务器是ping功能禁止
2.telnet ip port ok
配置企业级别yum源 取代互联网的repo文件的URL
物理隔绝
30.下载
wget https://repo1.maven.org/maven2/org/apache/spark/spark-core_2.12/2.4.5/spark-core_2.12-2.4.5.jar
curl https://repo1.maven.org/maven2/org/apache/spark/spark-core_2.12/2.4.5/spark-core_2.12-2.4.5.jar -O spark-core_2.12-2.4.5.jar
31.压缩 解压
zip -r xxx.zip xxx/*
unzip xxx.zip
tar -czvf xxxx.tar.gz xxxx/*
tar -xzvf xxxx.tar.gz
Examples:
tar -cf archive.tar foo bar # Create archive.tar from files foo and bar.
tar -tvf archive.tar # List all files in archive.tar verbosely.
tar -xf archive.tar # Extract all files from archive.tar.
32.命令找不到
[root@ruozedata001 ~]#
[root@ruozedata001 ~]#
[root@ruozedata001 ~]# ls
dir1 dir1.tar.gz
[root@ruozedata001 ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
[root@ruozedata001 ~]# which jjj
/usr/bin/which: no jjj in (/home/dwz/app/python3/bin:/usr/java/jdk1.8.0_181/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)
[root@ruozedata001 ~]#
想要命令快速找到 which xxx 来验证,其实就是提前将命令的目录配置在环境变量$PATH
echo $PATH 来查看是否将命令的目录配置上!
[root@ruozedata001 ~]# echo $PATH
/home/dwz/app/python3/bin:/usr/java/jdk1.8.0_181/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
[root@ruozedata001 ~]# jjj
-bash: jjj: command not found
[root@ruozedata001 ~]#
command not found
a.没安装上
b.路径没配置
33.定时
脚本:
[root@ruozedata001 ~]#
[root@ruozedata001 ~]# vi ruoze.sh
#!/bin/bash
date
[root@ruozedata001 ~]#
[root@ruozedata001 ~]#
[root@ruozedata001 ~]# ll
total 8
drwxr-xr-x 2 root root 30 Apr 22 22:50 dir1
-rw-r--r-- 1 root root 128 Apr 22 22:49 dir1.tar.gz
-rw-r--r-- 1 root root 19 Apr 22 23:02 ruoze.sh
[root@ruozedata001 ~]# ./ruoze.sh
-bash: ./ruoze.sh: Permission denied
[root@ruozedata001 ~]# sh ./ruoze.sh
Wed Apr 22 23:02:36 CST 2020
[root@ruozedata001 ~]# chmod 744 ruoze.sh
[root@ruozedata001 ~]# ll
total 8
drwxr-xr-x 2 root root 30 Apr 22 22:50 dir1
-rw-r--r-- 1 root root 128 Apr 22 22:49 dir1.tar.gz
-rwxr--r-- 1 root root 19 Apr 22 23:02 ruoze.sh
[root@ruozedata001 ~]# ./ruoze.sh
Wed Apr 22 23:03:17 CST 2020
[root@ruozedata001 ~]#
[root@ruozedata001 ~]#
[root@ruozedata001 ~]# date
Wed Apr 22 23:03:21 CST 2020
[root@ruozedata001 ~]# crontab -e
* * * * * /root/ruoze.sh >> /root/ruoze.log
分
小时
日
月
周
* 表示 每
* * * * * 每分钟
*/1 * * * * 每分钟
面试题: 每隔10s打印一次 怎么做
*/6 * * * * 每6分钟
[root@ruozedata001 ~]# vi ruoze2.sh
#!/bin/bash
for((i=1;i<=6;i++));
do
date
sleep 10s
done
[root@ruozedata001 ~]# chmod +x ruoze2.sh
34.后台执行脚本
nohup /root/ruoze.sh >> /root/ruoze.log 2>&1 & 生产标准写法
35.修改机器hostname
临时修改 hostname XXX
用久修改 打开 /etc/hostname 进行修改
36. grep 出文件中的配置
[root@XX zabbix-server-mysql-XX]# grep '^[a-Z]' /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=XX
DBName=zabbix
DBUser=XX
DBPassword=XX
DBPort=3306
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
37.linux防火墙命令
1:查看防火状态
systemctl status firewalld
service iptables status
2:暂时关闭防火墙
systemctl stop firewalld
service iptables stop
3:永久关闭防火墙
systemctl disable firewalld
chkconfig iptables off
4:重启防火墙
systemctl enable firewalld
service iptables restart
5:永久关闭后重启
//暂时还没有试过
chkconfig iptables on