day02_linux高级
一.vi编辑器
!
vi操作文件三大步
打开文件: vim 文件名.后缀名 注意: 如果文件存在就打开,不存在就创建
编辑文件: 输入i进入文件进行编辑
保存文件:
1.先进入命令模式: 按ESC键
2.进入底线命令模式: 输入冒号:
3.输入命令: w(保存) q(退出) q!(强制退出) wq(保存并退出) wq!(强制保存并退出)
vi其他命令
二.安装notepad++客户端
安装插件
选择插件
创建远程连接.去连接linux虚拟机.
三.用户组和用户
用户组
添加用户组: groupadd 用户组名
查看用户组: cat /etc/group 快捷命令: getent group
删除用户组: groupdel 用户组名
修改指定文件用户组: chgrp 用户组 指定文件
[root@node1 /]# groupadd dev
[root@node1 /]# getent group
mysql:x:27:
jerry:x:1001:
dev:x:1002:
用户
超级管理员用户: root
用户之间切换: su 用户名 注意: root用户到普通用户不需要密码 普通用户到其他用户需要密码
退出当前用户: exit 或者 ctrl + d
root给普通用户临时授权:
1.进入sudoers文件: vi /etc/sudoers 快捷命令: visudo
2.在sudoers文件添加: 需要授权的用户名 ALL=(ALL) NOPASSWD=ALL
添加用户: useradd 用户名 [-g 用户组名] [-d 用户家路径]
注意: 1.添加用户的时候不指定用户组,自动生成和用户名同名的组 2.添加用户的时候不指定家路径,默认用户家路径是 /home/用户名
查看用户: cat /etc/passwd 快捷命令: getent passwd
删除用户: userdel [-r] 用户名
注意: 1.删除用户的时候,自动生成的同名用户组也会被删除 2.删除用户的时候如果加上-r,就会同时把用户家目录一并删除
将指定用户加入指定用户组: usermod -aG 用户组 用户名
四.权限
重点图解
chmod
修改权限方式1: chmod [-R] +rwx 文件 注意: w只能给当前用户加上
修改权限方式2: chmod [-R] 777 文件 以数字方式给文件设置最高权限
修改权限方式2: chmod u=rwx,g=rwx,o=rwx 文件 以符号方式给文件设置最高权限
#字母法修改文件操作权限
-rwxr-xr--. 1 itcast itcast 0 4月 6 15:14 b.txt
[itcast@node1 ~]$ chmod u=rw,g=rw,o=rw b.txt
[itcast@node1 ~]$ ll
-rw-rw-rw-. 1 itcast itcast 0 4月 6 15:14 b.txt
#数字法修改文件操作权限
-rw-r--r--. 1 root root 0 4月 6 15:25 a.txt
[jerry@node1 ccc]$ sudo chmod 666 a.txt
[jerry@node1 ccc]$ ll
-rw-rw-rw-. 1 root root 0 4月 6 15:25 a.txt
#修改目录和子目录操作权限
[root@node1 /]# chmod -R 777 ccc
[root@node1 /]# ll
drwxrwxrwx. 2 root root 32 4月 6 15:42 ccc
[root@node1 /]# cd ccc
[root@node1 ccc]# ll
-rwxrwxrwx. 1 root root 0 4月 6 15:25 a.txt
-rwxrwxrwx. 1 root root 0 4月 6 15:42 b.txt
chown
修改用户和用户组: chown [-R] 用户:用户组 文件
修改用户: chown [-R] 用户 文件
修改用户组: chown [-R] :用户组 文件
#修改文件a.txt
-rw-r--r--. 1 root root 0 4月 6 15:53 a.txt
[root@node1 zz20]# chown itcast a.txt
[root@node1 zz20]# ll
-rw-r--r--. 1 itcast root 0 4月 6 15:53 a.txt
[root@node1 zz20]# chown :jerry a.txt
[root@node1 zz20]# ll
-rw-r--r--. 1 itcast jerry 0 4月 6 15:53 a.txt
[root@node1 zz20]# chown root:root a.txt
[root@node1 zz20]# ll
-rw-r--r--. 1 root root 0 4月 6 15:53 a.txt
#修改目录 aaa
drwxr-xr-x. 2 root root 19 4月 6 15:56 aaa
[root@node1 zz20]# chown itcast aaa #不加 -R
[root@node1 zz20]# ll
drwxr-xr-x. 2 itcast root 19 4月 6 15:56 aaa
[root@node1 zz20]# ls -l aaa
-rw-r--r--. 1 root root 0 4月 6 15:56 b.txt # 子目录未修改
[root@node1 zz20]# chown -R jerry:jerry aaa #加 -R
[root@node1 zz20]# ll
drwxr-xr-x. 2 jerry jerry 19 4月 6 15:56 aaa
[root@node1 zz20]# ls -l aaa
-rw-r--r--. 1 jerry jerry 0 4月 6 15:56 b.txt # 子目录也随着更改.
五.yum和systemctl
安装/移除/搜索软件: yum -y [install remove search] 软件名
安装tree: yum -y install tree
安装ntp: yum -y install ntp 注意: 服务名是ntpd
启动/状态/关闭服务: systemctl [start status stop] 服务名
启动ntp服务: systemctl start ntpd
查看ntp状态: systemctl status ntpd
关闭ntp服务: systemctl stop ntpd
设置开启自动: systemctl enable ntpd
六.软连接和硬连接
软连接(类似win快捷方式): ln -s 要连接的文件或者文件夹的绝对路径 软连接路径
硬连接(类似win复制备份): ln 要连接的文件或者文件夹的绝对路径 硬连接路径
七.日期时区日历
查看当前日期: date
格式化日期: date +'%Y%m%d %H%M%S' 注意: +和后面格式内容不要有空格
-d查看指定日期: date -d '+x 年月日时分秒' 举例: date -d '+1 year'
设置时区为东八区:
[root@localhost /]# rm -f /etc/localtime
[root@localhost /]# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
查看当月日历: cal
查看本年日历: cal -y
查看指定年份日历: cal 年份
查看指定年份指定月份日历: cal 月份 年份
八.主机名和ip域名解析
查看主机名: hostname
修改主机名: hostnamectl set-hostname 新主机名
网络编程三要素: ip地址 端口号 协议
ip地址: 网络设备的唯一标识
端口号: 程序端口对应的编号
注意: 端口号能够唯一的识别对应端口
公认端口:1~1023,用于系统内置或常用知名软件绑定使用
注册端口:1024~49151,用于松散绑定使用(用户自定义)
动态端口:49152~65535,用于临时使用(多用于出口)
查看端口占用
nmap IP地址,查看指定IP的对外暴露端口
netstat -anp | grep 端口号,查看本机指定端口号的占用情况
协议: 网络通信需要遵循的规则
域名: 可以理解成ip地址的别名 举例: 在浏览器输入www.baidu.com 本质就是去本地hosts文件或者域名服务器找163.177.151.110地址
查看网络状态: ping www.baidu.com
url: 统一资源定位符 也就是网址
九.其他内容
修改固定ip
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
# 注意:把原来位置的dhcp改成static
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="de94af21-8a97-48f0-bb1d-e6dcf21789bb"
DEVICE="ens33"
ONBOOT="yes"
# 复制以下内容添加到末尾
IPADDR="192.168.88.161"
PREFIX="24"
GATEWAY="192.168.88.2"
DNS1="8.8.8.8"
DNS2="114.114.114.114"
IPV6_PRIVACY="no"
wget和curl
安装wget: yum -y install wget
wget下载格式: wget [-b] url
举例:
后台下载hadoop软件:wget -b http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
通过tail命令可以监控后台下载进度: tail -f wget-log
curl访问格式: curl [-0] url
向cip.cc发起网络请求:curl cip.cc
向python.itheima.com发起网络请求:curlpython.itheima.com
通过curl下载hadoop-3.3.0安装包: curl -O http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
进程信息
查看进程: ps -ef 或者 ps -aux
经常结合grep使用: ps -ef | grep tail
关闭进程: kill -9 进程id
资源信息
人性化展示磁盘使用情况: df -h
人性化展示内存使用情况: free -h
查看CPU、内存使用情况: top 类似Windows的任务管理器
查看CPU、磁盘的相关信息: iostat [-x] 刷新间隔 刷新几次 注意:-x,显示更多信息
查看网络的相关统计信息: sar -n DEV 刷新间隔 刷新几次 注意: -n,查看网络,DEV表示查看网络接口
十.CRT客户端上传下载
图形
命令
安装lrzsz: yum -y install lrzsz
rz : 上传
sz : 下载
十一.压缩和解压缩
tar命令
打包: tar -cvf 包名.tar 多个文件或者文件夹
解包: tar -xvf 包名.tar -C 目标路径
压缩: tar -zcvf 压缩包名.tar.gz 多个文件或者文件夹 注意: gz全称gzip
解压: tar -zxvf 压缩包名.tar.gz -C 目标路径
zip命令和unzip命令
压缩: zip -r 压缩包名.zip 多个文件或者文件夹
解压: unzip 压缩包名.zip -d 目标路径