Linux的常用命令

1、用户操作

# 创建用户
useradd 用户名
# 删除用户
userdel 用户名
-f #强制删除用户
-r #删除用户的同时,删除与用户相关的所有文件  
-fr #联合使用
# 添加密码
passwd 用户名
# 切换用户
su 用户名

2、系统操作

2.1 系统关机

# 系统关机
shutdown #一分钟之后关机
shutdown -h 5 # 5分钟后关机
shutdown -h now # 立刻关机
shutdown -h 12:00 # 某个时间关机
halt #立刻关机
poweroff #立刻关机
# 重启命令
shutdown -r now #立即重启
shutdown -r +5 # 5分钟后重启
reboot #立即重启

2.2时间操作

# 时间操作
date # 显示系统时间
date "+%Y/%m/%d %H:%M:%S" #指定格式显示系统时间
date -s "20240902 10:10:20" #设置系统时间

2.3防火墙

# 开启开机自动开启防火墙
systemctl enable firewalld

# 禁用开机自动开启防火墙
systemctl disable firewalld

# 防火墙重启
service firewalld restart #不推荐
systemctl restart firewalld 

# 防火墙开启
service firewalld start #不推荐
systemctl start firewalld
 
# 关闭防火墙
systemctl stop firewalld

# 查看防火墙的状态
systemctl status firewalld

# 开启端口号
firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 重新加载防火墙 
firewall-cmd --reload

#关闭端口号
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
# 重新加载防火墙 
firewall-cmd --reload

# 验证端口,查询防火墙开放端口:
firewall-cmd --zone=public --list-port

2.4清除屏幕

clear

2.5退出

exit

3、目录操作

3.1切换路径

../ # 上一层目录
./ # 当前目录
/ # 根目录
~ # 用户目录

3.2列出目录下的内容

ls # 查看当前目录下的所有文件夹以及文件,不显示文件的属性等信息,只展示名字
ls -a # 查看当前目录下的所有文件夹以及文件,包含隐藏文件(.开头的文件),不显示文件的属性等信息,只展示名字。
ls -la # 查看当前目录下的所有文件夹以及文件,包含隐藏文件,以及属性等信息
ls -l 和 ll # 查看当前目录下的所有文件夹以及文件,以及属性等信息,不包含隐藏文件

3.3显示工作目录

pwd # Print Working Directory 的缩写,显示当前目录的完整路径(绝对路径)
pwd -P # 如果是连接(快捷方式),则显示出完成路径

3.5创建目录

# 语法结构:make directory 的缩写
mkdir 目录名称
-m :创建文件同时配置文件的权限。例如:mkdir -m 777 a
-p :递归创建目录。例如:mkdir -p object/src/main/java
drwxrwxrwx代表文件所有者、文件所属组和其他用户都具有读取、写入和执行权限。‌‌12
每个字母的含义
‌r‌ (read): 读取权限,用户可以读取文件内容或浏览目录。
‌w‌ (write): 写入权限,用户可以新增或修改文件内容,或删除、移动目录内的文件。
‌x‌ (execute): 执行权限,用户可以执行文件或进入目录。
文件类型和权限划分
第一个字符表示文件类型:
‌d‌ 表示目录(directory)。
‌-‌ 表示普通文件(regular file)。
‌l‌ 表示链接文件(link)。
‌c‌ 表示字符设备文件(character device)。
‌b‌ 表示块设备文件(block device)。
后续的每三个字符分别代表文件所有者、文件所属组和其他用户的权限。

3.6删除目录

# 语法结构:remove directory 的缩写
rmdir [-p] 目录名称
# 参数含义:
-p :连同上一级『空的』目录也一起删除。例如:rmdir -p object/src/main/java

# 语法结构:remove 的缩写
rm [-fir] 文件或目录
# 参数含义
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作。默认情况下 Linux 会自动添加当前参数,为了保障用户误操作。
-r :递归删除!最常用在目录的删除了!这是非常危险的选项!!!

eg:
rm -rf a1 :强制删除a1及其子目录下所有内容

3.7创建文件

touch 文件名

3.8删除文件

# 语法结构
rm [-fir] 文件或目录
# 参数含义
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除!最常用在目录的删除了!这是非常危险的选项!!!

3.9拷贝

cp  源文档 目标路径

3.10移动

mv  源文档/目录 目标路径  # 移动到当前目录下可以修改名字

4、权限属性操作

4.1查看权限属性

ll 查看所有文件 前面表示属性

- r:读取,可以用数字 4 表示
- w:写,可以用数字 2 表示
- x:执行,可以用数字 1 表示
- -:没有权限,可以用数字 0 表示                

4.2操作权限

# 语法结构:其中权限分为三组 owner(所属者)、group(所属组)、others(其他)
chmod 权限 文件名
# 例子:
chmod 412 hello.java # owner:可读        group:可执行	   others:可写
chmod 777 hello.java # owner:读写执行	  group:读写执行	 others:读写执行
chmod 000 hello.java # owner:无权限      group:无权限       others:无权限

# 语法结构:
# u:当前文件所属的用户
# g:当前文件所属的用户组
# o:其他
# a: 所有用户
chmod u/g/o +/- r/w/x

chmod u+r
chmod o-x

# 更改文件属主
chown 属主名 文件名

# 更改文件属组
chgrp 属组名 文件名

5、 文件查看

cat # 由第一行开始显示文件内容
tac # 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
nl  # 显示的时候,显示输出行号!
more # 一页一页的显示文件内容
less # 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head # 只看头几行
tail # 只看尾部几行

6 、文件编辑

Vim 分为三种模式:命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)

vi 文件名  # 最小安装版
vim 文件名 # 桌面版下载的

命令模式:

i:光标前插入

a:光标后插入

o:光标所在行下一行插入

I:光标所在行的开头插入

A:光标所在行的末尾插入

O:光标所在行上一行插入

ESC:退出编辑模式

G 回到文件最后一行

gg 回到文件第一行

输入模式:

用户在命令模式下敲击 i/a/o时进入编辑模式。

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

底线命令模式:

在命令模式下按下【:(英文冒号)】就进入了底线命令模式。按ESC可以退出底线命令模式。

  • :q 退出
  • :q! 强制退出文件
  • :w 保存文件
  • :wq 保存并退出,不能是 qw。
  • :nohlsearch 或者 :noh 取消搜索时高亮的内容

7、解压缩

tar 参数 文件名

# 打包文件(压缩文件)
# 单个文件压缩打包
tar -czvf 包名.tar 文件
# 多个文件压缩打包
tar -czvf 包名.tar 文件1 文件2
# 单个目录压缩打包
tar -czvf 包名.tar 目录1
# 多个目录压缩打包
tar -czvf 包名.tar 目录1 目录2

# 解压文件 tar -zxvf 可以解压.tar/.tar.gz 文件  tar -xvf 可以解压 .tar.xz
# 展示解压过程
tar -zxvf redis.tar.gz
# 不展示解压过程
tar -zxf redis.tar.gz 
  • z 代表压缩文件的格式是tar.gz
  • v 显示过程
  • f 指定压缩文件的名称
  • x 解压缩
  • c 压缩

软件安装

1、安装jdk

1.1卸载Linux默认的jdk

# -q:查询;-a:查询所有已经安装的软件包;grep:查找内容包含指定的范本样式的文件;
rpm -qa | grep java 

1.2卸载JDK

# -e 删除指定的套件
# --nodeps 不验证套件档的相互关联性
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64
rpm -e --nodeps python-javapackages-3.4.1-11.el7.noarch
rpm -e --nodeps tzdata-java-2020a-1.el7.noarch
rpm -e --nodeps javapackages-tools-3.4.1-11.el7.noarch

1.3 安装自定义JDK

(1)上传下载好的安装包 jdk-8u60-linux-x64.tar.gz 到Linux中,目录自定义,比如:/opt/jdk

(2)解压:tar -zxvf jdk-8u60-linux-x64.tar.gz

(3)配置环境变量

打开文件:vim /etc/profile 在文件的默认添加以下信息

# jdk config
# JDK的home目录,bin目录的上一级,每个人的环境目录不一样
export JAVA_HOME=/opt/jdk/jdk1.8.0_60
# 将JDK添加到$PATH环境变量中
export PATH=$JAVA_HOME/bin/:$PATH

刷新环境变量:source /etc/profile

(4)输入 java -version 测试

(5)在 ~/.bashrc 文件中配置环境变量,解决每次启动需要重新刷新环境变量才能使用java命令的问题

2、安装Tomcat

1、在 /opt 目录下创建tomcat9文件夹,并把下载好的安装包(apache-tomcat-9.0.30.tar.gz)上传到该目录下

2、解压安装包 tar -zxvf apache-tomcat-9.0.30.tar.gz,解压后会有一个同名的文件夹

3、进入解压后的目录cd apache-tomcat-9.0.30/bin

4、输入命令./startup.sh启动tomcat

5、设置Linux防火墙放行8080端口

-- 开启8080端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
-- 重新加载防火墙
firewall-cmd --reload

3、安装 MySQL8

1、查看是否已经安装MySQL

rpm -aq | grep mysql

2、将MySQL安装包上传至Linux

3、卸载CenterOS自带Mariadb数据库,会和MySQL冲突

# 查找
rpm -qa | grep mariadb
# 卸载
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

4、解压MySQL安装包:tar -xvf mysql-8.0.25-1.el7.x86_64.rpm-bundle.tar

5、通过 rpm -ivh mysql-community-common-8.0.25-1.el7.x86_64.rpm --nodeps --force 命令安装 common

6、通过 rpm -ivh mysql-community-libs-8.0.25-1.el7.x86_64.rpm --nodeps --force命令安装 libs

7、通过rpm -ivh mysql-community-client-8.0.25-1.el7.x86_64.rpm --nodeps --force命令安装 client

8、通过rpm -ivh mysql-community-server-8.0.25-1.el7.x86_64.rpm --nodeps --force命令安装 server

9、查看已经安装的MySQLrpm -qa | grep mysql

10、设置mysql8不区分表名大小写,打开vim /etc/my.cnf,在末行添加 :lower_case_table_names=1

11、执行一下命令初始化MySQL和基本配置

mysqld --initialize                        # 初始化MySQL
chown mysql:mysql /var/lib/mysql -R        # 将mysql目录划分给mysql用户和mysql组
systemctl start mysqld.service             # 启动MySQL服务
systemctl enable mysqld.service            # 设置MySQL服务开机启动

12、查看初始密码`cat /var/log/mysqld.log | grep password

13、使用初始密码登录数据库:mysql -uroot -p,Linux下输入密码是不显示的

14、修改初始密码:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

15、输入exit退出,再次使用新密码登录

16、配置MySQL可以远程访问

-- 进入mysql数据库
use mysql;
-- 修改root用户主机地址
update user set host='%' where user='root';
-- 刷新权限
flush privileges;

17、配置防火墙放行

firewall-cmd --zone=public --add-port=3306/tcp --permanent
posted on   刘学生  阅读(2665)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
点击右上角即可分享
微信分享提示