03Linuxz之常用的命令

BamB00 2019-11-08 00:00:00
Categories: Tags:

0x01 命令的基本格式

[root@localhost ~]# 命令 [选项] [参数]

ls

是最常见的目录操作指令,主要功能是显示目录下的内容

-a, --all               不隐藏任何以. 开始的项目
-A, --almost-all        列出除. 及.. 以外的任何项目
    --author            与-l 同时使用时列出每个文件的作者
-d, --directory         显示目录信息而不是,目录下的文件
-h, --human-readable    与-l 一起,以易于阅读的格式输出文件大小(例如 1K 234M 2G)
-i, --inode             显示文件的i节点号
-l                      使用较长格式列出信息

ls显示长格式列出信息

drwxr-xr-x 10  root root   4096 09-17 18:17 jdk1.6.0_16
drwxr-xr-x 16  1016 1016   4096 10-11 03:25 subversion-1.6.1
drwxr-xr-x 9   root root   4096 2011-11-01 tomcat6.0.32
文件类型 所有者权限 组用户权限 其他用户权限 文件链接数or子目录数 用户名 组名 文件大小(字节) 最后修改时间 文件名
l rwx rwx rwx 1 root root 7 Jul 14 18:05 bin -> usr/bin
l rwx rwx rwx 1 root root 7 Jul 14 18:05 bin -> usr/bin
d r-x r-x r-x. 5 root root 4096 Jul 14 19:18 boot
d rwx r-x r-x 2 root root 4096 Apr 15 20:52 data
d rwx r-x r-x 19 root root 3000 Jul 16 15:42 dev

0x02 目录操作命令

0x021 绝对路径和相对路径

绝对路径:从根目录开始的直达目标的路径称为绝对路径

相对路径:从当前目录作为参照,进行目录查找的称为相对路径

0x022 cd

cd是切换所在目录的命令,这个命令基本信息如下

常用的简化用户

特殊用法 作用
~ 返回用户目录
- 代表上次所在目录
. 当前目录
.. 上级目录

0x023 mkdir

mkdir是创建目录的命令

-p: 递归创建目录

0x024 rm

强烈建议在服务器中安装extundelete 实现Linux下文件/文件夹数据恢复

0x03 文件操作命令

0x031 touch

创建空文件或修改文件时间,这个命令的基本信息如下

0x032 stat

查看文件详细信息的命令,而且可以看到文件的三个时间(最近访问,最近更改(数据修改),最近改动(状态修改))

File: ‘anaconda-ks.cfg’
Size: 1260            Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 33574979    Links: 1
Access: (0600/-rw-------)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:admin_home_t:s0
Access: 2019-11-04 04:34:24.509973513 -0500
Modify: 2019-11-04 04:34:24.514973512 -0500
Change: 2019-11-04 04:34:24.514973512 -0500
Birth: -

0x033 cat

-A 相当于-vET选项的整合,用于列出所有隐藏符号
-E 列出每行结尾的回车符$
-n 显示出行号
-T 把Tab键用^T显示出来
-v 列出特殊字符

0x034 more

分屏显示文件的命令

more命令比较简单,一般不用什么选项,命令会打开一个交互界面,可以识别一些交互命令。常用的交互命令如下:

0x035 less

less和more相似,只是More是分屏显示命令而less是分行显示命令,

0x036 head 和 tail

这两个是单独显示文件的头几行和尾几行

-n 行数 从文件头/尾开始,显示指定行数 默认 10
-f 监听更改

0x037 ln

-s 建立软连接文件,如果不加 -s选项 则建立硬链接文件
-f 强制,如果目标文件已经存在,则删除目标文件之后再建立链接文件

0x0371 硬链接与软连接特征

硬链接特征

软链接特征(可以理解外快捷方式)

0x04 目录和文件都能操作的命令

0x041 rm

rm是强大的删除命令,不仅可以删除文件,也可以删除目录。

-f : 强制删除(force)
-i :  交互删除,在删除文件之前会询问用户
-r : 递归删除,可以删除目录(recursive)

0x042 cp

cp是用于复制命令

-a : 相当于-dpr选项的集合
-d : 如果源文件为软连接(对硬链接无效),则复制出来的文件也为软连接
-i : 询问,如果目标已存在,则会询问是否覆盖。
-p : 复制后目标文件保留源文件的属性(包括所有者,所属组,权限,时间)
-r : 递归复制,用于复制目录

0x043 mv

mv 用来剪切的命令

-f : 强制覆盖
-i : 交互移动
-v : 显示详细信息

0x05 基本权限管理

0x051 权限基本概念

lsl

如上图所示,以其为例,我们依次来分析各内容代表的含义,

其中 第 1 列 的内容(除total外)特别丰富,以dr-xr-x-r-x为例(共 10 个字符),我们对其进一步分析:

此外,大家可能还注意到有些文件或目录在其显示的权限后面还跟着一个字符,或者为.或者为@,具体:

这表示其所属的文件或目录开启了SELinux安全上下文标签,如果没有,则表示未开启。

0x052 关于文件和目录的权限解析

0x0521 权限对文件

0x0522 权限对目录

补充:
目录的可用权限其实只有以下几个
0:什么权限都不赋予
5:目录的游览和进入权限
7:所有权限

0x053 基本权限命令

0x0531 chmod

-R : 递归赋予权限

0x0532 权限模式

Chmod 的权限格式为

chmod [ugoa][+-=][perms]    也就是 [用户权限][赋予方式][权限]

用户身份代码包括:

赋予方式代码包括:

权限的代号包括:

0x0533 常用权限

0x0534 chown

-R : 递归设置,给目录中的文件也统一配置

普通用户不能修改文件的所有者,哪怕时自己的文件也不行。

普通用户可以修改所有者的文件的权限

如果只输入单一的参数会默认只修改 用户
chown user1 file
如果使用:连接的两个用户 前面时用户后面时用户组
chown user1:group1 file  这样可以同时修改用户和用户组

0x0535 chgrp

0x0536 umaks 默认权限 (只需要了解,并不需要去修改)

查看系统的umask权限

root@localhost [08:03:06 PM] [~/test] 
-> # umask
022
#用八进制数值显示umask权限
root@localhost [08:04:49 PM] [~/test] 
-> # umask -S
u=rwx,g=rx,o=rx
#用字母表示文件和目录的初始权限

0x05361 umask权限的计算方法

先了解文件和目录的默认最大权限

0x06 帮助命令

0x061 man

man是Linux最主要的帮助命令

-f : 查看命令拥有哪个级别的帮助

man快捷键

按键 说明
j 向下滚动一行
k 向上滚动一行
g 跳到手册的第一行
G 跳到手册的最后一行
/string + 回车 在手册页中查找第一个string
n 向下(同方向)查找下一次匹配,可多次使用
N 向上(反方向)查找下一次匹配,可多次使用
h 获得手册页的帮助
Ctrl+f 、f 向下翻一整屏
Ctrl+b、b 向上翻一整屏
q 退出手册页
空格 向下一屏
Ctrl+n 向下一行
Ctrl+d 向下一屏
Ctrl+u 向上一屏

0x0611 man 帮助级别 (不用记,了解)

1 – commands 1-普通的命令 (用户命令, 可由任何人启动的)
2 – system calls 2-系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)、 ( 系统调用, 即由内核提供的函数。)
3 – library calls 3-库函数,如printf,fread ( 例程, 即库函数。)
4 – special files 4-特殊文件,也就是/dev下的各种设备文件 (设备, 即/dev目录下的特殊文件)
5 – file formats and convertions 5-指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义 ( 文件格式描述, 例如/etc/passwd)
6 – games for linux 6-给游戏留的,由各个游戏自己定义
7 – macro packages and conventions 7-附件还有一些变量,比如向environ这种全局变量在这里就有说明 (杂项,例如宏命令包、惯例等)
8 – system management command 8-系统管理用的命令,这些命令只能由root使用,如ifconfig (系统管理员工具, 只能由root启动)
9 – 其他 9-其他跟kernel有关的文件 (其他(Linux特定的)用来存放内核例行程序的文档)

0x062 info

info命令的帮助信息是一套完整的资料,每个当都命令的帮助只是这套完整资料中的某一章小结

快捷键 作 用
上箭头 向上移动一行
下箭头 向下移动一行
PgUp 向上翻一页
PgDn 向下翻一页
Tab 在有”*”符号的节点间进行切换
回车 进入有”*”符号的子页面,査看详细帮助信息
u 进入上一层信息(回车是进入下一层信息)
n 进入下一小节信息
P 进入上一小节信息
? 査看帮助信息
q 退出info信息

0x063 help (少用)

help只能获取Shell内置命令的帮助

shell是Linux命令解析器

root@localhost [08:34:16 PM] [~/test] 
-> # type mkdir
mkdir is /usr/bin/mkdir
root@localhost [08:38:01 PM] [~/test] 
-> # type cd
cd is a shell builtin

0x064 –help

这个是一个选项

基本上所有命令都会自带一个 –help上面有时候会是中文而且会标注很多常用指令

0x07 搜索命令

0x071 whereis和which

这两个只可以搜索系统命令,也就是说不能搜索普通文件

0x0711 区别

root@localhost [08:40:11 PM] [~/test] 
-> # whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
root@localhost [08:45:57 PM] [~/test] 
-> # which ls
ls='ls --color=tty'
        /usr/bin/ls

0x072 locate

只能搜索普通文件

0x073 find(超重点)

功能过于强大:只写常见功能

因为是按照目录来搜索,所以文件搜索范围越大消耗资源和搜索时间都越多。尽量避免搜索时间

0x0731 按照文件名搜索

# find 搜索路径 [选项] 内容
选项:
    -name : 按照文件名搜索,区分大小写
    -iname : 按照文件名搜索,不区分大小写
    -inum : 按照inode号搜索

0x0732 按照文件大小搜索

# find 搜索路径 [选项] 内容
选项:
    -size [+|-]大小 : 按照指定大小搜索文件

这里的的+是指定比指定大小还要大的文件,-是指定大小要小

0x0733 按照修改时间搜索

在时间参数 有min和time

# find 搜索路径 [选项] 内容
选项:
    -atime [+|-] : 按照文件访问时间搜索
    -mtime [+|-] : 按照文件数据修改时间搜索
    -ctime [+|-] : 按照文件状态修改时间搜索

[+|-]关于time用法的详解:

0x0734 按照权限搜索

# find 搜索路径 [选项] 内容
选项:
    -perm 权限模式 : 查找文件权限刚好等于"权限模式"的文件
    -perm -权限模式 :查找文件权限全部包含"权限模式"的文件
    -perm +权限模式 :查找文件权限包含"权限模式"的任意一个权限的文件

0x0735 按照所有者和所属组搜索

# find 搜索路径 [选项] 内容
选项:
    -uid 用户ID : 按照用户ID查找所有者时指定ID的文件
    -gid 组ID : 按照组ID查早所属组是指定ID的文件
    -user 用户名 : 按照用户名查早所有者是指定用户的文件
    -group 组名 : 按照组名查找所属组是指定用户组的文件
    -nouser : 查找没有所有者的文件

按所有者和所属组搜索时,”nouser”比较常用,主要用来查找垃圾。但有一种情况例外,就是外部接口例如光盘和U盘文件如果是Winodws复制的,在LIinux中是没有所有者的。

0x0736 按照文件类型搜索

# find 搜索路径 [选项] 内容
选项:
    -type d: 查找目录
    -type f: 查找普通文件
    -type l: 查找软连接

0x0737 逻辑运算符

# find 搜索路径 [选项] 内容
选项:
    -a : and逻辑与
    -o : or逻辑或
    -not : not逻辑非(也可以用!)

0x0738 其他选项

  1. -exec
# find 搜索路径 [选项] 内容 -exec 命令2 {} \;

只要有 -exec就要有; 这三个是成对出现的

这个选项的功能是 把find的结果 放入到 “{}”中 然后执行命令2,就代表了把命令一的结果用命令2再执行一次

  1. -ok

    find 搜索路径 [选项] 内容 -ok 命令2 {} \;
    

    ok和exec基本一样不同点就是 OK在对命令操作之前会询问一次,特别是命令2为rm时建议使用ok.

0x074 grep : 补充命令

grep 作用是在文件中提取和匹配符合条件的字符串行。

-i : 忽略大小写
-n : 输出行号
-v : 反向查找
--color=auto : 搜索出的关键字用颜色显示

find 和 grep 区别

  1. find

    • find是用于搜索文件名
    • find默认是完全匹配,如果需要模糊查询,需要配合通配符进行匹配
  2. grep

    • grep用于文件里的字符串
    • grep默认是模糊查询,如果需要完全匹配,需要配合正则表达式

0x071 通配符

字符 含义 实例
* 匹配 0 或多个字符 a*b a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcb, axyzb, a012b, ab。
? 匹配任意一个字符 a?b a与b之间必须也只能有一个字符, 可以是任意字符, 如aab, abb, acb, a0b。
[list] 匹配 list 中的任意单一字符注:备注记录几个特殊单一符号表示。 a[xyz]b a与b之间必须也只能有一个字符, 但只能是 x 或 y 或 z, 如: axb, ayb, azb。a[[:upper:]]b a与b之间有且只能有一个大写字符,如aSb,aQb等。
[!list] 或[^list] 匹配 除list 中的任意单一字符 a[^0-9]b a与b之间必须也只能有一个字符, 但不能是阿拉伯数字, 如axb, aab, a-b。
[c1-c2] 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z] a[0-9]b 0与9之间必须也只能有一个字符 如a0b, a1b… a9b。

0x075 管道符 : 补充命令

命令格式 命令1 | 命令2

命令1输出作为命令2的操作对象

类似与find 中的 -exec但find不能与|通用。

0x76 命令的别名 : 补充命令

命令的别名:就是换一种叫法,主要用于管理员的使用习惯

命令格式
# alias 别名='原命令'
例如
# alias renet='service network restart'
这样在shell中输入renet就等于输入service network restart

注意

不要与系统命令重叠,别名会覆盖系统命令,如果覆盖了就很难改回来了。

其次在shell中alias如果只是是打出来的没有修改对应的配置文件,那么重启后别名会失效。

如果想要永久生效,得在环境变量里配置~/.bashrc里配置 而且这个是用户环境变量,只有当前用户可用

0x077 快捷键 : 补充命令

快捷键 作用
Tab 命令补全
Ctrl+A 把光标移动到命令行开头
Ctrl+E 把光标移动到命令行结尾
Ctrl+C 强制终止当前命令
Ctrl+L 清屏相当于 clear名
Ctrl+U 删除或剪切光标之前的命令。
Ctrl+Y 粘贴Ctrl+U的内容

0x08 压缩和解压命令

Linux中压缩格式有十几种,所以要以扩展名为后缀给用户管理看。

0x081 zip

ZIP是Windows中最常使用,Linux也可以正常识别。Linux不常用

命令格式: zip [选项] 压缩包名 源文件或目录(可以多个)

解压缩unzip

-d : 指定压缩位置

0x081 gz

gz是Linux中最常用的压缩格式,使用gzip命令压缩

注意

  1. gz压缩会把源文件删除
  2. 不会打包:如果你压缩目录,gzip会把目录里面的所有文件单独压缩一份
-c : 将压缩数据输出到标准输出中,可以用于保留源文件
-d : 解压缩
-r : 压缩目录

0x082 bz2

bz2 也是linux常用的压缩格式,从理论上将bz2压缩更先进,压缩更好,而gz压缩时间更短

注意

  1. 不能压缩目录
-d : 解压缩
-k : 压缩时,保留原文件
-v : 显示压缩的详细信息

0x083 tar

Linux打包和解压都是tar只是选项不同

注意:

  1. 只能打包
//压缩
-c : 打包
-f : 指定压缩包的文件名。压缩包的扩展名是用来给管理元识别格式的,所以一定要写对
-v : 显示打包文件过程

//解压缩
-x : 解压缩
-f : 指定压缩包的文件名
-v : 显示解压缩过程
-t : 测试,不解压,只看文件中有哪些文件
-C : 指定解压目录和解压文件,这个一定要放在压缩包后面否则会报错 正确用法 xx.tar -C /tmp 文件 #如果文件不输入则全部解压到指定目录

0x084 tar.gz和tar.bz2(重点)

上面3个命令是为了理解Linux命令原理压缩和打包是分开的

# tar [选项] 压缩包名 源文件\目录
选项:
    -z : 压缩和解压缩"tar.gz"格式
    -j : 压缩和解压缩"tar.bz2"格式

0x09 关机和重启命令

0x091 sync

数据同步命令,用于将缓冲区的数据保存到系统中。

把buffers(缓冲区)中的内容保存到硬盘中,也就是把内存

0x092 shutdown

shutdown是最安全的关机重启命令

在实际工作中重启和关机一定要有人在旁边最好

# shutdown [选项] 时间 [警告信息]
-c : 取消已经执行的shutdown命令
-h : 关机
-r : 重启

0x093 reboot

在系统中reboot也是安全的,而且不需要加入过多的选项

0x094 halt和Poweroff

者两个都是关机命令,直接执行就会关机,而且不会完整的关闭和保存系统的服务,不建议使用

0x095 init

init是修改Linuxt运行级别的命令,也可以用于关机和重启。这个命令并不安全,不建议使用

# init 0 #0级别关机 6级别重启

0x10 常用网络命令

0x101 配置IP地址

两种方法

  1. setup 工具(只有部分linux发新版本才有)
  2. 修改/etc/sysconfig/network-scripts/ifcfg-eth0 (ifcfg-eth0是对应的网卡或者网络信息)

0x1011 重启网路服务

service network restart

0x1012 网络重启错误的可能

0x102 ifconfig

img

最主要的是Mac地址,IP,子网掩码

0x103 ping

ping主要通过ICMP协议进行网络探测,测试网络中主机的通信情况。

注意

  1. Windows默认只ping 4次
  2. Linux默认只要不终止就会一直ping下去
-b : 加入广播地址,用于对整个网络段进行探测
-c 次数 : 用于指定Ping的测试
-s 字节 : 指定探测包的大小

0x104 netstat

用于查看网络状态的命令,既可以查看到本机开启的端口,也可以查看有哪些客户端连接。在centos7中不会默认安装需要安装net-tools和net-snmp才可以可以使用

-a : 列出所有网络状态,包括Socket程序
-c 秒数 : 指定每隔几秒刷新一次网络状态
-n : 使用IP地址和端口号显示,不适用域名和服务名
-p : 显示PID和程序名
-t : 显示使用TCP协议端口的连接状况
-u : 显示使用UDP协议端口的连接状况
-l : 仅显示监听状态的连接
-r : 显示路由表

常用

netstat -tuln #查看本机开启了哪些端口 有时候+p
netstat -an #查看所有连接
netstat -rn #查看网关

0x105 write和wall

# write [用户] [终端号]   #写完"Ctrl+D"保存并发送

wall和write功能一样,但是wall是给所有用户发送命令,所以一般还是write比较多

终端

终端 分配序号 切换方式
本地字符终端 tty1-6 alt+F1-6
本地图形终端 tty7 ctrl+alt+F7(按住3秒,需要安装启动图形界面)
远程终端 pts/0-255

0x106 mail

Mail是Linux的邮件客户端命令,可以利用这个命令给其他用户发送邮件。

输入mail会直接进入mail终端

h : headers 列出邮件标题列表
d : delete 删除指定邮件
s : save 保存邮件,可以把指定邮件保存成文件,如" s 2 /tmp/test.mail"
q : quit 退出,并把已经操作过的邮件进行保存。
exit : 退出,但不进行任何保存。

例子1: 发送邮件

# mail user1
Subject: hello    #邮件标题
Nice to meet you! #邮件内容
.                 #使用"."来结束邮件输入
#发送邮件给user1用户

例子2: 发送文件内容

# mail -s "测试" root < /root/test   #将/root下的test文件发给root用户,标题为测试

这个常用。

0x11 系统痕迹命令

这些都是看的

系统中有一些重要的痕迹日志文件如

/var/log/wtmp
/var/run/utmp
/var/log/btmp
/var/log/laslog
。。。。。。

这些日志中保存的是系统重要的痕迹,如用户何时登陆/退出系统,错误的登陆等重要信息。这些信息通过一般编辑器打开时显示的是二进制文件只能通过特殊的命令查看

0x111 w

w是显示系统中正在登陆的用户信息,这个痕迹日志是/var/run/utmp

下面

 07:45:19 up  3:44,  3 users,  load average: 0.14, 0.06, 0.06
 #系统时间    #系统启动了多久  #登陆的用户述两  #系统在1,5,15分钟前的平均负载
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
#登录用户  #登陆端   #来源            #登陆时间  #用户闲置时间 #所有进程站CPU时间 #当前进程占用CPU时间 #用户正在进行的操作
root     tty1                      04:01    2:31   4.95s  4.95s -zsh
root     pts/0    192.168.145.1    07:45    6.00s  0.12s  0.00s w
root     pts/1    192.168.145.1    07:45    6.00s  0.14s  0.02s top

注意

如果CPU是单核,则这个数值超过1就是高负载,CPU是4核,超过4就是高负载(平均负债完全是依据个人经验判断,一般认为不应超过CPU核数)

0x112 who

功能和w类似显示更加简单也是查看 /var/run/utmp日志

root     tty1         2019-11-12 04:01
root     pts/0        2019-11-12 07:45 (192.168.145.1)
root     pts/1        2019-11-12 07:45 (192.168.145.1)

0x113 last

last命令用于显示用户最近登录信息。查看的是 /var/log/wtmp日志

root     pts/0        221.6.45.34      Tue Dec 17 09:40   still logged in
root     pts/0        221.6.45.34      Mon Dec 16 09:00 - 11:57  (02:56)
root     pts/0        222.94.97.122    Sun Dec 15 20:39 - 23:28  (02:48)
root     pts/0        222.95.209.80    Sat Dec 14 14:39 - 14:58  (00:18)
root     pts/0        221.6.45.34      Thu Dec 12 16:55 - 17:37  (00:41)
root     pts/0        49.65.139.195    Wed Dec 11 20:40 - 21:16  (00:35)
root     pts/0        49.65.139.195    Wed Dec 11 19:46 - 20:03  (00:17)
root     pts/0        221.6.45.34      Tue Dec 10 14:41 - 15:52  (01:10)
root     pts/0        221.6.45.34      Mon Dec  9 17:24 - 17:30  (00:06)
root     pts/0        221.6.45.34      Mon Dec  9 09:38 - 11:41  (02:02)
第一列信息:用户名,或者显示reboot(启动或者重启操作在这里会记录成reboot)
第二列信息:终端位置,pts/0 (伪终端或虚拟终端) 意味着从诸如SSH或telnet的远程连接的用户。 tty (teletypewriter) 意味着直接连接到计算机或者本地连接的用户,如果是启动或者重启操作,这里会显示成system boot

第三列信息:登录ip或者内核,如果你看见:0.0 或者什么都没有,这意味着用户通过本地终端连接。也有在状态中显示内核版本的信息,笔者猜测这些记录应该是属于系统的操作,如开机,关机,重启等操作

第四列信息:开始时间,其中的日期格式为date +"%a %b %d"

第五列信息:结束时间(still login in 还未退出 down 直到正常关机 crash 直到强制关机)

第六列信息:持续时间

0x1114 lastlog

lastlog命令 用于显示系统中所有用户最近一次登录信息。

lastlog文件在每次有用户登录时被查询。可以使用lastlog命令检查某特定用户上次登录的时间,并格式化输出上次登录日志/var/log/lastlog的内容。它根据UID排序显示登录名、端口号(tty)和上次登录时间。如果一个用户从未登录过,lastlog显示**Never logged**。注意需要以root身份运行该命令。

-b<天数>:显示指定天数前的登录信息;
-h:显示召集令的帮助信息;
-t<天数>:显示指定天数以来的登录信息;
-u<用户名>:显示指定用户的最近登录信息。

0x1115 lastb

lstb 命令是查看错误登陆信息,查看的是/var/log/btmp

0x12 挂载命令

把设备和Linux上空目录连接起来就是挂载

连接空目录的原因是新进来的设备是自带block的,如果已经挂载再非空目录,Linux文件夹链接的block是新设备的block这样旧的Block就再系统中当作顽固垃圾,删不掉也用不了的。

0x121 mount

命令名称: mount

所在路径: /bin/mount

执行权限: 所有用户

# mount #默认是显示已经挂载设备 
# mount    -a #a=auto 依据配置文件/etc/fatab的内容,自动挂载,不要盲目的信任mount -a。U盘建议别用。
# mount [-t 文件系统] [-L 卷标名] [-o 特殊选项] 设备文件名 挂载点
选项解释:
    -t 文件系统 : 加入文件系统类型来指定挂载的类型,可以ext3,ext4,iso9660,等文件
    -L 卷标名 : 挂载指定卷标的分区,而不是安装设备文件名挂载
    -o 特殊选项 : 可以指定挂载额外的选你选哪个,比如读写,同步异步等如果不指定则使用默认值,默认值就比较好。

-o选项表格

参数 说明
atime/noatime 更新访问时间/不更新访问时间,访问分区文件时,是否更新时间,默认为更新
async/sync 异步/同步 默认异步
auto/noauto 自动/手动 mount -a 命令执行时,是否会自动安装/etc/fatab文件内容挂载,默认为自动
defaults 定义值,相当于rw,suid,dev,exec,auto,nouser,async这7个选项,
exec/noexec 执行/不执行,设定是否运行再文件系统中可执行文件,默认是exec 允许的
remount 重新挂载已经挂载的文件系统,一般用于指定修改特殊权限
rw/ro 读写/只读,文件挂在时是否具有读写功能,默认rw
suid/nosuid 具有/不具有SUID权限,设定文件系统是否具有SUID和SGID的权限,默认具有
user/nouser 允许/不允许普通用户挂载,设定文件系统是否运行普通用户挂载,默认是不允许,只有root可以挂载分区
userquota 写入代表文件系统支持用户磁盘配额,默认不支持
grpquota 写入代表文件系统支持组磁盘配额,默认不支持
# mount -o remount,noexec /mnt/usb0 #重新挂载,且修改特殊权限

0x1211 挂载光盘

老版本都是挂载把所有外部挂件都挂载在 /mnt/cdrom

光盘挂载的前提依然是指定光盘的设备文件名,不同版本的Linux,设备文件名不同

不论哪个系统都有软连接/dev/cdrom,与可以作为光盘的设备文件名

# mount -t ios9660 /dev/sr0 /mnt/cdrom

挂载的时候如果不指定 -t ios9660的话 如果没有光盘,可能会报,必须指定文件系统的错误。

0x1213 挂载U盘

U盘是硬盘的一种,所以U盘的设备文件名不是固定的。需要手工查询

# fdisk -l #查看已识别设备

fdiskmount区别是

fdisk只要Linux识别就可以查看

mount必须要挂载才能查看

mount -t vfat /dev/sdb4 /mnt/usb

如果U盘中有中文,会发现中文是乱码.Linux想要正常显示中文,需要两个条件

# mount -t vfat -o iocharset=utf8 /dev/sdb1 /mnt/usb

0x1214 卸载挂载点

umount /mnt/cdrom
#因为设备文件名和挂载点连接到了一起所以卸载哪一个都可以

注意:一定要卸载挂载点不然有时候会造成设备文件名读不出来下一个插入的设备

0x122 Linux驱动加载顺序

  1. 驱动直接放入系统内核之中,这种驱动主要是系统启动加载必须的驱动
  2. 驱动以模块的形式放入硬盘,大多数驱动都已经这种方式保存了,保存位置再/lib/modules/3.10.0-862.e17.x86_64/kernel/
  3. 驱动可以被Liunx识别,但是系统认为这种驱动一般不常用,默认不加载,如果需要加载这种驱动,需要重新编译内核。NTFS文件系统的驱动属于这种情况
  4. 硬件不能被Linux内核识别,需要手工安装驱动,前提是厂商提供了针对Linux的驱动,否者自己写驱动把。