文章目录
- linux(根目录下)相关的数据
- linux目录结构 树形结构
- 获取命令行界面
- 命令行提示标识的含义
- 查看及切换目录
- 查看文本文件内容
- 列出cpu处理器信息
- 列出内存信息
- 查看主机名和ip信息
- 列出当前系统的主机名称
- 列出以激活的网卡连接信息
- ==ctrl+c==
- 创建目录
- 创建文档
- 文本内容操作
- 配置网络
- ==reboot==重启
- ==poweroff==关机
- ctrl shift +:放大字体
- ctrl -:缩小字体
- 文本编辑器 vim
- 命令补全:Tab键
- 如何编写命令行
- linux命令
- linux命令的分类
- 命令行的一般格式
- mount挂载:可以让目录成为设备的访问点
- 查看及切换目录
- ls --- list
- 使用通配符
- 别名的定义:简化复杂的命令
- 删除
- rm -- remove
- 常见的命令选项
- 使用vim创建/修改文件
- vim文本编辑器
- 查找文本内容
- 移动/改名 mv
- mv --- move(类似win的剪切)
- 复制cp
- cp -copy
- 重定向输出(>)
- 管道操作(|)
- echo输入什么出来什么
- bc计算器
- 用户管理
- 添加用户
- 设置用户密码
- 临时切换用户su
- 非交互式设置密码
- 修改用户属性
- 删除用户
- 管理组账号
- 管理组成员
- 删除组
- tar备份与恢复
- 归档和压缩
- tar工具的常用选项
- 打包格式
- 解包格式
- 查看时间的命令
- date
- cron计划任务
- 管理计划任务策略
- 如何编写crontab任务记录
- linux技能等级
- linux系统管理员
- linux系统工程师
linux(根目录下)相关的数据
普通用户的密码一定不要和root一样,而且root一定要安全级别比较高
linux目录结构 树形结构
根目录(/):linux系统起点(所有)数据都在此目录下
/dev:存放设备(键盘,鼠标,显示器,硬盘…)相关的数据
万物皆文件
还有一个是vd,表示虚拟化设备,虚拟出来的磁盘
/dev/hda:表示第一块IDE设备 /dev/hdb:表示第二块IDE设备==(a,b…表示第一块,第二块)==
/dev/sda:表示第一块SCSI设备 /dev/sdb:表示第二块SCSI设备
获取命令行界面
虚拟控制台切换(ctrl+alt+fn组合键)
tty1:图形界面(tty代表的是终端的意思)
tty2~tty6:字符控制台
命令行提示标识的含义
[当前用户@主机名 工作目录]$ (@就相当于分隔符没有多大的意义,分隔当前用户和主机名)(工作目录可以认为当前所在的位置)
若当前用户是root,则最后一个字符为#
例如:[root@svr7 桌面]# [test@svr7 桌面]$
查看及切换目录
- pwd -print working directorty
用途:查看当前目录
- cd -change directory
用途:切换工作目录
格式:cd [目录文件夹位置]
绝对路径:以根(/)开始的路径
相对路径:以当前位置为参照的路径,也可以说不以根(/)开始的路径
…表示父目录
- ls -list
格式:ls[选项]…[目录或文件名]
查看文本文件内容
- cat 文件路径
一般到了公司里面不是先敲命令,而是先看看linux的版本,因为版本不同,有些细节也是不同的
cat /etc/redhat-release 这个是用来看系统版本的
列出cpu处理器信息
- lscpu
列出内存信息
- cat /proc/meminfo
我们只需要看懂总内存就行了
查看主机名和ip信息
-
列出当前系统的主机名称
-
hostname
hostname 后面写其他东西是可以改主机名的,但这个更改主机名不是永久的,只是临时的
-
列出以激活的网卡连接信息
-
ifconfig(是看不到网关地址的)
eth0:第一张网卡
lo:回环测试接口 永远为127.0.0.1 永远代表自己
当然我们也可以设置临时ip
ctrl+c
不是复制的意思,是 结束正在运行个命令
创建目录
- mkdir - make directory
格式:mkdir [/路径]目录名…
-p:表示连父目录一起创建
格式:mkdir -p [/路径]目录名…
创建文档
- touch
格式:touch 文件名
文本内容操作
- less分屏阅读工具
格式:less [选项] 文件名…
优势:支持前后翻页
按键盘上下键进行滚动
基本交互操作
按/键向后查找(n,N切换)
按q可以退出
- head,tail命令
格式:head -n 数字 文件名
tail -n 数字 文件名
例如我们只看etc/passwd中前两行内容
head -n 2 /etc/passwd
当然为了方便n可以省略,直接-2也可以
而不加数字呢是默认显示头十行,尾十行
head /etc/passwd
tail /etc/passwd
- grep工具
用途:输出包含指定字符串的行
格式:grep [选项]…‘查找条件’ 目标文件
配置网络
- nmtui网络连接管理
nmtui出来的是人机交互的界面
可以在上面永久性的更改主机名
也可以永久设置IP地址 子网掩码 网关地址 DNS服务器地址
reboot重启
重启虚拟机
poweroff关机
ctrl shift +:放大字体
ctrl -:缩小字体
文本编辑器 vim
如果文件不存在,则新建该文件(但不能新建目录)
三个模式:命令模式 插入模式 末行模式
在末行模式下输入w代表保存q代表退出
则wq代表保存退出
q! 强制不保存退出
命令补全:Tab键
可补全命令字,选项,参数,文件路径,软件名,服务名
- 快捷键
ctrl + l:清空整个屏幕
ctrl+ c: 废弃当前编辑的命令行
esc + . 或alt + .:粘贴上一行命令的参数
ctrl + u: 从光标处清空至首行
ctrl + w: 往回删除一个单词(以空格界定)
如何编写命令行
linux命令
用来实现某一类功能的指令或程序
linux执行命令时,需要找到相应的程序文件才能运行,命令本身并没有功能。
在linux中绿色是代表可以运行产生功能的程序
命令的执行依赖于解释器(linux默认的解释器bin下的bash /bin/bash)
解释器顾名思义解释命令的一个工具,可以把用户敲的一些命令解释给内核听,内核听懂了之后就去做相应的动作
linux命令的分类
内部指令:属于解释器的一部份
外部指令:解释器之外的其他程序
命令行的一般格式
基本用法
命令字 [选项]… [参数 1] [参数 2]…
mount挂载:可以让目录成为设备的访问点
你想要装软件首先要有软件的安装包(软件包)
从互联网上下载或光盘上获取
- 这里从光盘中获取软件包
- 让linux显示光盘里的所有内容
- 使用mount命令
格式:mount 设备路径 挂载点目录
要先创建目录,我这里找不到媒体是因为没有光盘
我把老师的图截过来吧
卸载
格式:umount 挂载点目录
查看及切换目录
- cd – change directory
用途:切换工作目录
格式:cd [目标文件夹位置]
~:表示用户的家目录
~user 表示用户user的家目录
/root:管理员的家目录
/home:存放所有普通用户的家目录
useradd是创建用户的指令
- . (一个点)表示当前目录
ls — list
格式:ls [选项] … [目录或文件名]
常见命令选项
-l:以长格式显示,显示详细属性
-h:提供易读的容量单位(K,M等)一般都是和l配合使用,很少独自使用
-A:包括名称以.开头的隐藏文档
-d:显示目录本身(而不是内容)的属性
-R:递归显示
使用通配符
- 针对不确定的文档名称,以特殊字符表示
*:任意多个任意字符
?:单个字符
- 针对不确定的文档名称,以特殊字符表示
[a-z]多个字符或连续范围中的一个,若无则忽略
{a,min,xy}多组不同的字符串,全匹配
别名的定义:简化复杂的命令
比如我觉的hostname这个命令太长了我就想简化成hn
alias设置别名临时别名
格式:alias [想要设置的别名]=‘原本的命令’
如果想要删除别名
unalias
格式:unalias [不想要的别名]
删除
rm – remove
格式:rm[选项] … 文件或目录
实际上rm本身没有那个提示信息
有提示作用的是-i (information)
那为什么会这样呢
原来是我们敲的rm实际上是别名,并不是真正意义上的rm
常见的命令选项
-r -f:递归删除(含目录),强制删除
使用vim创建/修改文件
-
vim文本编辑器
格式:vim[[/目录/]文件名]
若目标文件不存在,则新建空文件并编辑
若目标文件已存在,则打开此文件并编辑
命—按i键 或 o键—>插入模式
令
模
式—按:键(英文状态)–>末行模式
在插入模式和末行模式中按esc回到命令模式
o键是另起新的一行进入插入模式
命令模式下按u可以进行撤消
查找文本内容
- 根据字符串模式提取文本行
grep [选项] ‘匹配模式’ 文本文件
常用命令选项
-v 取反匹配
-i 忽略大小写
^word 以字符串word开头
word$ 以字符串word结尾
移动/改名 mv
mv — move(类似win的剪切)
格式: mv [选项]…原文件 …目标路径
将opt下的1.txt移动到opt下的sdn目录中
重命名:路径不变的移动
复制cp
-
cp -copy
格式:cp [选项]… 原文件 … 目标路径
常用命令选项
-r :递归,复制目录时必须有此选项
一般复制时有-r都是万无一失的
复制出现同名强制覆盖
\在本次操作临时取消别名
复制可以支持两个以上的参数:永远把最后一个参数作为目标,其他的所有参数都作为源
这里的点是复制到当前,非常适合目录很深的时候
复制时可以重新命名,目标路径下名称
将etc下的shadow文件复制到opt下并且重命名为abc
重定向输出(>)
将命令的输出作为文本文件内容写入到一个文件中
我们再一次把hostname输出的内容重定向到1.txt中,我们会发现之前的内容是不是也没有了,所以我们又叫>是覆盖重定向
那么我们不想要覆盖之前的内容,就想让他在后面加内容,我们就叫追加重定向(>>)
管道操作(|)
将前面命令的输出,交由后面命令的处理,作为后面命令的参数
echo输入什么出来什么
bc计算器
用 管道来配合使用
用户管理
用户账户:1.可以登录操作系统 2.不同用户具备不同的权限
唯一标识:UID(标识用户的)GID(标识组的)
组账号:基本组(私有组) 附加组(从属组)
一个用户至少属于一个组
添加用户
用户基本信息存放在etc/passwd文件中
使用useradd命令
useradd [选项]…用户名
常用命令选项
-u 用户id
-d 家目录路径
自己创建一个家目录,通过查看他家目录的确是我们创建的那个
-s 登录解释器
-G 附加组
创建组 groupadd 组名
设置用户密码
用户密码信息存放在/etc/shadow 文件中
使用passwd命令
格式 passwd [用户名]
临时切换用户su
格式su - [用户]
su是一种身份,你身份得切换
-是一种环境 ,你身份切换了环境也得切换,不然你光切换了身份却没有切换环境,有些东西你是没有权限弄的
非交互式设置密码
echo ‘密码’ | passwd --stdin 用户名
修改用户属性
使用usermod命令
usermod [选项]… 用户名
常用命令选项
-u 用户id
-d 家目录路径
-s 登录解释器
-G 附加组
一次性修改也是可以的
删除用户
使用userdel 命令
userdel [-r] 用户名
[-r]是连同家目录一同删除
管理组账号
添加组
组基本信息存放在/etc/group 文件中
使用groupadd [-g 组ID] 组名
管理组成员
使用gpasswd命令==(操作的是附加组)==
gpasswd -a 用户名 组名
-a是添加用户到组中
gpasswd -d 用户名 组名
-d是从组中删除用户
删除组
使用groupdel命令
groupdel 组名
我们会发现我们将看不到etc下group中的tedu的信息了
tar备份与恢复
- 整合分散的数据
- 减小空间的占用
归档和压缩
归档的含义
将许多零散的文件整理为一个文件
文件总的大小基本不变
压缩的含义
按某种算法减小文件锁占用空间的大小
恢复时按对应的逆向算法解压
常见的压缩格式及命令工具
gz -->gzip
bz2 -->bzip2
xz -->xz
tar工具的常用选项
tar集成备份工具
-c:创建归档
-x:释放归档
-f:指定归档文件名称f这个选项必须在后面
-z,-j,-J:调用.gz,.bz2,.xz格式的工具进行处理
-t:显示归档中的文件清单
-C:指定释放路径
打包格式
tar 选项 /路径/压缩包的名字 被压缩的源数据
解包格式
tar 选项 /路径/压缩包的名字 选项 释放的路径
-t 是不解包查看里面的信息,一般管道给less方便查看
查看时间的命令
date
修改时间 date -s ‘年-月-日 时:分:秒‘
现在最好不要改
cron计划任务
cron任务概述
用途:按照设置的时间间隔为用户反复执行某一项固定的系统任务
软件包:cronie,crontabs
系统服务:crond
日志文件:/var/log/crond
管理计划任务策略
使用crontab命令
编辑:crontab -e [-u 用户名]
查看:crontab -l [-u 用户名]
清除:crontab -r [-u 用户名]
如何编写crontab任务记录
配置格式可参考/etc/crontab文件
分 时 日 月 周 任务命令行(绝对路径)
一个例子:每分钟记录当前的系统时间,写入到/opt/time.txt
crontab -eu root
敲这个命令是直接进入vim编辑器的
然后就可以保存退出了
用crontab -lu root 来查看root的计划任务是什么
过几分钟你就会发现opt下time.txt每分钟都会有信息进来
linux技能等级
linux系统管理员
要求具备从事linux行业的初级/入门级技能
侧重于单个服务器的配置和管理
可以对linux主机进行基础的管理工作
比如创建用户,设置权限,管理磁盘,文档备份与恢复,管理系统任务,配置网络地址,安装软件包,访问其他服务等
linux系统工程师
要求具备从事linux行业中级技能
侧重于多个服务器的应用部署及管理
既能对linux主机进行基础管理工作,还可以配置web,邮件,文件等服务器,并实现安全运行
比如SElinux,防火墙,各网站部署,网络磁盘,资源共享,多网卡聚合,用户环境定制,基础shell脚本,基础数据库运维等