Linux最常用高级命令(非常详细) 入门到进阶

linux高级命令

一、帮助手册

1、help查看帮助
	语法: 命令 --help
	举例: ls --help
	解释: 查看ls命令的帮助信息

2、man(manual)查看手册:
	语法: man 命令
	举例: man ls
	解释: 查看ls命令的手册信息

二、用户和用户组

1、用户基本操作

需要在超级管理员root用户下操作

添加用户(不指定组): useradd 用户名      
	注意: 默认在/home目录下创建一个与用户名同名的文件夹。此目录就是该用户的家目录(cd或者cd ~)
	注意: 如果添加用户的时候,没有指定具体的用户组,默认会自动创建一个同名的用户组
	注意: 用户名不要有中文以及特殊符号

删除用户: userdel [-r]  用户名  
	注意: 如果不加-r,只会删除/etc/passwd中的内容,不会删除/home目录中的用户目录。一般推荐加上
	注意: 如果用户所属组是在添加用户的时候自动创建的,那么在删除用户的时候,会同时删除这个用户组
	

查看所有用户快捷方式: getent passwd

查看所有用户普通方式: cat /etc/passwd
内容介绍  用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)

2、切换用户

在前面,我们接触过su命令切换到root账户。
su命令就是用于账户切换的系统命令,其来源英文单词:Switch User

-符号是可选的,表示是否在切换用户后加载环境变量(后续讲解),建议带上
参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root
切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl + d

切换到指定用户语法: su [-] 用户名
注意: 
	1- root用户切换到其他任意的用户,不要输入密码
	2- 普通用户切换其他任意的用户,都要输入密码

退出当前用户: exit 或者 ctrl+D

拓展如何在root用户下给普通用户添加密码: passwd 用户名
注意: 密码需要输入2次

3、用户授权

在我们得知root密码的时候,可以通过su命令切换到root得到最大权限。
但是我们实际一般不知道root密码,即使知道也不建议长期使用root用户,避免带来系统损坏。

实际我们找到用户root权限的管理者,申请root权限后使用sudo 其他命令

root用户如何给普通用户授权?
1.root用户下打开sudoers文件
    进入/etc/sudoers快捷方式: visudo
    进入/etc/sudoers普通方式: vi /etc/sudoers
2.在文件最后添加以下内容并保存
	格式:用户名       ALL=(ALL)       NOPASSWD: ALL
    举例:zhangshan       ALL=(ALL)       NOPASSWD: ALL
    注意: 前面一定不要有#
3.普通用户下使用root权限
	格式: sudo 其他任意命令

在这里插入图片描述

4、用户组操作

添加用户组: groupadd 组名

删除用户组: groupdel 组名

查看所有用户组快捷方式: getent group
查看所有用户组普通方式: cat /etc/group      组名称:组认证(显示为x):组ID

修改文件/目录的所属组: chgrp 组名 文件1/目录1 文件2/目录2 ..

5、用户和组

创建新用户同时指定组: useradd 用户名 -g 组名  
	注意: 多个用户可以属于同一个组;一个用户可以属于多个组

添加已存在用户到指定组: usermod -aG 组名 用户名
	注意: 一个用户可以属于多个组。但是通过ll查看的时候,只会显示一个组信息
	
单词mod -> modify

三、修改权限

1、ll命令图解

在这里插入图片描述

2、权限详解:

在这里插入图片描述

3、chmod

修改权限方式1: chmod [-R] u=权限,g=权限,o=权限 文件/文件夹
注意: 可以只针对权限中的某一部分进行设置

修改权限方式2: chmod [-R] 权限数字 文件/文件夹
注意: r->4,w->2,x->1
常用: chmod 777 文件/文件夹

修改权限方式3: chmod [-R] +权限字符 文件/文件夹
注意: 如果权限字符是w,只会给所属用户加上权限。如果权限是r或者x,会给所有的都加上对应的权限

-R: 对文件夹内的嵌套内容分配同样的权限
[root@node1 quanxian]# ll
总用量 4
-rwxrw-r-x. 1 root root  7 4月  16 11:40 a.txt
-rwxr-xr-x. 1 root root  0 4月  16 11:36 b.txt
drwxrwxrwx. 4 root root 66 4月  16 11:37 test_1
drwxr-xr-x. 2 root root  6 4月  16 11:36 test_2
[root@node1 quanxian]# chmod 111 b.txt 
[root@node1 quanxian]# ll
总用量 4
-rwxrw-r-x. 1 root root  7 4月  16 11:40 a.txt
---x--x--x. 1 root root  0 4月  16 11:36 b.txt
drwxrwxrwx. 4 root root 66 4月  16 11:37 test_1
drwxr-xr-x. 2 root root  6 4月  16 11:36 test_2
[root@node1 quanxian]# chmod +r b.txt 
[root@node1 quanxian]# ll
总用量 4
-rwxrw-r-x. 1 root root  7 4月  16 11:40 a.txt
-r-xr-xr-x. 1 root root  0 4月  16 11:36 b.txt
drwxrwxrwx. 4 root root 66 4月  16 11:37 test_1
drwxr-xr-x. 2 root root  6 4月  16 11:36 test_2
[root@node1 quanxian]# chmod +w b.txt 
[root@node1 quanxian]# ll
总用量 4
-rwxrw-r-x. 1 root root  7 4月  16 11:40 a.txt
-rwxr-xr-x. 1 root root  0 4月  16 11:36 b.txt
drwxrwxrwx. 4 root root 66 4月  16 11:37 test_1
drwxr-xr-x. 2 root root  6 4月  16 11:36 test_2

4、chown

修改用户和用户组:  chown [-R] [用户名]:[组名] 文件/文件夹

修改用户:  chown [-R] 用户名 文件/文件夹

修改用户组:  chown [-R] :组名 文件/文件夹

-R: 对文件夹内的嵌套内容分配同样的权限

四、虚拟机使用技巧

1、快捷键

清屏:  clear 或者  ctrl+L
停止:  ctrl+c 
退出:  exit  或者  ctrl+D

光标移动到开头:  Home键 或者 ctrl+a   单词ahead
光标移动到结尾:  End 键 或者 ctrl+e   单词end

查看历史命令记录: history

在这里插入图片描述

2、虚拟机快照

快照:将虚拟机当前的状态进行保存。优点:当虚拟机出现问题的时候,可以还原到指定快照的地方。

拍摄快照

在这里插入图片描述在这里插入图片描述

当虚拟机出现问题以后,恢复到指定快照的地方

在这里插入图片描述在这里插入图片描述

五、系统命令

1、软件安装

rpm:全称Redhat Package Manager,红帽包管理器。  一般都是用于离线安装,不能解决依赖问题

yum:全称Yellowdog Updater Modified,黄狗更新器,基于rpm,一般用于在线安装,能够解决依赖问题

yum在线安装tree: yum -y install tree
yum在线安装lrzsz: yum -y install lrzsz
yum在线安装ntp: yum -y install ntp

卸载软件: yum -y remove tree
tree软件作用: 以树形结构展示目录结构
语法: tree 文件夹路径

在这里插入图片描述

2、systemctl

Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启...
能够被systemctl管理的软件,一般也称之为:服务
语法: systemctl  [start | stop | restart | status | disable | enable] 服务名

常见的内置服务: 
    firewalld.service,防火墙服务
    NetworkManager,主网络服务
    network,副网络服务
    sshd,ssh的服务(客户端远程登录Linux使用的就是这个服务)
    
示例: 
1.关闭和禁用防火墙(必须做)
关闭当前运行防火墙服务: systemctl stop firewalld.service
禁用防火墙服务开机自启: systemctl disable firewalld.service
查看当前运行防火墙状态: systemctl status firewalld.service

2.关闭和禁用主网络服务(可选做)
关闭主网络服务: systemctl stop NetworkManager		
禁用主网络服务: systemctl disable NetworkManager	
查看状态: systemctl status NetworkManager

重启网卡: systemctl restart network

3.查看副网络服务状态: systemctl status network
4.查看ssh的服务状态: systemctl status sshd

在这里插入图片描述

3、软连接/硬连接

软连接(类似快捷方式):ln -s 被链接的文件/目录 软连接的名称 
注意: 如果软链接指向的文件或者目录丢失,软链接就失效

硬连接(类似文件复制): ln 被链接的文件 硬连接的名称
注意: 
	1- 如果删除了被链接的文件,硬连接的文件不受到影响
	2- 不管是修改了硬连接的文件,还是修改了被链接的文件,都会受到彼此的影响
	
工作中软连接用的比较多。

软连接原始文件/目录被删除后的现象:

在这里插入图片描述

原始文件/目录被删除后,软连接也失效了

硬连接注意事项:

在这里插入图片描述

硬链接限制:不允许针对目录

4、日期时区

4.1 (掌握)date基本使用
查看当前的系统时间: date
查看加后的系统时间: date -d "+1 day"
查看减后的系统时间: date -d "-1 day"

格式化显示系统时间: date [-d "-1 day"] "+%Y-%m-%d %H:%M:%S"

格式化字符串:通过特定的字符串标记,来控制显示的日期格式
    %Y   年                注意:  %y   年份后两位数字 (00..99)
    %m   月份 (01..12)
    %d   日 (01..31)
    %H   小时 (00..23)
    %M   分钟 (00..59)
    %S   秒 (00..60)       注意: %s   自 1970-01-01 00:00:00 UTC 到现在的秒数
[root@node1 home]# date +%Y-%m-%d %H:%M:%S
date: 额外的操作数 "%H:%M:%S"
Try 'date --help' for more information.
[root@node1 home]# date "+%Y-%m-%d %H:%M:%S"
2024-04-16 16:16:35
[root@node1 home]# date "+%Y-%m-%d"         
2024-04-16
[root@node1 home]# date "+%y-%m-%d"
24-04-16
[root@node1 home]# 
[root@node1 home]# date "+%Y-%m-%d %H:%M:%S"
2024-04-16 16:17:50
[root@node1 home]# date -d "-1 year" "+%Y-%m-%d %H:%M:%S"2023-04-16 16:18:26
[root@node1 home]# date -d "-1 year" "+%Y-%m-%d %H:%M:%S"
2023-04-16 16:18:36
[root@node1 home]# date -d "+1 year" "+%Y-%m-%d %H:%M:%S" 
2025-04-16 16:18:50
[root@node1 home]# date -d "+10 minute" "+%Y-%m-%d %H:%M:%S"   
2024-04-16 16:29:16
[root@node1 home]# date -d "+10.99 minute" "+%Y-%m-%d %H:%M:%S" 
date: 无效的日期"+10.99 minute"
[root@node1 home]# 
[root@node1 home]# 
[root@node1 home]# date -d "+10 week" "+%Y-%m-%d %H:%M:%S"     2024-06-25 16:20:06
[root@node1 home]# date -d "+10 quarter" "+%Y-%m-%d %H:%M:%S"  
date: 无效的日期"+10 quarter"
[root@node1 home]# 

在这里插入图片描述

4.2 修改时区校准时间
有时候,通过date查看的日期时间是不准确的,这是因为:系统默认时区非中国的东八区。
如何修改时区: 使用root权限,执行如下命令,修改时区为东八区时区,将系统自带的localtime文件删除,并将/usr/share/zoneinfo/Asia/Shanghai文件链接为localtime文件即可
[root@binzi~]# rm -f /etc/localtime
[root@binzi~]# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime


我们可以通过ntp程序自动校准系统时间
安装ntp服务: yum -y install ntp             
注意: 安装ntp服务会自动安装ntpdate工具

启动ntpd服务: systemctl start ntpd
设置开机自启: systemctl enable ntpd
当ntpd启动后会定期的帮助我们联网校准系统的时间
通过阿里云提供的服务网址配合ntpdate命令自动校准(需root权限): ntpdate -u ntp.aliyun.com

5、ip和主机名

ip地址作用: 每台网络设备在网络中的唯一标识(大白话就是根据ip能够找到对应网络设备)     

查看主机名:  cat /etc/hostname

修改主机名方式1: vi /etc/hostname      
修改主机名方式2: hostnamectl set-hostname 新主机名 

在这里插入图片描述

6、域名解析

在这里插入图片描述

域名: 可以理解成就是ip地址的别名

注意: 访问域名本质就是访问该域名对应的ip地址

先查看本机的记录(私人地址本)
    Windows看: C:\Windows\System32\drivers\etc\hosts
    Linux看: /etc/hosts
再联网去DNS服务器(如114.114.114.114,8.8.8.8等)询问

举例: 给统一虚拟机配置本地域名,把以下三行复制粘贴到C:\Windows\System32\drivers\etc\hosts文件中
192.168.88.161 node1.itcast.cn node1
192.168.88.162 node2.itcast.cn node2
192.168.88.163 node3.itcast.cn node3

7、配置固定ip

当前我们虚拟机的Linux操作系统,其IP地址是通过DHCP服务获取的。
DHCP: 动态主机配置协议 全称(Dynamic Host Configuration Protocol) 每次重启设备后都会获取一次ip,可能导致IP地址频繁变更

如何配置固定ip:
1: 在VMware软件上nat网关 举例: 192.168.88.2
2: 打开ifcfg-ens33文件进行修改

[root@node1 /]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
# 1.把原来的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="dfd8991d-799e-46b2-aaf0-ed2c95098d58"
DEVICE="ens33"
ONBOOT="yes"
# 2.添加以下内容
IPADDR="192.168.88.101"
PREFIX="24"
GATEWAY="192.168.88.2"    
NETMASK="255.255.255.0"
DNS1="8.8.8.8"
DNS2="114.114.114.114"
IPV6_PRIVACY="no"


直接重启网卡服务
[root@node1 ~]# systemctl restart network
# 注意: 如果重启后,ip地址已经变化,需要用客户端重新连接!!!
查看ip地址
[root@node1 /]# ifconfig

在这里插入图片描述在这里插入图片描述

8、ping_wget_curl

1. 使用ping命令可以测试到某服务器是否可联通
语法:ping [-c num] ip或者域名
选项:-c,测试的次数
示例:ping www.baidu.com

2. 使用wget命令可以进行网络文件下载
语法:wget [-b] 资源链接
选项:-b,后台下载
示例:wget https://dlcdn.apache.org/spark/spark-3.5.1/spark-3.5.1-bin-hadoop3.tgz

3. 使用curl命令可以发起网络请求
语法:curl [-O] 资源链接
选项:-O,用于下载使用
示例:curl -O https://dlcdn.apache.org/spark/spark-3.5.1/spark-3.5.1-bin-hadoop3.tgz

9、网络编程

网络编程三要素:  ip地址  端口号  协议

ip地址作用: 每台网络设备在网络中的唯一标识(大白话就是根据ip能够找到对应网络设备)     
	 注意: 127.0.0.1和localhost一般都代表本地主机           www.baidu.com就是百度服务ip地址的别名
	 
端口号:  网络设备上每个程序的对应端口的编号(大白话就是根据端口号找到对应程序)
	 端口号范围: 0-65535    
	 端口号分类: 知名端口号0-1023   注册端口号为1024-49151    动态端口号49152-65535
	 注意:   远程连接虚拟机默认端口号22    mysql端口默认3306
	 
	 nmap能够查看本机当前已经占用的端口: yum -y install nmap    使用:  nmap 127.0.0.1
	 netstat -anp | grep 端口号: 查看本机指定端口号的占用情况

协议: 网络传输的规则
	 tcp协议: 传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议
相关重要命令总结:
1、 (推荐使用)netstat -nlp | grep 端口号
2、 nmap IP地址

在这里插入图片描述

10、进程

进程: 是指运行中的程序,并拥有独立的进程ID(进程号)

查看进程信息: ps -ef
查找指定进程信息: ps -ef | grep 查找的内容
关闭指定进程号的进程: kill [-9] 进程ID

在这里插入图片描述

在这里插入图片描述

11、资源

1- 可以通过top命令查看CPU、内存使用情况,类似Windows的任务管理器 默认每5秒刷新一次,语法:直接输入top即可,按q或ctrl + c退出

2- free -h以人性化的方式主要来展示机器的内存使用情况

查看磁盘资源使用情况: df -h	

查看内存资源使用情况: 
    mem: memory单词缩写。表示的是物理内存空间
    buff/cache: 高速缓冲存储器,表示物理内存的缓存统计
    swap: 交换内存。表示用硬盘上的空间来当成内存进行使用,但是数据的读写速度比真正的内存要慢
    mem和swap关系: swap是mem的备份,swap是mem内存不够时,磁盘虚拟出来的内存,磁盘主要是 I/O 级别的操作,并不是系统内核级别的操作,处理速度跟 mem 区不是一个等级
				
-h:以更加人性化的单位显示

在这里插入图片描述

六、客户端上传下载

1、图形

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2、命令

安装lrzsz: yum -y install lrzsz

rz : 上传

sz : 下载
语法: sz 文件路径

七、压缩和解压缩

1、tar命令

普通打包

打包并使用gzip压缩

打包并使用bzip2压缩

参数

-c,创建压缩文件,用于压缩模式
-v,显示压缩、解压过程,用于查看进度
-x,解压模式
-f,要创建的文件,或要解压的文件,-f选项必须在所有选项中位置处于最后一个
-z,gzip模式,不使用-z就是普通的tarball格式
-C,选择解压的目的地,用于解压模式

普通打包格式: tar -cvf 包名.tar 文件1 文件2 目录1 目录2 ...
普通解包格式: tar -xvf 包名.tar [-C 指定解包的目的地]

gzip压缩格式:  tar -czvf 包名.tar.gz 文件1 文件2 目录1 目录2 ...
gzip解压格式:  tar -xzvf 包名.tar.gz [-C 指定解包的目的地]

bzip2压缩格式:  tar -cjvf 包名.tar.bz2 文件1 文件2 目录1 目录2 ...
bzip2解压格式:  tar -xjvf 包名.tar.bz2 [-C 指定解包的目的地]

注意:
	1- 在解压的时候,一般推荐加上-C
	2- 后缀一般就是.tar .gz
	3- tar针对目录进行解压缩不需要额外添加其他参数

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

2、zip和unzip命令

打包并使用zip压缩

参数

-r: 压缩目录的时候递归进入

-d: 选择解压的目的地

zip压缩格式:  zip [-r] 包名.zip 文件1 文件2 目录1 目录2
注意: 如果压缩中有目录,需要加上-r的参数

zip解压格式:  unzip 包名.zip [-d 指定解压缩的目的地]
注意: -d与tar中的-C效果一样

在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 22
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT界的追风者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值