Hu3sky's blog

Linux

Word count: 6,731 / Reading time: 26 min
2018/06/11 Share

常用系统工作命令

  1. echo:
    echo[字符串|$变量]

  2. reboot 重启系统:
    由于重启计算机这种操作会涉及硬件资源的管理权限,因此默认只能使用 root 管理员来 重启

  3. poweroff:
    poweroff 命令用于关闭系统,其格式为 poweroff。 该命令与 reboot 命令相同,都会涉及硬件资源的管理权限,因此默认只有 root 管理员才 可以关闭电脑
  4. wget :

wget [参数] 下载地址

1
2
3
4
5
6
7
8
wget 命令的参数以及作用 

-b 后台下载模式
-P 下载到指定目录
-t 最大尝试次数
-c 断点续传
-p 下载页面内所有资源,包括图片、视频等
-r 递归下载
  1. ps
    查看系统中的进程状态。格式 ps [参数]。 用来抓取与某 个指定服务进程相对应的 PID 号码

ps 命令的参数以及作用

-a 显示所有进程(包括其他用户的进程) -u 用户以及其他详细信息 -x 显示没有控制终端的进程

  1. top
    top 命令用于动态地监视进程活动与系统负载等信息,完全将它看作 Linux 中的”强化版的 Windows 任务管理器”。
    2
    top 命令执行结果的前5行为系统整体的统计信息,其所代表的含义如下。
    ➢ 第 1 行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为 1 分钟、5 分钟、15 分钟内的平均值,数值越小意味着负载越低)。
    ➢ 第 2 行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程 数。
    ➢ 第 3 行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源 百分比、空闲的资源百分比等。
  1. pidof
    pidof 命令用于查询某个指定服务进程的 PID 值,格式为pidof [参数]\[服务名称]

  2. kill
    kill 命令用于终止某个指定 PID 的服务进程,格式为kill [参数]\[进程 PID]

  3. killall
    killall 命令用于终止某个指定名称的服务所对应的全部进程,格式为:killall [参数]\[进 程名称]

系统状态检测命令

  1. ifconfig
    用于获取网卡配置与网络状态等信息,格式为ifconfig [网络设备]\[参数]
  2. uname
    uname 命令用于查看系统内核与系统版本等信息,格式为uname [-a]
    1
  3. uptime
    uptime 用于查看系统的负载信息,格式为 uptime,
    它可以显示当前系统时间、系统已运行时间、启用终端数量以 及平均负载值等信息。平均负载值指的是系统在最近 1 分钟、5 分钟、15 分钟内的压力情 况
  4. free
    free 用于显示当前系统中内存的使用量信息,格式为free [-h]。 为了保证 Linux 系统不会因资源耗尽而突然宕机,运维人员需要时刻关注内存的使用量.

  5. last
    last 命令用于查看所有系统的登录记录,格式为last [参数]
    使用 last 命令可以查看本机的登录记录。但是,由于这些信息都是以日志文件的形式保 存在系统中,因此黑客可以很容易地对内容进行篡改。千万不要单纯以该命令的输出信息而 判断系统有无被恶意入侵!

  6. history
    history 命令用于显示历史执行过的命令 history -c清空历史纪录

  7. sosreport
    sosreport 命令用于收集系统配置及架构信息并输出诊断文档,格式为 sosreport。 当 Linux 系统出现故障需要联系技术支持人员时,大多数时候都要先使用这个命令来简 单收集系统的运行状态和服务配置信息,以便让技术支持人员能够远程解决一些小问题,亦 或让他们能提前了解某些复杂问题

工作目录切换命令

  1. pwd
    pwd 命令用于显示用户当前所处的工作目录,格式为pwd [选项]

  2. cd
    cd -命令返回到上一次所处的目录,
    cd..切换到上级目录。
    cd ~命令切换到当前用户的家目录
    cd ~username 切换到其他用户的家目录

  3. ls
    ls 命令用于显示目录中的文件信息,格式为ls [选项]\[文件]。 所处的工作目录不同,当前工作目录下的文件肯定也不同。使用 ls 命令的-a参数看 到全部文件(包括隐藏文件),使用-l参数可以查看文件的属性、大小等详细信息。将这 两个参数整合之后,再执行 ls 命令即可查看当前目录中的所有文件并输出这些文件的属性3
  4. cat
    cat 命令用于查看纯文本文件(内容较少的),如果在查看文本内容时还想顺便显示行号的话,不妨在cat命令后面追加一个-n参数
  5. more
    more 命令用于查看纯文本文件(内容较多的),格式为more [选项]文件。 还可以使用空格键或回车 键向下翻页
  6. head
    head 命令用于查看纯文本文档的前 N 行,格式为head [选项]\[文件]
    查看前20行 head -n 20 initial-setup-ks.cfg
  7. tail
    tail 命令用于查看纯文本文档的后 N 行或持续刷新内容,格式为tail [选项]\[文件]
  8. tr
    tr 命令用于替换文本文件中的字符,格式为tr [原始字符]\[目标字符]
    cat anaconda-ks.cfg | tr [a-z] [A-Z] 把某个文本英文替换为大写
  9. wc
    wc 命令用于统计指定文本的行数、字数、字节数,格式为wc [参数] 文本

  10. stat
    stat 命令用于查看文件的具体存储信息和时间等信息,格式为stat 文件名称”

  11. cut
    cut 命令用于按“列”提取文本字符,格式为“cut [参数] 文本”。
    在Linux系统中,如何准确地提取出最想要的数据,这也是我们应该重点学习的内容。一般 而言,按基于“行”的方式来提取数据是比较简单的,只需要设置好要搜索的关键词即可。但是 如果按列搜索,不仅要使用-f 参数来设置需要看的列数,还需要使用-d 参数来设置间隔符号。 passwd在保存用户数据信息时,用户信息的每一项值之间是采用冒号来间隔的,接下来我们使用 下述命令尝试提取出 passwd 文件中的用户名信息,即提取以冒号(:)为间隔符号的第一列内容
    4

  1. diff
    diff 命令用于比较多个文本文件的差异,格式为“diff [参数] 文件”。
    在使用 diff 命令时,不仅可以使用–brief 参数来确认两个文件是否不同,还可以使用-c 参 数来详细比较出多个文件的差异之处,这绝对是判断文件是否被篡改的有力神器。

文件目录管理命令

  1. touch
    touch 命令用于创建空白文件或设置文件的时间,格式为touch [选项]\[文件]
    touch 命令的参数及其作用
    -a 仅修改“读取时间”(atime) -m 仅修改“修改时间”(mtime) -d 同时修改 atime 与 mtime
    接下来,我们先使用ls 命令查看一个文件的修改时间,然后修改这个文件,最后再通过touch 命令把修改后的文件时间设置成修改之前的时间(很多黑客就是这样做的呢):
1
2
3
4
5
[root@linuxprobe ~]# ls -l anaconda-ks.cfg 
-rw-------. 1 root root 1213 May 4 15:44 anaconda-ks.cfg
[root@linuxprobe ~]# echo "Visit the LinuxProbe.com to learn linux skills" >> anaconda-ks.cfg [root@linuxprobe ~]# ls -l anaconda-ks.cfg -rw-------. 1 root root 1260 Aug 2 01:26 anaconda-ks.cfg
[root@linuxprobe ~]# touch -d "2017-05-04 15:44" anaconda-ks.cfg
[root@linuxprobe ~]# ls -l anaconda-ks.cfg -rw-------. 1 root root 1260 May 4 15:44 anaconda-ks.cfg
  1. mkdir
    创建空白目录
    -p 递归迭代参数,从而自动化创建有嵌套关系的目录
    mkdir -p a/b/c/d/e

  2. cp
    cp 命令用于复制文件或目录,格式为cp [选项] 源文件 目标文件
    -p 保留原始文件的属性
    -d 若对象为“链接文件”,则保留该“链接文件”的属性
    -r 递归持续复制(用于目录)
    -i 若目标文件存在则询问是否覆盖
    -a 相当于-pdr(p、d、r 为上述参数)

  3. mv
    rm 命令用于删除文件或目录,格式为 rm [选项] 文件

  4. file
    file 命令用于查看文件的类型,格式为file 文件名 .

打包压缩与搜索命令

  1. tar
1
2
3
4
5
6
7
8
9
10
-c 创建压缩文件 
-x 解开压缩文件
-t 查看压缩包内有哪些文件
-z 用 Gzip 压缩或解压
-j 用 bzip2 压缩或解压
-v 显示压缩或解压的过程
-f 目标文件名
-p 保留原始的权限与属性
-P 使用绝对路径来压缩
-C 指定解压到的目录

通常 压缩 tar -czvf etc.tar.gz /etc
解压缩 tar -zvxf etc.tar.ge /etc 解压/解压缩到 /etc目录下

  1. grep
    grep 命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep [选项] [文件]”。 grep 命令的参数及其作用如表 2-15 所示。
1
2
3
4
5
-b 将可执行文件(binary)当作文本文件(text)来搜索 
-c 仅显示找到的行数
-i 忽略大小写
-n 显示行号
-v 反向选择—仅列出没有“关键词”的行
  1. find
    find 命令用于按照指定条件来查找文件,格式为“find [查找路径] 寻找条件 操作”。 “Linux 系统中的一切都是文件”,接下来就要见证这句话的分量了。 在 Linux 系统中,搜索工作一般都是通过 find 命令来完成的,它可以使用不同的文件特性作 为寻找条件(如文件名、大小、修改时间、权限等信息),一旦匹配成功则默认将信息显示到 屏幕上。find 命令的参数以及作用如表 2-16 所示。
    表 2-16 find 命令中的参数以及作用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
-name 匹配名称 
-perm 匹配权限(mode 为完全匹配,-mode 为包含即可)
-user 匹配所有者
-group 匹配所有组
-mtime -n +n 匹配修改内容的时间(-n 指 n 天以内,+n 指 n 天以前)
-atime -n +n 匹配访问文件的时间(-n 指 n 天以内,+n 指 n 天以前)
-ctime -n +n 匹配修改文件权限的时间(-n 指 n 天以内,+n 指 n 天以前)
-nouser 匹配无所有者的文件
-nogroup 匹配无所有组的文件
-newer f1 !f2 匹配比文件 f1 新但比 f2 旧的文件
--type b/d/c/p/l/f
匹配文件类型(后面的字母参数依次表示块设备、目录、字符设备、管 道、链接文件、文本文件)
-size
匹配文件的大小(+50KB 为查找超过 50KB 的文件,而-50KB 为查找小 于 50KB 的文件)
-prune 忽略某个目录
-exec …… {}\; 后面可跟用于进一步处理搜索结果的命令(下文会有演示)

这里需要重点讲解一下-exec 参数重要的作用。这个参数用于把 find 命令搜索到的结果交 由紧随其后的命令作进一步处理,它十分类似于第 3 章将要讲解的管道符技术,并且由于 find 命令对参数的特殊要求,因此虽然 exec 是长格式形式,但依然只需要一个减号(-)。 根据文件系统层次标准(Filesystem Hierarchy Standard)协议,Linux 系统中的配置文件 会保存到/etc 目录中(详见第 6 章)。如果要想获取到该目录中所有以 host 开头的文件列表, 可以执行如下命令:

1
[root@linuxprobe ~]# find /etc -name "host\*" -print /etc/avahi/hosts /etc/host.conf /etc/hosts /etc/hosts.allow /etc/hosts.deny /etc/selinux/targeted/modules/active/modules/hostname.pp /etc/hostname

如果要在整个系统中搜索权限中包括 SUID 权限的所有文件(详见第 5 章),只需使用4000 即可:

1
[root@linuxprobe ~]# find / -perm -4000 -print /usr/bin/fusermount /usr/bin/su /usr/bin/umount /usr/bin/passwd /usr/sbin/userhelper /usr/sbin/usernetctl

Linux 5 种进程名称和含义
➢ R(运行)进程正在运行或在运行队列中等待。
➢ S(中断)进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该状态。

➢ D(不可中断)进程不响应系统异步信号,即便用 kill 命令也不能将其中断。
➢ Z(僵死)进程已经终止,但进程描述符依然存在, 直到父进程调用 wait4()系统函数
后将进程释放。
➢ T(停止)进程收到停止信号后停止运行。

输入输出重定向

对于输入重定向来讲,用到的符号及其作用如表 3-1 所示。

表 3-1 输入重定向中用到的符号及其作用

1
2
3
命令 < 文件                  将文件作为命令的标准输入 
命令 << 分界符 从标准输入中读入,直到遇见分界符才停止
命令 < 文件 1 > 文件 2 将文件 1 作为命令的标准输入并将标准输出到文件 2

对于输出重定向来讲,用到的符号及其作用如表 3-2 所示。
表 3-2 输出重定向中用到的符号及其作用

1
2
3
4
5
命令 > 文件 将标准输出重定向到一个文件中(清空原有文件的数据) 
命令 2> 文件 将错误输出重定向到一个文件中(清空原有文件的数据)
命令 >> 文件 将标准输出重定向到一个文件中(追加到原有内容的后面)
命令 2>> 文件 将错误输出重定向到一个文件中(追加到原有内容的后面)
命令 >> 文件 2>&1 或 命令 &>> 文件 将标准输出与错误输出共同写入到文件中(追加到原有内容 的后面)

正确信息:
5
错误信息:
6

管道命令符

| 即为管道命令符:
把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命 令的标准输入。
例子:
grep "/sbin/nologin" /etc/passwd | wc -l 会得到wc前一个命令的结果。

命令行的通配符

1
2
3
4
5

\* 代表匹配零个或多个字符
? 代表匹配单个字符
[0-9] 匹配0-9之间的单个数字的字符
[abc] 则是代表匹配 a、b、c 三个字符中的任意 一个字符

ls -l /dev/sda* 目录下全部以sda开头的文件
如果只想查看文件名为 sda 开头,但是后面还紧跟其他某一个字符的文件的相关信息
ls -l /dev/sda?

环境变量

1
2
3
4
5
6
7
8
9
10
11
Linux 系统中最重要的 10 个环境变量 
HOME 用户的主目录(即家目录)
SHELL 用户在使用的 Shell 解释器名称
HISTSIZE 输出的历史命令记录条数
HISTFILESIZE 保存的历史命令记录条数
MAIL 邮件保存路径
LANG 系统语言、语系名称
RANDOM 生成一个随机数字
PS1 Bash解释器的提示符
PATH 定义解释器搜索用户执行命令的路径
EDITOR 用户默认的文本编辑器

我们完全可以自 行创建变量,来满足工作需求。例如设置一个名称为 WORKDIR 的变量,方便用户更轻松地 进入一个层次较深的目录:

1
2
3
4
[root@linuxprobe ~]# mkdir /home/workdir 
[root@linuxprobe ~]# WORKDIR=/home/workdir
[root@linuxprobe ~]# cd $WORKDIR
[root@linuxprobe workdir]# pwd /home/workdir

但是,这样的变量不具有全局性,作用范围也有限,默认情况下不能被其他用户使用。 如果工作需要,可以使用 export 命令将其提升为全局变量,这样其他用户也就可以使用它了:

1
2
3
4
5
6
7
8
[root@linuxprobe workdir]# su linuxprobe Last login: Fri Mar 20 20:52:10 CST 2017 on pts/0 
[linuxprobe@linuxprobe ~]$ cd $WORKDIR
[linuxprobe@linuxprobe ~]$ echo $WORKDIR
[linuxprobe@linuxprobe ~]$ exit
[root@linuxprobe ~]# export WORKDIR
[root@linuxprobe ~]# su linuxprobe Last login: Fri Mar 20 21:52:10 CST 2017 on pts/0
[linuxprobe@linuxprobe ~]$ cd $WORKDIR
[linuxprobe@linuxprobe workdir]$ pwd /home/workdir

vim

末行模式中可用的命令

1
2
3
4
5
6
7
8
9
10
11
:w 保存
:q 退出
:q! 强制退出(放弃对文档的修改内容)
:wq! 强制保存退出
:set nu 显示行号
:set nonu 不显示行号
:命令 执行该命令
:整数 跳转到该行
:s/one/two 将当前光标所在行的第一个 one 替换成 two
:s/one/two/g 将当前光标所在行的所有 one 替换成 two
:%s/one/two/g 将全文中的所有 one 替换成 two ?字符串 在文本中从下至上搜索该字符串 /字符串 在文本中从上至下搜索该字符串

判断用户参数

1
2
3
4
5
6
-d 测试文件是否为目录类型 
-e 测试文件是否存在
-f 判断是否为一般文件
-r 测试当前用户是否有权限读取
-w 测试当前用户是否有权限写入
-x 测试当前用户是否有权限执行

下面使用文件测试语句来判断/etc/fstab 是否为一个目录类型的文件,然后通过 Shell 解释 器的内设$?变量显示上一条命令执行后的返回值。如果返回值为 0,则目录存在;如果返回值 为非零的值,则意味着目录不存在:
[ -d /etc/fstab ],echo $?
[]的两边必须有空格7
$?变量,作用是显示上一次命令的执行返回值

整数比较运算符仅是对数字的操作,不能将数字与字符串、文件等内容一起操作,而且 不能想当然地使用日常生活中的等号、大于号、小于号等来判断。因为等号与赋值命令符冲 突,大于号和小于号分别与输出重定向命令符和输入重定向命令符冲突。因此一定要使用规 范的整数比较运算符来进行操作,可用的整数比较运算符

1
2
3
4
5
6
-eq 是否等于 
-ne 是否不等于
-gt 是否大于
-lt 是否小于
-le 是否等于或小于
-ge 是否大于或等于

shell脚本

第一个简单的shell脚本,判断输入的ip是否上线

1
2
3
4
5
6
7
8
#!/bin/bash 
ping -c 3 -i 0.2 -W 3 $1 &> /dev/null
if [ $? -eq 0 ]
then
echo "Host $1 is On-line."
else
echo "Host $1 is Off-line."
fi

/dev/null 是一个被称作 Linux 黑洞的文件,把输出信息重定向到这个文件等 同于删除数据(类似于没有回收功能的垃圾箱),可以让用户的屏幕窗口保持简洁

多个if循环:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#! /bin/bash
# hu3sky's first shell
read -p "Enter your grade: " GRADE

if [ $GRADE -ge 100 ] || [ $GRADE -le 0 ];
then
echo "ERROR!"
elif [ $GRADE -ge 85 ] && [ $GRADE -le 100 ] ;
then
echo "$GRADE is Excellent"
elif [ $GRADE -ge 70 ] && [ $GRADE -le 84 ] ;
then
echo "$GRADE is Pass"
else
echo "$GRADE is Fail"
fi

read 是用来读取用户输入信息的命令, 能够把接收到的用户输入信息赋值给后面的指定变量,-p 参数用于向用户显示一定的提示信息
8

批量判断ip是否ping通(if)

1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash 
HLIST=$(cat ip.txt)
for IP in $HLIST
do ping -c 3 -i 0.2 -W 3 $IP &> /dev/null
if [ $? -eq 0 ] ;
then
echo "Host $IP is On-line."
else
echo "Host $IP is Off-line."
fi
done

9

case语句

1
2
3
4
5
6
7
8
9
10
#!/bin/bash 
read -p "请输入一个字符,并按 Enter 键确认:" KEY
case "$KEY" in
[a-z]|[A-Z])
echo "您输入的是 字母。" ;;
[0-9])
echo "您输入的是 数字。" ;;
*)
echo "您输入的是 空格、功能键或其他控制字符。"
esac

计划任务服务程序

一次性计划任务只执行一次,一般用于满足临时的工作需求。我们可以用 at 命令实现这种功能,只需要写成“at 时间”的形式就可以。如果想要查看已设置好但还未执 行的一次性计划任务,可以使用“at -l”命令;要想将其删除,可以用“atrm 任务序号”。在 使用 at 命令来设置一次性计划任务时,默认采用的是交互式方法。例如,使用下述命令将系 统设置为在今晚 23:30 分自动重启网站服务

1
2
3
4
5
6
[root@hu3sky ~]# at 23:30 
at > systemctl restart httpd
at > 此处请同时按下 Ctrl + D 组合键来结束编写计划任务
job 3 at Mon Apr 27 23:30:00 2017
[root@hu3sky ~]# at -l
3 Mon Apr 27 23:30:00 2017 a root

或者
echo "systemctl restart httpd" | at 23:30

如果我们希望 Linux 系统能够周期性地、有规律地执行某些具体的任务,那么 Linux 系统 中默认启用的 crond 服务简直再适合不过了。创建、编辑计划任务的命令为“crontab -e”,查看 当前计划任务的命令为“crontab -l”,删除某条计划任务的命令为“crontab -r”。另外,如果您是 以管理员的身份登录的系统,还可以在 crontab 命令中加上-u参数来编辑他人的计划任务。 在正式部署计划任务前,请先跟刘遄老师念一下口诀“分、时、日、月、星期 命令”。 这是使用 crond 服务设置任务的参数格式(其格式见表 4-6)。需要注意的是,如果有些字段 没有设置,则需要使用星号(*)占位
10

1
2
3
4
5
分 取值为 0~59 的整数 
时 取值为 0~23 的任意整数
日 取值为 1~31 的任意整数
月 取值为 1~12 的任意整数
星期 取值为 0~7 的任意整数

其中 0 与 7 均为星期日 命令 要执行的命令或程序脚本.
假设在每周一、三、五的凌晨 3 点 25 分,都需要使用 tar 命令把某个网站的数据目录进 行打包处理,使其作为一个备份文件。我们可以使用 crontab -e 命令来创建计划任务。为自己 创建计划任务无需使用-u 参数,具体的实现效果的参数如 crontab -l

用户身份与能力

useradd 命令

1
2
3
4
5
6
7
-d 指定用户的家目录(默认为/home/username) 
-e 账户的到期时间,格式为 YYYY-MM-DD.
-u 指定该用户的默认 UID
-g 指定一个初始的用户基本组(必须已存在)
-G 指定一个或多个扩展用户组
-N 不创建与用户同名的基本用户组
-s 指定该用户的默认 Shell 解释器

groupadd 命令

创建用户组的步骤非常简单,例如使 用如下命令创建一个用户组 hu3sky
groupadd hu3sky

passwd

普通用户只能使用 passwd 命令修改自身的系统密码,而 root 管理员则有权限修改其他 所有人的密码

1
2
3
4
5
6
-l 锁定用户,禁止其登录 
-u 解除锁定,允许用户登录
--stdin 允许通过标准输入修改用户密码,如 echo "NewPassWord" | passwd --stdin Username
-d 使该用户可用空密码登录系统
-e 强制用户在下次登录时修改密码
-S 显示用户的密码是否被锁定,以及密码所采用的加密算法名称

userdel

删除用户 格式为 userdel [选项] 用户名
-f 强制删除用户 -r 同时删除用户及用户家目录

文件隐藏属性

chattr

chattr 命令用于设置文件的隐藏权限,格式为 chattr [参数] 文件。。如果想要把某个隐藏 功能添加到文件上,则需要在命令后面追加+参数,如果想要把某个隐藏功能移出文件, 则需要追加-参数

1
2
3
4
5
6
7
8
9
10
11
12
13
i 无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容 而不能新建或删除文件 
a 仅允许补充(追加)内容,无法覆盖/删除内容(Append Only)
S 文件内容在变更后立即同步到硬盘(sync)
s 彻底从硬盘中删除,不可恢复(用 0 填充原文件所在硬盘区域)
A 不再修改这个文件或目录的最后访问时间(atime)

b 不再修改文件或目录的存取时间
D 检查压缩文件中的错误
d 使用 dump 命令备份时忽略本文件/目录
c 默认将文件或目录进行压缩
u 当删除该文件后依然保留其在硬盘中的数据,方便日后恢复
t 让文件系统支持尾部合并(tail-merging)
X 可以直接访问压缩文件中的内容

lsattr

查看隐藏权限

su

su,切换用户 su - 用户 ,su 命令与用户名之间有一个减号(-),这意味着完全切 换到新的用户,即把环境变量信息也变更为新用户的相应信息,而不是保留原始的信息。

存储与磁盘

常见的硬件设备及其文件名称

1
2
3
4
5
6
7
8
	设备名称       文件名称
IDE 设备 /dev/hd[a-d]
SCSI/SATA/U 盘 /dev/sd[a-p]
软驱 /dev/fd[0-1]
打印机 /dev/lp[0-15]
光驱 /dev/cdrom
鼠标 /dev/mouse
磁带机 /dev/st0 或/dev/ht0

/dev/sda,a,并不是由插槽决定的,而是由系统内核的识别顺序来决定的。
sda3 只能表示是编号为 3 的分区,而不能判断 sda 设备上 已经存在了 3 个分区

挂载硬件设备

mount

mount 命令用于挂载文件系统,格式为mount 文件系统 挂载目录
-a 挂载所有在/etc/fstab 中定义的文件系统
例如,要把设备/dev/sda1 挂载到/root/桌面,只需要在 mount 命令中填写设备与挂载目录 参数就行,系统会自动去判断要挂载文件的类型,因此只需要执行下述命令即可:

[root@hu3sky ~]# mount /dev/sda1 /root/桌面

umount

umount 命令用于撤销已经挂载的设备文件。
[root@hu3sky ~]# umount /dev/sda1

CATALOG
  1. 1. 常用系统工作命令
  2. 2. 系统状态检测命令
  3. 3. 工作目录切换命令
  4. 4. 文件目录管理命令
  5. 5. 打包压缩与搜索命令
  6. 6. 输入输出重定向
  7. 7. 管道命令符
  8. 8. 命令行的通配符
  9. 9. 环境变量
  10. 10. vim
  11. 11. 判断用户参数
  12. 12. shell脚本
    1. 12.1. 多个if循环:
    2. 12.2. 批量判断ip是否ping通(if)
    3. 12.3. case语句
  13. 13. 计划任务服务程序
  14. 14. 用户身份与能力
    1. 14.1. useradd 命令
    2. 14.2. groupadd 命令
    3. 14.3. passwd
    4. 14.4. userdel
  15. 15. 文件隐藏属性
    1. 15.1. chattr
    2. 15.2. lsattr
    3. 15.3. su
  16. 16. 存储与磁盘
    1. 16.1. 常见的硬件设备及其文件名称
  17. 17. 挂载硬件设备
    1. 17.1. mount
    2. 17.2. umount