nmtui 图像化方式配置网络
添加路由 route add default gw 192.168.117.2 (临时生效,重启之后将失效)
配置dns /etc/resolv.conf namesserver 202.restart network
sudo su 用户切换用户使用,输入用户即可切换用户
root@localhost 桌面 # #表示管理员 $普通用户
运行级别 (存在的其中运行级别 ,运行模式)
0 表示关机级别(不能设置为默认模式)
1 单用户模式
2 多用户模式 不到NFS(Network fill System)
3 多用户模式(不再有界面)
4 保留模式
5 X11 完整的图像化模式
6 表示重启级别
init 3 切换至多用户模式 (不再有桌面 ,必须在root用户进行) 切换只是临时的
su test 用户的切换
基础指令
ls
用法1 ls --列出当前工作目录下的文件夹和文件名称
用法2 ls 路径 --列出指定路径下的文件和文件夹
路径分为相对路径、绝对路径
相对路径:首先需要一个参照物(一般是当前的工作目录)
相对路径:./ 当前目录目录下
../ 表示上一级目录下
绝对路径:绝对路径不需要参照物,从根开始 /
用法3:ls 选项 路径
含义:在列出指定目录的文件/文件夹名称,并已指定的格式进行显示
-l 表示List,表示以详细列表形式进行展示 -
a 显示所有的文件夹和文件(包含隐藏的文件/文件夹)
ls -l 列出当前目录的详细文件列表
ls -la 列出当前目录的详细文件列表包含隐藏的(Linux中的隐藏文件一般以‘ . ’开头)
用法4: ls -lh 路径 列出指定路径下的文件和文件夹的名称,以列表形式显示文档大小形式显示
pwd
用法1 pwd --全称:print working directory ,打印当前的工作目录
cd
chage directory 改变目录 用于切换当前工作环境
语法 cd 路径
**在Linux中有一个特殊的符号 ~ ,表示当前用户的家目录 cd ~
mkdir
指令:mkdir (make directory,创建目录)
语法: mldir 路径 --路径,可以是文件夹名称也可是包含名称的一个路径
注意:ls 列出的颜色名称 蓝色表示文件夹,黑色的表示文件,绿色的表示拥有所有权限
** 在当前文件夹下创建文件 夹 mkdir yunwei
** 在指定的文件夹下创建一个文件夹 mkdir /root/yunwei
mkdir -p 路径 一次创建多层不存在的目录
--mkdir -p yu/d/c/d
语法3 mkdir 路径1 路径2 路径3 --一次创建多个
touch
创建文件
语法 touch 文件路径 --路径可以是直接的文件名或者路径
语法 touch 文件路径1 路径2 --一次创建多个
cp (copy, 复制)
复制文件/文件夹到指定位置 (在windows中的复制是不能该名字的,但在LIunx中可以)
cp linux2.txt /home/linux/linux2.txt --把linux2txt进行复制但是不进行改名(一般不改名)
进行文件夹复制的时候需要添加‘-R’【表示进行递归复制】 否则会忽略下属的文件和文件夹
mv
move,移动,剪切 --移动文件到新的位置(也可以过程中指定名字)
mv linux.txt aa/linux.txt --对文件进行移动
**移动文件夹是不需要递归的&&移动可以不给文件夹名,只给路径即可
** linux中的重命名也是mv命令,和移动类似,是原地移动并重新命名
rm
一般删除,带有询问信息
rm 选项 需要移除的文件路径 --是否确认删除 回复 y||n
-f 表示强制删除,不再进行询问
rm -f linux.tx
rm rf /liunx/ --对于一个目录直接删除,不再询问,并且进行递归删除
rm rf a linux.txt --对于多个文件的删除 ,并且不再询问直接删除
要删除一个目录下有公共特性的文档,例如以Linux开头
rm -r linux*
其中‘*’为通配符,表示任意字符。
vim
vim是一款编辑器,编辑器之神
vim 文件的路径 --打开一个文件(可以存在,也可以不存在)
退出文件,在没有按其他命令的时候,按下 Shift+: 输入q,回车即可
wq 保存退出
:u 撤销上一步的操作
:q 如果文件没有修改,直接退出
:q! 文件已经被修改了,放弃修改直接退出
:wq 问阿吉已经被修改了,放弃修改退出
:e! 放弃修改,重新回到文件打开前的状态
输出重定向
一般的命令都会显示在终端中,有时候需要将一些命令的执行结果想要保存到文件中进行后续的分析和统计则 这时候需要使用到输出重定向
> 覆盖输出,会覆盖原先的内容
>> 追加输出,不会覆盖原始文件内容
案例:使用覆盖重定向,保存ls -la 的执行结果,保存到当前下
ls -la > ls.txt --保存此命令的输出结果覆盖到 ls.txt中 如果不存在
ls -la > ls.txt --保存此命令的输出结果到ls.txt
cat
直接打开一个文件的功能 (和vim有些许不同)
语法: cat 文件的路径
对文件进行合并
cat 待合并的文件路径1 待合并的文件路径2 > 到新的文件下
进阶指令
1. df --查看磁盘空间
df -h --以可读性较高的方式进行展示
2. free -m ( 查看内存的使用情况, -m, 表示查看的单位为MB)
3. head 查看一个文件的前n行,如果不指定,则显示前10行
head -n 文件的路径
4. tail --查看一个文件的末尾行,不指定行数,默认10行
tail -n 文件的路径 --n表示最后几行
tail -f 文件路径 --查看一个文件的动态变化(变化内容不能是手动添加的)
5. less --查看文件,以较少的内容显示,按下辅助功能键查看更多
less 文件的路径
最后使用 q 键进行退出
6. wc 统计文件信息(包括行数,单词数,字节数)
wc -lwc 需要统计的文档
-l --表示lines 行数
-w --表示 words 单词数
-c -- 表示字节数,bytes
7. date --表示操作时间日期(读取,设置)
data --输出的形式为 2018 年3月34日 星期六 15:23:12
data +%F --(等价 #data "%Y-%M-%d") 输出形式,2018-03-14
data +"%F %T" --引号表示 '年月日与时分秒' 成为一个不可分割的整体,
两个格式之间增加空格,表示输出的格式之间带有空格。 2018-03-04 21:44:14
********** 获取之前或者之后的每个时间(备份)
data -d "-1 day" "+%Y-%m-%d %H:%M:%S"
输出的形式:2018-03-12 16:04:12
符号的可选值:+(之后) 或者 - (之前)
单位的可选值:-day(天)、month(月份)、year(年)
%F :表示完整的年月日
%T :表示完整的时分秒
%Y :表示四位年份
%m :表示两位月份(带前导0)
%d :表示时间 (带前导0)
%H :表示小时 (带前导0)
%M :表示分钟 (带前导0)
%S :表示秒数 (带前导0)
8. cal 操作日历
cal 等价于 cal -1 -- 输出当前月的日历
cal -3 -- 表示输出上一个月,本月,下一个月的日历
cal -y 2014 --表示输出某一个年份的日历
9. 清屏
clear 清屏 。这个命令将会刷新屏幕,本质上只是让终端显示的内容向上翻了一页,
如果向上滚动屏幕还是可以看到之前的操作信息
reset 清屏。这个命令将完全刷新终端,之前的终端输出内容将完全被清空,
这样虽然比较清爽,但是命令过程速度比较慢
ctrl + l (组合键)。快捷的清屏命令,与clear相同
10. 管道 --管道一般用于‘过滤’,‘特殊’,‘扩展处理’
管道不能直接使用,必须配合使用,其作用主要是辅助作用
案例:需要通过管道过滤出根目录下包含 y 字母的目录
ls /|grep y --只找到包含y的目录
11.历史命令
history 默认输出带有n条带有编号的历史命令
history |grep chat 。 查询历史命令中包含有 “chat” 字符的命令
!26 再次执行历史命令中第26条命令
高级指令
1.hostname 操作计算机的主机名(读取、设置) (更改的主机名是临时的,我们不会用)
语法1 hostname – 输出完整的主机名
语法2 hostname -f --输出当前主机的FQDN(全限定域名)
2.id 查看一个用户的基本信息(用户ID、用户组ID、附加组ID) 不指定用户显示当前用户
语法1 id --默认显示当前用户的基本信息
语法2 id linux123 --显示指定的用户信息
验证上述用户信息是否正确 etc/passwd
验证上述用户组信息是否正确 etc/group
3.whoami 显示当前登录的用户名 ,一般用户shell脚本,用于获取当前操作的用户
语法1 whoami
4.ps -ef 查看服务器的进程信息
选项含义:
-e :等价于 - a 表示列出全部的进程
-f :显示全部的列(显示全字段)
UID --该进程执行的用户ID
PID --进程ID
PPID --该进程的父级进程ID,如果一个程序的的父级进程找不到,该进程的程序被称为僵尸进程;
C --CPU的占有率,以百分比形式显示
STIME --进程的启动时间
TTY --终端设备,发起该进程的设备符号,?表示该进程不是终端发起的
TIME --进程的执行时间
CMD --该进程的名称或者对应的路径
**在ps -ef中过滤出我们想要的进程
ps -ef | grep 进程名称 --根据进程的名称查询到指定的进程
5.top 用于查看服务器进程所占的资源
top (动态显示) 进入命令
q 退出命令
表头信息:
PID:进程ID
USER:该进程对应的用户
PR:优先级
VIRT:虚拟内存
RES:常驻内存
SHR:共享内存
S: 表示进程的状态(sleeping,S表示睡眠,R表示运行)
%CPU:表示CPU的占用百分比
%MEM:表示内存的占用百分比
TIME:执行的时间
COMMAND:进程的名称或路径
在运行top之后的,快捷键
M:表示按照内存(MEM)从高到底进行排序
P:表示按照CPU占有率从高到底进行排序
1:查看各个CPU的详细情况
6.du -sh --查看目录的真实大小,
-s : summaries, 只显示汇总的大小
-h:表示已高可读性的形式进行显示
7.find --用于查找文件
find 路径范围 选项 选项的值
选项:
-name 按照文档名称进行查询(支持模糊查询)
-type 按照文档类型进行查询
文档类型‘-’表示文件(在使用find的时候使用 f 来替换) ‘d’表示文件夹
例如: 使用find来搜索httpd.conf
find / -name httpd.conf
例如:使用find来搜索 .conf 文件
find /etc -name *.conf | wc -l --并且统计出搜索出来的数量
例如:使用 find 来搜索 /etc/sane.d/ 目录下的所有文件 并且统计出条数
find /etc/sane.d/ -type f |wc -l
8.service 用于控制一些软件的服务启动/停止/重启
service 服务名 start/stop/restart
例如:需要启动本机安装的Apache(网站服务软件)其服务名为 httpd
service httpd start
通过ps命令来检查httpd是否启动
ps -ef |grep httpd
9. kill 用来干掉一个进程
例如:杀掉apache的进程,首先查找进程号,根据进程号,执行kill
ps -ef |grep httpd --得到进程信息 29867
kill 29867 --根据进程ID干掉一个进程
killall httpd --根据名称干掉一个进程
linux中检查端口
netstat 检查端口,是一个命令行工具,可以提供网络连接的有关信息
列出正在坚挺的所有TCP 或者 UDP 协议端口,
包括使用端口和套接字状态的服务
netstat -tunlp
-t 。 显示TCP 端口
-u 。 显示UDP端口
-n 。 显示数字地址而不是主机名
-l 。 仅显示侦听端口
-p 。 显示进程的PID 和名称,只有使用root或者 sudo用户省份运行命令的时候,才会显示
查询指定端口通过grep进行过滤
netstat -tnlp | grep:80
还可以使用ss命令 。 ss是新的netstat,
命令选项参数大致相同,但是他却少了一些功能,但是暴漏了更多的信息
ss -tunlp
10. ifconfig 查看网卡信息
Eth0 表示Linux中的一个网卡,Eth0是其名称,(loop,本地回还网卡,其IP地址一把都是 127.0.0.1),也是一个网卡名称
**inet addr 就是网卡的IP地址
11. reboot --重新启动计算机
12 . shotdown 关机(慎用) poweroff 也可以进行关机
shotdown -h now --现在关机
针对与centos7.×之前的版本,ctrl+c
针对于centos7.×之后的的版本 shotdown -c
13. uptime 输出计算机的持续在线时间(计算机开机到现在的时间)
14. uname 获取操作系统的类型
uname -a 获取详细信息 类型,主机名,内核版本,发布时间,开源计划
15. netstat -tnlp 查看网络信息
-t 表示只列出tcp协议的连接
-n 将地址从字母组合转化为ip地址,将协议转化为端口号
-l 过滤出 state 列中值为 listen 的连接
-p 显示进程的PID和名称
16. man manual (包含了Linux中的全部命令,英文 ‘q’ 退出)
常用操作
删除文件 rm -f aa.txt – 删除文件操作,如果实文件夹,-r 递归删除文件夹全部
移动文件 mv aa.txt/
创建文件 touch cc.txt
查看ip地址
ifconfig -a --显示详细的信息
hostname -I --只对ip进行显示
cat /etc/inittab --打开init 的配置 查看默认的运行级别
vim /etc/inittab --更改默认的运行级别 永久生效
init --为初始化进程 进程号为1
halt --关机(实际是关闭内存)
shutdown -h now --关机( -r 重启 now 现在 功能丰富,支持定时关机)
init 6 --重启
init 0 --关机
:wq --强制性写入文件并退出。即使文件没有被修改也强制写入,并更新文件的修改时间。
:x -- 写入文件并退出,仅当文件被修改,并更新文件修改时间,否则不会更新文件修改时间。
在vm中进行系统备份(快照,克隆)
快照:又称还原点,就是保存在拍快照时的状态(在于所有的内容),随时恢复,侧重短期备份,需要频繁备份时使用,快照一般处于开启状态。
克隆:就是复制,侧重长期备份,做克隆必须关闭系统
Linux的文件和文件夹
常用的系统目录结构
Bin :全称binary,含义是二进制,该目录存储的都是二进制文件,文件都可运行
Dev :该目录存放的是外接设备,在其中的设备不能直接使用,需要挂载(windwos的自动分配盘符)
Etc :该目录主要储存一些配置文件
Home:表示‘家’ 除了root以外的用户存储, 就像windows的User目录
Proc :Process ,表示进程,该目录存储Linux存储的 进程
Root :该目录是是Root的独享目录
Sbin :全称 super Binary , 也是存储一些二进制文件,但必须有super权限的人才能执行
Tmp : 表示“临时”的,系统运行时的临时文件会在这里存储
Usr :存放的是用户自己安装的软件,类似windows的programFiles
Var :存放程序/系统的日志信息
Mnt :当外接设备需要挂载时,就挂载到Mnt下
Linux的权限操作
Linux的操作权限与用户和用户组是兄弟操作
lInux系统将文件的存/取访问权限分为三个类别:owner、group、others,三种身份各有read、write、execute 等权限
owner(文件所有者,默认是文件/文档的创建者)
Group(与文件所有者同组的用户)
在Linux中,每个账户支持多个用户组,如用户a1即可属于A用户组,也可属于B用户组(主组和附加组)
outhers(其他人,相对于所有者)
Linux的权限的查询
在Linux中,ls命令常用来查看文件的属性,用于显示文件的文件名和相关属性
ls -l 路径 等价于 ll 路径
Linux中存在用户,用户组和其他人的概念,各自有不同的权限,对于一个文档来说,分配如何
drwxr-x--- r:read 可读
d:表示表示文件类型 w:write 可写
rwx:文件所有者权限 x:execute 可执行权限
r-x:文件所属用户组权限 -:没有对用权限
---:其他人对这个文件的权限全部都没有
权限分配中,均是rwx三个参数的组合,且位置顺序不会变化,没有对应的权限就用‘-’代替
十位字符表示含义
第一位 :文档类型 ‘d’表示文件夹,‘-’表示文件,‘|’表示软连接,‘s’表示套接字
第二位到第四位 :文档所有者的权限
第五位到七位 : 表示与所有者在同一组的权限
第八位到第十位 : 除了上边两部分之外的其他用户的权限
Linux的权限的设置
chmod 选项 权限模式 文档
***常用选项 -R:递归设置权限(当文档类型为文件夹时)
***文档:可以时文件,也可以是文件夹,可以是相同路径也可以是绝对路径
*** 如果文档设置权限,操作者必须是root用户或者文件所有者
权限设置方式
1.字母形式
给谁设置:
u:表示所有者身份owner(User)
g:表示给所有者同组用户设置(group)
o:others,给其他用户设置权限
a:all,表示所有人(包含ugo部分)设置权限 默认权限的设置级别
权限字符:
r:读
w:写
x:可执行
-:表示没有权限
权限分配方式:
+:表示给用户添加新的权限
-:表示给用户删除权限
=:表示将权限设置为具体的值
例如 需要给 ancliction.cfg (当前的权限为 -rw-------- 当前只有一个文件所有者的读写权限) 文件设置权限
要求所有者有全部权限,同组用户有读和执行权限,其他用户只读权限
$chmod u+x,g+rx,o+r ancliction.cfg
$chmod u=rwx,g=rx,o=r ancliction.cfg
当前文档拥有执行权限,则其颜色显示为绿色
数字设定权限
读:r 4
写:w 2
执行:x 1
不能操作:- 0
数值:
0 不能读 不能写 不能执行
1 不能读 不能写 能执行
2 不能读 可写 不能执行
3 不能读 可写 可执行
4 可读 不能写 不能执行
5 可读 不能写 可执行
6 可读 可写 不可执行
7 可读 可写 可执行
例如 给 cofdada.cfg 设置权限,所有者全部权限,同组读和执行,其他用户只读
全部权限:(u)读+写+执行 4+2+1=7
读和执行: (g)读+执行 4+1=5
读权限: (o)du 4 =4
$chmod 754 cofdada.cfg
** 但凡权限出现23即为不合理权限
**在Linux中,删除一个文件,不仅要看文件有没有删除权限,文件所在的文件夹也要有权限
属主与属组的设置
前面的那个root就是属主
后面的那个root就是属组
这两项信息在文档创建的时候会使用创建者的信息(用户名,用户所属的主组名称)
如果有时候删除某个用户,则该用户对应的文档的属主和属组就要修改
chown
作用:修改文档所属用户
$chown -R username 文档路径
将root用户创建的oo目录,所有者更改为test
$chown test oo/
chgrp
作用:更改文档的所属用户组
$chgrp -R groupname 文档的路径
**创建test用户没有指定组,默认自成一组
例: 将root用户创建额oo目录,组名页更改为test
$chgrp test oo/
通过一个语法 改变文档的所属用户和所属组
$chown -R username:groupname 文档的名称
权限的扩展
reboot、shutdown、init、halt、user管理、group的管理,在普通的用户都是无法操作的,但是有些时候有需要有才做权限?
使用 sudo 命令(switch user do)命令来进行权限操作,sudo可以让管理员设定一些命令让谁执行.
sudo配置文件: /etc/sudoers
a:配置sudo请使用 #visudo 打开之后和vim使用一样
b:配置普通用户的权限
Root 表示用户名 %group 表示用户组的规则
ALL 表示登录的主机 (地址白名单)
(ALL) 表示以谁的身份执行,ALL表示root用户
ALL 当前用户可以执行的命令,多个命令 , 分割
权限的分配
在写sudo规则时不建议写直接形式的命令,而是写完整的命令路径,命令可以使用which来查看
语法: #which 语法命令
添加好对应的规则之后,切换到tes进行使用,如果使用命令,使用 sudo useradd 用户名1 ,不在询问root,而是test
需要执行的指令
在输入sudo指令之后需要输入当前的用户密码 进行确认的操作(不是root用户的密码)输入之后接下来的五分钟的sudo不需 要再次输入
完整的修改,不允许修改root用户密码
禁止修改root的配置
补充:在普通用户下,查询用户那些特殊权限
sudo -l sudo不是任何Linux分支都有的分支,常见的centos和ubuntu等存在