.pwd - print working directory
- 查看当前工作目录
.cd- change directory
-切换工作目录
-格式 cd 目标文件夹位置
ls-list
格式 ls 目录或文件名
porweroff 关机命令
reboot 重启
exit 退出终端 右键打开终端
lo回环接口 ip为127.0.0.1 代表本机
virbro 广播地址 一台电脑向外发送链接请求
#管理员
普通用户$
蓝色 目录
黑色 文本文件
红色 压缩包
绿色 可执行文件(脚本文件)
荧光色 配置文件 设备文件
创建目录
mkdir / opt/nsd01
创建文件
touch /opt/02
linux 编辑器 vim修改文本文件内容 语法高亮等扩展功能
三个模式 命令模式,插入模式,末行模式
vim /opt/dc.txt 当文件不存在时会自动新建文本文件,但不能新建目录
i直接插入,
o键光标所在下一行插入,
a光标下一个字符插入
esc+:切换到末行模式
末行输入wq 保存并退出
末行输入q 退出
q! 强制不保存并退出
cat-n 显示行号
ls -a显示隐藏文件
移动光标快捷键H,J。K,L上下左右
复制 yy, #yy-复制光标处一行
nyy向下复制n行
黏贴 p粘贴到下一行,P到上一行
删除x,delete 删除单个字符
dd,#dd删除一整行
d^光标之前删除至行首
d$光标之后删除至行尾
u撤销上一步 Ctrl+r取消撤销上一步操作
shift+ZZ退出vim
set nu 显示行号(cat -n,wc -l)set nonubu不显示行号
11-3
截取文件首、尾部
head 首 head /etc/passwad
tail 尾 tail /etc/passwad
默认显示前10行
ifconfig /head-3
管道操作符:
将前面命令输出结果交给后面的执行语句去执行
ifconfig | head -3
将 ifconfig输出结果显示前三行
cat-n /ect/passwd |head-15 |tail-5
wc描述文件的行,单词与字节统计信息
wc -l显示文件行数
grep 过滤
-i 忽略大小写
-v 取反匹配(反义)
grep -i 'bin/bash' /etc/passwd
echo输出
-e转义 转变意义
\c不生成格外输出
\n换行
\033字体颜色m echo -e '\033[31mxx\033[0m'
history 历史命令
!命令号 运行历史命令
history | grep cat 默认最大一千条命令
ctrl+l清屏
man+命令 帮助(英文文档)Q退出
--help 显示参数
info信息模块化 Q退出 P键进入上一个信息块
U返回上一层
归档与压缩
zip压缩
tar unzip -d解压 解压后名 解压前
rm -f删除
tar -jxvf
账户与安全
用户名称:密码站位符X:UID:GID:账户附加基本信息(描述或备注):/账户家目录位置:/解释执行器(shell)
查看组tail /ect/group
groupmod -n 改名称
-g 改组ID
groupdel 删除组
11-4
文件目录及权限
ls -ld查看权限 9位权限码 前三位所有者 中间三位所属组 后三位其他人
文件归属
chown root :zhangsan /opt/1.txt
R读取4 W写入2 X执行1
chomd 修改文档权限
-R递归修改权限
U代表所有者 G代表所属组 O代表其他用户
chown修改文件或目录的所有者与所属组
特殊权限
S可在U上显示 SUID。SGID
B
T
11-5
ACL访问控制权限
针对单独用户控制
查看ACL getfacl
设置 setfacl
-b 删除所有条件
-m 添加条目
-X删除指定
11-6
光盘文件的使用
目录结构
packages所有软件包的实际存放位置
快捷方式 :/dev/cdrom
实际设备文件:/dev/sro或/dev/hdc
挂载 卸载(临时)
挂载:mount 设备名 挂载点
卸载 :umount 设备名(挂载点)
把设备放在挂载点上 创建一个新目录
du -s统计文件大小
df -h查看文件是否挂载
验证光盘是否卸载
df-h查看
ls /挂载点--查看光盘是否卸载
文件系统类型为iso9660
reboot重启
永久挂载文件 etc/fstab
vim打开
/dev/sr0 /mydvd iso9660 defaults 0 0
#挂载设备 挂载点 文件类型 默认设置 0第一个是否标记(0表示否)、第二个0是否备份(0代表否)
mount -a 刷新
注意事项: 一个设备可以有多个挂载点 ,但一个挂载点只能挂载一个设备
RPM包 Package Manager
建立集中数据库,记录软件包安装/卸载等变化信息,分析软件包依赖关系
文件名特征
-软件名-版本信息.操作系统。硬件架构.rpm
rpm安装位置
普通 -/usr/bin/、/bin/
服务-/usr/sbin/、/sbin/
配置-/etc/、/软件名/
日志-/var/log/、/var/log/软件名/
程序,man -/usr/share/doc/、/usr/share/man/
查询已安装的软件
rpm -q[子选项]
-a列出所有安装软件包
-i查看详细信息
-l指定文件安装清单
-c仅列出清单配置
rpm -qf删除也能查询
安装及升级
- rpm -i rpm安装 -V 显示细节 -h以#号显示进度
--test 测试安装
rpm -U
rpm -F
rpm -e 卸载
--force 强制安装 覆盖安装
依赖关系 先安装或卸载要求的包
忽略 --nodeps
Yum软件包管理
基于RPM包构建软件更新机制
自动解决软件包依赖关系
所有软件包由集中的yum软件仓库提供(本地仓库,互联网仓库)
本地仓库 :file://......
FTP或http服务 ftp://....
http://....
yum主要文件
基本设置 /etc/yum.conf
gpgcheck 是否需要密钥(1表示需要,0表示不需要)
需要密钥写gpgkey , 不需要时写enable=1(1代表激活,0代表禁用)
yum -y install 下载命令
仓库配置 /etc/yum.repos.d/*.repo(后缀名)
!!!注意:在 /etc/yum.repos.d/目录下,只要有一个仓库有错误,其他的都不能用 创建新目录,命令mv*.repo 移动到其他目录
yum repolist查看yum是否生效
yum-y install安装
update升级软件包
check——update检查所有升级
remove卸载
yum search 关键词
yum info 查看详细信息
yum provides查看那些软件能提供命令
解包
configure 配置
make编译
make install 安装
yum install pcre -devel
11-9
计划任务
at 时间 (pm代表小时,day代表天) 一次性执行使用 systemctl start atd开启服务,systemctl enable atd 服务开机自启 status 查看启动状态systemctl stop atd关闭服务
-m 计划任务执行结束后发送邮件给用户
-l 查看计划任务
-d 删除计划任务
-c 查看at计划任务具体内容
at>交互式 Ctrl+D退出
cron 周期时间 cornd
corntab命令 restart 重启任务
-u 指定计划任务用户,默认当前用户
-r 删除任务
-e编辑任务
-i强制删除
格式 *(前五个) 分 时 日 月 周 (*/ )
最后表示命令
性能监控
uptime cpu负载 一五十定律
df命令- 磁盘使用
-h 人性化显示容量信息
-i 显示磁盘inode使用量信息
-T 显示文件系统类型
netstat命令(ss)
-utnlp
ss -utnlp |grep
进程 PS和top
PS -ef显示所有信息
-axu
systemtcl 第一个进程不占用CPU
kill -9强制杀死进程
kill pid号结束某个进程
top动态显示进程
-p查看指定pid 进程
Ctrl+c退出
top 当前时间 up开机时长 3users 三个用户登录 free 内存使用情况
ping 命令用来测试本机与目标主机是否连通
网卡配置文件 /etc/sysconfig/network-scripts/ifcfg- 按tab键补全
11-10
/第一个表示根 其余(/)下一级目录
hier文件系统描述 man帮助文档
find -iname名称查找 忽略大小写
-maxdepth 限制查找深度(最大层数)mkdir -p创建文件深度 ls -R查看文件深度
-inum (l) 文件i节点编号查找
path变量(环境变量)
可执行文件或外部命令程序
echo $path输出环境变量
时间转换
date 显示及设置系统时钟
MM分DD日HH时mm月YYYY年 CST时区
date +%Y-%m-%d
hwclock -s硬件与系统时间一致 调整时间
-w
date -s'' 修改时间
ls -lh人性化显示信息
du -sh 数据所占用磁盘空间
存储块(blk)不能空格lsblk
格式化时确定的最小分配单位,一般为4KB
(若主要存大文件,建议使用大块 ,有利于减少碎片
若存小文件,建议使用小块 有利于提高空间利用率)
swp空间交换
刷新分区表 partprode /dev/sda
disk磁盘类型 part分区类型
ROM光盘类型
链接 快捷方式(ln)
软链接 -被链接文件-链接-i节点-文档数据
目标文件被删除,链接文件将失效 可跨分区,目录可以是链接
硬链接 目标文件被删除,链接文件仍可用 不能跨分区目标不能时目录
yum 高级应用
简化客户端配置文件
yum-config-manager--add file:///repo
自定义yum仓库
yum -y install createrepo
创建文件夹-创建rpm包-cd../返回上一级-移动到repodata-
etc/yum.repos.d
yum clean all清理缓存
vim 高级应用
-v连续多个字符 Ctrl+v连续复制一列 V连续选择多行
# 注释
11-11
shell概述
负责对硬件进行管理与操作的是系统软件的内核部分
可以使用得有/bin/sh(UNIX) /bin/bash(Linux) sbin/nologin(非登录shell) /bin/tcsh /bin/csh /bin/ksh
centOS7默认/bin/bash
交互式 -命令行 人工干预智能化程度高 逐条解释执行效率低;
非交互式-脚本 需要提前设计,智能化难度低批量执行,效率高,方便在后台静悄悄地运行
切换其他shell-直接写路径
exit退出
查看当前解释执行器 echo $SHELL
chsh -s 执行器 用户
bash基本特性
快捷键 TAB键补齐
命令历史
命令别名
标准输入输出
重定向
管道操作
历史命令 (.)隐藏文件ls -a显示全部
etc/profile-修改命令数量
操作历史命令
history -c清空命令
调用命令 !命令序号
重定向
输出 >
11-12
命令别名
alias(临时) 查看当前系统所有别名
unalias 取消别名
永久命令别名 vim ~/ .bashrc
cat ~/.bashrc
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
unalas 取消别名
esc+.调用上次命令最后参数
Alt+.
花括号使用 .连续 ,不连续
前后台切换
Ctrl+Z 挂起程序 直接放到后台 命令+&
jobs 查看当前有多少在后台运行的程序
jobs -l 查看正在运行pid号
fg % (命令编号)后台命令调至前台运行
ctrl+shift+t打开另一个终端
dg 后台暂停变成执行 多个用bg %命令编号将命令调出
nohup 命令 & 退出账户关闭终端仍可以继续运行
脚本三步走
新建文本文件
添加可执行的脚本语句(命令行)
添加x执行权限
规范脚本构成
脚本声明 #!
#注释信息
11-13
后台启动进程,在命令结尾加$f符号
删除非空目录选项是 -r
删除非空文件选项是 -i
显示当前目录pwd
cp ./file.txt ./file2.txt复制文件
关机命令 poweroff shutdown -h
redhat默认文件系统 ext3 (redhat6以上系统ext4)
显示所有内容ls -al
find /etc/ -iname'h*' -exec cp{} /xxx \;
找到所有用户的文件,复制到etc下
find -userstudent -a -type f -exec{} /etc/ \;
变量
1、以固定名称存放,可能会变化的值
-变量名=变量值
2、注意事项
若指定的变量名已存在,相等于为此变量重新赋值
等号两边不要有空格
变量名由字母/数字/下划线组成,区分大小写
变量名不能以数字开头
3、查看变量
-引用变量值:$变量名
调用命令计算 let (整数)
-查看变量值:echo &变量、echo &{变量名}
4、取消变量
-退出定义变量的shell环境时,变量自动失效
-手动取消 unset 变量名
5、变量种类
存储类
使用类 环境变量(大写,由系统维护),用来设置工作环境 个别变量用户可以直接更改
位置变量 bash内置,存储执行脚本提供的参数
预定义变量 bash内置不能直接赋值和修改,直接调用,不能直接赋值或修改
$0 bash解释执行器
$?检测上一条命令执行结果(成功值为0,不成功值为1)
$#判断位置变量有几个参数
自定义变量 由用户自主设置、修改及使用
双引号 允许扩展,以$引用其他变量
单引号 禁用扩展 即使$也视为普通字符
反撇号 将命令的执行输出作为变量值
标准输入取值
read从键盘读入变量值完成赋值
-格式:read[-p'提示信息’]变量名
-p可选 -t可指定超时秒数
-stty -echo关闭终端输出
-stty echo 恢复终端输出
局部变量 只能在当前shell环境中有效
全局变量export 在所有环境中均有效