linux系统结构简介以及基本命令
1.########linux系统结构########
linux是一个倒树型结构,最大的目录名称叫“/” (根目录)
linux系统结构下的二级目录
/bin | 二进制可执行文件,系统常规命令 |
---|---|
/boot | 启动目录,存放系统自动启动文件,内核,初始化程序,删除后系统重新启动会出错 |
/dev | 系统设备管理文件 SATA串口硬盘,SSD固态硬盘,sdb对U盘的管理, |
/etc | 大多数系统配置文件存放路径(系统的工作方式) |
/home/子目录 | 普通用户家目录 |
/lib | 函数库 |
/lib64 | 64位函数库 |
/media | 光驱挂载点 |
/mnt | 手动挂载点 |
/run | 自动临时设备挂载点 |
/opt | 第三方软件安装路径 |
/proc | 系统硬件信息和系统进程信息 |
/root | 超级用户家目录 |
/sbin | 系统管理命令,通常只有root可以执行 |
/srv | 系统数据目录 |
/var | 系统数据目录 |
/sys | 内核相关数据 |
/tmp | 临时文件产生目录 |
/usr | 用户相关信息数据 |
2.#####文件的寻址####
<1.文件的地址分为:
相对路径:
相对与当前系统所在目录的一个文件名称的简写,
此名称省略了系统当前所在目录的名称
此名称不以“/”开头
此名称在命令执行时会自动在操作对象前加入“PWD”所显示的值
绝对路径:
绝对路径是文件在系统的真实位置
此命令是以“/”开头的
此命令在命执行时系统不会考虑现在所在位置的信息
注意:
亲 ##动作是被系统执行的,不能作为名称出现
“亲” ##用引号的作用是把动作变成名称字符,这种方法叫引用
当操作对象是 对象1 空格 对象2 时,
这两个对象之间没有任何关系
豆角 茄子 ##这是2个对象
豆角茄子 ##这是一个对象
3.#####关于路径的命令####
<1>.pwd
pwd显示当前路径的目录
<2>.cd切换路径
cd 目录名称 ##进入到指定目录中
cd - ##当前目录和当前目录值前所在目录之间的切换(切换到旧 目录即上一次切换前的目录)
cd ~user ##进入user家目录
cd .. ##进入当前目录的上一级目录
cd . ##切换到当前目录
补充:
cd ~+ ##当前目录
cd ~- ##切换到旧的目录即上一次切换前的目录
cd ~ ##当前用户家目录
cd ~username ##指定用户的家目录
<3>.ls查看
ls -l file ##文件属性
ls dir ##目录中保函的内容
ls -d dir ##目录本身
ls -a dir ##列出所有文件包含隐藏的
ls -A dir ##列出除.和..以外的全部项目
ls -S dir ##查看并且按照大小排序
ls -s file|dir ##查看文件大小
注意:以.开头的文件会隐藏
<4>.wc文件大小统计
wc -l file ##行数
wc -w file ##单词数
wc -m file ##字符数
wc -c file ##字节数
4.######系统中历史的调用####
history | 查看历史(通过输入echo $HISTSIZE可以查询默认最高可记录数) |
---|---|
history -c | 清空当前环境中的历史命令 |
!数字 | 调用此行历史命令,比如"!5"时执行历史中的第5条命令 |
!test | 执行以test关键字开头的最近一条历史命令 |
ctrl +r +关键字 | 调用历史中最近一条含有此关键字的历史命令 |
例子:ctrl+r+关键字
(reverse-i-search)`’:-c
(reverse-i-search)`-c’: clear ##会调用最近一条命令中含有c字符的历史
清空当前环境中的历史命令
注意:
上键|下键可以逐条调用历史
5.########在系统中获得帮助####
<1>.查看命令大用途
whatis 命令 ##查看命令的基本用途
注意:刚装系统时,如果不能实现whatis命令,可以使用mandb,把系统的东西导入man,这样就可以使用了。
<2.查看命令的用法
命令 --help ##查看命令的基本用法,适用于多数命令
[ ] | 标示选项里的内容可以加也可以不加 |
---|---|
… | 标示选项加入的个数任意 |
<> | 标示选项里的内容是必须要加入的 |
Userage | 标示命令用法 |
Opetions | 对参数的作用做说明 |
<3>man查看命令或文件的说说明手册
man 命令 ##查看命令的用法
man 5 文件 ##查看文件的说明
man的级别:
1 | 用户在shell环境中可操作的命令或者可执行文件 |
---|---|
2 | 系统调用接口 |
3 | 函数库调用接口 |
4 | 特殊设备文件 |
5 | 系统配置文件或者某些文件格式 |
6 | 游戏规则说明 |
7 | 包说明 |
8 | 系统管理命令,系统管理员可用的管理文件 |
9 | 内核调用规则 |
man的基本用法:
上/下 | 逐行查看 |
---|---|
pgup/pgdn | 分页查看 |
/关键字 | 高亮显示关键字,n向下匹配,N上向匹配 |
:q | 退出 |
用/关键字查看date
man -k 字符串 ##查看当前字符串在系统中拥有的man的级别
例子:查看passwd在系统中拥有的man级别
注意:/usr/share/doc ##系统中所有安装过的软件的帮助文档
6.####系统中的通用配置符号####
* ##匹配0到任意字符
? ##匹配单个字符
[[:alpha:]] ##单个字母
[[:lower:]] ##单个小写字母
[[:upper:]] ##单个大写字母
[[:digit:]] ##单个数字
[[:punct:]] ##单个符号
[[:space:]] ##单个空格
[[:alnum:]] ##单个数字或字母
[[:punct:][:upper:]] ##单个符号或单个大写字母
[1-9] #1位,这位是1-9的任意数字
[!3-5] #1位,不是3-5的数字
[^3-5] #1位,不是3-5的数字
[a-z] #1位,a-z的任意字母
{1..3} #3个,1 2 3
{1,4,7} #3个1,4,7这三个数
总结:
[] 有就做,没有就不做 模糊的指令
{} 全部都做,没有会报错 精确的指令
注意,touch file[1-3] 相当于创建一个文件名为file[1-3]的文件,而touch file{1…3}是分别创建了三个文件,文件名分别为法file1 file2 file3
举例:将/etc/内所有以.conf结尾且文件名称中有数字的文件复制到桌面
cp /etc/*[[:digit:]]*.conf .
测试说明:
以下所有的问题在虚拟机desktop中完成
1.复制/etc/目录中所有名字带数字并且文件后缀为.conf的文件到root用户的桌面
2.显示超级用户家目录中所有的文件(包括隐藏文件),请统计显示结果并把显示结果保存在file中
3.复制/etc/passwd文件到root用户桌面并替换文件中所有sbin字符为westos