Linux 基础知识

Scroll Down

Linux 基础知识

Linux 文件系统

分区类型

  1. 主分区

    • 通常情况下一个硬盘中最多可以分割四个主分区
    • 因为硬盘中分区表只有64Bytes
  2. 扩展分区

    ​ 为了摆脱四个分区的限制,Linux引入了扩展分区,管理员可以使用一个主分区作为扩展分区来进行扩充,在扩展分区中,可以建立多个逻辑分区,扩展分区是不能使用的,必须建立逻辑分区进行使用

    1. 最多有一个扩展分区
    2. 主分区加扩展分区最多有4个
    3. 不能写入数据,只能包含逻辑分区
  3. 逻辑分区

    • linux规定逻辑分区必须建立在扩展分区之上(不是主分区之上)

挂载

挂载的过程

我们把分区指定挂载点相当于指定盘符

  1. 划分分区
  2. 格式化
  3. 给硬件起硬件文件名
    • Linux系统中每一个硬件设备都是作为一个文件进行管理的,相当于访问的一共通道
  4. 挂载

挂载的分区

必须分区

  1. / 根分区

  2. swap分区

    作为虚拟化内存使用

  3. /boot 分区

    保存启动时候的数据

Linux 各目录的作用

  1. /bin

    存放系统命令的目录,普通用户和超级用户都能执行,不过放在/bin下的命令在单用户模式下也能执行

  2. /sbin

    保存和系统环境设置相关的命令,只有超级用户才能执行(有一些例外)

  3. /usr/bin

    存放系统命令的目录,普通用户和超级用户都能执行,这些命令和系统的启动无关,在单用户模式下不能执行

  4. /usr/sbin

    存放根文件系统不必要的系统管理命令,例如多数服务程序,只有超级用户可以使用

  5. /boot/

    系统启动目录,保存系统启动相关的文件

  6. /dev/

    设备文件保存位置(linux中设备即文件)

  7. /etc/

    配置文件保存的位置,rpm安装的所有配置文件都会保存在这个目录下

  8. /home/

    家目录,每创建一个用户时,每个用户都有一个默认的登录位置,这个位置就是home目录,每个用户都有一个和用户名相同的目录

  9. /lib/

    系统调用函数库的保存位置

  10. /lost+found/

    当系统意外崩溃或机器意外关机,而产生的一些文件碎片放在这里。就是备份/恢复目录

  11. /media/

    挂载媒体设备的目录

  12. /opt

    第三方软件的保存位置,这个目录就是放置和安装其他软件的位置

  13. /proc

    虚拟文件系统,这个目录的数据不会保存到硬盘中,而是保存到内存中,如系统的内核,进程等

  14. /sys

    虚拟文件系统,不会保存到硬盘中,保存内核信息

  15. /root/

    超级用户的家目录

  16. /srv

    服务数据目录,一些系统服务启动之后存放一些数据的

  17. /tmp

    临时目录,系统存放临时文件的目录,所有用户都可以访问

  18. /usr

    系统软件资源目录

  19. /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
  • 执行权限:所有用户
  • 功能描述:查看前n行
  • 语法:head -n [行数]
    • -n 指定行数
tail
  • 命令名称:tail
  • 执行权限:所有用户
  • 功能描述:显示后n行
  • 语法:tail -nf [行数]
    • -n 指定行数
    • -f 动态显示文件末尾内容
ln
  1. 软链接:类似于windows的快捷方式
    1. 可以跨分区
    2. 所有人拥有所有权限
    3. 只是符号链接
  2. 硬链接:原文件和硬链接文件可以同时更新,硬链接类似于拷贝,即使原文件丢失,硬链接仍然有效
    1. 通过i节点识别
    2. 不能跨分区
    3. 不能针对目录使用
  • 命令名称: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
  • 功能描述:查看/发送电子邮件
  • 语法: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 重启

输出重定向

当命令的结果保存到文件中,需要使用到的就是输出重定向

  1. >覆盖输出:覆盖原来的内容
  2. >>追加输出:会在原始文件末尾添加

可以创建新文件

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:表示重启级别

用户与用户组管理

注意三个文件

  1. /ect/passwd:存储用户关键信息
  2. /etc/group:存储组关键信息
  3. /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

  1. ONBOOT:是否开机启动
  2. BOOTPROTO:ip地址分配方式
  3. HWADDR:硬件地址,MAC地址

重启网卡

service network restart
/etc/init.d/network restart