Linux基本操作

本文论述的问题

  • Linux的初识;
  • Linux基本目录、用户、文件、vim命令;

注: 相关内容来自狂神说java的linux学习;

1、认识

 Linux是由芬兰人林纳斯.托瓦兹在大学时出于个人爱好编写的。Linux在开发领域极其受欢迎,开源社区活跃,是每一个开发人员都需要学习的。
 linux的发行版本(基于linux内核与不同应用软件的打包构成不同版本):
在这里插入图片描述
本文相关操作使用CentOS8.0进行操作。

2 、Linux命令

对于linux的命令操作,基本的认识是:一切操作皆文件,没有错误输出即是正确。

2.1开关机命令

sync # 将内存中数据同步到磁盘,在关机或重启之前需要执行此命令
shutdown #关机命令,在服务器端一般不会去使用
man shutdown #查看关机命令使用
shutdown -h now #立即关机

在这里插入图片描述

2.2 linux基本文件目录

linux文件目录从 / 开始的(类似于windows的计算机)。

ls / #列出根目录下所有目录

各目录说明:
在这里插入图片描述

  • bin:binary缩写,存放常用命令;
  • boot:存放linux启动使用的核心文件,存放连接文化和镜像文件(.img);
  • data:存放数据目录;
  • dev:存放设备文件,如cpu、磁盘;
  • etc:存放系统管理所需配置文件和子目录;
  • home:用户目录,每个用户都会在home下拥有自己的一个目录;
  • lib:存放系统动态链接库
  • lost+found:一般为空,在系统非法关机后存放一些文件;
  • media:系统自动识别设备的挂载目录;
  • mnt:用户挂载临时文件系统的目录;
  • opt:安装软件的目录,默认空;
  • proc:系统内存映射目录,可查看系统信息;
  • root:管理员root主目录;
  • run:临时文件系统,存放系统启动以来的信息,重启后数据删除;
  • sbin:管理员用户程序存放目录;
  • srv:存放系统启动后提取的信息;
  • sys:存放系统文件;
  • tmp:存放临时文件;
  • usr:用户程序和文件目录,usr/bin系统用户程序存放目录,usr/sbin管理员用户程序存放目录。usr/src内核源代码存放目录;
  • var:扩充目录,存放经常需要修改的文件。如各种日志文件;

2.3目录操作命令

 目录操作,分绝对路径操作(从/根目录开始)和相对路径(…指上级目录,./当前目录)的操作;
目录相关基本命令:

ls #列出目录
cd #目录切换
pwd #显示当前目录路径
mkdir #创建一个目录
rmdir #删除一个目录
cp # 复制文件或目录
rm #移除文件或目录
mv #移动目录或修改名称

用法:

ls 目录名称,参数:

  • -a 列出所有目录或文件,包括隐藏文件;
  • -l 长字符串列出目录和文件详细信息;

在这里插入图片描述

mkdir [参数]目录名

  • -m配置权限
  • -p 层级创建目录

在这里插入图片描述

rmdir [参数] 目录名称 (只能删除空目录,非空目录需要使用rm进行删除)

  • -p级联删除目录;

在这里插入图片描述

cp [参数] 源目录名称 目标名称

  • -p 连同文件属性复制;
  • -d源文件为链接属性,则复制链接而非文件;
  • -r递归复制目录;
  • -f强制;
  • -i复制询问,存在是否覆盖,常用;
  • -l进行硬是连接,而非复制文件;

在这里插入图片描述

rm [参数] 文件或目录

  • -f,强制,忽略警告信息;
  • -i,互动模式;
  • -r递归删除;

在这里插入图片描述

mv [参数] 移动目录或修改目录名称;

  • -f强制,不询问直接覆盖;
  • -i交互模式,询问;
  • -u若文件存在,且变更,才更新;

在这里插入图片描述

2.3文件属性

使用ll或ls -al查看文件权限,十个字母代表文件类型和权限;第一个字母,d代表目录,-代表文件;第二个字母;后面九个字母每三个为一组,代表属主用户权限,属于组用户权限,其他用户权限(r表示读权限,w表示写权限,x表示执行权限);
在这里插入图片描述
文件或目录权限设置(r权限4,w权限为2,x权限为1)

chmod 权限(777) 文件或目录

在这里插入图片描述

2.4用户管理

useradd [参数] 用户名;

  • -c 注释描述;
  • -g指定用户组;
  • -G指定用户附加组;
  • -m使用者目录不存在,则自动创建;
  • -u 指定用户号;
  • -d指定用户主目录;
  • -s指定用户登录shell;

在这里插入图片描述

su 用户名 (切换登录用户,也可以logout或exit退出,再登录)

在这里插入图片描述
用户创建时,没有口令,需要指定口令,才能使用(即使空,也要指定,口令不能设置过于简单,否则会设置失败);
在root账号下,通过,
passwd 用户名 (指定口令)
在当前用户下,通过passwd 修改口令;
在这里插入图片描述

usermod [参数] 用户名;(修改用户)
参数,同创建参数。

在这里插入图片描述

userdel [参数] 用户名;(删除用户)

  • -r 删除用户时,同时删除用户主目录;

在这里插入图片描述
可以查看/etc/passwd文件,查看所有添加的用户;(用户的操作,本质上就是对此文件的操作)
在这里插入图片描述
口令一般不显示,使用x代表,;

2.5用户组管理

groupadd [参数] 用户组名;(新增)

  • -g用户组标识号
  • -o一般与-g同时使用,标识新用户组标识可以与存在标识相同;

在这里插入图片描述

groupmod [参数] 用户名;(修改)

  • -g用户组标识;
  • -o可以与存在标识相同;
  • -n 新用户组名;

在这里插入图片描述

groupdel 用户组名 (删除)

在这里插入图片描述
用户组所有信息,均在/etc/group下;
在这里插入图片描述

newgrp 组名 (当前用户切换组)

在这里插入图片描述

2.6文件命令

2.6.1文件查看
  • cat 从第一行开始查看文件;
  • tac从最后一行开始倒看文件;
  • nl 显示的时候显示行号;
  • more 一页一页显示文件内容;
  • less 也是一页页显示文件内容,但是可以进行翻页;
  • head 只看头几行;
  • tail 只看后几行;
    可以使用man命令来查看各个命令的使用文档;

cat [参数] 文件;

  • -b 列出非空行号;
  • -n列出所有行号;
  • -v列出一些看不出的特殊字符;

在这里插入图片描述

tac 倒看

在这里插入图片描述

nl [参数] 文件;

  • -n 行号在左边(ln 行号在最左边显示,rn行号在栏位右上方显示);

在这里插入图片描述

more 一页页翻动;

  • 空白键 向下翻一页;
  • enter键,向下翻一行;
  • /关键字 在当前显示中,搜索这个关键字;
  • :f显示档名和行号;
  • q离开;

在这里插入图片描述

less 一页页翻看;

  • 空白键 向下翻页;
  • pagedown向下翻页;
  • pageup向上翻页;
  • /字符串 ,向下搜寻字符串;
  • ?字符串向上搜寻字符串;
  • n 重复前一个搜寻,一直向下搜索;
  • q离开程序

在这里插入图片描述

head -n 行数 (只显示前几行);

在这里插入图片描述

tail -n 行数(只显示后几行);

在这里插入图片描述

2.6.2文件链接

linux文件链接分硬链接和软链接;
硬链接,是将多个文件指向同一个索引。只有当所有的文件链接都删除时,文件才会被删除,通常用来作为文件备份;软链接,类似与windows是快捷方式,文件删除了,链接便无效了。
通过ln命令进行链接;

ln [参数] 指向的文件 链接名(不指定参数,则是硬链接);

  • -s 软连接;

在这里插入图片描述

2.7进程管理

linux每一个程序都有一个进程,有进程号,有自己的父进程;进程有前台运行和后太运行两种方式;

ps [参数] 查看系统进行中的进程

  • -a 显示终端运行的所有进程信息;
  • -u 以用户信息显示进程
  • -x 显示后台运行进程

在这里插入图片描述
进程查看需要记住这个命令,即可:

ps -aux | grep 关键字

A|B 中 |代表管道符,即在A中进行B操作,grep表示查找符号关键字的A中信息;
在这里插入图片描述

ps -ef 查看父进程信息

在这里插入图片描述
进程树显示

pstree 参数

  • -p 显示父id
  • -u显示用户组
    在这里插入图片描述

2.8 磁盘管理

磁盘管理常用命令:
df(Disk freee)统计磁盘剩余空间,从磁盘信息获取;
du (Disk used)直接统计文件或目录已使用的空间;

df [参数] 文件或目录名

  • -a列出所有文件系统空间,包括/proc
  • -k 以kb显示空间
  • -m以MB显示空间
  • H以1M=1000K取代1M=1024显示文件系统;
  • -h 以容易阅读方式获取文件系统大小
  • -T显示文件系统类型

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

du [参数] 目录或文件

  • -a列出所有文件与目录,默认只显示当前目录;
  • -h 以容易阅读格式获取文件大小
  • -s列出总量

在这里插入图片描述
磁盘挂载

mount [文件系统/文件名] 挂载点

磁盘卸载

umount [参数] 装置文件名或挂载点

  • -f强制卸载

2.9 vim使用

vim三种模式
在这里插入图片描述
命令模式,启动vim,就会进入命令模式,

  • i 切换到输入模式,以输入字符
  • x 删除光标所在字符
  • :切换到编辑模

输入模式,ESC退出输入模式;

编辑模式(底线命令模式),q退出vim,w保存文件

一些常用命令

  • 数字+空格:光标前往本行指定数字字符;
  • /字符串:向下搜索字符串,n键继续向下搜索;
  • :set nu :显示行号;
    在这里插入图片描述

2.10 linux三种软件安装方式

2.10.1rpm安装 jdk

1、检查是否安装了openjdk存在,存在则先删除;
查找所有jdk相关的包:

rpm -qa | grep java

在这里插入图片描述
删除这两个open jdk的包:

rpm -e --nodeps 包名

在这里插入图片描述
2、卸载完成后,安装oracle jdk
安装命令

rpm -ivh rpm包
在这里插入图片描述
安装完成,编辑/etc/profile文件, 增加java环境变量
在这里插入图片描述

让新增的环境变量生效,命令:

source /etc/profile

在这里插入图片描述

2.10.2 解压安装tomcat

1、将压缩文件放在usr目录下,进行解压;
解压命令

tar -zxvf 压缩文件

在这里插入图片描述
2、运行bin/startup.sh启动tomcat
在这里插入图片描述
访问tomcat
在这里插入图片描述
配置防火墙端口,以及云服务器安全组就可以在浏览器访问到tomcat了
在这里插入图片描述
3、关闭tomcat,执行/bin/shutdown.sh
在这里插入图片描述

2.10.3 yum安装docker

1、查看centos版本(需要7或8版本)

cat /etc/redhat-release

在这里插入图片描述
2、更新yum 包

sudo yum install -y yum-utils

在这里插入图片描述
3、设置yum源为阿里云(加快下载速度)

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

在这里插入图片描述

4、yum安装gcc

yum -y install gcc
yum -y install gcc-c++

在这里插入图片描述

5、安装docker CE

yum -y install docker-ce docker-ce-cli containerd.io

在这里插入图片描述
6、启动docker,查看docker版本

systemctl start docker

在这里插入图片描述

yum list docker-ce --showduplicates | sort -r (查看安装后的 Docker 驱动版本)

在这里插入图片描述

7、配置阿里云镜像加速
进入阿里云容器镜像服务,按照步骤执行命令进行配置,即可
在这里插入图片描述
8、测试 hello-world

docker run hello-world
docker images
docker ps -a

在这里插入图片描述

2.11 linux防火墙命令

查看防火墙状态:

systemctl status firewalld

在这里插入图片描述
关闭防火墙

service firewalld stop

在这里插入图片描述
启动防火墙

service firewalld start

在这里插入图片描述
重启防火墙

service firewalld restart

在这里插入图片描述
查看防火墙规则

firewall-cmd --list-all (查看防火墙所有信息)

在这里插入图片描述

firewall-cmd --list-ports (只看端口信息)
在这里插入图片描述

开启防火墙端口命令

firewall-cmd --zone=public --add-port=80/tcp --permanent

  • –zone #作用域
  • –add-port=80/tcp #添加端口,端口/协议
  • –permanent #永久生效

在这里插入图片描述
查看某个端口号情况

netstat -lnp | grep 8080

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值