Linux 系统管理

磁盘设备

  • hd: IDE硬盘
  • sd: SCSI硬盘(U盘)
  • hda: 第一块IDE硬盘
  • hdb1: 第二块IDE硬盘第一分区

fdisk命令

查看本地硬盘
fdisk -l

虚拟文件系统

在这里插入图片描述

mount命令

将设备挂载到一个目录
mount [-t fastype] [-o options] [dev name] [mount point]

  • [-t fastype]: 表示文件系统类型, 如果ext3、vfat、iso9660
  • [-o options]: 表示挂载时的选项, 如ro、rw、auto、iocharset等
  • [dev name]: 表示设备名, 如/dev/sda3、/test.iso等
  • [mount point]: 表示挂载点, 即挂载的目录
    挂载设备,文件名乱码
  • 原因: 可能是U盘中含有中文的文件名或目录名
  • 解决: mount -t vfat -o iocharset=cp936 /dev/sdb1 /mnt/usb

umount命令

卸载设备
umount 挂载点/设备名

mkfs命令(格式化硬盘操作)

mkfs用于创建文件系统的命令(硬盘通过fdisk命令分区后,还是不能使用硬盘,需要对分区创建文件系统,再把分区挂载到某挂载点上,才能使用)
mkfs [-V] [-t fstype] [fs -options] filesys [blocks]

  • [-V]: mkfs命令版本
  • [-t fastype]: 表示文件系统类型
  • [fs -options]: 表示创建文件系统的选项
  • filesys: 设备名
  • [blocks]: 每个分区的大小

把设备/dev/sdb1格式化成ext3格式, 即在/dev/sdb1上创建ext3文件系统
mkfs -t ext3 /dev/sdb1

df命令

报告已安装文件系统的磁盘空间使用情况
df [选项]

  • -a: 显示所有文件系统的磁盘使用情况
  • -h: 以KB或MB为单位
  • -k: 以1024字节为单位
  • -i: 显示i节点信息, 而不是磁盘块
  • -t type: 指定type类型的文件系统磁盘空间使用情况
  • -x type: 指定不是type类型的文件系统磁盘空间使用情况
  • -T: 显示文件系统类型

du命令

统计目录或文件所在磁盘空间的大小,du为disk usage的缩写
df [选项/参数] [目录名…]

  • -a: 递归显示
  • -b: 以字节为单位
  • -k: 以1024字节为单位
  • -h: 以KB或MB为单位
  • -s: 每个目录参数之围出占用的数据块总数

在这里插入图片描述
4是4个字节的意思

用户类型

  1. 超级用户(root): 可以做任何操作
  2. 普通用户: 没有对系统完全的控制权,用户之间的私人资源可以相互隔离
  3. 特殊用户: 与linux的进程相关,使系统得以实现的运行

/etc/passwd文件

vincelin : x : 500 : 500 : vincelin : /home/vincelin : /bin/bash

  1. 用户名: 唯一,不超过8字节
  2. 密码: x表示一般加密,口令放在/etc/shadow中
  3. 用户ID
  4. 用户组ID
  5. 用户信息: 可以放姓名,电话,地址等
  6. 用户主目录
  7. 登陆的shell: 一般用/bin/bash。sbin/nologin表不是能登陆的用户

/etc/shadow文件(root可读)

shutdown : * : 15508 : 0 : 99999 : 7 : : :

  • 用户名
  • 加密口令
  • 上次更新时间: 更新距1970年1月1日的天数
  • 允许更新时间: 0,可以随意修改
  • 要求更新时间: 99999,不强制
  • 取消用户口令警告时间: 7,提前一周通知用户
  • 取消和停用之间的时间
  • 账户口令的天数: -1或空为不自动取消
  • 账户终止时间: 距1970年1月1日的天数,-1或空白表不自动失效用户
  • 特殊标志: 预留给将来,一般为空白

useradd命令(添加用户第一步)

添加用户
useradd [选项] [参数] <newusername>

  • -d: 指定用户主目录
  • -u: 指定用户id
  • -g: 指定用户组
  • -G: 指定用户组列表(多用户组)
  • -mk: 复制其他用户主目录下的文件和配置信息来创建用户

passwd命令(添加用户第二步)

修改密码
passwd [选项] <username>

usermod命令

修改用户属性
usermod [选项] [参数] <username>

  • -d: 修改用户主目录
  • -e: 修改用户过期日期
  • -g: 修改用户组名
  • -G: 修改用户组列表
  • -s: 修改用户登陆shell
  • -u: 修改用户id

userdel命令

删除用户
userdel [选项] <username>

  • -r: 删除用户并删除用户主目录

groupadd命令

添加用户组
groupadd [选项] <groupname>

  • -g gid: 指定组id为gid
  • -r: 添加系统工作组
  • -f: 强制添加工作组

groupmod命令

修改工作组属性
groupmod [选项] <groupname>

  • -g gid: 设定id为gid
  • -o: 允许使用相同的gid
  • -n: 修改工作组名称

/etc/group文件

存放用户组信息
root : x : 0 : root

  1. 组名
  2. 密码
  3. 组id
  4. 组中成员

who命令

显示系统哪些用户在使用
who [选项]

  • -s: 简短格式
  • -a: 所有用户
  • -H: 加上头标志
  • -u: 显示用户状态

w命令(who增强版)

显示系统中用户使用情况
w [选项] [user]

  • -h: 不显示头标志
  • -u: 列出当前进程和CPU忽略的用户名
  • -s: 简短格式
  • user: 只显示指定用户的情况

id命令

显示用户信息
id [选项]

  • -g: 显示工作组信息
  • -u: 显示用户信息

su命令

su [选项] [-] [username]

  • -: 表示切换用户顺便切换环境变量
  • -c <command>: 表示执行完命令command后切换用户
  • -m: 切换用户后环境变量不变
  • -l: 切换用户同时切换用户主目录

进程类型

  1. 交互进程: 由shell启动的进程
  2. 批处理进程: 和终端无关, 是一个进程序列
  3. 守护进程: 在后台持续运行的进程

进程属性

  • PID: 进程ID
  • PPID: 父进程ID
  • UID: 启动进程的用户的ID
  • GID: 启动进程的用户所属组的ID
  • 进程状态: 不可中断D, 运行或就绪R, 休眠S, 僵尸Z, 停止或被追踪T, 死掉X, 进入内存交换W(内核2.6无效)

进程关系

父进程和子进程是管理与被管理关系,父进程被杀死,子进程也被杀死。反之不然。

进程的启动

1.手动启动

比如执行updatedb
updatedb : 前台启动,shell进入瘫痪状态,适用于用时短,急于得到结果,启动后shell会等待运行结果。Ctrl+C结束前台进程,返回shell。Ctrl+Z将前台进程搬到后台,返回shell。
updatedb & : 后台启动, shell不处于瘫痪状态,适用于耗时长的任务,启动后shell会提示该进程的pid。使用jobs查看后台进程。

2.调度启动

2.1 at命令(一次性)

在指定时间执行指定的命令序列
at [选项] TIME

  • -q queue: 使用指定队列来存储,用户可以同时使用多个queue,编号从a,…,z以及A,…,Z共52个
  • -m: 即使程序执行完成后没有输出结果,也要邮件告知使用者
  • -f file: 把指令写入file里,执行则读file
  • -l: 列出所有作业(可以用atq代替at -l)
  • -d: 删除作业(可以用atrm代替at -d)
  • -v: 列出所有完成但未删除的作业

3天后下午5点执行/bin/ls命令
at 5pm + 3 days /bin/ls
2个星期后下午5点执行/bin/ls
at 5pm + 2 weeks /bin/ls
明天17:20执行/bin/date
at 17:20 tomorrow /bin/date
2012最后一天最后一分钟打印 ending
at 23:59 12/31/2012 echo ending

2.2 crontab命令(周期性)

周期性调度进程
原理: linux守护进程crond每分钟检查一次用户计划任务表(crontab文件),如果没有用户设置crontab文件,则转入休眠,释放系统资源,命令执行结束,将结果放邮件给文件所有者(或是/etc/crontab文件中MAILTO环境变量中指定的用户)
crontab [-u user] filecrontab
crontab [-u user] { -l | -r | -e }

  • -u user: 指定user的时程表,前期是当前用户(比如root)对user有权限,省略则是设置自己
  • -l: 列出当前的时程表
  • -r: 删除当前的时程表
  • -e: 执行文字编辑器来设置时程表,内定的编辑器的vi

crontab文件格式
f1 f2 f3 f4 f5 program

  • f1: 分,*表示每分钟,a-b表示a分钟到b分钟内要执行,*/n表示每n分钟执行一次
  • f2: 时
  • f3: 日
  • f4: 月
  • f5: 星期

ps命令

显示瞬间进程的动态
ps [选项]

  • -e: 显示所有进程
  • -f: 采用权格式显示
  • -h: 不显示标题
  • -l: 采用长格式
  • -w: 宽模式
  • -a: 显示终端上所有进程,包括其他用户的进程
  • -r: 只显示正在运行的进程
  • -x: 显示没有控制终端的进程

pstree命令

以树状结构显示系统中的所有进程
pstree [选项] [Pid | User]

  • -a: 显示该进程的完整指令及参数
  • -p: 显示PID
  • Pid: 指定进程号为Pid的进程
  • User: 指定某用户的进程

kill命令

结束进程
kill [-signal | -p] [-a] pid …
kill -l [signal]

  • -signal: 指定要发出的signal信号。HUB(1)重跑, KILL(9)强制杀掉, TERM(15)结束
  • -p: 只显示进程pid,不发出信号
  • -l signal: 显示所有可用的信号

top命令

系统监视正在运行的进程以及内存和CPU使用情况,top命令相比ps多出来动态实时更新进程信息
top [选项]

  • -d delay: 改变显示更新速度为delay
  • -q: 没有延迟的显示速度,如是root,top以最高优先序执行
  • -c: 切换显示模式, 一.执行档名称,二.完整路径+名称
  • -S: 累计模式, 会将已完成或小时的子进程的CPU time累计起来
  • -s: 安全模式
  • -i: 不显示任何限制或无用的进程
  • -n num: 更新的次数num, 完成后退出top
  • -b: 批次档模式,搭配"n"参数,可以用来将top输出到文件

free命令

查看内存
free [选项]

  • -b: 以字节为单位显示
  • -k: 以KB为单位显示
  • -m: 以MB为单位显示
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值