文章目录
- linux入门
- Linux文件与目录结构
- VI/VIM编辑器
- 网络配置和系统管理操作
- 远程登录
- 常用基本语法
-
- 帮助命令
- 文件目录类
-
- [pwd 显示当前工作目录的绝对路径](#pwd 显示当前工作目录的绝对路径)
- [ls 列出目录的内容](#ls 列出目录的内容)
- [cd 切换目录](#cd 切换目录)
- mkdir创建一个新的目录
-
- [rmdir 删除一个空的目录](#rmdir 删除一个空的目录)
- [touch 创建空文件](#touch 创建空文件)
- [cp 复制文件或目录](#cp 复制文件或目录)
- [rm 删除文件或目录](#rm 删除文件或目录)
- [mv 移动文件与目录或重命名](#mv 移动文件与目录或重命名)
- [cat 查看文件内容](#cat 查看文件内容)
- more文件内容分屏查看器
- [less 分屏显示文件内容](#less 分屏显示文件内容)
- [head 显示文件头部内容](#head 显示文件头部内容)
- [tail 输出文件尾部内容](#tail 输出文件尾部内容)
- echo
- [> 输出重定向和 >> 追加](#> 输出重定向和 >> 追加)
- [ln 软链接](#ln 软链接)
- [history 查看已经执行过历史命令](#history 查看已经执行过历史命令)
linux入门
概述
Linux内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
目前市面上较知名的发行版有: Ubuntu、RedHat、CentOS、Debain、Fedora、SuSE、OpenSUSE。
Linux和Windows的区别
比较 | Windows | Linux |
---|---|---|
免费与收费 | 收费且很贵 | 免费或少许收费 |
软件与支持 | 数量和质量的优势,不过大部分为收费软件;由微软官方提供支持和服务; | 开源自由软件,用户可以修改定制和再发布,由于基本免费没有资金支持,部分软件质量和体验欠缺;有全球所有的Linux开发者和自由软件社区提供支持。 |
安全性 | 三天两头打补丁安装系统安全更新,还是会中病毒木马; | 要说Linux没有安全问题,那当然是不可能的,这---点仁者见仁智者见智,相对来说肯定比Windows 平台要更加安全 |
使用习惯 | 普通用户基本都是纯图形界面下操作使用,依靠鼠标和健盘完成---切操作,用户上手容易入门简单; | 兼具图形界面操作和完全的命令行操作,可以只用健盘完成---切操作,新手入门较困难,需要一些学习和指导,---旦熟练之后效率极高。 |
可定制性 | 封闭的,系统可定制性很差; | 开源,可定制化非常强。 |
应用场景 | 桌面操作系统主要使用的是window。 | 支撑百度,谷歌,淘宝等应用软件和服务的,是后台成千上万的Linux服务器主机。世界上大部分软件和服务都是运行在Linux之上的。 |
CentOS下载地址
网易镜像:http://mirrors.163.com/centos/7/isos/
搜狐镜像:https://mirrors.sohu.com/centos/7/isos/
Linux文件与目录结构
Linux文件
LInux系统中一切皆文件
Linux目录结构
文件夹 | 介绍 |
---|---|
/bin | 是Binary的缩写,这个目录中存放着最经常使用的命令 |
/sbin | s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。 |
/home | 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。 |
/root | 该目录为系统管理员,也称作超级权限者的用户主目录 |
/lib | 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。 |
/etc | 所有的系统管理所需要的配置文件和子目录 |
/usr | 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录 |
/boot | 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里。 |
/proc | 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。 |
/srv | service缩写,该目录存放一些服务启动之后需要提取的数据。 |
/sys | 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs |
/tmp | 这个目录是用来存放一些临时文件的。 |
/dev | 类似于windows的设备管理器,把所有的硬件用文件的形式存储 |
/media | Linux系统会自动识别一些设备,例如U盘、光驱等等,centos6中当识别后,linux会把识别的设备挂载到这个目录下,在centos7中会挂载到/run目录下面 |
/mnt | 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。 |
/opt | 这是给主机额外安装软件所摆放的目录。比如你安装一个mysql数据库则就可以放到这个目录下。默认是空的。 |
/var | 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录,放在这个目录下。包括各种日志文件。 |
VI/VIM编辑器
vi/vim是什么
VI是Unix操作系统和类Unix操作系统中最通用的文本编辑器。
VIM编辑器是从VI发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM与VI编辑器完全兼容
测试数据集准备
我们使用Xftp在home文件夹下,创建abc文件,并使用notepad++添加数据
一般模式
以vi打开一个档案就直接进入一般模式了(这是默认模式),在这个模式中,你可以使用【上下左右】案件来移动光标,你可以使用删除字符,删除整行来处理档案内容,也可以使用复制,粘贴 来处理你的文件数据
1.常用语法
语法 | 功能描述 |
---|---|
yy | 复制光标当前一行 |
y数字y | 复制一段(从光标当前行到后n行) |
p | 箭头移动到目的行粘贴 |
u | 撤销上一步 |
dd | 删除光标当前行 |
d数字d | 删除光标(含)后多少行 |
x | 剪切一个字母(当前光标),相当于del |
X | 剪切一个字母(当前光标的前一个),相当于Backspace |
yw | 复制一个词 |
dw | 删除一个词 |
shift+6(^) | 移动到行头 |
shift+4($) | 移动到行尾 |
1+shift+g | 移动到页头,数字 |
shift+g | 移动到页尾 |
数字N+shift+g | 移动到目标行 |
2.vim键盘图 | |
编辑模式
在一般模式中可以进行删除、复制、粘贴等的动作,但是却无法编辑文件内容的!要等到你按下『i, I, o, O, a, A』等任何一个字母之后才会进入编辑模式。
注意了!通常在Linux中,按下这些按键时,在画面的左下方会出现『INSERT或 REPLACE』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。
1.进入编辑模式
常用语法
按键 | 功能 |
---|---|
i | 当前光标前 |
a | 当前光标后 |
o | 当前光标行的下一行 |
I | 光标所在行最前 |
A | 光标所在行最后 |
O | 当前光标行的上一行 |
2.退出编辑功能
按【ESC】键
指令模式
在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那一行。
在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等动作是在此模式中达成的!
1.基本语法
命令 | 功能 |
---|---|
:w | 保存 |
:q | 退出 |
:! | 强制执行 |
/要查找的词 | n 查找下一个,N 往上查找 |
:noh | 取消高亮显示 |
:set | nu 显示行号 |
:set | nonu 关闭行号 |
:%s/old/new/g | 替换内容 /g global替换匹配到的所有内容 |
2.案例操作 | |
强制保存退出 | |
:wq! |
模式间转换
网络配置和系统管理操作
查看网络IP和网关
1)查看虚拟网络编辑器
在编辑中选择查看虚拟网络编辑器
2)修改虚拟网卡IP
3)查看网关
4)查看windows环境的中VMnet8网络配置
打开cmd。输入
ipconfig
配置网络和ip地址
ifconfig配置网络接口
ifconfig :network interfaces configuring网络接口配置。
1)基本语法
ifconfig (功能描述:显示所有网络接口的配置信息)
2)案例实操
(1)查看当前网络IP
2)案例实操
(1)测试当前服务器是否可以连接百度
修改ip地址
bash
vim /etc/sysconfig/network-scripts/ifcfg-ens33
编辑完后,按键盘esc,然后输入 :wq 回车即可。
2)执行service network restart 重启网络
修改ip地址后可能会遇到的问题
(1)物理机能ping通虚拟机,但是虚拟机ping不通物理机,一般都是因为物理机的防火墙问题,把防火墙关闭就行
(2)虚拟机能Ping通物理机,但是虚拟机Ping不通外网,一般都是因为DNS的设置有问题
(3)虚拟机Ping www.baidu.com 显示域名未知等信息,一般查看GATEWAY和DNS设置是否正确
(4)如果你修改了windows主机的vmnet8的ip需要重启电脑
(5)如果以上全部设置完还是不行,需要关闭NetworkManager服务
systemctl stop NetworkManager 关闭
systemctl disable NetworkManager 禁用
(6)如果检查发现 systemctl status network 有问题 需要检查ifcfg-ens33
配置主机名
修改主机名称
1.基本语法
hostname 功能叙述:查看当前服务器的主机名称
2.实例操作
(1)查看当前服务器主机名称
[root@hadoop100 桌面]# hostname
(2)如果感觉此主机名不合适,我们可以进行修改。通过编辑/etc/hostname文件
[root@hadoop100 桌面]# vi /etc/hostname
注意:修改完成后重启生效
修改hosts映射文件
1)修改linux的主机映射文件(hosts文件)
说明:后续在hadoop阶段,虚拟机会比较多,配置时通常会采用主机名的方式配置,比较简单方便。不用刻意记IP地址。
(1)打开/etc/hosts
[root@hadoop100 桌面]# vim /etc/hosts
添加如下内容(hadoop阶段内容,可以先不添加):
2)修改window10的主机映射文件(hosts文件)
(1)进入C:\Windows\System32\drivers\etc路径
(2)拷贝hosts文件到桌面
(3)打开桌面hosts文件并添加如下内容
192.168.100.100 hadoop100
192.168.100.101 hadoop101
192.168.100.102 hadoop102
192.168.100.103 hadoop103
192.168.100.104 hadoop104
(4)将桌面hosts文件覆盖C:\Windows\System32\drivers\etc路径hosts文件
关闭防火墙
systemctl
1.基本语法
systemctl start | stop | restart | status 服务名
2.经验技巧
查看服务的方法:/usr/lib/systemd/system
3.实例操作
(1)查看网络服务的状态
systemctl status network
(2)停止网络服务
systemctl stop network
(3)启动网络服务
systemctl start network
(4)重启网络服务
systemctl restart network
systemctl 设置后台服务的自启配置
1)基本语法
sys (功能描述:查看服务开机启动状态)
systemctl is-enabled service_name (功能描述:查看当前服务的开机启动状态)
systemctl disable service_name (功能描述:关掉指定服务的自动启动)
systemctl enable service_name (功能描述:开启指定服务的自动启动)
关闭防火墙
1)临时关闭防火墙
(1)查看防火墙状态
systemctl status firewalld
(2)临时关闭防火墙
systemctl stop firewalld
2)开机启动时关闭防火墙
(1)查看防火墙开机启动状态
systemctl enable firewalld.service
(2)设置开机时关闭防火墙
systemctl disable firewalld.service
(3)查看服务是否开机自启
systemctl is-enabled firewalld.service
disabled 表示开机不自启
enabled 表示开机自启
关机重启命令
在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。
正确的关机流程为:sync > shutdown > reboot > halt
1)基本语法
(1)sync (功能描述:将数据由内存同步到硬盘中)
(2)halt (功能描述:关闭系统,等同于shutdown -h now 和 poweroff)
(3)reboot (功能描述:就是重启,等同于 shutdown -r now)
(4)shutdown [选项] 时间
①shutdown参数说明
选项 | 功能 |
---|---|
-h | -h=halt关机 |
-r | -r=reboot重启 |
②now参数说明
参数 | 功能 |
---|---|
now | 立刻关机 |
时间 | 等待多久后关机(时间单位是分钟)。 |
2)经验技巧
Linux系统中为了提高磁盘的读写效率,对磁盘采取了 "预读迟写"操作方式。当用户保存文件时,Linux核心并不一定立即将保存数据写入物理磁盘中,而是将数据保存在缓冲区中,等缓冲区满时再写入磁盘,这种方式可以极大的提高磁盘写入数据的效率。但是,也带来了安全隐患,如果数据还未写入磁盘时,系统掉电或者其他严重问题出现,则将导致数据丢失。使用sync指令可以立即将缓冲区的数据写入磁盘。
3)案例实操
(1)将数据由内存同步到硬盘中
#sync
(2)重启
#reboot
(3)关机
#halt
(4)计算机将在1分钟后关机,并且会显示在登录用户的当前屏幕中
shutdown -h 1 'This server will shutdown after 1 mins'
(5)立马关机(等同于 halt)
#shutdown -h now
(6)系统立马重启(等同于 reboot)
#shutdown -r now
找回root密码
1)重启Linux,见到下图,通过键盘上下方向键选择第一个
2)按e,出现如下的界面、
3)定位到LANG=zh_CN.UTF-8,后面追加 init=/bin/sh
4)键盘ctrl+x进行引导启动,进入如下界面
5)挂载根目录 mount -o remount,rw /
6)选择要修改密码的用户名,passwd root,然后输入两次一致的密码,依次回车。
注意: 输入密码不显示,一定要确认输入正确。
7)更新系统信息 touch /.autorelabel、
8)最后输入exec /sbin/init 命令重启系统即可
9)进入登录界面,输入修改后的密码登录即可。
远程登录
通常在工作过程中,公司中使用的真实服务器或者是云服务器,都不允许除运维人员之外的员工直接接触,因此就需要通过远程登录的方式来操作。所以,远程登录工具就是必不可缺的,目前,比较主流的有Xshell,SSH Secure Shell,SecureCRT,FinalShell等,同学们可以根据自己的习惯自行选择。
常用基本语法
帮助命令
man获取帮助信息
1)基本语法
man [命令或配置文件] (功能描述:获得帮助信息)
2)显示说明
信息 | 功能 |
---|---|
NAME | 命令的名称和单行描述 |
SYNOPSIS | 怎样使用命令 |
DESCRIPTION | 命令功能的深入讨论 |
EXAMPLES | 怎样使用命令的例子 |
SEE ALSO | 相关主题(通常是手册页) |
3)案例实操
(1)查看ls命令的帮助信息
#man ls
help 获得shell内置命令的帮助信息
1)基本语法
help 命令 (功能描述:获得shell内置命令的帮助信息)
2)案例实操
(1)查看cd命令的帮助信息
#help cd
常用快捷键
常用快捷键 | 功能 |
---|---|
ctrl + c | 停止进程 |
ctrl+l | 清屏;彻底清屏是:reset |
ctrl + q | 退出 |
善于用tab键 | 提示(更重要的是可以防止敲错) |
上下键 | 查找执行过的命令 |
ctrl +u | 清除当前敲的命令 |
文件目录类
pwd 显示当前工作目录的绝对路径
pwd:print working directory 打印工作目录
1)基本语法
pwd (功能描述:显示当前工作目录的绝对路径)
2)案例实操
(1)显示当前工作目录的绝对路径
#pwd
ls 列出目录的内容
ls:list 列出目录内容
1)基本语法
ls [选项] [目录或是文件]
2)选项说明
选项 | 功能 |
---|---|
-a | 全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用) |
-l | 长数据串列出,包含文件的属性与权限等等数据;(常用) |
3)显示说明
每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小用byte来表示 建立或最近修改的时间 名字
4)案例实操
(1)查看当前目录的所有内容信息
#ls -al
cd 切换目录
cd:Change Directory切换路径
1)基本语法
cd [参数]
2)参数说明
参数 | 功能 |
---|---|
cd | 绝对路径 切换路径 |
cd | 相对路径 切换路径 |
cd ~或者cd | 回到自己的家目录 |
cd - | 回到上一次所在目录 |
cd ... | 回到当前目录的上一级目录 |
cd -P | 跳转到实际物理路径,而非快捷方式路径 |
mkdir创建一个新的目录
mkdir:Make directory 建立目录
1)基本语法
mkdir [选项] 要创建的目录
2)选项说明
选项 | 功能 |
---|---|
-p | 创建多层目录 |
3)案例实操
(1)创建一个目录
#mkdir xiyou
#mkdir xiyou/mingjie
(2)创建一个多级目录
#mkdir -p xiyou/dssz/meihouwang
rmdir 删除一个空的目录
rmdir:Remove directory 移动目录
1)基本语法
rmdir 要删除的空目录
2)案例实操
(1)删除一个空的文件夹
#rmdir xiyou/dssz/meihouwang
touch 创建空文件
1)基本语法
touch 文件名称
2)案例实操
#touch xiyou/dssz/sunwukong.txt
cp 复制文件或目录
1)基本语法
cp [选项] source dest (功能描述:复制source文件到dest)
2)选项说明
选项 | 功能 |
---|---|
-r | 递归复制整个文件夹 |
3)参数说明
参数 | 功能 |
---|---|
source | 源文件 |
dest | 目标文件 |
4)经验技巧
强制覆盖不提示的方法:\cp
5)案例实操
(1)复制文件
#cp xiyou/dssz/suwukong.txt xiyou/mingjie/
(2)递归复制整个文件夹
#cp -r xiyou/dssz/
rm 删除文件或目录
1)基本语法
rm [选项] deleteFile (功能描述:递归删除目录中所有内容)
2)选项说明
选项 | 功能 |
---|---|
-r | 递归删除目录中所有内容 |
-f | 强制执行删除操作,而不提示用于进行确认。 |
-v | 显示指令的详细执行过程 |
案例实操
(1)删除目录中的内容
#rm xiyou/mingjie/sunwukong.txt
(2)递归删除目录中所有内容
#rm -rf dssz/
mv 移动文件与目录或重命名
1)基本语法
(1)mv oldNameFile newNameFile (功能描述:重命名)
(2)mv /temp/movefile /targetFolder (功能描述:移动文件)
2)案例实操
(1)重命名
#mv xiyou/dssz/suwukong.txt xiyou/dssz/houge.txt
#mv xiyou/dssz/houge.txt ./
cat 查看文件内容
查看文件内容,从第一行开始显示。
1)基本语法
cat [选项] 要查看的文件
2)选项说明
选项 | 功能描述 |
---|---|
-n | 显示所有行的行号,包括空行。 |
3)经验技巧
一般查看比较小的文件,一屏幕能显示全的。
4)案例实操
(1)查看文件内容并显示行号
#cat -n houge.txt
more文件内容分屏查看器
more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键,详见操作说明。
1)基本语法
more 要查看的文件
2)操作说明
操作 | 功能说明 |
---|---|
空白键 (space) | 代表向下翻一页; |
Enter | 代表向下翻『一行』; |
q | 代表立刻离开 more ,不再显示该文件内容。 |
Ctrl+F | 向下滚动一屏 |
Ctrl+B | 返回上一屏 |
= | 输出当前行的行号 |
:f | 输出文件名和当前行的行号 |
3)案例实操
(1)采用more查看文件
#more smartd.conf
less 分屏显示文件内容
ess指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
1)基本语法
less 要查看的文件
2)操作说明
操作 | 功能说明 |
---|---|
空白键 | 向下翻动一页; |
[pagedown] | 向下翻动一行 |
[pageup] | 向上翻动一行; |
/字串 | 向下搜寻『字串』的功能;n:向下查找;N:向上查找; |
?字串 | 向上搜寻『字串』的功能;n:向上查找;N:向下查找; |
q | 离开 less 这个程序; |
3)经验技巧
用SecureCRT时[pagedown]和[pageup]可能会出现无法识别的问题。
4)案例实操
(1)采用less查看文件
#less smartd.conf
head 显示文件头部内容
head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容。
1)基本语法
head 文件 (功能描述:查看文件头10行内容)
head -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
2)选项说明
选项 | 功能 |
---|---|
-n<行数> | 指定显示头部内容的行数 |
3)案例实操
(1)查看文件的头2行
#head -n 2 smartd.conf
tail 输出文件尾部内容
tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的后10行内容
1)基本语法
(1)tail 文件 (功能描述:查看文件尾部10行内容)
(2)tail -n 5 文件 (功能描述:查看文件尾部5行内容,5可以是任意行数)
(3)tail -f 文件 (功能描述:实时追踪该文档的所有更新)
2)选项说明
选项 | 功能 |
---|---|
-n<行数> | 输出文件尾部n行内容 |
-f | 显示文件最新追加的内容,监视文件变化 |
3)案例实操
(1)查看文件尾1行内容
#tail -n 1 smartd.conf
(2)实时追踪该档的所有更新
#tail -f houge.txt
echo
echo输出内容到控制台
1)基本语法
echo [选项] [输出内容]
选项:
-e: 支持反斜线控制的字符转换
控制字符 | 作用 |
---|---|
\ | 输出\本身 |
\n | 换行符 |
\t | 制表符,也就是Tab键 |
2)案例实操 | |
#echo "hello\tworld" | |
#echo -e "hello\tworld" |
> 输出重定向和 >> 追加
2)案例实操
(1)将ls查看信息写入到文件中
#ls -l>houge.txt
(2)将ls查看信息追加到文件中
#ls -l>>houge.txt
(3)采用echo将hello单词追加到文件中
#echo hello>>houge.txt
ln 软链接
软链接也成为符号链接,类似于windows里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径。
1)基本语法
ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)
2)经验技巧
删除软链接: rm -rf 软链接名,而不是rm -rf 软链接名/
查询:通过ll就可以查看,列表属性第1位是l,尾部会有位置指向。
3)案例实操
(1)创建软连接
mv houge.txt xiyou/dssz/
ln -s xiyou/dssz/houge.txt ./houzi
可以看到我们创建的软连接
(2)删除软连接
#rm -rf houzi
注意:rm -rf houzi/ 这样删是删不掉的 不能再软连接后面加/
(3)进入软连接实际物理路径、
#cd -P dssz/
history 查看已经执行过历史命令
1)基本语法
history (功能描述:查看已经执行过历史命令)
2)案例实操
(1)查看已经执行过的历史命令
#history