Linux 基础知识
Linux 文件系统
分区类型
-
主分区
- 通常情况下一个硬盘中最多可以分割四个主分区
- 因为硬盘中分区表只有64Bytes
-
扩展分区
为了摆脱四个分区的限制,Linux引入了扩展分区,管理员可以使用一个主分区作为扩展分区来进行扩充,在扩展分区中,可以建立多个逻辑分区,扩展分区是不能使用的,必须建立逻辑分区进行使用
- 最多有一个扩展分区
- 主分区加扩展分区最多有4个
- 不能写入数据,只能包含逻辑分区
-
逻辑分区
- linux规定逻辑分区必须建立在扩展分区之上(不是主分区之上)
挂载
挂载的过程
我们把分区指定挂载点相当于指定盘符
- 划分分区
- 格式化
- 给硬件起硬件文件名
- Linux系统中每一个硬件设备都是作为一个文件进行管理的,相当于访问的一共通道
- 挂载
挂载的分区
必须分区
-
/ 根分区
-
swap分区
作为虚拟化内存使用
-
/boot 分区
保存启动时候的数据
Linux 各目录的作用
-
/bin
存放系统命令的目录,普通用户和超级用户都能执行,不过放在
/bin
下的命令在单用户模式下也能执行 -
/sbin
保存和系统环境设置相关的命令,只有超级用户才能执行(有一些例外)
-
/usr/bin
存放系统命令的目录,普通用户和超级用户都能执行,这些命令和系统的启动无关,在单用户模式下不能执行
-
/usr/sbin
存放根文件系统不必要的系统管理命令,例如多数服务程序,只有超级用户可以使用
-
/boot/
系统启动目录,保存系统启动相关的文件
-
/dev/
设备文件保存位置(linux中设备即文件)
-
/etc/
配置文件保存的位置,rpm安装的所有配置文件都会保存在这个目录下
-
/home/
家目录,每创建一个用户时,每个用户都有一个默认的登录位置,这个位置就是home目录,每个用户都有一个和用户名相同的目录
-
/lib/
系统调用函数库的保存位置
-
/lost+found/
当系统意外崩溃或机器意外关机,而产生的一些文件碎片放在这里。就是备份/恢复目录
-
/media/
挂载媒体设备的目录
-
/opt
第三方软件的保存位置,这个目录就是放置和安装其他软件的位置
-
/proc
虚拟文件系统,这个目录的数据不会保存到硬盘中,而是保存到内存中,如系统的内核,进程等
-
/sys
虚拟文件系统,不会保存到硬盘中,保存内核信息
-
/root/
超级用户的家目录
-
/srv
服务数据目录,一些系统服务启动之后存放一些数据的
-
/tmp
临时目录,系统存放临时文件的目录,所有用户都可以访问
-
/usr
系统软件资源目录
-
/var
动态数据保存位置,主要保存缓存,日志等
Linux 命令
命令格式
命令 -选项 参数
ls -la /etc
具体命令
文件管理命令
ls
- 命令名称:ls
- 命令英文原意:list
- 命令所在路径:/bin/ls
- 执行权限:所有用户
- 功能描述:查看目录的信息
- 语法:
ls -选项 文件或目录
- -a 显示所有
- -l 详细信息显示
- -d 查看目录属性(一般使用-ld,只查看本身的目录)
mkdir
- 命令名称:mkdir
- 命令英文原意:make directories
- 命令所在路径:/bin/mkdir
- 执行权限:所有用户
- 语法:mkdir -p [目录名]
- 功能描述:创建新目录
- p 递归创建(在没有有效目录的时候也进行创建)
- 可以同时创建多个目录
cd
- 命令名称:cd
- 命令英文原意:change directory
- 执行权限:所有用户
- 功能描述:切换目录
pwd
- 命令名称:pwd
- 命令英文原意:print working directory
- 执行权限:所有用户
- 功能描述:显示当前目录
rmdir
- 命令名称:rmdir
- 命令英文原意:remove empty directories
- 执行权限:所有用户
- 功能描述:删除空目录
cp
- 命令名称:cp
- 命令英文原意:copy
- 执行权限:所有用户
- 语法:
- cp -rp [原文件] [目标目录]
- -r 复制目录
- -p 保留文件属性
- 功能描述:复制文件/目录
mv
- 命令名称:mv
- 命令英文原意:move
- 执行权限:所有用户
- 语法:mv [原文件或目录] [模板目录]
- 功能描述:剪切文件/改名
rm
- 命令名称:rm
- 命令英文原意:remove
- 命令所在路径:/bin/rm
- 执行权限:所有用户
- 功能描述:删除文件/文件夹
- 语法:rm -rf [文件或目录]
- -r 删除目录
- -f 强制执行
touch
- 命令名称:touch
- 执行权限:所有人
- 功能描述:创建空文件
cat
- 命令名称:cat
- 功能描述:显示文件内容
- 执行命令所有人
- 语法:cat -n [文件名]
- -n 显示行号
tac
- 命令名称:tac
- 功能描述:倒着显示文件内容
more
- 命令名称:more
- 执行权限:所有人
- 功能描述:分页显示文件内容
- 语法:more [文件名]
- 空格 或 f 翻页
- 回车 换行
- q或Q 退出
less
- 命令名称:less
- 执行权限:所有用户
- 语法:less [文件名]
- 功能描述:分页显示文件内容
head
- 命令名称:head
- 执行权限:所有用户
- 功能描述:查看前n行
- 语法:head -n [行数]
- -n 指定行数
tail
- 命令名称:tail
- 执行权限:所有用户
- 功能描述:显示后n行
- 语法:tail -nf [行数]
- -n 指定行数
- -f 动态显示文件末尾内容
ln
- 软链接:类似于windows的快捷方式
- 可以跨分区
- 所有人拥有所有权限
- 只是符号链接
- 硬链接:原文件和硬链接文件可以同时更新,硬链接类似于拷贝,即使原文件丢失,硬链接仍然有效
- 通过i节点识别
- 不能跨分区
- 不能针对目录使用
- 命令名称:ln
- 命令英文原意:link
- 执行权限:所有用户
- 语法:ln -s [原文件] [目标文件]
- -s 创建软链接
- 功能描述:生成链接文件
wc
- 命令名称:wc
- 功能描述:统计文件内容信息
- 语法:wc [选项] [文件路径]
- -l 行数
- -w 单词数
- -c 字节数
du
- 指令名称:du
- 功能描述:查看目录的真实大小
- 语法:du -sh [目录路径]
- -s:只显示汇总的大小
- -h:表示以较高可读性的形式进行显示
权限管理命令
chmod
-
命令名称:chmod
-
命令英文原意:change the permission mode of a file
-
执行权限:所有用户
-
语法:
-
chmod [{+-=}] [文件或目录]
- u g o a:所有者 组 其他人 所有人
- +-= :添加 减少 赋值
- rwx :读 写 执行
-
chmod [mode=421] [文件或目录]
权限的数字表示
- r :4
- w:2
- x:1
-
-R 递归修改
-
rwx含义
对于文件
- r:读取内容
- w:vim
- x:执行脚本
对于目录
- r :查看目录内容
- w:在目录下添加文件(对于目录有权限才能删除文件)
- x:表示进入目录
chown
谁创建文件,谁就是文件的所有者
- 命令名称:chown
- 命令英文原意:change file ownership
- 执行权限:所有用户
- 语法: chown [用户] [文件或目录]
- 功能描述:改变文件所属用户
chgrp
- 命令名称:chgrp
- 命令英文原意: change file group ownership
- 执行权限:所有用户
- 语法:chgrp [用户组] [文件或目录]
- 功能描述:改变所有组
umask
- 命令名称:umask
- 命令英文原意:the user file-creation mask
- 执行权限:所有用户
- 语法:umask [-S]
- -S 以rwx形式显示新建文件的缺省权限
- 功能描述:显示,设置文件的缺省权限
文件搜索命令
find
- 命令名称:find
- 语法:find [搜索范围] [匹配条件]
- -name 文件名
- -iname 不区分大小写
- -size 大小(例如 -size +[数据块] 1数据块为0.5k)
- -user 根据用户
- -exec [命令] {} ; 对找到的文件进行操作
- -type 根据类型
- f 文件
- d 目录
- l 软链接
- -inum 根据i节点
- 功能描述:文件搜索
locate
- 命令名称:locate
- 功能描述:寻找文件
- 语法:locate [文件名]
更新文件资料库: updatedb
which
- 命令名称:which
- 功能描述:搜索命令所在的目录以及别名
- 语法:which [命令]
grep
-
命令名称:grep
-
功能描述:在文件中搜群字串匹配的行并输出
-
语法:grep -vi [指定字串] [文件]
帮助命令
man
- 命令名称:man
- 功能描述:浏览帮助信息
- 语法:
- man [命令]
- man [配置文件名称](不需要加上绝对路径)
whatis
- 命令名称:whatis
- 功能描述:查看命令简单信息
- 语法:whatis [命令]
apropos
- 命令名称:apropos
- 功能描述:查看配置文件的信息
- 语法:apropos [配置文件名称]
help
- 命令名称:help
- 功能描述:查看Shell内置命令的帮助信息
用户管理命令
id
- 命令名称:id
- 功能描述:查看用户的基本信息
- 语法:id [用户]
whoami
- 命令名称:whoami
- 功能描述:显示当前登录的用户名
useradd
- 命令名称:useradd
- 功能描述:添加用户名
- 语法:useradd [用户名]
passwd
- 命令名称:passwd
- 功能描述:给用户设置密码
- 语法:passwd [用户名] [密码]
who
- 命令名称:who
- 功能描述:查看用户的登录信息
文件压缩命令
gzip
gzip只能压缩文件,不能压缩目录,压缩不保留源文件
- 命令名称:gzip
- 功能描述:把文件压缩到
.gz
文件
gunzip
- 命令名称:gunzip
- 功能描述:把压缩文件解压缩
tar
- 命令名称:tar
- 功能描述:打包并压缩
- 语法:tar [选项] [压缩后文件名] [目录]
- -c 打包
- -v 显示详细信息
- -f 指定文件名
- -z 打包同时压缩
- -x 解包
- -f 指定解压文件
- -z 解压缩
zip
- 命令名称:zip
- 功能描述:压缩为zip格式
- 语法:zip [选项] [压缩后文件名] [文件或目录]
- -r 压缩目录
bzip2
- 命令名称:bzip2
- 功能描述:压缩文件到
.bz2
格式 - 语法:bzip2 [选项] [文件]
- -k 产生压缩文件后保留原文件
网络命令
write
- 命令名称:write
- 功能描述:给(在线)用户发信息,以Ctrl+D保存结束
- 语法:write <用户名>
wall
- 命令名称:wall
- 指令英文原意:write all
- 功能描述:给所有的用户发信息,自己也会收到
- 命令名称:mail
- 功能描述:查看/发送电子邮件
- 语法:mail [收信用户名]
last
- 命令名称:last
- 功能描述:查看登录信息
traceroute
- 命令名称:traceroute
- 功能描述:显示数据包到主机间的路径
netstat
-
命令名称:netstat
-
功能描述:查看网络状态
-
语法:
- -t :TCP协议
- -u:UDP协议
- -l:监听
- -r:路由
- -n:显示IP地址和端口号
- -p 显示进程pid
hostname
- 命令名称:hostname
- 功能描述:读取主机名
挂载命令
mount
- 命令名称:mount
- 功能描述:挂载
- 语法:mount [-t 文件系统] 设备文件名 挂载点
umount
- 命令名称:mount
- 功能描述:卸载
- 语法:umount [挂载点]
- 注意:不要在挂载点下卸载
关机重启命令
shutdown
- 命令名称:shutdown
- 语法:
- -c 取消前一个关机命令
- -h 关机
- -r 重启
输出重定向
当命令的结果保存到文件中,需要使用到的就是输出重定向
>
覆盖输出:覆盖原来的内容>>
追加输出:会在原始文件末尾添加
可以创建新文件
ls -la > ls.txt
磁盘空间指令
df
- 命令名称:df
- 功能描述:查看磁盘空间
free
- 命令名称:free
- 功能描述:查看内存使用情况
时间指令
date
- 命令名称:date
- 功能描述:设置系统时间
cal
- 命令名称:cal
- 功能描述:操作日历
- 语法:
- -1 输出当前月的日历
- -3 输出上个月,本月,下个月的日历
管道
管道符:|
- 作用:管道一般可以用于“过滤”,“特殊”,“扩展处理”
管道的前面的输出就是后面的输入
过滤
ls /|grep y
过滤,结果中只包含含有y的结果
统计
ls /|wc -w
进程指令
ps
ps会产生一个进程,搜索至少出现一个进程
- 命令名称:ps
- 功能描述:查看服务器进程信息
- 语法:
- -e 表示列出全部的进程
- -f 显示全部的列
top
- 命令名称:top
- 功能描述:查看进程所占用的资源
服务指令
service
- 命令名称:service
- 功能描述:用于控制一些软件服务的启动/停止/重启
- 语法:service [服务名] [start/stop/restart]
kill
- 命令名称:kill
- 功能描述:用于杀死进程
- 语法:kill [pid]
Linux 自有服务
运行模式/级别
etc/inittab
运行级别配置文件
- 0:表示关机级别
- 1:单用户模式(只允许root登录)
- 2:不完全多用户模式(不带有网络文件系统的多用户模式)
- 3:完全的多用户模式
- 4:保留的模式(没啥用)
- 5:x11,完整的图形化界面模式
- 6:表示重启级别
用户与用户组管理
注意三个文件
/ect/passwd
:存储用户关键信息/etc/group
:存储组关键信息/etc/shadow
:存储用户的密码信息
添加用户
useradd -g [用户组id/组名] #表示指定用户的用户组
useradd -G [用户组id/组名] #表示指定用户的用户附加组
useradd -u [用户id] #指定一个userId
修改用户
usermod -g [用户组id/组名] #表示指定用户的用户组
usermod -G [用户组id/组名] #表示指定用户的用户附加组
usermod -u [用户id] #指定一个userId
usermod -l [用户名] #修改用户名
修改密码
passwd [用户名] #修改密码
删除用户
userdel [选项] [用户名] #删除用户
-r # 表示删除时也删除家目录
网络管理
配置文件
保存位置:/etc/sysconfig/netwwork-scripts/ifcfg-eth0
- ONBOOT:是否开机启动
- BOOTPROTO:ip地址分配方式
- HWADDR:硬件地址,MAC地址
重启网卡
service network restart
/etc/init.d/network restart