Linux教程

Linux从入门到入土

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

一、VMare 和 CentOS 的安装

下载路径

VMare 15.5 安装包:https://www.nocmd.com/windows/740.html
CentOS 7.6 DVD版:https://mirrors.aliyun.com/centos-vault/7.6.1810/isos/x86_64/
CentOS 8.1 DVD版:https://mirrors.aliyun.com/centos-vault/8.1.1911/isos/x86_64/

# 建议自行找寻对应最新版本

安装 CentOS 时,设置软件选择

基本环境:GNOME 桌面

附加选项:传统 X Windows 系统兼容性、兼容性程序库、开发工具

安装 CentOS 时,设置自助分区(共20G)

boot:引导分区,分配大小为1G。

swap:交换分区,分配大小和实际内存一致即可,此处为2G。临时充当内存,操作系统对于内存不足的补充机制,速度不如内存。

根分区:分配大小为剩下的17G。安装的软件和文件都在此分区。

虚拟机的网络连接模式

桥接模式:虚拟系统可以和外部系统通讯,虚拟机IP和主机IP处在同一字段。若同一网络下有较多计算机接入时,容易造成IP冲突。

NAT 模式:网络地址转换模式。虚拟系统可以和外部系统通讯。通过主机代理上网,虚拟机IP和主机IP不在同一字段。主机产生虚拟网卡,
该虚拟网卡和虚拟机IP在同一字段。若同一网络下有较多计算机接入时,不会造成IP冲突。

主机模式:独立的系统,虚拟系统不可以和外部系统通讯。

虚拟机的克隆

如果已经安装了一台 Linux 操作系统,还想要更多的,没有必要再重新安装,只需要克隆就可以。

方式一:直接拷贝一份安装好的文件;

方式二:使用 VMware 的克隆操作。注意,克隆时,需要先关闭要克隆的 Linux 系统。

虚拟机的快照

如果在使用虚拟机系统的时候(比如 Linux 系统),想回到原先的一个状态,也就是说担心有些误操作造成系统异常,
需要回到原先某个正常运行的状态。VMware 也提供了这样的功能,就叫快照管理。

虚拟机的迁移和删除

虚拟系统安装好了,它的本质就是文件(放在文件夹的),因此虚拟系统的迁移很方便,你可以把安装好的虚拟系统这个
文件夹整体拷贝或者剪切到另外的位置使用。删除也很简单,用 VMware 进行移除,再点击菜单->从磁盘删除即可,
或者直接手动删除虚拟系统对应的文件夹即可。

安装 VMware Tools

安装 VMware Tools 后,可以在 Windows 下更好的管理 VMware 虚拟机可以设置 Windows 和 CentOS 的共享文件夹

二、目录结构

Linux 系统的文件结构是采用级层式的树状目录结构,在 Linux 世界里,一切皆文件。Linux 系统里的硬件也转换成了文件的形式。

/bin:是 Binary 的缩写,这个目录存放着是最常使用的命令。
/sbin:存放的是系统管理员使用的系统管理程序
/home: 存放普通用户的主目录。
/root: 该目录为系统管理员,也称作超级权限者的用户主目录。
/lib:系统开机所需要最基本的动态连接共享库,类似windows的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found:一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/etc: 所有系统管理需要的配置文件和子目录。
/usr:一个非常重要的目录,用户的许多应用程序和文件都放在这个目录下。
/boot:引导启动文件。
/proc: 是一个虚拟的目录,它是系统内存的映射。访问这个目录来获取系统信息。
/srv:service缩写,存放一些服务启动之后需要提取的数据。
/sys:别动就完事了。
/tmp:存放临时文件。
/dev:将所有的硬件用文件的形式存储。
/media:Linux 系统会自动识别一些设备,例如U盘、光驱等等。当识别后,Linux系统会把识别的设备挂载到这个目录下。
/mnt:系统提供该目录是为了让用户临时挂载别的文件系统,可以将外部的储存挂载到 /mnt 上,如 Windows 和 Linux 的共享文件夹。
/opt:给主机额外安装软件所摆放的目录,如安装mysql数据库。
/usr/local:另外一个给主机额外安装软件所安装的目录,一般是通过编译源码方式安装的程序。
/var:这个目录存放不断扩充的东西,比如日志文件。
/selinux:一种安全子系统。

三、远程登到 Linux 服务器

远程登录 Linux-Xshell6

Xshell6:https://www.netsarang.com/en/free-for-home-school/
在 Linux 服务器上,使用 ipconfig 命令查看 IP 地址。

远程上传下载文件-Xftp6

Xftp:https://www.netsarang.com/en/free-for-home-school/
在 Linux 服务器上,使用 ipconfig 命令查看 IP 地址。

四、Vi 和 Vim 编辑器

Vi 和 Vim 常用的三种模式

正常模式/一般模式:用 Vim 打开一个文件就直接进入正常模式(默认模式)。在这个模式中,可以上下左右移动光标、删除整行、复制、粘贴等等。

插入模式/编辑模式:在正常模式下,键入 i,I,o,O,a,A,r,R 任何一个字母之后才会进入插入模式。

命令行模式/末行模式:在插入模式下,键入 Esc 进入正常模式,再输入 : 进入命令行模式。在此模式下,可以查询、替换、保存、退出、显示行号等等。

Vi 和 Vim 的快捷键

拷贝当前行:yy,拷贝当前行向下的5行:5yy,粘贴:p。
删除当前行:dd,删除当前行向下的6行:5dd。
在文件中查找某个单词:命令行模式下输入 /关键词,回车查找,再键入 n 查找下一个。
设置文件的行号:set nu;取消文件的行号:set nonu。
一般模式下,使用快捷键 G 到该文件的最末行,使用 gg 到文件的最首行。
一般模式下,使用快捷键 u 撤销上次执行的操作。
一般模式下,将光标移动到指定行,键入行号 G,如20G。

五、开机、重启和用户登录注销

开机、重启命令

不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写到磁盘中。

shutdown -h now:立即进行关机
shutdown -h 1:1分钟后自动关机(和 shutdown 命令效果一样)
shutdown -r now:现在重新启动计算机
halt:关机(上面的 -h 就是指 halt)
reboot:现在重新启动计算机
sync:把内存的数据同步到磁盘

用户登录和注销

登录时尽量少用 root 账号登录。为避免操作失误,可以先用普通用户登录,登录后用“su - 用户名”命令来切换成系统管理员身份。
在提示符下输入 logout 即可注销用户。
logout 注销指令在图形运行级别无效,在运行级别3(非图形界面终端)下有效。

六、用户管理

基本介绍

Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

添加用户

使用命令“useradd 用户名”创建用户成功后,会自动创建和用户同名的家目录。
使用命令“useradd -d 指定目录 用户名”,给新创建的用户指定家目录。

指定/修改密码

passwd 用户名

删除用户

删除用户,但保留家目录:userdel 用户名
删除用户以及用户家目录:userdel -r 用户名

查询用户信息指令

id 用户名
当用户不存在时,返回无此用户。

切换用户

su - 切换后的用户名
从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
当需要返回到原来的用户时,使用 exit/logout 指令。

查看当前登录用户

whoami/who am i

用户组

系统可以对有共性/权限的多个用户进行统一的管理。

新增组:groupadd 组名
删除组:groupdel 组名
增加用户时直接加上用户组:useradd -g 用户组 用户名
修改已有用户的用户组:usermod -g 用户组 用户名

用户和组相关文件

/etc/passwd 文件:用户的配置文件,记录用户的各种信息。
每行的含义:用户名:口令:用户标识号:用户组标识号:注释性描述:主目录:登录 Shell
Shell 就是 Linux 命令的解释器。Linux 命令经过 Shell 解释翻译后传到 Linux 内核执行。
在 /etc/passwd 当中,除了标准 Shell 是 /bin/bash 之外,还可以写如 /sbin/nologin,/usr/bin/passwd 等。
查看本机账号个数:cat /etc/passwd | wc -l
查找 root 用户个数:cat /etc/passwd | grep :0

/etc/shadow 文件:口令的配置文件。
每行的含义:登录名:加密口令:最后一次修改的时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

/etc/group 文件:用户组的配置文件,负责记录 Linux 包含的组的信息。
每一行的含义:组名:口令:组标识号:组内用户列表

七、实用指令

指定运行级别

常用运行级别是3和5,也可以指定默认运行级别。如命令 init 3。

运行级别 描述
0 关机
1 单用户【找回丢失密码】
2 多用户状态没有网络服务
3 多用户状态有网络服务
4 系统未使用保留给用户
5 图形界面
6 系统重启

CentOS 7系统运行级别

CentOS 6及之前的版本中,系统运行级别通过 /etc/inittab 文件进行设置和控制,但在 CentOS 7中,对这个文件的设置将不会对系统运行级别产生影响,这也是 CentOS 7中变化比较大的一部分特性。

运行级别对应关系

init level systemctl target
0 shutdown.target
1 emergency.target
2 rescure.target
3 multi-user.target
4
5 graphical.target
6 reboot.target
常用运行级别相关命令

systemctl get-default:获取当前的运行级别;
systemctl set-default multi-user.target:将默认运行级别设置为 mulit-user;
systemctl isolate multi-user.target:不重启系统的情况下,将运行级别切换至 mulit-user;
init 3

找回 root 密码

开机引导时,操作进入单用户模式修改 root 密码。(centos7)

1、启动系统,进入开机界面,在界面中按“e”进入编辑界面

2、进入编辑界面,使用键盘上下键把光标往下移动,找到以“Linux16”开头内容所在行数,在行的最后输入:init=/bin/sh

3、接着输入完成后,直接按快捷键Ctrl+x 进入单用户模式

4、接着在光标闪烁位置输入:mount -o remount,rw /(注意各个单词之间有空格),完成后按回车键(Enter)

5、在新的一行最后面输入:passwd,完成后按键盘上的回车键(Enter)。输入密码,然后再次确认输入密码即可,密码修改成功后,会显示passwd...的样式,说明密码修改成功

6、接着在鼠标闪烁的位置中(最后一行)输入:touch /.autorelabel(touch后面有个空格),完成后按键盘的回车键(Enter)

7、继续在光标闪烁的位置输入:exec /sbin/init(exec后面有个空格),完成后按键盘的回车键(Enter),等待系统自动修改密码(时间可能会有点长,请耐心等待),完成后,系统会自动重启,新的密码已经生效了

8、登陆之后建议使用passwd root 重新修改便于自己记忆的密码

ls 指令

ls -alh :显示包括隐藏的全部文件、列表形式、人性化形式。
ls -alh 目录或文件

cd 指令

cd ~ :回到家目录
cd ..:回到上一级目录

mkdir 指令

mkdir 要创建的目录:创建一个目录
mkdir -p 要创建的多级目录:创建多级目录

rmdir 指令

rmdir 要删除的空目录:只能删除空目录
rm -rf 要删除的目录:递归、强制删除非空的目录

cp 指令

cp 源文件 复制后的文件
cp -r 源文件目录 复制后的文件目录:递归复制整个文件夹

mv 指令

mv 原文件名 修改后的文件名:重命名文件
mv 原文件或文件目录 移动后的文件目录:移动文件或整个文件夹

cat 指令

cat:只能浏览文件,而不能修改文件。
为了浏览方便,一般会带上管道命令“| more”。如cat -n 文件名 | more ,实现分页浏览(-n 显示行号)。

less 指令

less 用来分屏查看文件内容,它的功能与 more 指令类似,但是比 more 指令更加强大,支持各种显示终端。
less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。

命令:less 要查看的文件。

echo 指令

echo 内容:echo 输出内容到控制台。
echo $PATH > /home/a.txt:输入环境变量到a.txt文件中

使用 echo指令输出环境变量,例如输出当前的环境路径:echo $PATH。

head 指令

head 文件名:查看文件前10行内容。
head -n 5 文件名:查看文件前5行内容,5可以是任意行数。

tail 指令

tail 文件名:查看文件后10行内容。
tail -n 5 文件名:查看文件后5行内容,5可以是任意行数。
tail -f 文件名:实时追踪该文档的所有更新,工作经常使用。

ln 指令

软链接也叫符号链接,类似于 Windows 里的快捷方式,主要存放了链接其他文件的路径。

ln -s 原文件或目录 软链接名:给原文件创建一个软链接。

history 指令

查看已经执行过历史命令,也可以执行历史指令。

history:查看已经执行过历史命令。
!历史命令行数:执行历史命令行数所对应的命令。

date 指令

date:显示当前时间.
data+%Y:显示当前年份。
data+%m:显示当前月份。
data+%d:显示当前是哪一天。
date "+%Y-%m-%d %H:%M:%S":显示年月日时分秒。
date -s 字符串时间:设置系统时间。

cal 指令

cal:显示本月日历。

find 指令

find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。

find 搜索范围路径 -name 文件名:在搜索范围内按文件名搜索。
find 搜索范围路径 -user 用户名:在搜索范围内按用户名搜索。
find 搜索范围路径 -size +n:在搜索范围内按文件大小搜索,+n 表示大于 n,-n 表示小于 n,n 表示等于 n,n 的单位可以有 k、M、G。

locate 指令

locate 指令可以快速定位文件路径。locate 指令利用事先建立的系统中所有文件名称及路径的 locate 数据库实现快速定位给定的文件。locate 指令无需遍历整个文件系统,查询速度较快。

由于 locate 指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创建 locate 数据库。
locate 搜索文件名

grep 指令和 管道符号 |

grep 过滤查找,管道符号|,表示将前一个命令的处理结果输出传递给后面的命令处理。

grep 查找的内容 源文件。
cat 文件名 | grep -ni 查找的内容:-n 表示显示行号,-i 表示不区分大小写。

gzip/gunzip 指令

gzip 要压缩的文件:压缩文件,只能将文件压缩为*.gz 类型的文件。
gunzip *.gz:解压缩文件命令。
当使用gzip对文件进行压缩后,不会保留原来的文件。

zip/unzip 指令

zip *.zip 要压缩的文件:压缩文件。
zip -r *.zip 要压缩的目录:压缩目录。
unzip *.zip:解压缩文件。
unzip -d 解压后文件的存放路径 *.zip:指定解压后文件的存放目录。

tar 指令

tar指令是打包指令,最后打包后的文件是 *.tar.gz 格式的文件。

tar -zcvf *.tar.gz 打包的文件或者目录:打包压缩文件或者目录。
tar -zxvf *.tar.gz:解压 *.tar.gz 文件到当前目录。
tar -zxvf *.tar.gz -C 解压后文件的存放路径:解压 *.tar.gz 文件到指定目录。

八、组管理和权限管理

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