一 . shell的基本信息
- shell简介:shell是一种特殊的程序,是一种解释型语言
- shell的作用:是内核与用户的一种接口
- shell区分内部命令和外部命令
- 内部命令:是系统自带的命令,跟随系统内核一起启动 cd
- 外部命令:一些额外的软件和程序 ls
二. linux系统基础
-
[root@localhost ~]#初始登录状态
- root:代表当前登录用户
- localhost:代表主机名
- ~:代表当前目录位置
- #:代表当前登录是root用户;如果是$代表当前登录是普通用户
- su - root:切换用户使用 - 命令
-
hostname:查看系统主机名
- hostnamectl set-hostname CentOS7.5 :修改主机名称
- su - :切换一次用户,使修改的主机名生效
-
关机操作命令,以下四种全部是关机命令
poweroff shutdown -h now init 0 halt
-
重启操作命令
reboot #立即重启 shutdown -r now #立即重启 shutdown -r +15 #15分钟以后重启
-
date:操作系统时间和日期的命令,显示当前系统时间
-
cal:查看当前月份日历,加月份或者年份的参数,查看指定日期的日历
-
ifconfig:查看主机Ip地址,如果显示没有此命令,先安装net-tools命令,安装之后,重启network命令
-
常见bash快捷键
ctrl+c:中断当前操作 ctrl+l:清屏 \ :换行 ctrl+a:光标移到行首 ctrl+e:光标移到行尾 ctrl+u:清空光标前面的内容 ctrl+k:清空光标后面的内容
-
linu系统目录结构
-
boot:存储系统引导文件和内核文件
-
bin:存储的是二进制文件,都是可以运行的
-
dev:放的是外接设备,例如其他硬盘或者U盘
-
etc:主要存储配置文件
-
home:表示的是用户的家目录,除了root之外的
-
opt:软件安装目录
-
root:root用户的家目录
-
tmp:临时文件目录
-
usr:软件存储
-
var:系统日志文件目录
-
三. shell命令详解
通用命令格式:命令字 【选项】 【参数】
- 选项:用于调节命令的具体功能
- “-” :引导短格式选项,例如:-l
- “–”:引导长格式选项,例如:–color
- 多个短格式选项可以写在一起,例如:-a -l -z可以写成:-alz
- 参数:命令操作的对象,可以是文件或者目录等
1. 目录操作命令
- ls:列出目录下的所有文件和目录
- ls -l 以长格式显示
- ls -a 列出所有文件或目录,包括隐藏的
- ls -d 列出全部信息
- ls --color 以颜色信息显示文件类型
- cd:切换工作目录
- cd … 返回上一级目录
- cd - 返回到上次工作所在的目录
- pwd:查看当前所在的工作目录
- mkdir:创建新目录,默认在当前目录下创建
- -p 递归创建多级目录
- rmdir:删除一个目录
- -p 递归删除多个目录
2.文件操作命令
-
touch:创建一个空文件,更新文件时间标记
-
cp:复制文件或者目录。cp [选项] 源文件/目录 目的文件/目录
- -r :递归复制整个目录树
-
mv:移动文件或者目录。mv [选项] 源文件/目录 目的文件/目录
- -r :递归移动整个目录树
-
rm:删除文件或者目录
- -rf :不再提示,直接删除
-
find:查找文件或目录
- -name:按文件名查找
- -type:按类型查找
- -user:按属主查找
- -size:按文件大小查找
3. 文件内容操作命令
-
cat:查看文件的内容
-
less/more:全屏方式分页显示
- 空格:一页一页的下翻
- b:一页一页的上翻
- enter:逐行下翻
- q:退出
- /:查找操作
-
head:显示文档头部若干行,默认是10行
-
tail:显示文档尾部若干行,默认10行
-
wc:统计文件行数、词数、字节数
- -w:统计字数,一个字被定义为空白、跳格、换行为分割
- -l:统计行数
- -c:字节数
- -m:统计字符数
-
grep:检索,在文件中查找并显示制定字符出的内容。grep [选项] 查找内容 文件名
- -i:不区分大小写查找
- 查找条件设置
- ‘^……’ :查找以什么开头的内容
- ‘……$’:查找以什么结尾的内容
4. 归档及压缩命令
-
tar:压缩与解压缩
-
tar [选项] 文件 [-C 解压到制定的路径],如果不写-C,表示解压到当前路径下
-
tar -czvf [存放目录] 压缩后文件名 源文件名
- -c:压缩
- -z:压缩为.gz格式
- -vf :显示详细信息
-
tar -xzvf [存放目录] 解压文件 -C 解压之后存放位置
-
四. 重定向和管道
- 重定向和管道符:将命令的输出结果输出到制定的文件中,而不是在显示器中显示
- 重定向标准输出:
- " > ":覆盖输出到指定文件
- “>>”: 追加输出到指定文件
- 重定向标准错误输出:
- “2>”:覆盖输出错误信息到制定文件
- “2>>”:追加输出错误信息到制定文件
- 标准信息和错误信息全部输出:
- “&>”:全部覆盖输出到指定文件中
- “&>>”:全部追加输出到指定文件中
五. VIM编辑器
vim是一个文本编辑器,是vi的一个增强。
1. vim的三种模式
-
命令模式:用于文件导航,复制/粘贴、剪切等
-
输入模式:正常文本编辑
-
末行模式:操作推出、保存等
-
各个模式之间的切换:
-
命令模式→输入模式:i (在光标位置插入),o(在光标下一行插入)
-
输入模式→命令模式:esc
-
命令模式→末行模式: :
-
2. 命令模式下常用快捷键
- l :向右移动一个位置
- h :向左移动一个位置
- k :向上移动一行
- j :向下移动一行
- ^ :移动到当前行的开始位置
- $ :移动到当前行的末尾位置
- gg :移动到文档的首行
- GG :移动到文档的尾行
- pageup/pagedown :翻页
- 2gg = 2G = :2 :跳转到制定行(3种方式都可以跳转到指定行)
- : set nu :显示编辑器中的行号
- :set nonu :取消显示编辑器的行号
- yy :复制光标所在的行
- 小写p :粘贴到光标所在行下面
- 大写P :粘贴到光标所在行前面
- 5yy :复制光标下面的5行
- dd :删除光标所在行
- 3dd :删除光标下面的3行
- d^ :删除光标之前到行首
- d$ :删除光标之后到行尾
- /要查找的字符 :文档中从上往下查找内容,查到之后用n定位到下一个匹配的字符,N定位到上一个匹配的字符串
- ?查找的内容 : 从下往上查找
- u :撤销操作
- U :撤销对当前行的修改
- 大写ZZ :保存对文件的修改,并推出编辑器
3. 末行模式下的常用快捷键
- :w : 保存,但是不推出
- :wq :保存并推出
- :q! :强制推出
- s/old/new :将当前行查找到的第一个字符替换成其他的字符
- s/old/new/g :将当前行查找到的所有字符都替换
- %s/old/new/g :将全文查找到的内容替换
六. 软件安装
-
常见的软件封装类型:rpm、deb、源代码包(.tar.gz)
-
RPM软件包可以使用yum进行安装
-
配置目录:/etc/yum.repos.d下的repo文件
-
更新源码库为阿里yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo 企业扩展包 yum makecache 生成缓存
-
yum常用命令
- yum -y install ** 安装软件
- yum repolist all 查看所有yum源状态
- yum list all 列出所有yum软件包
- yum clean all 清除yum源
- yum remove 删除软件包
- yum info ** 查看软件包详细信息
- yum update ** 更新软件包
七. 用户和组管理
-
用户账号分为超级管理员账号和普通用户账号
-
组分为基本组和附加组
- 基本组:与用户名同名的组
- 附加组:将其他用户加到这个组中,这个组就是其他用户的附加组
-
UID和GID是用户和组的标识号
- root用户的UID是:0
- 普通用户UID是:1000-60000
- 系统用户UID是:1-999
-
相关文件:
-
/etc/passwd :存储用户信息,格式:
lichuanlu:x:1000:1000:lichuanlu:/home/lichuanlu:/bin/bash 用户名:密码占位符:uid:gid:用户全名:家目录路径:登录shell信息
-
/etc/shadow:存储密码信息,格式:
lichuanlu:**:19593:0:99999:7::: 用户名:密码加密后:上次修改密码时间:密码最多有效天数:最长有效天数:密码过期警告时间:密码过期后是否允许登录:密码过期时间:保留字段
-
/etc/group:保存组账号信息。
-
/etc/gshadow:保存组密码信息
-
-
用户和组操作基本命令:
- useradd 【选项】 username
- -u:为账号指定uid
- -s:为账号指定默认登陆shell
- -G:将用户添加到质地给你的属组
- -c:为账号添加描述
- -m:创建用户的家目录
- -p:为用户指定一个默认密码
- id username:查看用户信息
- userdel -r username:删除用户,家目录也一起删除
- usermod username:修改用户信息
- passwd username:修改用户的密码
- useradd 【选项】 username
8. 文件权限管理
1. 基本信息
- 访问权限的分类
- 读取
- 写入
- 可执行
- 归属权限分类
- 属主:拥有该文件或者目录的用户账号
- 属组:拥有该文件或者目录的组账号
- 文件类型分类
-
:代表普通文件- d :代表目录
- c : 代表字符型文件
- l :代表链接文件
2. 权限的修改
-
格式一:chmod [u/g/o/a] [+/-/=] [r/w/x] 文件或者目录
-
ugoa:分别表示:属主、属组、其他、所有用户
-
+-=
:分别代表:添加、减少、设置一个权限 -
举例:
chmod g+w /lichuanlu/1.txt
-
-
格式二:chmod nnn(三位8进制数) 文件或者目录
- r权限是:4
- w权限是:2
- x权限是:1
-
归属权限修改:
- chown [属主] 文件或目录
- chown :[属组] 文件或者目录
3. ACL权限
- ACL可以针对单一使用者或者单个文件进行权限设置。
- 设置方式:
- setfacl -m u:username:rw filename 设置一个用户有读写权限
- setfacl -m g:groupname:rw filename 设置一个组的读写权限
- 查看:getfacl filename
- 删除ACL权限:setfacl -x u:username filename