首页 > 系统相关 >Linux的常用命令

Linux的常用命令

时间:2024-09-30 15:23:23浏览次数:8  
标签:文件 tar -- 常用命令 mysql Linux rpm 目录

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

标签:文件,tar,--,常用命令,mysql,Linux,rpm,目录
From: https://www.cnblogs.com/xlbky/p/18441928

相关文章

  • linux 如何创建定时任务?crontab -e 定时任务使用的时间是系统时间
    crontab-e创建的定时任务使用的是系统时间。什么是系统时间?系统时间是操作系统内部维护的一个时间戳,用于记录系统启动以来经过的时间,以及当前的日期和时间。系统时间通常与硬件时钟同步,以确保时间的准确性。crontab如何使用系统时间?crontab在执行定时任务时,会根据系统......
  • 第29篇 在Linux CentOS系统上部署SqlServer数据库,并实现内网穿透
    在Linuxcentos环境下安装部署sqlserver数据库,并结合cpolar内网穿透工具,创建安全隧道将其映射到公网上,获取公网地址,实现在外异地远程连接家里/公司的sqlserver数据库,而无需公网IP,无需设置路由器,亦无需云服务器。1.安装sqlserver下载SQLServer2022(16.x)RedHat存储库配......
  • linux内核调试痛点之函数参数抓捕记
    1.linux内核调试工具crash并不能直接显示函数参数,而这个对调试又非常重要下面是工作中一个实际的问题,我们的进程hang在如下一个内核栈中了,通过栈回溯可知是打开了一个nfs3的网盘文件或者目录,已知客户机器的NAS盘不可访问了,只要访问就会hang住,但我们的进程理论上是不会访问该NAS......
  • linux gdb debuging
    GDBGNU下的一个调试软件,在linux下可以用来调试c/c++代码。启动可以通过gdb--help查看用法,如下:ThisistheGNUdebugger.Usage:gdb[options][executable-file[core-fileorprocess-id]]gdb[options]--argsexecutable-file[inferior-arguments...]gdb[optio......
  • Linux操作系统如何定时关机?
    在日常使用电脑的过程中,一般都会有软件升级、系统杀毒的工作,可能还需要电脑的定时关机、提醒事项功能。对于Linux操作系统,可以使用几种任务计划工具来指定相应的任务计划,使这些需求自动在后台运行。一、at命令at命令的作用是在一个指定的时间执行任务,且只能执行一次。它的使......
  • 【Linux】Docker下载与使用-nginx
    目录一、Docker介绍     二、Docker结构三、下载Daocker1.在linux上下载docker,执行以下命令即可:2.开启docker3.执行以下操作并进行使用四、在Docker上安装nginx一、Docker介绍             Docker:是给予Go语言实现的开源项目。   ......
  • linux串口(epoll)
    void*thread_basedata(void*arg){inti,ret;//Allocatememoryforreadbuffer,setsizeaccordingtoyourneedsunsignedcharread_buf[DATA_LEN];//Normallyyouwouldn'tdothismemset()call,butsincewewilljustreceive......
  • 关于linux修改密码和用户名
    1.重启linux 按下e键会看见 找到以linux16开头的那一行:linux16/vmlinuz-3.10.0-862.el7.x86_64root=UUID=...rocrashkernel=autorhgbquietLANG=zh_CN.UTF-8把光标移动到行尾,删除rhgbquiet,然后添加rd.break。最终看起来应该像这样:linux16/vmlinuz-3.......
  • linux路由知识入门
    博主githubpageiprule和iproute网络包优先匹配iprule中的规则,然后再被转到相应的iptable路由规则处理iprule#output#0:fromalllookuplocal#32766:fromalllookupmain#32767:fromalllookupdefault这三条规则是内核创建的前面的数字代......
  • 【玩转Linux】如何简单快速理解权限?
     学习编程就得循环渐进,扎实基础,勿在浮沙筑高台   循环渐进Forward-CSDN博客Hello,这里是kiki,今天更新Linux部分,我们继续来扩充我们的知识面,我希望能努力把抽象繁多的知识讲的生动又通俗易懂,今天要讲的是权限~目录 循环渐进Forward-CSDN博客shell命令以及运行......