Linux
Linux介绍
Linux和windows区别?
centOs下载地址
网易镜像:http://mirrors.163.com/7/isos/
搜狐镜像:http://mirrors.sohu.com/centos/7/isos/
Linux目录
/bin:Binary的缩写,存放经常使用的命令。
/sbin:s就是SuperUser的意思,这里存放的是系统管理程序。
/home:存放普通用户的主目录,一般该目录名是以用户的账号命名的
/root:该目录是系统管理员,超级权限者的用户主目录。
/lib:系统开机需要最基本的动态连接共享库
/lost+found:目录是空的,当系统非法关机后,这里存放了一些文件
/etc:所有的 系统管理所需要的系统文件和子目录
/user:重要目录 用户很多应用程和文件都放在这个目录下
/ boot:存放的Linux核心文件,包括连接文件以及镜像文件 自己的安装放这里
/proc:虚拟目录,它是系统内存的映射,我们通过直接访问目录来获取系统信息
/srv:service缩写,存放一些服务启动之后需要提取的数据
/sys:linux2.6内核很大的变化 ,安装2.6内核出现了一个文件系统sysfs
ctrl 组合键
Ctrl+c 结束正在运行的程序
Ctrl+d 结束输入或退出shell
Ctrl+s 暂停屏幕输出【锁住终端】
Ctrl+q 恢复屏幕输出【解锁终端】
Ctrl+l 清屏,【是字母L的小写】等同于Clear
当前光标到行首:ctrl+a
当前光标到行尾:ctrl+e
删除当前光标到行首:ctrl+u
删除当前光标到行尾:ctrl+k
Ctrl+y 在光标处粘贴剪切的内容
Ctrl+r 查找历史命令【输入关键字,就能调出以前执行过的命令】
Ctrl+t 调换光标所在处与其之前字符位置,并把光标移到下个字符
Ctrl+x+u 撤销操作
Ctrl+z 转入后台运行
VI/VIM编辑器
VIM是什么?
VI 是 Unix 操作系统和类 Unix 操作系统中最通用的文本编辑器。 VIM 编辑器是从 VI 发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜 色辨别语法的正确性,方便程序设计。VIM 与 VI 编辑器完全兼容。
vim有三种模式
1.一般模式
以 vi 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可
以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档
案内容, 也可以使用『复制、粘贴』来处理你的文件数据。
插入模式
打一个:i 或者 a 或 o
在光标位置前插入字符 a
在光标所在位置的后一个字符开始增加 o
插入新的一行,从行首开始输入
ESC
加w 保存 回退 输入u
dd删除 uu回撤 dw删除这个词
按数字「0」:移到文章的开头。
按「G」:移动到文章的最后。
按「w」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头
输入:q 回退命令行
删除文字
「x」:每按一次,删除光标所在位置的"后面"一个字符。
「X」:大写的X,每按一次,删除光标所在位置的"前面"一个字符。
「dd」:删除光标所在行。
复制
「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「yy」:复制光标所在行到缓冲区。
「p」(粘贴):将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能。
gg回到文章顶部 L回到文章页尾
set nu 显示行号 set nonu 关闭行号
替换
「r」:替换光标所在处的字符。
「R」:替换光标所到之处的字符,直到按下「ESC」键为止。
回复上一次操作
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次"u"可以执行多次回复。
列出行号
set nu 每一行前面列出行号
查找字符
「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。
「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。
显示行号
set nu
不显示行号
set nonu
保存文件
「w」:在冒号输入字母「w」就可以将文件保存起来。
离开vi
「q」:按「q」就是退出,如果无法离开vi,可以在「q」后跟一个「!」强制离开vi。
「qw」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。
( 命令
将光标移至上一个句子的开头。
) 命令
该命令将光标移至下一个句子的开头。
常用语法
强制退出 :wq!
模式间转换:
网络配置
配置网络ip地址
ifconfig :network interfaces configuring 网络接口配置
(显示所有网络接口的配置信息)
ping 测试连通
vmware三种网络连接模式
桥接模式、NAT模式、仅主机模式
修改主机名
[root@localhost ~]# hostnamectl set hostname mxx
计算机中,一个正在执行的程序或命令,被叫做“进程”(
process)。
启动之后一只存在、常驻内存的进程,一般被称作“服务”(
service)。
修改ip地址
[root@hadoop100 桌面]#vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=“Ethernet” #网络类型(通常是 Ethemet) PROXY_METHOD=“none” BROWSER_ONLY=“no” BOOTPROTO=“static” #IP 的配置方法[none|static|bootp|dhcp](引导 时不 使用协议|静态分配 IP|BOOTP 协议|DHCP 协议) DEFROUTE=“yes” IPV4_FAILURE_FATAL=“no” IPV6INIT=“yes” IPV6_AUTOCONF=“yes” IPV6_DEFROUTE=“yes” IPV6_FAILURE_FATAL=“no” IPV6_ADDR_GEN_MODE=“stable-privacy” NAME=“ens33” UUID=“e83804c1-3257-4584-81bb-660665ac22f6” #随机 id DEVICE=“ens33” #接口名(设备,网卡)
ONBOOT=“yes”
#系统启动的时候网络接口是否有效(yes/no)
#IP 地址 IPADDR=192.168.1.100
#网关
GATEWAY=192.168.1.2
#域名解析器
DNS1=192.168.1.2
编辑完后,按键盘 esc ,然后输入 :wq 回车即可。
service network restart 重启网络
关闭防火墙
systemctl stop NetworkManager
禁用防火墙
systemctl disable NetworkManager
配置主机名
修改主机名称
查看当前主机名称 hostname
打开/etc/hosts
[root@hadoop100 桌面]# vim /etc/hosts
添加如下内容
192.168.2.100 hadoop100
192.168.2.101 hadoop101
192.168.2.102 hadoop102
192.168.2.103 hadoop103
192.168.2.104 hadoop104
192.168.2.105 hadoop105
将桌面 hosts 文件覆盖 C:\Windows\System32\drivers\etc 路径 hosts 文件
service 服务管理
service 服务名 start | stop |· restart | status
查看网络服务的状态
service network status
停止网络服务
service network stop
启动网络服务
service network start
重启网络服务
service network restart
chkconfig 设置后台服务的自启配置
chkconfig (功能描述:查看所有服务器自启配置)
chkconfig 服务名 off (功能描述:关掉指定服务的自动启动)
chkconfig 服务名 on (功能描述:开启指定服务的自动启动)
chkconfig 服务名 --list (功能描述:查看服务开机启动状态)
开启/关闭 network(网络)服务的自动启动
chkconfig network on
systemctl
systemctl start | stop | restart | status 服务名
查看防火墙服务的状态
systemctl status firewalld
停止防火墙服务
systemctl stop firewalld
启动防火墙服务
systemctl start firewalld
重启防火墙服务
systemctl restart firewalld
systemctl 设置后台服务的自启配置
systemctl list-unit-files (功能描述:查看服务开机启动状态) systemctl disable service_name (功能描述:关掉指定服务的自动启动)
systemctl enable service_name (功能描述:开启指定服务的自动启动)
常用命令:
常用基本命令(重要)
命令:cd 目录
cd / 切换到根目录
cd /usr 切换到根目录下的usr目录
cd ../ 切换到上一级目录 或者 cd ..
cd ~ 切换到home目录
cd - 切换到上次访问的目录
关机
shutdown -h now
5分钟关机
shutdown -h 5
立刻关机
power off
立刻重启
shutdown -r now
停五分钟重启
shutdown -r 5
查看网卡信息
ifconfig -help
查看ip地址
ifconfig
man shutdown打开命令说明书之后,使用按键q退出
查看全部 目录
命令: [-al]
ls 查看当前目录下的所有目录和文件
ls -a 查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l 或 ll 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
ls /dir 查看指定目录下的所有目录和文件 如:ls /usr
创建文件夹
mkdir
mkdir aaa 在当前目录下创建一个名为aaa的目录
mkdir /usr/aaa 在指定目录下创建一个名为aaa的目录
mkdir -p 创建多层目录
ls man 查看帮助
help 帮助
history 所有历史命令
pwd 显示当前工作目录的绝对路径
rmdir 删除一个空的目录
rm 文件 删除当前目录下的文件
rm -f 文件 删除当前目录的的文件(不询问)
删除目录:
rm -r aaa 递归删除当前目录下的aaa目录
rm -rf aaa 递归删除当前目录下的aaa目录(不询问)
全部删除:
rm -rf * 将当前目录下的所有目录和文件全部删除
rm -rf /* 【自杀命令!慎用!慎用!慎用!】将根目录下的所有文件全部删除
注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了方便大家的记忆,无论删除任何目录或文件,都直接使用 rm -rf 目录/文件/压缩包
创建文件 touch
拷贝目录
命令:cp -r 目录名称 目录拷贝的目标位置 -r代表递归
示例:将/usr/tmp目录下的aaa目录复制到 /usr目录下面 cp /usr/tmp/aaa /usr
cp 复制文件或目录
-r
递归复制整个文件夹
查看文件 cat
cat -n 显示所有的行号
more:百分比显示
more 文件内容分屏查看器
示例:使用more查看/etc/sudo.conf文件,可以显示百分比,回车可以向下一行,空格可以向下一页,q可以退出查看
more sudo.conf
cp复制
mv移动文件与目录或重命名
cat -n 显示所有行的行号
less:翻页查看
cat 查看文件内容
查看文件内容并显示行号
cat -n houge.txt
more 文件内容分屏查看器
more 要查看的文件
空白键 (space) 代表向下翻一页;
Enter 代表向下翻『一行』;
q 代表立刻离开 more ,不再显示该文件内容。
Ctrl+F 向下滚动一屏
Ctrl+B 返回上一屏 = 输出当前行的行号 :f 输出文件名和当前行的行号
less 分屏显示文件内容
空白键 向下翻动一页
[pagedown] 向下翻动一页
[pageup] 向上翻动一页
/字串 向下搜寻『字串』的功能;n:向下查找;N:向上查找
?字串 向上搜寻『字串』的功能;n:向上查找;N:向下查找
q 离开 less 这个程序
echo
echo 输出内容到控制台
-e: 支持反斜线控制的字符转换
\ 输出\本身
\n 换行符
\t 制表符,也就是 Tab 键
head 显示文件头部内容
head 文件 (功能描述:查看文件头10行内容)
head -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
-n<行数> 指定显示头部内容的行数
查看文件的头2行
head -n 2 smartd.conf
tail 输出文件尾部内容
tail 用于输出文件中尾部的内容,默认情况下 tail 指令显示文件的后 10 行内容。
(1)tail 文件 (功能描述:查看文件尾部10行内容)
(2)tail -n 5 文件 (功能描述:查看文件尾部5行内容,5可以是任意行数)
(3)tail -f 文件 (功能描述:实时追踪该文档的所有更新)
查看文件尾 1 行内容 tail -n 1 smartd.conf
实时追踪该档的所有更新 tail -f houge.txt
采用 echo 将 hello 单词追加到文件中
echo hello>>houge.txt
ln 软链接
软链接也称为符号链接,类似于 windows 里的快捷方式,有自己的数据块,主要存放 了链接其他文件的路径
基本语法
ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)
删除软链接: rm -rf 软链接名,而不是 rm -rf 软链接名/
创建软连接
ln -s xiyou/dssz/houge.txt ./houzi
删除软连接(注意不要写最后的/)
rm -rf houzi
进入软连接实际物理路径
ln -s xiyou/dssz/ ./dssz
history 查看已经执行过历史命令
history N 显示最近N条命令
history -c 清除所有的历史记录
history -w xxx.txt 保存历史记录到文本xxx.txt
时间日期类
date [OPTION]… [+FORMAT]
date 显示当前时间
(1)date (功能描述:显示当前时间)
(2)date +%Y (功能描述:显示当前年份)
(3)date +%m (功能描述:显示当前月份)
(4)date +%d (功能描述:显示当前是哪一天)
(5)date “+%Y-%m-%d %H:%M:%S” (功能描述:显示年月日时分秒)
显示当前时间信息 date
显示当前时间年月日 date +%Y%m%d
显示当前时间年月日时分秒date “+%Y-%m-%d %H:%M:%S”
cal查看日历
查看当前月的日历 cal
查看 2022 年的日历 cal 2022
用户管理命令
useradd 添加新用户
useradd 用户名 (功能描述:添加新用户)
useradd -g 组名 用户名 (功能描述:添加新用户到某个组)
添加一个用户
useradd mengxiangxin
passwd 设置用户密码
passwd 用户名 (设置用户密码)
id 查看用户是否存在
id mengxiangxin
cat /etc/passwd 查看创建了哪些用户
su 切换用户
su: swith user 切换用户
su 用户名称
su 用户名称 (功能描述:切换用户,只能获得用户的执行权限,不能获得环境变量)
su - 用户名称 (功能描述:切换到用户并获得该用户的环境变量及执行权限)
userdel 删除用户
(1)userdel 用户名 (功能描述:删除用户但保存用户主目录)
(2)userdel -r 用户名 (功能描述:用户和用户主目录,都删除)
-r 删除用户的同时,删除与用户相关的所有文件。
who 查看登录用户信息
(1)whoami (功能描述:显示自身用户名称)
(2)who am i (功能描述:显示登录用户的用户名以及登陆时间)
sudo 设置普通用户具有 root 权限
#useradd mengxiangxin
#passwd 0411
修改配置文件:
#vi /etc/sudoers
修改 /etc/sudoers 文件,找到下面一行(91 行),在 root 下面添加一行
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
mengxiangxin ALL=(ALL) ALL
或者配置成采用 sudo 命令时,不需要输入密码
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
mengxiangxin ALL=(ALL) NOPASSWD:ALL
usermod 修改用户
usermod -g 用户组 用户名
-g 修改用户的初始登录组,给定的组必须存在。默认组 id 是 1。
将用户加入到用户组
usermod -g root zhubajie
groupadd 新增组
基本语法
groupadd 组名
groupadd mengxiangxin
groupdel 删除组
groupdel 组名
groupmod 修改组
groupmod -n 新组名 老组名
cat /etc/group 查看创建了哪些组
文件权限类
0 首位表示类型
- 代表文件 d 代表目录 l 链接文档(link file);
-第1-3位确定属主(该文件的所有者)拥有该文件的权限。---User
第4-6位确定属组(所有者的同组用户)拥有该文件的权限,---Group
第7-9位确定其他用户拥有该文件的权限 ---Other
rwx 作用文件和目录的不同解释
[ r ]代表可读(read): 可以读取,查看 [ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前 提条件是对该文件所在的目录有写权限,才能删除该文件
[ x ]代表可执行(execute):可以被系统执行 (2)作用到目录: [ r ]代表可读(read): 可以读取,ls查看目录内容 [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录 [ x ]代表可执行(execute):可以进入该目录
chmod 改变权限
chmod [{ugoa}{±=}{rwx}] 文件或目录
第二种方式变更权限
chmod [mode=421 ] [文件或目录]
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o 的总和)
修改文件使其所属主用户具有执行权限
chmod u+x houge.txt
修改文件使其所属组用户具有执行权限
chmod g+x houge.txt
修改文件所属主用户执行权限,并使其他用户具有执行权限
chmod u-x,o+x houge.txt
采用数字的方式,设置文件所有者、所属组、其他用户都具有可读可写可执行权限
chmod 777 houge.txt
修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可 执行权限。
chmod -R 777 xiyou/
chown 改变所有者
-R 递归操作
chgrp 改变所属组
chgrp [最终用户组] [文件或目录] (功能描述:改变文件或者目录的所属组)
搜索查找类
find 查找文件或者目录
find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。
-name<查询方式> 按照指定的文件名查找模式查找文件
-user<用户名> 查找属于指定用户名所有文件
-size<文件大小> 按照指定的文件大小查找文件,单位为: b —— 块(512 字节) c —— 字节 w —— 字(2 字节) k —— 千字节 M —— 兆字节 G —— 吉字节
locate 快速定位文件路径
locate 搜索文件
grep 过滤查找及“|”管道符
-n 显示匹配行及行号
ls | grep -n test
压缩和解压类
gzip压缩
gunzip 解压缩
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz 文件)
gunzip 文件.gz (功能描述:解压缩文件命令)
(1)只能压缩文件不能压缩目录
(2)不保留原来的文件
(3)同时多个文件会产生多个压缩包
zip/unzip 压缩
zip [选项] XXX.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令)
-r 压缩目录
unzip [选项] XXX.zip (功能描述:解压缩文件)
-d<目录> 指定解压后文件的存放目录
tar打包
tar [选项] XXX.tar.gz 将要打包进去的内容
-c 产生.tar 打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
-x 解包.tar 文件
-C 解压到指定目录
tar -zcvf 加文件名
du 查看磁盘占用情况
-h 以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
-a 不仅查看子目录大小,还要包括文件
-c 显示所有的文件和子目录大小后,显示总和
-s 只显示总和 --max-depth=n 指定统计子目录的深度为第 n 层
查看当前用户主目录占用的磁盘空间大小
df: disk free 空余磁盘
df 选项 (功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占 用情况)
挂载情况
lsblk 查看挂载情况
mount/umount 挂载/卸载
ps 查看当前系统进程状态
ps aux | grep xxx (功能描述:查看系统中所有进程)
ps -ef | grep xxx (功能描述:可以查看子父进程之间的关系)
a 列出带有终端的所有用户的进程
x 列出当前用户的所有进程,包括没有终端的进程
u 面向用户友好的显示风格
-e 列出所有进程
-u 列出某个用户关联的所有进程
-f 显示完整格式的进程列表
kill 终止进程
kill [选项] 进程号 (功能描述:通过进程号杀死进程)
killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这 在系统因负载过大而变得很慢时很有用)
-9 表示强迫进程立即停止
pstree 查看进程树
-p 显示进程的 PID
-u 显示进程的所属用户
top 实时监控系统进程状态
--d 秒数 指定 top 命令每隔几秒更新。
默认是 3 秒在 top 命令的交互模式当 中可以执行的命令:
-i 使 top 不显示任何闲置或者僵死进程。
-p 通过指定监控进程 ID 来仅仅监控某个进程的状态。
P 以 CPU 使用率排序,默认就是此项
M 以内存的使用率排序
N 以 PID 排序
q 退出 top
netstat 显示网络状态和端口占用信息
netstat -anp | grep 进程号 (功能描述:查看该进程网络信息)
netstat –nlp | grep 端口号 (功能描述:查看网络端口号占用情况)
-a 显示所有正在监听(listen)和未监听的套接字(socket)
-n 拒绝显示别名,能显示数字的全部转化成数字
-l 仅列出在监听的服务状态
-p 表示显示哪个进程在调用
crontab 系统定时任务
重新启动 crond 服务
systemctl restart crond
-e 编辑 crontab 定时任务
-l 查询 crontab 任务
-r 删除当前用户所有的 crontab 任务
第一个“” 一小时当中的第几分钟 0-59
第二个“” 一天当中的第几小时 0-23
第三个“” 一个月当中的第几天 1-31
第四个“” 一年当中的第几月 1-12
第五个“*” 一周当中的星期几 0-7 ( 0 和 7 都 代 表 星 期 日)
RPM 概述
RPM(RedHat Package Manager),RedHat软件包管理工具
rpm -qa (功能描述:查询所安装的所有 rpm 软件包)
一般都会采取过滤。rpm -qa | grep rpm软件包
RPM 卸载命令(rpm -e)
rpm -e RPM软件包
rpm -e --nodeps 软件包
RPM 安装命令(rpm -ivh)
rpm -ivh RPM 包全名
-i install,安装
-v --verbose,显示详细信息
-h --hash,进度条
YUM 仓库配置
基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包 并且安装
基本语法
yum [选项] [参数]
-y 对所有提问都回答“yes”
install 安装 rpm 软件包
update 更新 rpm 软件包
check-update 检查是否有可用的更新 rpm 软件包
remove 删除指定的 rpm 软件包
list 显示软件包信息
clean 清理 yum 过期的缓存
deplist 显示 yum 软件包的所有依赖关系
测试 yum -y install firefox
修改网络 YUM 源
安装 wget, wget 用来从指定的 URL 下载文件
yum install wget
在/etc/yum.repos.d/目录下,备份默认的 repos 文件,
cp CentOS-Base.repo CentOS-Base .repo.backup
下载网易 163 或者是 aliyun 的 repos 文件
wget http://mirrors.aliyun.com/repo/Centos-7.repo //阿里云
进行替换之前的下载地址
mv CentOS7-Base-163.repo CentOS-Base.repo
测试
yum list | grep firefox
yum -y install firefox