Linux 简明教程

2021/5/30 7:27:24

本文主要是介绍Linux 简明教程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文章目录

  • Linux
    • 安装
    • SSH 远程连接
    • Linux 目录结构
    • Linux 用户
      • 用户介绍
      • 查看用户信息
      • 创建用户
      • 删除用户
      • 口令(密码)管理
    • Linux 常用命令
      • 查看目录 ls
      • 切换目录 cd
      • 显示当前目录 pwd
      • 创建目录
      • 删除目录
    • 文件操作
      • 查看文件
        • cat
        • more
        • less
      • 创建文件 touch
      • 写入文件 echo
      • 拷贝文件 cp
      • 移动文件 mv
      • 删除文件 rm
    • 打包与拆包
    • 其他命令
      • 查看进程快照
      • 管道
    • VIM 编辑器(重要)
      • 命令模式
      • 输入模式
      • 底线命令模式
    • Linux 文件权限
      • 文件权限
      • 修改文件权限
        • mode 方式
        • 数字方式
    • Linux 网络操作
      • 主机名
      • 查询系统完整信息
      • IP地址操作
      • 域名映射(了解)
      • 网络服务管理
      • 防火墙设置

Linux

Linux是一个开源的操作系统

因为使用不要钱,效率也比 win 高,所以,大量服务器都是使用 linux 的

作为后端程序员,我们一般用linux去部署项目,所以需要会的指令不会太复杂

安装

一般使用 Linux 的方式有三种

  • 装虚拟机
  • 装原生系统或者双系统
  • 买云主机

具体安装方式我就不介绍了,网上绝对有人比我讲的更好

我这里演示的方式,是使用阿里云服务器

SSH 远程连接

输入如下命令:

ssh root@阿里云公网ip

image-20210529170156356

输入密码:

image-20210529170246459

Linux 目录结构

image-20210529170350014

bin (binaries)存放二进制可执行文件
sbin (super user binaries)存放二进制可执行文件,只有root才能访问 
etc (etcetera)存放系统配置文件
usr (unix shared resources)用于存放共享的系统资源
home 存放用户文件的根目录
root 超级用户目录
dev (devices) 用于存放设备文件
lib (library)存放跟文件系统中的程序运行所需要的共享库及内核模块
mnt (mount)系统管理员安装临时文件系统的安装点 
boot 存放用于系统引导时使用的各种文件
tmp (temporary)用于存放各种临时文件
var (variable)用于存放运行时需要改变数据的文件
.:代表当前目录  也可以用 ./ 表示
..:代表上级目录  也可以用 ../ 表示

开发人员关注目录:

配置目录etc:软件安装后配置文件选择放入的地址。

软件安装目录:usr/local

安装应用程序目录:opt,部署的API程序一般放在这个目录。部署的API放入用户的目录:/home/用 户名

注意:Linux系统的文件系统是以斜杠“/”开始,不是windows中的盘符概念。

Linux 用户

用户介绍

用户账户一般非为两大类:超级管理员和普通用户。 超级管理员:用root表示,root用户在系统中拥有最高权限。 普通用户:除了root之外的用户。例如我们之前创建的lina用户,就是普通用户。

查看用户信息

#语法 cat /etc/passwd

image-20210529174518268

创建用户

# 创建一个用户
	#语法:useradd 选项 用户名
		#选项: -c comment 指定一段注释性描述。
      -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。 -g 用户组 指定用户所属的用户组。
      -G 用户组,用户组 指定用户所属的附加组。
      -s Shell文件 指定用户的登录Shell。
      -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
	#案例1: 
	useradd lina02

删除用户

# 删除一个用户
	#语法:userdel 选项 用户名; 其中-r是常用的选项,表示将用户的主目录一起删除。 
	#案例:
        userdel -r lina02

口令(密码)管理

# 用户口令的管理
	#语法:passwd 选项 用户名 可使用的选项:
    -l 锁定口令,即禁用账号。
    -u 口令解锁。
    -d 使账号无口令。
    -f 强迫用户下次登录时修改口令。

Linux 常用命令

查看目录 ls

# 语法:
  ls :查看当前路径下的文件名称
  ls -a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
  ls -d :仅列出目录本身,而不是列出目录内的文件数据(常用)
  ls -l :长数据串列出,包含文件的属性与权限等等数据;(常用)
  ll : 等价于ls -l
  ls -al :目录下的所有文件列出来(含属性与隐藏档)

切换目录 cd

语法:
	cd [相对路径或绝对路径]
	
	#使用绝对路径切换到 local 目录 
	cd /usr/local/
	
	# 表示回到自己的家目录,亦即是 /root 这个目录 
	cd ~
	
	# 表示去到目前的上一级目录,亦即是 /root 的上一级目录的意思; 
	cd ..

显示当前目录 pwd

image-20210529175033457

创建目录

# 语法:mkdir [-mp] 目录名称
	-m :配置文件的权限喔!直接配置,不需要看默认权限的脸色 
	-p :直接将所需要的目录(包含上一级目录)递归创建起来!
查看帮助 mkdir --help

删除目录

# 语法: rmdir [-p] 目录名称
	-p :连同上一级『空的』目录也一起删除

文件操作

查看文件

cat

语法:cat 由第一行开始显示文件内容

more

一页一页翻动
语法: more 文件名称
例如:more /etc/man_db.config
....(中间省略)....
--More--(28%) <== 重点在这一行喔!你的光标也会在这里等待你的命令 在 more 这个程序的运行过程中,你有几个按键可以按的:
	空白键 (space):代表向下翻一页;
	Enter :代表向下翻『一行』;
	:f :立刻显示出档名以及目前显示的行数;
	q :代表立刻离开 more ,不再显示该文件内容。

less

语法: less 文件名称 例如:less /etc/man.config
	....(中间省略)....
	: <== 这里可以等待你输入命令!
	
less运行时可以输入的命令有:
	空白键 :向下翻动一页; 
	[pagedown]:向下翻动一页; 
	[pageup] :向上翻动一页;
	q :离开 less 这个程序;

创建文件 touch

语法:touch 创建一个空白的普通文件
#示例:
[root@centoslina01 /]# cd kkb
[root@centoslina01 kkb]# touch lina01.txt [root@centoslina01 kkb]# ll
total 0
-rw-r--r--. 1 root root 0 Mar 11 10:08 lina01.txt [root@centoslina01 kkb]#

写入文件 echo

语法: echo '内容'>文件名称 覆盖模式 
		  echo '内容'>>文件名称 追加模式

拷贝文件 cp

语法: cp [-adfilprsu] 来源档(source) 目标档(destination) 
  -a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
  -d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身; 
  -f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次; 
  -i:若clear问动作的进行(常用)
  -l:进行硬式连结(hard link)的连结档创建,而非复制文件本身; 
  -p:连同文件的属性一起复制过去,而非使用默认属性(备份常用); 
  -r:递归持续复制,用於目录的复制行为;(常用)
  -s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;
  -u:若 destination 比 source 旧才升级 destination !

移动文件 mv

语法:
	mv [-fiu] source destination
		-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖; 
		-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
		-u :若目标文件已经存在,且 source 比较新,才会升级 (update)

示例:

示例:复制一文件,创建一目录,将文件移动到目录中
  cd /tmp
  cp ~/.bashrc bashrc
  mkdir mvtest
  mv lina mvtest 将刚刚的目录名称更名为 mvtest2
[root@www tmp]# mv mvtest mvtest2

删除文件 rm

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

打包与拆包

linux中,打包和压缩有区别

多个文件打包后,文件大小不变,但是压缩后,文件大小会缩小

一般Linux 上常用的压缩方式是选用tar 将许多文件打包成一个文件,再以 gzip压缩命令压缩成紧 xxx.tar.gz(或者xxx.tgz)的文件。
	常用参数:
    -c:创建一个新tar文件 
    -v:显示运行过程的信息 
    -f:指定文件名
    -z:调用gzip 压缩命令进行压缩 
    -t:查看压缩文件的内容 
    -x:解开tar 文件
打包:tar -cvf xxx.tar '要打包的文件或目录的列表,用空格隔开'

打包并且压缩:tar -zcvf xxx.tar.gz '要打包的文件或目录的列表,用空格隔开'

解压:tar -xvf xx.tar
	tar -zxvf xx.tar.gz -C /usr/kkb 注意-C大写,防止拆包解压的路径找不到

其他命令

查看进程快照

ps : - axu 显示当前进程的快照

查看Java进程:ps - axu | grep java

查看MySQL进程 ps - axu | grep mysql

这里的 ‘|’ 是管道,可以同时让多条指令执行

管道

管道是Linux中比较重要且常用的一个内容,其作用是将一个命令的输出作为另一个命令的输入,组合使用。

ls --help | more #分页查看帮助信息,按q退出

VIM 编辑器(重要)

vim 共分为三种模式,分别是命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)

命令模式

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被 当作了一个命令。

以下是常用的几个命令:
    i 切换到输入模式,以输入字符。
    x 删除当前光标所在处的字符。i
    : 切换到底线命令模式,以在最底一行输入命令。
  
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。 命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

输入模式

在命令模式下按下i就进入了输入模式。

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

底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
    q 退出程序
    w 保存文件 
    
按ESC键可随时退出底线命令模式。

image-20210529182355431

Linux 文件权限

文件权限

image-20210529182857450

r: 读
w: 写
x: 执行

修改文件权限

chown 是change owner的意思,主要作用就是改变文件或者目录所有者. 

chmod 修改文件和文件夹读写执行属性。 使用权限:所有使用者

chown 修改文件和文件夹的用户和用户组属性。使用权限:root

mode 方式

image-20210529183119408

数字方式

image-20210529183128575

Linux 网络操作

主机名

hostname :显示主机名

hostname XXX :修改主机名,不推荐,临时生效 

永久生效修改主机名需要修改/etc/sysconfig/network文件

查询系统完整信息

uname -a :显示完整的系统信息

IP地址操作

查看IP地址:ip addr
修改IP地址:修改/etc/sysconfig/network-scripts/

image-20210529183647493

重启网络服务
service network restart

域名映射(了解)

修改 /etc/hosts文件

image-20210529183726288

网络服务管理

查看网络服务状态:systemctl status network 
启动网络服务:systemctl start network 
停止网络服务:systemctl stop network 
重启网络服务:systemctl restart network
设置开机启动:systemctl enable network

防火墙设置

查看防火墙状态: systemctl status firewalld 
启动防火墙: systemctl start firewalld 
关闭防火墙: systemctl stop firewalld

查询防火墙服务是否开机启动:systemctl is-enabled firewalld 
开机时启用防火墙服务:systemctl enable firewalld 
开机时禁用防火墙服务:systemctl disable firewalld

查询已经启动的服务列表:systemctl list-unit-files|grep enabled 查询启动失败的服务列表:systemctl --failed


这篇关于Linux 简明教程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程