第一章 Linux命令行使用技巧
什么是Linux
Linux操作系统 #GNU/Linux
#GNU是开源组织
#Linux是指Linux内核
内核 #系统核心程序
#相当人的大脑
#负责系统程序和硬件分配及调度
什么是shell
shell #对外提供操作者和系统沟通接口
#对内实现对内核进行保护
#RHEL8默认使用的shell是bash
shell命令提示符
[root@localhost Desktop]#
[1] [2] [3] [4] [5]
[1]:运行shell的用户
[2]:分隔符
[3]:系统主机短名称当前主机去掉域名部分的短命称
[4]:当前目录名称
[5]:身份提示符 #表示当前用户为超级用户,$表示当前用户为普通用户
shell打开方式
1.右键打开
2.Application------>favorites----->terminal
3.gnome-terminal
shell中的快捷键使用
<ctrl>+<shift>+<T> ##在一个terminal中开启多个窗口
<ctrl>+<shift>+<N> ##重新打开一个terminal
<ctrl>+<c> ##取消命令执行
<ctrl>+<d> ##关闭shell
<ctrl>+<shift>+<鼠标选中>+<c> ##复制选中字符
<ctrl>+<shift>+<v> ##粘贴
##鼠标选中为复制
##鼠标滚轮下按为粘贴
shell中的命令执行格式
命令 参数 对象
命令就是程序; 参数表示命令的特殊功能; 对象就是操作目标
-a -b -c = -abc = -cba = -acb
whatis命令用法 ##查看命令的基本用途
##查看过程中出现
#rm: nothing appropriate
#1.表示要查看内容没有帮助
#2.系统帮助数据未更新用mandb命令更新
--help命令用法 ##查看命令的基本用法
[ ] ##内容可加可不加
... ##内容个数任意
<> ##必须在命令执行时加入的元素
man ##命令用法详解 man是manual的缩写
##man的级别
#1 命令
#2 系统调用
#3 函数库调用
#4 特殊文件 (设备文件等)
#5 文件
#6 游戏
#7 特殊的包
#8 特殊管理命令
#9 内核信息规则
man -k passwd ##passwd关键字有多少级别的man
man rm ##进入到rm命令的帮助
q ##退出
/关键字 ##搜索关键字,n向下匹配,N向上匹配
G ##快速移动的man的最后
g ##快速移动到man的最前
history ##查看历史命令
history -c ##清空当前历史命令
##永久清空历史需要文件.bash_history
历史命令的调用
上键|下键 ##逐行调用
!数字 ##调用指定行历史
!字符 ##调用以此字符开头的最近历史
<ctrl>+<R> ##开启历史搜索模式,命令行显示会变为:
##(reverse-i-search)`':输入关键字
##会显示含有此关键字的最近一条历史
<Tab> ##补齐系统中存在的命令,文件,和某些命令的参数
##当按一次Tab没有效果,表示以此字符开头的信息不唯一,可连续按2次,那么会把以此字符开头 的所有内容显示,如果2次仍然不显示表示没有以此字符开头的指令
第二章 Linux下的文件管理
touch命令用法
touch file1 file2... ##建立空文件
touch file ##把文件时间同步到当前时间
touch -t YYYYMMDDHHmm file ##把文件时间更改到指定时间
mkdir (make directory)
mkdir dir1 dir2 ... ##建立空目录
mkdir -p test/redhat/linux ##建立多层目录
rm #删除文件或目录
rm file file1... ##删除文件,有提示
rm -f file ##强制删除文件不提示
rm -r dir dir1 ##删除目录
rm -rf dir ##直接强制删除目录,无提示
gedit #图形的文本编辑器
gedit file file1... #编辑file file1
# gedit 在使用时必须有图形
#file file1 可以不存在
vim #文本编辑器
vim file #进入到vim的浏览模式
##浏览模式不能编辑文件
##在浏览模式中按<i>进入插入模式
##在vim中鼠标不能控制光标用上下左右移动光标
##按<Esc>退出插入模式
#按:wq保存更改
vim异常退出
##当vim编写文件时未保存更改内容被强制关闭
##vim就会出现异常
#[O] 只读打开文件
#[E] 继续编辑
#[R] 恢复未保存内容编辑
#[D] 删除.swp文件进入编辑
#[Q] 退出
cat 命令用法
cat file ##显示文件的全部内容
cat -b file ##显示文件内容并显示行号,不显示空行的行号
cat -n file ##显示文件内容并显示行号
实验素材
history > westos ##把history的执行结果放到westos中
head ##查看文件前多少行
head westos ##默认显示文件前10行
head -n westos ##n代表数字 显示文件的前n行
tail ##查看文件的多少
tail wetos #默认显示文件后10行
tail -n westos #n代表数字 显示文件的后n行
less ##分页浏览
##less westos 进入到less模式查看westos
#less模式中<上><下> 逐行查看文件内容
#<pgup><pgdn> 逐页查看文件内容
#/关键字 搜索关键字 n向下匹配 N向上匹配
#<v> 有less模式进入到vim 编辑完成:wq退出返回less
#在less中<q> 退出
cp ##复制文件
## cp 文件 目的地文件 将文件复制到目的地文件,目的地文件可不存在,会新建,目的地 的原文件会被复制来的文件取代
## cp 文件1 文件2 目的地目录 将文件1 文件2复制到目的地目录
## cp -r 目录1 目录2 复制目录需要加-r
#复制原理:按照源文件建立新文件(抄作业)
mv #移动文件
mv file file1 dir 将file file1文件移动到目录里
mv dir dir1 将dir目录移动到dir1里
mv file 不存在file 即重命名
相同设备分区中的文件移动是重命名过程
不同设备分区中的文件移动是建立删除过程
ls -i file 查看文件节点号(相当于文件身份证号)
file #文件类型的查看
file westos #查看westos的真实类型 , 文件的类型是由文件的内容具定的
wc 文件容量统计 英文里一个字符就是一个字节,中文里一个字符是3个字节
wc -l 行数
wc -m 字符数
wc -w 单词数
wc -c 字节数
Linux中文件的寻址
Linux系统结构
FHS (Filesyetem Hierarchy Standard) Linux层级结构标准3
LINUX中一切都是文件
/ #Linux顶级目录 rm -fr /* 此命令卡万不要在服务器上运行
#系统二级目录
/bin ##系统常规命令
/sbin ##系统管理命令
/dev ##设备文件
/home ##普通用户家目录集合,此目录中的子目录为普通用户家目录
/root ##超级用户家目录
/lib64 ##64位函数库
/lib ##系统函数库
/proc ##进程信息,系统识别的硬件信息
/run ##当前运行的硬件和系统模块
/srv ##系统数据(常量)
/var ##系统数据(变化)
/tmp ##系统临时文件存放目录
/mnt ##临时设备挂载点
/media ##cdrom临时挂载点
/etc ##系统大多数程序的配置目录
/opt ##第三方软件安装位置
/boot ##系统启动分区,系统启动时读取的文件都在此目录中
/sys ##关于内核设定目录
/usr ##unix system resource 仅次于 / 重要 多数系统资源都在此目录中
相对路径:
绝对路径名称的简写,省略了用户当前所在的系统位置,此名称只有在管理当前所在系统目录中子文件时才能使 用,系统中不以 / 开头的文件名称都为相对路径在程序操作时会自动识别当前路径的信息并关联操作目标
绝对路径:
文件在系统中的真实位置,在任何场景下都可以使用,通常以 / 开头,不会考虑当前系统位置
关于文件寻址的命令
pwd ##显示当前的工作目录
cd ##切换当前的工作目录
## "cd~-"="cd-"
ls ##显示文件信息
ls 显示当前目录中文件的名称
ls file 显示指定文件名称
ls dir 显示指定目录中内容的名称
ls -d dir 显示目录本身的名称
ls -l file 显示文件属性
ls -l dir 显示目录中内容的属性
ls -ld dir 显示目录本身属性
ls -a dir 显示目录中所有文件名称包括隐藏文件案
ls -s 显示文件大小
ls -R dir 第归显示目录中的内容
文件批量处理(先建立如下的具有一定规律文件名的文件)
* ##匹配0~任意字符
? ##匹配单个字符
[[:alpha:]] ##匹配单个字母
[[:lower:]] ##匹配单个小写字母
[[:upper:]] ##匹配单个大写字母
[[:digit:]] ##匹配单个数字
[[:alnum:]] ##匹配单个数字或字母
[[:punct:]] ##匹配单个符号
[[:space:]] ##匹配单个空格
字符集合表示方法
[ ] ##条件是或者关系是模糊匹配,对象和几个对比匹配就操作
##[1-10]1到10 [!d-f]|[^d-f] 除了d-f以外(!^都是除了的意思)
{ } ##点名机制,经精确指定集合中的每一个元素
##{1..10}1-10 {a..c} a-c
~ ##默认代表当前用户家目录
~username ##指定的用户家目录
"~+"="." ##当前目录
~- ##当前目录之前所在目录
.. ##当前目录的上级