一. Linux的结构目录
1.1 Linux的目录结构
Linux为免费开源的系统,拥有众多发行版,为规范诸多的使用者对Linux系统目录的使用,Linux基金会发布了FHS标准(文件系统层次化标准)。多数的Linux发行版都遵循这一规范。
注: FHS(Filesystem Hierarchy Standard),文件系统层次化标准,该标准规定了 Linux 系统中所有一级目录以及部分二级目录(/usr 和 /var)的用途。发布此标准的主要目的就是为了让用户清楚地了解每个目录应该存放什么类型的文件
登录系统后,在当前命令窗口下输入命令:
ls /
你会看到如下图所示:
树状目录结构:
1.2 常用目录介绍
目录 | 作用 |
---|---|
/usr | 全称(Unix Software Resource),该目录用于存放软件资源,FHS建议开发者,将软件产品的数据合理放在该目录的子目录下,有点类似于Windows中的c:\windows,与c:\Program files的综合体 |
/usr/bin/ | 存放系统命令,普通用户和超级用户都可以执行 |
/usr/sbin/ | 存放根文件系统不必要的系统管理命令,如多数服务程序,只有 root 可以使用 |
/usr/lib/ | 应用程序调用的函数库保存位置 |
/usr/local/ | 手工安装的软件保存位置。我们一般建议源码包软件安装在这个位置 |
/usr/share/ | 应用程序的资源文件保存位置,如帮助文档、说明文档和字体目录 |
/usr/src/ | 源码包保存位置。我们手工下载的源码包和内核源码包都可以保存到这里, (也可以按照自己的习惯,将手动下载的源码包放在/usr/local/src, 内核源码放在/usr/src/linux中) |
/usr/include | C/C++ 等编程语言头文件的放置目录 |
/var | 用于存储动态数据,例如缓存、日志文件、软件运行过程中产生的文件等 |
/var/lib/ | 程序运行中需要调用或改变的数据保存位置。如 MySQL 的数据库保存在 /var/lib/mysql/ 目录中 |
/var/log/ | 登陆文件放置的目录 |
/var/run/ | 一些服务和程序运行后,它们的 PID(进程 ID)保存位置 |
/var/spool/ | 里面主要都是一些临时存放,随时会被用户所调用的数据,例如 /var/spool/mail/ 存放新收到的邮件,/var/spool/cron/ 存放系统定时任务 |
/var/www/ | RPM 包安装的 Apache 的网页主目录 |
/var/tmp | 一些应用程序在安装或执行时,需要在重启后使用的某些文件,此目录能将该类文件暂时存放起来,完成后再行删除 |
/home | 用户家目录,以每个用户的名称命名,存放每个用户的数据 |
/dev/ | 设备文件保存位置 |
/etc/ | 配置文件保存位置。系统内所有采用默认安装方式(rpm 安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等 |
/opt/ | 第三方安装的软件保存位置。这个目录是放置和安装其他软件的位置,手工安装的源码包软件都可以安装到这个目录中。按照个人习惯也可以放在 /usr/local/ |
/root/ | root 的主目录。普通用户主目录在 /home/ 下,root 主目录直接在“/”下 |
/sbin/ | 保存与系统环境设置相关的命令,只有 root 可以使用这些命令进行系统环境设置,但也有些命令可以允许普通用户查看 |
/srv/ | 服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据 |
/tmp/ | 临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入。建议此目录中不能保存重要数据 |
二、常用命令
# 与 $ 提示的区别
'#' 表示用户有root权限,一般的以root用户登录提示符为#, '$'提示符表示用户为普通用户
查看ip地址:ifconfig
查看ip地址
eno1: 代表由主板bios内置的网卡
ens1:代表主板bios内置的PCI_E网卡
enp2s0: PCI-E独立网卡
eth0: 如果以上都不用,则返回默认的网卡名
ens33则属于第二种类型,即说明你的网卡是内置的PCI-E网卡,
这是由网卡特性命名的可以在 /etc/sysconfig/network-scripts/ifcfg-ens33修改名字如果提示“未找到命令”,则需要安装net-tools工具包。
su:切换用户
su 用户名
linux用户切换,切换到root用户需要输入密码。临时使用root权限使用 sudo
cd
- cd 目录名 进入目录
- cd ..返回上级目录
- cd ~ 进入当前用户的home目录
目录查看
- ls 显示当前目录下的所有文件及子目录
- ll 以详细信息的方式展示当前目录下的文件及子目录
- dir 显示当前目录下的所有文件
- pwd 显示当前路径
- clear 清空屏幕显示
查看文件内容
- cat 只可以查看内容不能编辑
- vi或vim 可查看可编辑
创建目录及文件
mkdir 创建目录
语法:mkdir -选项 -参数
选项:
1. -m 创建目录时同时设置文件的权限
2. -p 如果上级目录没有创建,即创建输入路径上的所有目录
touch 创建文件
复制和移动
cp 复制
示例:
- 将文件cangls复制奥tmp目录下
cp cangls /tmp/- 将目录/root/movie下的所有内容, 复制到 tmp目录下(注意:-r 参数有递归复制的意思)
cp -r /root/movie/ /tmp/mv 移动或重命名
语法:mv [options] source dest
参数说明:
-i 若指定目录已有同名文件, 则先询问是否覆盖旧文件,i有交互的意思
-f 在mv操作要覆盖某已有的目标文件时不给任何提示,直接覆盖。
其他
- reboot 重启系统
- shutdown -r now 重启
- shutdown -h row 关机
- cat /etc/issue 查看当前正在运行的ubuntu的版本号
tar
- 命令格式: tar [参数] 文件
- 常用参数:
x: 从压缩的文件中提取文件 (解压)
c: 建立新的压缩文件(加压)
t:显示压缩的文件
v: 显示操作过程
z: 通过gzip指令来处理备份文件示例:
tar -czvf test.tar.gz a.c 作用: 压缩 a.c文件为test.tar.gz
tar -tzvf test.tar.gz 作用: 列出test.tar.gz中包含的文件。
tar -xzvf test.tar.gz 作用: 解压文件
tar --exclude=abc/1.txt -zcvf abc.tgz abc 作用: 将文件 abc 进行压缩时,排除1.txt,压缩后的文件名为 abc.tgz