Linux系统基本知识整理
Linux系统基本知识整理
目录结构
目录 | 说明 |
---|---|
bin | 存放二进制可执行文件(ls,cat,mkdir等) |
boot | 存放用于系统引导时使用的各种文件 |
dev | 用于存放设备文件 |
etc | 存放系统配置文件 |
home | 存放所有用户文件的根目录 |
lib | 存放跟文件系统中的程序运行所需要的共享库及内核模块 |
mnt | 系统管理员安装临时文件系统的安装点 |
opt | 额外安装的可选应用程序包所放置的位置 |
proc | 虚拟文件系统,存放当前内存的映射 |
root | 超级用户目录 |
sbin | 存放二进制可执行文件,只有root才能访问 |
tmp | 用于存放各种临时文件 |
usr | 用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录 |
var | 用于存放运行时需要改变数据的文件 |
操作文件目录
命令 | 说明 | 语法 | 参数 | 参数说明 |
---|---|---|---|---|
ls | 显示文件和目录列表 | ls [-alrtAFR] [name…] | ||
-l | 列出文件的详细信息 | |||
-a | 列出当前目录所有文件,包含隐藏文件 | |||
mkdir | 创建目录 | mkdir [-p] dirName | ||
-p | 父目录不存在情况下先生成父目录 | |||
cd | 切换目录 | cd [dirName] | ||
touch | 生成一个空文件 | |||
echo | 生成一个带内容文件 | echo abcd > 1.txt,echo 1234 >> 1.txt | ||
cat | 显示文本文件内容 | cat [-AbeEnstTuv] [–help] [–version] fileName | ||
cp | 复制文件或目录 | cp [options] source dest | ||
rm | 删除文件 | rm [options] name… | ||
-f | 强制删除文件或目录 | |||
-r | 同时删除该目录下的所有文件 | |||
mv | 移动文件或目录 | mv [options] source dest | ||
find | 在文件系统中查找指定的文件 | -name | 文件名 | |
grep | 在指定的文本文件中查找指定的字符串 | |||
tree | 用于以树状图列出目录的内容 | |||
pwd | 显示当前工作目录 | |||
ln | 建立软链接 | |||
more | 分页显示文本文件内容 | |||
head | 显示文件开头内容 | |||
tail | 显示文件结尾内容 |
系统管理命令
命令 | 说明 |
---|---|
stat | 显示指定文件的相关信息,比ls命令显示内容更多 |
who | 显示在线登录用户 |
hostname | 显示主机名称 |
uname | 显示系统信息 |
top | 显示当前系统中耗费资源最多的进程 |
ps | 显示瞬间的进程状态 |
du | 显示指定的文件(目录)已使用的磁盘空间的总量 |
df | 显示文件系统磁盘空间的使用情况 |
free | 显示当前内存和交换空间的使用情况 |
ifconfig | 显示网络接口信息 |
netstat | 显示网络状态信息 |
clear | 清屏 |
kill | 杀死一个进程 |
压缩命令
tar命令
命令 | 说明 | 参数 | 参数说明 |
---|---|---|---|
tar | tar [-cxzjvf] 压缩打包文档的名称 欲打包目录 | ||
-c | |||
-x | |||
-z | |||
-j | |||
-v | |||
-f | |||
-tf |
例子:
- 压缩文件夹:tar -zcvf test.tar.gz test\
- 解压文件夹:tar -zxvf test.tar.gz
gzip
命令 | 说明 | 参数 | 参数说明 |
---|---|---|---|
gzip | gzip [选项]压缩(解压缩)的文件名 | ||
-d | |||
-l | |||
-v | |||
-num |
说明:压缩文件后缀为 gz
bzip2命令
命令 | 说明 | 参数 | 参数说明 |
---|---|---|---|
bzip2 | bzip2 [-cdz] | ||
-d | |||
-z | |||
-num |
说明:压缩文件后缀为 bz2
用户和组管理
Linux 操作系统是一个多用户操作系统,它允许多用户同时登录到系统上并使用资源。系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰。
使用 Root 用户
在实际生产操作中,我们基本上都是使用超级管理员账户操作 Linux 系统,也就是 Root 用户,Linux 系统默认是关闭 Root 账户的,我们需要为 Root 用户设置一个初始密码以方便我们使用。
设置 Root 账户密码
sudo passwd root
切换到 Root
su
设置允许远程登录 Root
nano /etc/ssh/sshd_config
# Authentication:
LoginGraceTime 120
#PermitRootLogin without-password //注释此行
PermitRootLogin yes //加入此行
StrictModes yes
重启服务
service ssh restart
用户账户说明
普通用户
普通用户在系统上的任务是进行普通操作
超级管理员
管理员在系统上的任务是对普通用户和整个系统进行管理。对系统具有绝对的控制权,能够对系统进行一切操作。用 root 表示,root 用户在系统中拥有最高权限,默认下 Ubuntu 用户的 root 用户是不能登录的。
安装时创建的系统用户
此用户创建时被添加到 admin 组中,在 Ubuntu 中,admin 组中的用户默认是可以使用 sudo 命令来执行只有管理员才能执行的命令的。如果不使用 sudo 就是一个普通用户。
组账户说明
私有组
当创建一个用户时没有指定属于哪个组,Linux 就会建立一个与用户同名的私有组,此私有组只含有该用户。
标准组
当创建一个用户时可以选定一个标准组,如果一个用户同时属于多个组时,登录后所属的组为主组,其他的为附加组。
账户系统文件说明
/etc/passwd
每一行代表一个账号,众多账号是系统正常运行所必须的,例如 bin,nobody 每行定义一个用户账户,此文件对所有用户可读。每行账户包含如下信息:
root:x:0:0:root:/root:/bin/bash
- 用户名: 就是账号,用来对应 UID,root UID 是 0。
- 口令: 密码,早期 UNIX 系统密码存在此字段,由于此文件所有用户都可以读取,密码容易泄露,后来这个字段数据就存放到 /etc/shadow 中,这里只能看到 X。
- 用户标示号(UID): 系统内唯一,root 用户的 UID 为 0,普通用户从 1000 开始,1-999 是系统的标准账户,500-65536 是可登陆账号。
- 组标示号(GID): 与 /etc/group 相关用来规定组名和 GID 相对应。
- 注释: 注释账号
- 宿主目录(主文件夹): 用户登录系统后所进入的目录 root 在 /root/itcast
- 命令解释器(shell): 指定该用户使用的 shell ,默认的是 /bin/bash
/etc/shadow
为了增加系统的安全性,用户口令通常用 shadow passwords 保护。只有 root 可读。每行包含如下信息:
root:$6$Reu571.V$Ci/kd.OTzaSGU.TagZ5KjYx2MLzQv2IkZ24E1.yeTT3Pp4o/yniTjus/rRaJ92Z18MVy6suf1W5uxxurqssel.:17465:0:99999:7:::
- 账号名称: 需要和 /etc/passwd 一致。
- 密码: 经过加密,虽然加密,但不表示不会被破解,该文件默认权限如下:
- rw——- 1 root root 1560 Oct 26 17:20 passwd-
- 只有root能都读写
- 最近修改密码日期: 从1970-1-1起,到用户最后一次更改口令的天数
- 密码最小时间间隔: 从1970-1-1起,到用户可以更改口令的天数
- 密码最大时间间隔: 从1970-1-1起,必须更改的口令天数
- 密码到期警告时间: 在口令过期之前几天通知
- 密码到期后账号宽限时间
- 密码到期禁用账户时间: 在用户口令过期后到禁用账户的天数
- 保留