Linux
命令组合方式众多,靠背的方式学习显然不行的。
在学习Linux
命令之前,先从Linux
命令格式入手,这样可以加深对命令的理解。
Liunx
命令主要由三部分组成:
command [-options] [parameter]
说明:
command: 命令名
[-options]: 选项,可用来对命令进行控制,也可以省略
[parameter]: 传给命令的参数,可以是零个、一个或者多个
注意:
[] 代表可选
命令名、选项、参数之间有空格进行分隔
在我们使用Linux
系统命令时,可以使用以下几个快捷技巧:
快捷键 | 功能 |
---|---|
ctrl + c | 停止进程 |
ctrl+l 或者 clear命令 | 清屏;彻底清屏是:reset |
ctrl + q | 退出 |
tab键 | 提示(更重要的是可以防止敲错) |
上下键 | 快速调出曾经使用过的命令 |
ctrl +alt | linux和Windows之间切换 |
作用: 显示指定目录下的内容
语法: ls [-al] [dir]
说明:
-a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
-l 除文件名称外,同时将文件型态(d表示目录,-表示文件)、权限、拥有者、文件大小等信息详细列出
注意:
由于我们使用ls命令时经常需要加入-l选项,所以Linux为ls -l命令提供了一种简写方式,即ll
常见用法:
ls -al 查看当前目录的所有文件及目录详细信息
ls -al /etc 查看/etc目录下所有文件及目录详细信息
ll 查看当前目录文件及目录的详细信息
作用: 用于切换当前工作目录,即进入指定目录
语法: cd [dirName]
特殊说明:
~ 表示用户的home目录
. 表示目前所在的目录
.. 表示目前目录位置的上级目录
举例:
cd .. 切换到当前目录的上级目录
cd ~ 切换到用户的home目录
cd /usr/local 切换到/usr/local目录
注:
用户的home目录路径:
root用户 /root
其他用户 /home/xxx
作用: 查看当前所在目录
语法:pwd
作用: 用于显示文件内容
语法: cat [-n] fileName
说明:
-n: 由1开始对所有输出的行数编号
举例:
cat /etc/profile 查看/etc目录下的profile文件内容
cat
指令会一次性查看文件的所有内容,如果文件内容比较多,这个时候查看起来就不是很方便了。
这个时候我们可以使用一个新的指令more
。
作用: 以分页的形式显示文件内容
语法: more fileName
操作说明:
回车键 向下滚动一行
空格键 向下滚动一屏
b 返回上一屏
q或者Ctrl+C 退出more
举例:
more /etc/profile 以分页方式显示/etc目录下的profile文件内容
在查看一些比较大的文件时,我们可能需要经常查询文件尾部的数据信息。
这个时候如果文件很大,要一直向下翻页,直到最后一页,去看最新添加的数据。
这种方式就比较繁琐了,此时,可以借助于tail指令。
作用: 查看文件末尾的内容
语法: tail [-f] fileName
说明:
-数字 : 查询文件末尾多少行的内容(不指定的话默认就是10条)
-f : 动态读取文件末尾内容并显示,通常用于日志文件的内容输出(按c可以退出持续读取模式)
举例:
tail /etc/profile 显示/etc目录下的profile文件末尾10行的内容
tail -20 /etc/profile 显示/etc目录下的profile文件末尾20行的内容
tail -f /log/my.log 动态读取/log目录下的my.log文件末尾内容并显示
tail -f
会占用当前控制台
如果我们不想查看文件尾部的数据了,可以直接使用快捷键Ctrl+C
, 结束当前进程。
作用: 查看文件头部的内容
语法: head [-n] fileName
说明:
-n 数字 : 查询文件头部多少行的内容(不指定的话默认就是10条)
举例:
head /etc/profile 显示/etc目录下的profile文件前10行的内容
tail -n 20 /etc/profile 显示/etc目录下的profile文件前20行的内容
作用: 创建目录
语法: mkdir [-p] dirName
说明:
-p: 确保目录名称存在,不存在的就创建一个。通过此选项,可以实现多层目录同时创建
举例:
mkdir myDir 在当前目录下,建立一个名为myDir的子目录
mkdir -p myDir/test 在当前目录下的myDir目录下创建名为test的子目录,若myDir目录不存在,则建立一个
作用: 删除空目录
语法: rmdir [-p] dirName
说明:
-p: 当子目录被删除后使父目录为空目录的话,则一并删除
举例:
rmdir myDir 删除名为myDir的空目录
rmdir -p myDir/test 删除myDir目录中名为test的子目录,若test目录删除后itcast目录变为空目录,则也被删除
rmdir myDir* 删除名称以myDir开始的空目录
*: 是一个通配符,代表任意字符;
rmdir myDir* : 删除以myDir开头的目录
rmdir *myDir : 删除以myDir结尾的目录
作用: 如果文件不存在,创建文件
语法: touch [-p] dirName
举例:
touch 1.txt 创建文件1.txt
touch 2.txt 3.txt 4.txt 一次性创建文件2.txt,3.txt,3.txt
作用: 删除文件或者目录
语法: rm [-rf] name
说明:
-r: 将目录及目录中所有文件(目录)逐一删除,即递归删除
-f: 无需确认,直接删除
举例:
rm -r myDir/ 删除名为myDir的目录和目录中所有文件,删除前需确认
rm -rf myDir/ 无需确认,直接删除名为myDir的目录和目录中所有文件
rm -f hello.txt 无需确认,直接删除hello.txt文件
注意: 对于 rm -rf xxx 这样的指令,在执行的时候,一定要慎重,确认无误后再进行删除,避免误删。
作用: 向文件内覆盖写入内容
语法: 内容>文件
举例:
ll > a.txt 把ll命令的执行结果写入文件a.txt中(覆盖写)
cat a.txt > b.tx 把cat a.txt命令的执行结果写入文件b.txt中(覆盖写)
作用: 向文件内追加写入内容(加在原来文件内容中的末尾)
语法: 内容>>文件
举例:
ll >> a.txt 把ll命令的执行结果追加写入文件a.txt中
cat a.txt >> b.tx 把cat a.txt命令的执行结果追加写入文件b.txt中
作用: 输出内容到命令行控制台
语法: echo [选项] [输出内容]
说明:
-e 支持反斜线控制的字符转换
控制字符 作用
\ 输出一个空格
\\ 输出\本身
\n 换行符
\t 制表符,也就是Tab键
举例:
echo "hello\tworld" 直接输出hello\tworld
echo -e "hello\tworld" 输出hello tworld
作用: 用于复制文件或目录
语法: cp [-r] source dest
说明:
-r: 如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件
举例:
cp hello.txt myDir/ 将hello.txt复制到myDir目录中
cp hello.txt ./hi.txt 将hello.txt复制到当前目录,并改名为hi.txt
cp -r myDir/ ./newMyDir/ 将myDir目录和目录下所有文件复制到newMyDir目录下
cp -r myDir/* ./newMyDir/ 将myDir目录下所有文件复制到newMyDir目录下
作用: 为文件或目录改名、或将文件或目录移动到其它位置
语法: mv source dest
举例:
mv hello.txt hi.txt 将hello.txt改名为hi.txt
mv hi.txt myDir/ 将文件hi.txt移动到myDir目录中
mv hi.txt myDir/hello.txt 将hi.txt移动到myDir目录中,并改名为hello.txt
mv myDir/ newMyDir/ 如果newMyDir目录不存在,将myDir目录改名为newMyDir
mv myDir/ newMyDir/ 如果newMyDir目录存在,将myDir目录移动到newMyDir目录中
mv
命令既能够改名,又可以移动,具体是改名还是移动,系统会根据我们输入的参数进行判定
如果第二个参数dest
是一个已存在的目录,将执行移动操作,其他情况都是改名
作用: 对文件进行打包、解包、压缩、解压
语法: tar [-zcxvf] fileName [files]
包文件后缀为.tar表示只是完成了打包,并没有压缩
包文件后缀为.tar.gz表示打包的同时还进行了压缩
说明:
-z: z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
-c: c代表的是create,即创建新的包文件
-x: x代表的是extract,实现从包文件中还原文件
-v: v代表的是verbose,显示命令的执行过程
-f: f代表的是file,用于指定包文件的名称
举例:
打包
tar -cvf hello.tar ./* 将当前目录下所有文件打包,打包后的文件名为hello.tar
tar -zcvf hello.tar.gz ./* 将当前目录下所有文件打包并压缩,打包后的文件名为hello.tar.gz
解包
tar -xvf hello.tar 将hello.tar文件进行解包,并将解包后的文件放在当前目录
tar -zxvf hello.tar.gz 将hello.tar.gz文件进行解压,并将解压后的文件放在当前目录
tar -zxvf hello.tar.gz -C /usr/local
将hello.tar.gz文件进行解压,并将解压后的文件放在/usr/local目录
作用: 在指定目录下查找文件
语法: find dirName -option fileName
说明:
-name 按照指定的文件名查找模式查找文件
-user 查找属于指定用户名所有文件
-size 按照指定的文件大小查找文件。
举例:
find . –name "*.java" 在当前目录及其子目录下查找.java结尾文件
find /myDir -name "*.java" 在/myDir目录及其子目录下查找.java结尾的文件
1)基本用法
作用: 从指定文件中查找指定的文本内容
语法: grep [选项]... PATTERN [FILE]...
在每个 FILE 或是标准输入中查找 PATTERN。
默认的 PATTERN 是一个基本正则表达式(缩写为 BRE)。
说明:
-n 输出的同时打印行号
-i 忽略大小写
-w 强制 PATTERN 仅完全匹配字词
-x 强制 PATTERN 仅完全匹配一行
举例:
grep Hello HelloWorld.java 查找HelloWorld.java文件中出现的Hello字符串的位置
grep hello *.java 查找当前目录中所有.java结尾的文件中包含hello字符串的位置
2)grep 过滤查找配合“|”管道符
管道符|
,表示将前一个命令的处理结果输出传递给后面的命令处理。
# 查找test文件在第几行
ls | grep -n test
作用: 查找命令在哪个目录下
语法: which 具体命令
举例:
which ll 查看ll命令在哪个目录下
作用: 查找系统进程
语法:
ps [选项]
选项说明:
-a 选择所有进程
-u 显示所有用户的所有进程
-x 显示没有终端的进程
举例:
ps -aux 查看系统中所有进程
ps -aux | grep tomcat 查看系统中运行的tomcat相关的进程
ps -ef 查看当前运行的所有进程的详细信息
ps -ef | grep tomcat 查看当前运行的tomcat相关的进程
注意:
"|" 在Linux中称为管道符,可以将前一个命令的结果输出给后一个命令作为输入
作用: 结束系统进程
语法: kill -9 pid
说明:
-9 表示强制结束
pid 表示要结束的进程号(可以用ps结合grep查找要结束的进程pid)
举例:
kill -9 79947 结束进程号为79947的系统进程
作用: 显示系统的网络配置信息
语法: ifconfig
等价于Windows
的ping
命令,ping
命令用于检测和某个主机是否连通。
执行ping
指令会使用ICMP
传输协议,发出要求回应的信息。
若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
选项参数:
-c # 设置完成要求回应的次数。
ping 192.168.137.102
ping -c 2 192.168.137.102
作用: 得知整个Linux系统的网络情况
语法:
netstat -a # 显示详细的网络连接状况
netstat -i # 显示网卡列表
说明:
-a 显示所有连线中的Socket
-i 显示网卡列表
举例:
kill -9 79947 结束进程号为79947的系统进程
操作 | 指令 | 备注 |
---|---|---|
查看防火墙状态 | systemctl status firewalld / firewall-cmd --state | |
暂时关闭防火墙 | systemctl stop firewalld | |
永久关闭防火墙(禁用开机自启) | systemctl disable firewalld | 下次启动,才生效 |
暂时开启防火墙 | systemctl start firewalld | |
永久开启防火墙(启用开机自启) | systemctl enable firewalld | 下次启动,才生效 |
开放指定端口 | firewall-cmd --zone=public --add-port=8080/tcp --permanent | 需要重新加载生效 |
关闭指定端口 | firewall-cmd --zone=public --remove-port=8080/tcp --permanent | 需要重新加载生效 |
立即生效(重新加载) | firewall-cmd --reload | |
查看开放端口 | firewall-cmd --zone=public --list-ports |
注意:
A. systemctl是管理Linux中服务的命令,可以对服务进行启动、停止、重启、查看状态等操作
B. firewall-cmd是Linux中专门用于控制防火墙的命令
C. 为了保证系统安全,服务器的防火墙不建议关闭
作用: 控制用户对文件的权限
语法: chmod []
举例:
chmod 777 bootStart.sh 为所有用户授予读、写、执行权限
chmod 755 bootStart.sh 为文件拥有者授予读、写、执行权限,同组用户和其他用户授予读、执行权限
chmod 210 bootStart.sh 为文件拥有者授予写权限,同组用户授予执行权限,其他用户没有任何权限
==注意:==
三个数字分别代表不同用户的权限:
- 第1位表示文件拥有者的权限
- 第2位表示同组用户的权限
- 第3位表示其他用户的权限
chmod
命令可以使用八进制数来指定权限(0 - 代表无 , 1 - 执行x , 2 - 写w , 4 - 读r):
值 | 权限 | rwx |
---|---|---|
7 | 读 + 写 + 执行 | rwx |
6 | 读 + 写 | rw- |
5 | 读 + 执行 | r-x |
4 | 只读 | r– |
3 | 写 + 执行 | -wx |
2 | 只写 | -w- |
1 | 只执行 | –x |
0 | 无 | — |
Linux
系统中权限描述如下:
除了使用数字方式授权,我们也可以使用符号方式,符号方式可能更加直观一些
chmod u=rwx,g=rx,o=r 1.txt
命令释意:
(1)user 属主权限
(2)group 属组权限
(3)others 其他权限
相当于
给文件所有者 赋予读、写、执行权限
给文件所属于组 赋予读、执行权限
给其它用户 赋予读权限
作用: vi
命令是Linux
系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于Windows
中的记事本
语法:
vi fileName
vim fileName
说明:
vim是从vi发展来的一个功能更加强大的文本编辑工具,编辑文件时可以对文本内容进行着色,方便我们对文件进行 编辑处理,所以实际工作中vim更加常用
yum install vim
安装过程中,会有确认提示,一路输入 y,然后回车,继续安装:
在使用vim
命令编辑文件时,如果指定的文件存在则直接打开此文件。如果指定的文件不存在则新建文件
vim在进行文本编辑时共分为三种模式:
Command mode
)Insert mode
)Last line mode
)这三种模式之间可以相互切换。使用vim时一定要注意我们当前所处的是哪种模式
三种模式详解:
1. 命令模式:
1.1 命令模式下可以查看文件内容、移动光标(上下左右箭头、gg、G)
1.2 通过vim命令打开文件后,默认进入命令模式
1.3 另外两种模式需要首先进入命令模式,才能进入彼此
命令模式指令 | 含义 |
---|---|
gg | 定位到文本内容的第一行 |
G | 定位到文本内容的最后一行 |
dd | 删除光标所在行的数据 |
ndd | 删除当前光标所在行及之后的n行数据 |
u | 撤销操作 |
shift+zz | 保存并退出 |
i 或 a 或 o | 进入插入模式 |
2.插入模式:
2.1 插入模式下可以对文件内容进行编辑
2.2 在命令模式下按下[i,a,o]任意一个,可以进入插入模式。进入插入模式后,下方会出现【insert】字样
2.3 在插入模式下按下ESC键,回到命令模式
3.底行模式
3.1 底行模式下可以通过命令对文件内容进行查找、显示行号、退出等操作
3.2 在命令模式下按下[:,/]任意一个,可以进入底行模式
3.3 通过/方式进入底行模式后,可以对文件内容进行查找
3.4 通过:方式进入底行模式后,可以输入wq(保存并退出)、q!(不保存退出)、set nu(显示行号)
底行模式命令 | 含义 |
---|---|
:wq | 保存并退出 |
:q! | 不保存退出 |
:set nu | 显示行号 |
:set nonu | 取消行号显示 |
:n | 定位到第n行, 如 :10 就是定位到第10行 |
Esc
退出插入模式,进入命令模式。/
(向后搜索)或 ?
(向前搜索)后输入想要查找的文字n
(显示下一个符合的位置)或N
(显示上一个符合的位置)来浏览所有符合搜索条件的位置软链接也称为符号链接,类似于windows
里的快捷方式。
作用: 创建快捷方式
语法: ln -s [原文件或目录] [软链接名]
举例:
ln -s ./aaa/bbb/test.txt ./test 在./目录下创建一个快捷方式test
删除软链接: rm -rf 软链接名,而不是rm -rf 软链接名/
(1)date (功能描述:显示当前时间)
(2)date +%Y (功能描述:显示当前年份)
(3)date +%m (功能描述:显示当前月份)
(4)date +%d (功能描述:显示当前是哪一天)
(5)date "+%Y-%m-%d %H:%M:%S" (功能描述:显示年月日时分秒)
date
后面可以根上格式化符,来约定输出的日期格式。常用的就是这一些。
更多的格式化字符可以使用下面命令来查看:
date --help
(1)date -d '1 days ago' (功能描述:显示前一天时间)
(2)date -d '-1 days ago' (功能描述:显示明天时间)
-d 显示时间由字符串来描述
date -s 字符串时间
-s 使用字符串设置系统当前的时间
作用: 查看日历
语法: cal [选项] [[[日] 月] 年]
不加选项,就显示本月日历
说明:
-1, --one 只显示当前月份(默认)
-3, --three 显示上个月、当月和下个月
-s, --sunday 周日作为一周第一天
-m, --monday 周一用为一周第一天
-j, --julian 输出儒略日
-y, --year 输出整年
-V, --version 显示版本信息并退出
-h, --help 显示此帮助并退出
(第一个是缩写 第二个是全写)
举例:
cal 显示本月日历
cal 2022 显示2022年的日历
可以设置一个任务,让系统在指定的时间帮你完成。
使用定时任务时可能常会遇到下面格式的语句:
* * * * * 执行的任务
这是一种cron语法,它的5个部分的意思如下:
项目 | 含义 | 范围 |
---|---|---|
第一个* | 一小时当中的第几分钟 | 0-59 |
第二个* | 一天当中的第几小时 | 0-23 |
第三个* | 一个月当中的第几天 | 1-31 |
第四个* | 一年当中的第几月 | 1-12 |
第五个* | 一周当中的星期几 | 0-7(0和7都代表星期日) |
其它特殊符号:
特殊符号 | 含义 |
---|---|
* | 代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。 |
, | 代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令 |
- | 代表连续的时间范围。比如“0 5 * * 1-6命令”,代表在周一到周六的凌晨5点0分执行命令 |
*/n | 代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每隔10分钟就执行一遍命令 |
使用示例:
时间 | 含义 |
---|---|
45 22 * * * | 在22点45分执行命令 |
0 17 * * 1 | 每周1 的17点0分执行命令 |
0 5 1,15 * * | 每月1号和15号的凌晨5点0分执行命令 |
40 4 * * 1-5 | 每周一到周五的凌晨4点40分执行命令 |
*/10 4 * * * | 每天的凌晨4点,每隔10分钟执行一次命令 |
0 0 1,15 * 1 | 每月1号和15号,每周1的0点0分都会执行命令。注意:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱。 |
systemctl restart crond
如果不确定系统是否启用了这个服务,就重启一下
基本语法:
crontab [options] file
crontab [options]
crontab -n [hostname]
选项说明:
-u define user
-e 编辑用户的 crontab 定时任务
-l 列出用户的 crontab 定时任务
-r 删除用户的 crontab 定时任务
-i 删除之前进行提示
-n 在集群中设置主机去运行用户的 crontabs
-c get host in cluster to run users' crontabs
1)查看定时任务列表
crontab -i
2)编辑定时任务
crontab -e
*/1 * * * * echo "定时任务触发" >> /root/crontabTest.txt
编辑好之后,按esc
键退出编辑模式,再输入:wq
命令保存并退出
上面的意思是每隔一分钟向crontabTest.txt中写入“定时任务触发”这几个字
3) 实时显示文件内容
tail -f /root/crontabTest.txt
发现文件中已经有了定时任务写入的内容,说明定时任务生效。
crontab -r
这样定时任务就失效了。
RPM
(RedHat Package Manager
),RedHat
软件包管理工具,类似windows
里面的setup.exe
是Linux
这系列操作系统里面的打包安装工具,它虽然是RedHat
的标志,但理念是通用的。
RPM
包的名称格式说明,比如包Apache-1.3.23-11.i386.rpm的格式说明如下:
apache
: 软件名称
1.3.23-11
:软件的版本号,主版本和此版本
i386
:是软件所运行的硬件平台,Intel 32
位微处理器的统称
rpm
文件扩展名,代表RPM
包
1)基本语法
rpm -qa
查询所安装的所有rpm软件包
2)经验技巧
由于软件包比较多,一般都会采取过滤查询的方式查找软件包
rpm -qa | grep rpm 软件包名称
1)基本语法
rpm -e RPM软件包
# 或者
rpm -e --nodeps
卸载的时候如果有别的软件包依赖它,则会卸载失败
2)选项说明
选项 | 功能 |
---|---|
-e | 卸载软件包 |
–nodeps | 卸载软件时,不检查依赖。这样那些依赖该软件包的软件在此之后可能就不能正常工作了。 |
1)基本语法
rpm -ivh RPM包全名
2)选项说明
选项 | 功能 |
---|---|
-i | -i=install,安装 |
-v | -v=verbose,显示详细信息 |
-h | -h=hash,显示进度条 |
–nodeps | –nodeps,不检测依赖进度 |
yum
(全称为 Yellow dog Updater, Modified
)是一个在Fedora
和RedHat
以及CentOS
中的Shell
前端软
件包管理器。
基于rpm
包管理,能够从指定的服务器自动下载RPM
包并且安装。
并且可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
yum
类似于java
开发中的maven
工具,可以从镜像网站上下载应用程序,并直接安装。
1)基本语法
yum [选项] [参数]
2)选项说明
选项 | 功能 |
---|---|
-y | 对所有提问都回答yes |
3)参数说明
参数 | 功能 |
---|---|
install | 安装rpm软件包 |
update | 更新rpm软件包 |
check-update | 检查是否有可用的更新rpm软件包 |
remove | 删除指定的rpm软件包 |
list | 显示软件包信息 |
clean | 清理yum过期的缓存 |
deplist | 显示yum软件包的所有依赖关系 |
4)使用示例
# 查找firefox的软件包
yum list | grep firefox
# 选择安装上面查出来的某一个软件包,会自动处理相关依赖
yum -y install firefox.x86_64
使用lsblk
命令可以以tree
的形式展示所有设备的信息。
lsblk
命令的英文是list block
,即用于列出所有可用块设备的信息。
而且还能显示他们之间的依赖关系,但是它不会列出RAM
盘的信息。
1)基本语法
lsblk
NAME
: 这是块设备名。
MAJ:MIN
: 本栏显示主要和次要设备号。
RM
: 本栏显示设备是否可移动设备。
注意:在上面设备sr0的RM值等于1,这说明他们是可移动设备。
SIZE
: 本栏列出设备的容量大小信息。
RO
: 该项表明设备是否为只读。此时,所有设备的RO
值为0
,表明他们不是只读的。
TYPE
:本栏显示块设备是否是磁盘或磁盘上的一个分区。
此时,sda是磁盘,而sr0
是只读存储(rom
)。
MOUNTPOINT
: 本栏指出设备挂载的挂载点。
2)选项说明
选项 | 功能 |
---|---|
-f | 显示系统信息 |
Linux
的df
命令类似于在Windows
中的【计算机】–【管理】–【磁盘管理】菜单对磁盘的统计情况查看。
故df
命令用于显示目前在Linux
系统上的文件系统的磁盘使用情况统计。
1)基本语法
df [选项] [目录]
2)选项说明
选项 | 功能 |
---|---|
-total | 显示所有的信息 |
-h | 换算成KB,MB,GB等形式进行展示 |
3)使用示例
df # 直接使用 显示磁盘使用情况
df test # 显示test文件夹下的磁盘使用情况
df --total # 显示所有的磁盘使用信息
df -h # 把数据太长的进行单位转换后显示
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-milSbcq7-1667917592814)(assets\查看分区.png)]
第一列:文件系统的名称
第二列:文件系统1K-块
,1K
是1024
字节为单位的总容量。
第三列:已用容量。
第四列:可用容量。
第五列:可用容量百分比。
第五列:文件系统的挂载点
1)基本语法
fdisk 选项
2)选项说明
选项 | 功能 |
---|---|
-l | 显示所有硬盘的分区列表 |
3)使用示例
# 查看磁盘分区详情
fdisk -l
在Linux
当中所有的存储设备如u
盘、光盘、硬盘等,都必须挂载之后才能正常使用。
其实挂载可以理解为Windows
当中的分配盘符,只不过Windows
当中是以英文字母ABCD
等作为盘符.
而Linux
是拿系统目录作为盘符,当然Linux
当中也不叫盘符,而是称为挂载点。
为分区或者光盘等存储设备分配一个挂载点的过程称为挂载(mount
)。
挂载概念详解:
在安装Linux
系统时设立的各个分区,如根分区、/boot
分区等都是自动挂载的,开机就会自动挂载。
但是光盘、u
盘等存储设备如果需要使用,就必须人为的进行挂载。
其实我们在Windows
下插入u
盘也是需要挂载(分配盘符)的,只不过Windows
下分配盘符是自动的。
Linux
中的根目录以外的文件要想被访问,需要将其“关联”到根目录下的某个目录来实现。
这种关联操作就是“挂载”,这个目录就是“挂载点”,解除次关联关系的过程称之为“卸载”。
注意:“挂载点”的目录需要以下几个要求:
(1)目录事先存在,可以用mkdir
命令新建目录;
(2)挂载点目录不可被其他进程使用到;
(3)挂载点下原有文件将被隐藏。
使用者权限:所有用户,设置级别的需要管理员
参数 | 功能 |
---|---|
-t | 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。 |
-o | 主要用来描述设备或档案的挂接方式。常用的参数有: loop:用来把一个文件当成硬盘分区挂接上系统 ro:采用只读方式挂接设备 rw:采用读写方式挂接设备 iocharset:指定访问文件系统所用字符集 |
device | 要挂接(mount)的设备 |
dir | 设备在系统上的挂接点(mount point) |
常用类型有:
创建挂载点(就是创建一个目录)
mkdir -p test/cdrom
开始挂载
# 查看有哪些设备可以挂载(用grep是怕查出来的结果过多)
ll /dev/ | grep cdrom
# 设备/dev/cdrom挂载到 挂载点: /mnt/cdrom中
mount -t auto /dev/cdrom /test/cdrom/
查看挂载点内容
ls -l -a ./test/cdrom/
卸载光盘镜像文件
umount /test/cdrom/
如果不想每次插入相同的设备都有手动去挂载,可以配置当前设备自动挂载。
# 编辑文件
vim /etc/fstab
# 向其中添加下面格式的内容
# 意思是把设备/dev/cdrom挂载到 /test/cdrom目录下
# 并不需要完全写全
/dev/cdrom /test/cdrom
作用: 获得命令或者配置文件的帮助信息
语法: man [命令或配置文件]
举例:
man ls 获取ls命令的帮助信息
结果说明:
结果选项 | 选项说明 |
---|---|
NAME | 命令的名称和单行描述 |
SYNOPSIS | 怎样使用命令 |
DESCRIPTION | 命令功能的深入讨论 |
EXAMPLES | 怎样使用命令的例子 |
SEE ALSO | 相关主题(通常是手册页) |
内容可能会比较多,按上下箭头可以查看溢出屏幕外的说明,按q可以退出
作用: 获得shell内置命令的帮助信息
语法: help [命令]
举例:
help ls 获取ls命令的帮助信息
作用: 关闭当前liunx
语法: shutdown
作用: 重启当前liunx
语法: reboot