文件管理
ls
说明:显示指定工作目录下的内容及属性信息
语法格式:ls [选项] [文件]
常用参数:
-a | 显示所有文件及目录 (包括以“.”开头的隐藏文件) |
---|---|
-l | 使用长格式列出文件及目录信息 |
-r | 将文件以相反次序显示(默认依英文字母次序) |
-t | 根据最后的修改时间排序 |
-A | 同 -a ,但不列出 “.” (当前目录) 及 “..” (父目录) |
-S | 根据文件大小排序 |
-R | 递归列出所有子目录 |
参考实例:
# 列出所有文件(包括隐藏文件):
[root@linuxcool ~]# ls -a
# 列出文件的详细信息:
[root@linuxcool ~]# ls -l
# 列出根目录(/)下的所有目录:
[root@linuxcool ~]# ls /
# 列出当前工作目录下所有名称是 “s” 开头的文件 :
[root@linuxcool ~]# ls -ltr s*
# 列出 /bin 目录下的所有目录及文件的详细信息 :
[root@linuxcool ~]# ls -lR /bin
# 列出当前工作目录下所有文件及目录并以文件的大小进行排序 :
[root@linuxcool ~]# ls -AS
ll
说明:列出当前文件或目录的详细信息,ll是“ls -l”的别名
语法格式:ll [参数] [文件]
常用参数:
-a | 列出目录下的所有文件,包括以 . 开头的隐含文件 |
---|---|
-A | 显示除 “.”和“..”外的所有文件 |
-k | 以 k 字节的形式表示文件的大小 |
-s | 在每个文件名后输出该文件的大小 |
-N | 不限制文件长度 |
-t | 以时间排序 |
-u | 以文件上次被访问的时间排序 |
参考实例:
# 按时间倒序排列文件:
[root@linuxcool ~]# ll -t
# 按时间倒序,分页排列文件:
[root@linuxcool ~]# ll -t | more
# 显示文件大小:
[root@linuxcool ~]# ll -h
cd
说明:(英文全拼:change directory)命令用于切换当前工作目录。
其中目录的路径可分为绝对路径和相对路径。若目录名称省略,则切换至使用者的用户目录(也就是刚登录时所在的目录)。
另外,“~”也表示为用户目录的意思,“.”则是表示目前所在的目录,“..”则表示当前目录位置的上一级目录。语法格式:cd [参数] [目录名]
常用参数:
-P | 如果切换的目标目录是一个符号链接,则直接切换到符号链接指向的目标目录 |
---|---|
-L | 如果切换的目标目录是一个符号链接,则直接切换到符号链接名所在的目录 |
— | 仅使用”-“选项时,当前目录将被切换到环境变量”OLDPWD”对应值的目录 |
~ | 切换至当前用户目录 |
.. | 切换至当前目录位置的上一级目录 |
参考实例:
# 将当前工作目录切换到dir目录,并使用pwd命令查看当前目录:
[root@linuxcool ~]# cd dir
[root@linuxcool dir]# pwd
/root/dir
# 使用“cd ~ ”和“cd .. ”命令进行目录的切换操作,并使用pwd命令查看当前目录:
# 注意:使用“cd ~ ”命令可以直接切换到当前用户目录,而“cd .. ”是切换到上一级目录。
[root@linuxcool dir]# pwd
/root/dir
[root@linuxcool dir]# cd ~
[root@linuxcool ~]# pwd
/root
[root@linuxcool dir]# pwd
/root/dir
[root@linuxcool dir]# cd ..
[root@linuxcool dir]# pwd
/root
# 使用“cd ../..”命令返回上两级目录:
[root@linuxcool dir_2]# pwd
/root/dir/dir_1/dir_2
[root@linuxcool dir_2]# cd ../..
[root@linuxcool dir]# pwd
/root/dir
# 使用“cd”命令返回当前用户目录。“cd -- ” 命令返回上一次所在目录:
[root@linuxcool dir_2]# pwd
/root/dir/dir_1/dir_2
[root@linuxcool dir_2]# cd
[root@linuxcool ~]# pwd
/root
[root@linuxcool ~]# cd -
/root/dir/dir_1/dir_2
[root@linuxcool dir_2]# pwd
/root/dir/dir_1/dir_2
mkdir
说明:创建目录。“make directories”的缩写,用来创建目录。
注意:默认状态下,如果要创建的目录已经存在,则提示已存在,而不会继续创建目录。 所以在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。 mkdir命令还可以同时创建多个目录,是不是很强大呢?
语法格式:mkdir [参数] [目录]
常用参数:
-p | 递归创建多级目录 |
---|---|
-m | 建立目录的同时设置目录的权限 |
-z | 设置安全上下文 |
-v | 显示目录的创建过程 |
参考实例:
# 在工作目录下,建立一个名为 dir 的子目录:
[root@linuxcool ~]# mkdir dir
# 在目录/usr/linuxcool下建立子目录dir,并且设置文件属主有读、写和执行权限,其他人无权访问
[root@linuxcool ~]# mkdir -m 700 /usr/linuxcool/dir
# 同时创建子目录dir1,dir2,dir3:
[root@linuxcool ~]# mkdir dir1 dir2 dir3
# 递归创建目录:
[root@linuxcool ~]# mkdir -p linuxcool/dir
mv
说明:移动或改名文件。是“move”单词的缩写。
语法格式:mv [参数]
常用参数:
-i | 若存在同名文件,则向用户询问是否覆盖 |
---|---|
-f | 覆盖已有文件时,不进行任何提示 |
-b | 当文件存在时,覆盖前为其创建一个备份 |
-u |
| 当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作 |
参考实例:
# 将文件file_1重命名为file_2:
[root@linuxcool ~]# mv file_1 file_2
# 将文件file移动到目录dir中 :
[root@linuxcool ~]# mv file /dir
# 将目录dir1移动目录dir2中(前提是目录dir2已存在,若不存在则改名):
[root@linuxcool ~]# mv /dir1 /dir2
# 将目录dir1下的文件移动到当前目录下:
[root@linuxcool ~]# mv /dir1/* .
pwd
说明:(英文全拼:print work directory) 命令用于显示工作目录。执行 pwd 指令可立刻得知您目前所在的工作目录的绝对路径名称。
语法格式:pwd [参数]
常用参数:
-L | 显示逻辑路径 |
---|---|
—help | 在线帮助 |
—version | 显示版本信息 |
参考实例:
# 查看当前工作目录路径:
[root@linuxcool ~]# pwd
/home/linuxcool
stat
说明:显示文件或文件系统的详细信息
语法格式:stat [参数]
常用参数:
-L | 支持符号链接 |
---|---|
-f | 显示文件系统的信息 |
-t | 以简洁的方式输出 |
—help | 显示命令帮助信息 |
—version | 显示命令版本信息 |
参考实例:
# 查看文件 anaconda-ks.cfg 的三种时间状态:Access,Modify,Change:
[root@linuxcool ~]# stat anaconda-ks.cfg
# 查看文件系统信息:
[root@linuxcool ~]# stat -f anaconda-ks.cfg
# 以简洁的方式输出信息:
[root@linuxcool ~]# stat -t anaconda-ks.cfg
anaconda-ks.cfg 1229 8 8180 0 0 fd00 68898764 1 0 0 1540481629 1540510390 1540510390 0 4096 system_u:object_r:admin_home_t:s0
# 命令版本信息:
[root@linuxcool ~]# stat --version
stat (GNU coreutils) 8.22
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Michael Meskes.
rz
说明:传文件。Linux提供的上传的命令,基于XMODEM/YMODEM/ZMODEM协议。在SecureCRT下就会弹出文件选择框让你选择需要上传的文件了,而且可以选择多个。
语法格式:rz [参数]
常用参数:
-B | 使用rz上传时,文件是先写入缓冲区,然后再写入硬盘的。-B后面跟着的数字就是修改这个缓冲区大小的,单位是Bytes。如:rz -B 10 |
---|---|
-D | 把所上传的数据导向/dev/null,这是用于测试的 |
-e | 转化所有的控制字符 |
-E | 上传之前重命名已经存在的文件,防止覆盖 |
参考实例:
# 上传普通文件,如已存在则追加:
[root@linuxcool ~]# rz -+
# 实现覆盖上传:
[root@linuxcool ~]# rz -y
# 保护模式,不覆盖同名文件:
[root@linuxcool ~]# rz -p
cp
说明:复制文件或目录。英文单词copy的缩写,其功能为复制文件或目录。
cp命令可以将多个文件复制到一个具体的文件名或一个已经存在的目录下,也可以同时复制多个文件到一个指定的目录中。
语法格式:cp [参数] [文件]
常用参数:
-f | 若目标文件已存在,则会直接覆盖原文件 |
---|---|
-i | 若目标文件已存在,则会询问是否覆盖 |
-p | 保留源文件或目录的所有属性 |
-r | 递归复制文件和目录 |
-d | 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录 |
-l | 对源文件建立硬连接,而非复制文件 |
-s | 对源文件建立符号连接,而非复制文件 |
-b | 覆盖已存在的文件目标前将目标文件备份 |
-v | 详细显示cp命令执行的操作过程 |
-a | 等价于“dpr”选项 |
参考实例:
# 复制目录:
[root@linuxcool ~]# cp -R dir1 dir2/
# 将文件test1改名为test2:
[root@linuxcool ~]# cp -f test1 test2
# 复制多个文件:
[root@linuxcool ~]# cp -r file1 file2 file3 dir
# 交互式地将目录 /usr/linuxcool 中的所有.c文件复制到目录 dir 中:
[root@linuxcool ~]# cp -r /usr/linuxcool/*.c dir
rsync
说明:远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。
rsync 使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
rsync 是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明。
语法格式:rsync [参数]
常用参数:
-v | 详细模式输出 |
---|---|
-q | 精简输出模式 |
-h | 显示帮助信息 |
参考实例:
# 启动ssh服务:
[root@linuxcool ~]# service sshd start 启动 sshd: [确定]
# 使用rsync命令来备份服务端上的数据:
[root@linuxcool ~]# rsync -vzrtopg --progress -e ssh --delete
rcp
说明:远程文件复制。英文是“remote file copy”,即远程文件复制,可以使在两台Linux主机之间的文件复制操作更简单。通过适当的配置,在两台Linux主机之间复制文件而无需输入密码,就像本地文件复制一样简单。
rcp指令用在远端复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。
rcp命令默认系统没有安装,需要安装rsh和rsh-server这2个库,通过配置实现网络文件复制。
语法格式:rcp [参数] [目录]
常用参数:
-p | 保留源文件或目录的属性,包括拥有者,所属群组,权限与时间 |
---|---|
-r | 递归处理,将指定目录下的文件与子目录一并处理 |
-x | 加密两台Linux主机间传送的所有信息 |
-D | 指定远程服务器的端口号 |
参考实例:
# 将当前目录下test1复制到远程系统:
[root@linuxcool ~]# rcp test1 192.168.10.10:/home/test1
# 复制远程主机文件到本地:
[root@linuxcool ~]# rcp root@192.168.10.10:./test2 test2
scp
说明:远程拷贝文件。用于 Linux 之间复制文件和目录。
scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。
scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。
当你服务器硬盘变为只读read only system时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。
语法格式:scp [参数] [文件]
常用参数:
-1 | 使用ssh协议版本1-2 |
---|---|
-2 | 使用ssh协议版本2 |
-4 | 使用ipv4 |
-6 | 使用ipv6 |
-B | 以批处理模式运行 |
-C | 使用压缩 |
-F | 指定ssh配置文件 |
-l | 指定宽带限制 |
-o | 指定使用的ssh选项 |
-P | 指定远程主机的端口号 |
-p | 保留文件的最后修改时间,最后访问时间和权限模式 |
-q | 不显示复制进度 |
-r | 以递归方式复制 |
参考实例:
# 从远程复制文件到本地目录:
[root@linuxcool ~]# scp root@192.168.10.10:/opt/soft/rhel-server-7.3-x86_64.tar.gz /opt/soft/
# 从远程复制目录到本地:
[root@linuxcool ~]# scp -r root@10.10.10.10:/opt/soft/mysql /opt/soft/
# 上传本地文件到远程机器指定目录:
[root@linuxcool ~]# scp /opt/soft/rhel-server-7.3-x86_64.tar.gz root@192.168.10.10:/opt/soft/scptest
# 上传本地目录到远程机器指定目录:
[root@linuxcool ~]# scp -r /opt/soft/mysql root@192.168.10.10:/opt/soft/scptest
# 保留文件的最后修改时间,最后访问时间和权限模式:
[root@linuxcool ~]# scp -p /root/install.log root@192.168.10.10:/tmp
clear
文档编辑
cat
说明:英文全拼:concatenate,在终端设备上显示文件内容。
注意:当文件内容较大时,文本内容会在屏幕上快速闪动(滚屏),用户往往看不清所显示的具体内容。因此对于较长文件内容可以按Ctrl+S键,停止滚屏;以及Ctrl+Q键可以恢复滚屏;而按Ctrl+C(中断)键则可以终止该命令的执行。或者对于大文件,干脆用more命令吧!
语法格式:cat [参数] [文件]
cat [-AbeEnstTuv] [—help] [—version] fileName
常用参数:
-n | 显示行数(空行也编号) |
---|---|
-s | 显示行数(多个空行算一个编号) |
-b | 显示行数(空行不编号) |
-E | 每行结束处显示$符号 |
| | -T | 将TAB字符显示为 ^I符号 | | -v | 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外 | | -e | 等价于“-vE”组合 | | -t
| 等价于“-vT”组合 | | -A | 等价于 -vET组合 | | —help | 显示帮助信息 | | —version | 显示版本信息 |
参考实例:
# 查看文件的内容:
[root@linuxcool ~]# cat filename.txt
# 查看文件的内容,并显示行数编号:
[root@linuxcool ~]# cat -n filename.txt
# 查看文件的内容,并添加行数编号后输出到另外一个文件中:
[root@linuxcool ~]# cat -n linuxcool.log > linuxprobe.log
# 清空文件的内容:
[root@linuxcool ~]# cat /dev/null > /root/filename.txt
# 持续写入文件内容,碰到EOF符后结束并保存:
[root@linuxcool ~]# cat > filename.txt <<EOF
> Hello, World
> Linux!
> EOF
# 将软盘设备制作成镜像文件:
[root@linuxcool ~]# cat /dev/fd0 > fdisk.iso
echo
说明:输出字符串或提取Shell变量的值。用于在终端设备上输出字符串或变量提取后的值
语法格式:echo [参数] [字符串]
常用参数:
-n | 不输出结尾的换行符 |
---|---|
-e “\a” | 发出警告音 |
-e “\b” | 删除前面的一个字符 |
-e “\c” | 结尾不加换行符 |
-e “\f” | 换行,光标扔停留在原来的坐标位置 |
-e “\n” | 换行,光标移至行首 |
-e “\r” | 光标移至行首,但不换行 |
-E | 禁止反斜杠转移,与-e参数功能相反 |
—version | 查看版本信息 |
—help | 查看帮助信息 |
参考实例:
# 输出一段字符串:
[root@linuxcool ~]# echo "LinuxCool.com"
LinuxCool.com
# 输出变量提取后的值:
[root@linuxcool ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
# 对内容进行转义,不让$符号的提取变量值功能生效:
[root@linuxcool ~]# echo \$PATH
$PATH
# 结合输出重定向符,将字符串信息导入文件中:
[root@linuxcool ~]# echo "It is a test" > linuxcool
# 使用反引号符执行命令,并输出其结果到终端:
[root@linuxcool ~]# echo `date`
# 输出带有换行符的内容:
[root@linuxcool ~]# echo -e "a\nb\nc" a b c
# 输出信息中删除某个字符,注意看数字3消失了:
[root@linuxcool ~]# echo -e "123\b456"
12456
rm
说明:(英文全拼:remove)命令用于删除一个文件或者目录。
语法格式:rm [参数] [文件]
常用参数:
-f | 忽略不存在的文件,不会出现警告信息 |
---|---|
-i | 删除前会询问用户是否操作 |
-r/R | 递归删除 |
-v | 显示指令的详细执行过程 |
参考实例:
# 删除前逐一询问确认:
[root@linuxcool ~]# rm -i test.txt.bz2 rm: remove regular file `test.txt.bz2'?
# 直接删除,不会有任何提示:
[root@linuxcool ~]# rm -f test.txt.bz2
# 递归删除目录及目录下所有文件:
[root@linuxcool ~]# mkdir /data/log [root@linuxcool ~]# rm -rf /data/log
# 删除当前目录下所有文件:
[root@linuxcool ~]# rm -rf *
# 清空系统中所有的文件(谨慎):
[root@linuxcool ~]# rm -rf /*
系统管理
rpm
说明:是Red-Hat Package Manager(RPM软件包管理器)的缩写, 该命令用于管理Linux 下软件包的软件。在 Linux 操作系统下,几乎所有的软件均可以通过RPM 进行安装、卸载及管理等操作。
概括的说,rpm命令包含了五种基本功能:安装、卸载、升级、查询和验证。
语法格式:rpm [参数] [软件包]
常用参数:
-a | 查询所有的软件包 |
---|---|
-b或-t | 设置包装套件的完成阶段,并指定套件档的文件名称; |
-c | 只列出组态配置文件,本参数需配合”-l”参数使用 |
-d | 只列出文本文件,本参数需配合”-l”参数使用 |
-e或—erase | 卸载软件包 |
-f | 查询文件或命令属于哪个软件包 |
-h或—hash | 安装软件包时列出标记 |
-i | 显示软件包的相关信息 |
—install | 安装软件包 |
-l | 显示软件包的文件列表 |
-p | 查询指定的rpm软件包 |
-q | 查询软件包 |
-R | 显示软件包的依赖关系 |
-s | 显示文件状态,本参数需配合”-l”参数使用 |
-U或—upgrade | 升级软件包 |
-v | 显示命令执行过程 |
-vv | 详细显示指令执行过程 |
参考实例:
# 直接安装软件包:
[root@linuxcool ~]# rpm -ivh packge.rpm
# 忽略报错,强制安装:
[root@linuxcool ~]# rpm --force -ivh package.rpm
# 列出所有安装过的包:
[root@linuxcool ~]# rpm -qa
# 查询rpm包中的文件安装的位置:
[root@linuxcool ~]# rpm -ql ls
# 卸载rpm包:
[root@linuxcool ~]# rpm -e package.rpm
# 升级软件包:
[root@linuxcool ~]# rpm -U file.rpm
find
说明:查找和搜索文件
语法格式:find [路径] [参数] [查找和搜索范围]
find path -option [-print ] [-exec -ok command ] {} \;
常用参数:
-name | 按名称查找 |
---|---|
-size | 按大小查找 |
-user | 按属性查找 |
-type | 按类型查找 |
-iname | 忽略大小写 |
参考实例:
# 使用-name参数查看/etc目录下面所有的.conf结尾的配置文件:
[root@linuxcool ~]# find /etc -name "*.conf
# 使用-size参数查看/etc目录下面大于1M的文件:
[root@linuxcool ~]# find /etc -size +1M
# 查找当前用户主目录下的所有文件:
[root@linuxcool ~]# find $HOME -print
# 列出当前目录及子目录下所有文件和文件夹:
[root@linuxcool ~]# find .
# 将当前目录及其子目录下所有最近 20 天内更新过的文件列出
[root@linuxcool ~]# find . -ctime -20
# 在/home目录下查找以.txt结尾的文件名:
[root@linuxcool ~]# find /home -name "*.txt"
# 在/var/log目录下忽略大小写查找以.log结尾的文件名:
[root@linuxcool ~]# find /var/log -iname "*.log"
# 将当前目录及其子目录中的所有文件列出:
[root@linuxcool ~]# find . -type f
# 搜索超过七天内被访问过的所有文件:
[root@linuxcool ~]# find . -type f -atime +7
# 搜索访问时间超过10分钟的所有文件:
[root@linuxcool ~]# find . -type f -amin +10
# 找出/home下不是以.txt结尾的文件:
[root@linuxcool ~]# find /home ! -name "*.txt"
# 查找 /var/log 目录中更改时间在 7 日以前的普通文件,并在删除之前询问它们:
[root@linuxcool ~]# find /var/log -type f -mtime +7 -ok rm {} \;
# 查找当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件:
[root@linuxcool ~]# find . -type f -perm 644 -exec ls -l {} \;
磁盘管理
df
说明:显示磁盘空间使用情况。英文全称即“Disk Free”,顾名思义功能是用于显示系统上可使用的磁盘空间。默认显示单位为KB,建议使用“df -h”的参数组合,根据磁盘容量自动变换合适的单位,更利于阅读。
日常普遍用该命令可以查看磁盘被占用了多少空间、还剩多少空间等信息。
语法格式:df [参数] [指定文件]
常用参数:
-a | 显示所有系统文件 |
---|---|
-B <块大小> | 指定显示时的块大小 |
-h | 以容易阅读的方式显示 |
-H | 以1000字节为换算单位来显示 |
-i | 显示索引字节信息 |
-k | 指定块大小为1KB |
-l | 只显示本地文件系统 |
-t <文件系统类型> | 只显示指定类型的文件系统 |
-T | 输出时显示文件系统类型 |
— -sync | 在取得磁盘使用信息前,先执行sync命令 |
参考实例:
# 显示磁盘分区使用情况:
[root@linuxcool ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
devtmpfs 1980612 0 1980612 0% /dev
tmpfs 1994756 0 1994756 0% /dev/shm
tmpfs 1994756 1040 1993716 1% /run
tmpfs 1994756 0 1994756 0% /sys/fs/cgroup
/dev/mapper/fedora_linuxhell-root 15718400 2040836 13677564 13% /
tmpfs 1994756 4 1994752 1% /tmp
/dev/sda1 999320 128264 802244 14% /boot
tmpfs 398948 0 398948 0% /run/user/0
# 以容易阅读的方式显示磁盘分区使用情况:
[root@linuxcool ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 2.0G 1.1M 2.0G 1% /run
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/mapper/fedora_linuxhell-root 15G 2.0G 14G 13% /
tmpfs 2.0G 4.0K 2.0G 1% /tmp
/dev/sda1 976M 126M 784M 14% /boot
tmpfs 390M 0 390M 0% /run/user/0
# 显示指定文件所在分区的磁盘使用情况:
[root@linuxcool ~]# df /etc/dhcp
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/fedora_linuxcool-root 15718400 2040836 13677564 13% /
# 显示文件类型为ext4的磁盘使用情况:
[root@linuxcool ~]# df -t ext4
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda1 999320 128264 802244 14% /boot
fdisk
说明:磁盘分区。英文全称是“Partition table manipulator for Linux”,即作为磁盘的分区工具。进行硬盘分区从实质上说就是对硬盘的一种格式化, 用一个形象的比喻,分区就好比在一张白纸上画一个大方框,而格式化好比在方框里打上格子。
语法格式:fdisk [参数]
常用参数:
-b | 指定每个分区的大小 |
---|---|
-l | 列出指定的外围设备的分区表状况 |
-s | 将指定的分区大小输出到标准输出上,单位为区块 |
-u | 搭配”-l”参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址 |
-v | 显示版本信息 |
参考实例:
# 查看所有分区情况:
[root@linuxcool ~]# fdisk -l
# 选择分区磁盘:
[root@linuxcool ~]# fdisk /dev/sdb
在当前磁盘上建立扩展分区:
[root@linuxcool ~]# fdisk /ext
# 不检查磁盘表面加快分区操作:
[root@linuxcool ~]# fdisk /actok
# 重建主引导记录:
[root@linuxcool ~]# fdisk /cmbr
lsblk
说明:查看系统的磁盘英文是“list block”,即用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。
lsblk命令包含在util-linux-ng包中,现在该包改名为util-linux。
语法格式:lsblk [参数]
常用参数:
-a | 显示所有设备 |
---|---|
-b | 以bytes方式显示设备大小 |
-d | 不显示 slaves 或 holders |
-D | print discard capabilities |
-e | 排除设备 |
-f | 显示文件系统信息 |
-h | 显示帮助信息 |
-i | use ascii characters only |
-m | 显示权限信息 |
-l | 使用列表格式显示 |
-n | 不显示标题 |
-o | 输出列 |
-P | 使用key=”value”格式显示 |
-r | 使用原始格式显示 |
-t | 显示拓扑结构信息 |
参考实例:
# lsblk命令默认情况下将以树状列出所有块设备:
[root@linuxcool ~ ]# lsblk
lsblk NAME MAJ:MIN rm SIZE RO type mountpoint
sda 8:0 0 232.9G 0 disk
├─sda1 8:1 0 46.6G 0 part /
├─sda2 8:2 0 1K 0 part
├─sda5 8:5 0 190M 0 part /boot
├─sda6 8:6 0 3.7G 0 part [SWAP]
├─sda7 8:7 0 93.1G 0 part /data
└─sda8 8:8 0 89.2G 0 part /personal
sr0 11:0 1 1024M 0 rom
# 默认选项不会列出所有空设备:
[root@linuxcool ~]# lsblk -a
# 也可以用于列出一个特定设备的拥有关系,同时也可以列出组和模式:
[root@linuxcool ~]# lsblk -m
# 要获取SCSI设备的列表,你只能使用-S选项,该选项是用来以颠倒的顺序打印依赖的:
[root@linuxcool ~]# lsblk -S
# 例如,你也许想要以列表格式列出设备,而不是默认的树状格式。可以将两个不同的选项组合,以获得期望的输出:
[root@linuxcool ~]# lsblk -nl
备份压缩
zip
说明:压缩文件。zip 是个使用广泛的压缩程序,压缩后的文件后缀名为 .zip。
语法格式:zip [参数] [文件]
zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时间>][-<压缩效率>][压缩文件][文件…][-i <范本样式>][-x <范本样式>]
常用参数:
-A | 调整可执行的自动解压缩文件 |
---|---|
-b <工作目录> | 指定暂时存放文件的目录 |
-c | 替每个被压缩的文件加上注释 |
-d | 从压缩文件内删除指定的文件 |
-D | 压缩文件内不建立目录名称 |
-f | 更新现有的文件 |
-F | 尝试修复已损坏的压缩文件 |
-q | 不显示指令执行过程 |
-r | 递归处理,将指定目录下的所有文件和子目录一并处理 |
-z | 替压缩文件加上注释 |
-v | 显示指令执行过程或显示版本信息 |
-n<字尾字符串> | 不压缩具有特定字尾字符串的文件 |
参考实例:
# 将 /home/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip:
[root@linuxcool ~]# zip -q -r html.zip /home/html
# 压缩文件 cp.zip 中删除文件 a.c:
[root@linuxcool ~]# zip -dv cp.zip a.c
# 把/home目录下面的mydata目录压缩为mydata.zip:
[root@linuxcool ~]# zip -r mydata.zip mydata
# 把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip:
[root@linuxcool ~]# zip -r abc123.zip abc 123.txt
# 将 logs目录打包成 log.zip:
[root@linuxcool ~]# zip -r log.zip ./logs
unzip
说明:解压缩zip文件。用于.zip格式文件的解压缩工具
语法格式:unzip [参数] [文件]
unzip [-cflptuvz][-agCjLMnoqsVX][-P <密码>][.zip文件][文件][-d <目录>][-x <文件>] 或 unzip [-Z]
常用参数:
-l | 显示压缩文件内所包含的文件 |
---|---|
-v | 执行时显示详细的信息 |
-c | 将解压缩的结果显示到屏幕上,并对字符做适当的转换 |
-f | 更新现有的文件 |
-n | 解压缩时不要覆盖原有的文件 |
-j | 不处理压缩文件中原有的目录路径 |
-p | 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换 |
-P <密码> | 使用zip的密码选项 |
参考实例:
# 把/home目录下面的mydata.zip解压到mydatabak目录里面:
[root@linuxcool ~]# unzip mydata.zip -d mydatabak
# 把/home目录下面的wwwroot.zip直接解压到/home目录里面:
[root@linuxcool ~]# unzip wwwroot.zip
# 把/home目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到/home目录里面:
[root@linuxcool ~]# unzip abc\*.zip
# 查看把/home目录下面的wwwroot.zip里面的内容:
[root@linuxcool ~]# unzip -v wwwroot.zip
# 验证/home目录下面的wwwroot.zip是否完整:
[root@linuxcool ~]# unzip -t wwwroot.zip
工具命令
supervisord
说明:supervisor是一个用 Python 写的进程管理工具,可以很方便的用来在 UNIX-like 系统(不支持 Windows)下启动、重启(自动重启程序)、关闭进程(不仅仅是 Python 进程)。
语法格式: supervisord [参数]
常用参数:
status | 查看程序状态 |
---|---|
start | 启动程序 |
stop | 关闭程序 |
restart | 重启程序 |
reread | 读取有更新(增加)的配置文件,不会启动新添加的程序 |
update | 重启配置文件修改过的程序 |
参考实例:
# 查看进程运行状态:
[root@linuxcool ~]# supervisorctl status
# 启动进程:
[root@linuxcool ~]# supervisorctl start 进程名
# 关闭进程:
[root@linuxcool ~]# supervisorctl stop 进程名
# 清空进程日志:
[root@linuxcool ~]# supervisorctl clear 进程名
# 重新载入配置文件:
[root@linuxcool ~]# supervisorctl update
安装配置:
http://supervisord.org/
使用 supervisor 管理进程 Linux进程管理工具之Supervisor的使用