Linux常用命令全

📑打牌 : da pai ge的个人主页

🌤️个人专栏 : da pai ge的博客专栏

☁️宝剑锋从磨砺出,梅花香自苦寒来

☁️运维工程师的职责:监控,备份,应急故障处理

​​

网站 账户:y2406

密码:hongfu2406

贝尔实验室 UNIX VUNIX: (不开源)

1969肯 • 汤普森 开发出了UNIX系统 肯 • 汤普森的同事丹尼斯 • 里奇发明了C语言

加州大学伯克利分校:90% 10% BSD NIX little

1987Minix andrew(爱得文)安德鲁h

1991Linux 李纳斯

版本分类:

内核版:www. kernel. org

发行版:

RedHat 系列:

Fedora:(个人版):

RHEL:(RedHat Enterprise Linux):

两个系列发行版的最大区别:

软件包管理系统: (Windows和Linux软件包不兼容)

RedHat 系列安装方式←

源码包:

(在官网手工下载)↔←

优点: 开源、安全、稳定

缺点: 安装时间长(需要本机编译)本机编译容易报错,初学者很难解决

二进制包(RPM包):在安装光盘中

优点:安装速度快,报错概率低

缺点:不再开源 依赖性(a->b->c) 要倒着安装即cba

主要安装方式:←

手工命令安装: (需要人工解决依赖性)

yum 在线安装: (全自动解决依赖性)

(Cent0s停止维护了)(自建yum源)

Debian系列: ubuntu 乌班图

源码包:

二进制包(DEB)包:←

手工命令安装:←

apt-get 安装: (在线源程序池不一致)

开源软件

  • Apache: web服务器
  • Nginx: web服务器
  • MySQL: 数据库(SQLserver , Oracle)
  • PHP: 脚本语言

Samba(不用): Linux和windows之间的内网文件服务器

  • MongoDB: NoSQL数据库 redis
  • Python: 脚本语言
  • Ruby: 脚本语言
  • Sphinx: 中文分词

原则: Linux一切皆文件 在7多了一个unit(不是文件可以不管)

Linux安装流程:

如图:

1选择分区表:把大硬盘分为小的逻辑分区

MBR GPT

2格式化 写入文件系统 EXIT4 centos6 XFS 7

3分区设备文件名 给每个分区定义设备文件名

/dev/hda1 hd: IDE接口(光驱) (a:第一块硬盘)(1:第一个分区)

/dev/sda1 sd::SATA接口、SCSI、USB)(主要用)←

/dev/nvme0nlpx (nyme:接口)(0:第一个模块)(n1:第一块硬盘)(p1:第一个分区)

例子

/dev/sdb7(第二块 SATA 接口硬盘,第三个逻辑分区) ps:/dev 读法是dev的根目录, /是挂载

4、分配挂载点(已经建立的空目录作为挂载点)

挂载(mount):把分区设备文件名和空目录(挂载点)连接起来的过程,叫做挂载 :也是给每个分区分配挂载点

挂载点:

必须建立:

/(根目录): 最高一级目录,是必备的目录 推荐预留足够大小,必备系统目录

swap(交换分区):虚拟内存。 推荐 4g是内存的两倍 4g以上和真实内存一样,16g则不需要配置(不建议) Windows也有

/boot/(启动分区):系统启动相关文件 推荐 500mb

推荐分区:(数据分区:根据具体情况建立)←

/www/

/mysql/

/game/

/home/

补充:SELinux 增强安全组件: 一般服务器不装

1、虚拟机网络配置

2、Linux 网络配置<

1)nmtui<

网卡配置文件名: CentOs 6.x以前的版本eth0

Cent0s 7.x以后的版本:ens33

Ethernet:以太网(工作在数据链路层的网络是以太网)

2)重启网络服务(只要修改了配置文件,就需要重启才能生效)←

systemct1 start stop restart network (RPM包安装的服务,通过此命令管理)

查询: ifconfig (最小化安装,此命令不存在)"

3)关闭防火墙←

(

关闭防火墙启动:←

systemctl stop firewalld

关闭防火墙自启动:

systemctl enable disable firewalld

补充 命令

Xshell 远程连接工具

Winscp文件拷贝工具

Packages 是Linux保证RPM包的地方'

Ps: 光驱/dev/cdrom或dev/sr0 cent6的命名方式 /dev/hdc

Linux注意事项

1严格区分大小写

2Linux一切皆文件

3 Linux不靠扩展名区分文件类型 (所有推荐在不管touch什么文件都有写扩展名)

exe 文件不推荐在Linux上运行

压缩包:Linux下常见的压缩文件名有*.g2、*.bz2、*.zip、*.tar.gz、*.tar.bz2、*.tgz 等

4.Linux中所有的存储设备都必须在挂载之后才能使用 mount /dev/sr0 /空目录

区别是 Windows是半自动的(插进去是自动的,拔出去是要手动弹)。Linux是本机,硬盘是全自动的。移动设备的是手动的,严禁设成半自动,因为 Linux 识别的是开机自动挂载,而不是即插自动挂载。严禁移动设备u 盘、光盘 开机自动挂载 (如果你有一次开机没装光盘,那么Linux会直接死机)

5.Windows下的程序不能直接在 Linux中使用

Windwow可执行文件 bat msi exe Linux不可以写

服务器管理

1目录

1

目录讲解:

家目录:

超级用户:/root/

普通用户: /home/用户名/

补充:快捷键:

ctrl+l: 清屏

ctrl+c: 强制终止 (ctrl+z:放入后台)

ctrl+u: 从光标清除到行首

ctrl+y: 粘贴 ctrltu剪切内容

ctrl+a:光标移动到行首←

ctrl+e:光标移动到行尾

tab 命令和文件补全

xshe11 快捷键:

复制 :ctrl+insert:

粘贴 :shift+insert:

终结: 请记住基本根目录的作用,就/root 和/ tmp 可以进行实验。可以看的目录/bin /etc(大部分要学习的目录)/mnt 源码包安装目录 默认/usr/local/ 下载位置在/usr/local/src /usr/local/kernel

s是保存内核的位置 /var/spool/cron 是定时任务的位置 rpm包安装目录是不确定的, 目前就 /var/www/html 是Apache /var/lib/mysql 是MySQL

2.远程服务器关机及重启时的注意事项

不可以关机服务器 一般都是会有备份服务器

2.1远程服务器在重启前,要中止正在执行的服务 (建议服务器要把网站给停了,在重新启动) 重新启动命令推荐 shutdown -r now / reboot 这个命令sync要在重新启动命令之前按一次

3.不要在服务器访问高峰运行高负载命令

一般我们建议在凌晨 4:00-5:00执行这些命令(通过编写脚本来自动化执行)

4.远程配置防火墙时不要把自己踢出服务器(工作中会出现的错误 rm -rf 误删 还有就是这个防火墙)

建议在写防火墙时,先写一个系统定时任务,让它每5分钟清空一下防火墙规则

5.指定合理的密码规范并定期更新

设置密码需要遵守复杂性、易记忆性和时效性

6.合理分配权限

服务器管理有一个最简单的原则:给予用户最小的权限。

7.定期备份重要数据和日志

备份的基本原则:不要把鸡蛋放在同一个篮子里

补充

alias 命令别名:照顾管理员使用习惯的

临时生效: alias viens = '/usr/bin/vim /etc/sysconfig/network-scripts/ifcfg-ens33'

永久生效:

针对个人生效: ~ /.bashrc

针对所有人生效: /etc/bashrc

Ps:whoami 显示当前登录用户的名字

解决命令:dos2unix window文本 / unix2dos linux脚本(建议不要用Windows写shell脚本)

vim三种模式

一命令模式

都是要记住的

h 键:向左移动一个字符。

j 键:向下移动一行。

k 键:向上移动一行。

l 键:向右移动一个字符。

二输入模式

a在光标所在字符后插入

A在光标所在行尾插入

i在光标所在字符前插入

I在光标所在行行首插入

o在光标下插入新行

O在光标上插入新行

三编辑模式(末行模式)

:w保存不退出

:q不保存退出

:wq保存退出:

:!强制

:q! 强制不保存退出,用于修改文件之后,不保存数据退出。

:wq! 强制保存退出,当文件的所有者或者root用户,对文件没有写权限的时候,强制写入数据使用

Linux常用命令

第一位字符:文件类型-普通文件。b:块设备文件。d:目录文件,:

第二至十位:文件权限,前三位表示文件所有者权限。再三位文件所属组,最后三位表示其他用户(其他人)

组:拥有相同权限用户的集合。

每类身份用三位字符表示,分别是rwx,r读,w写,x执行:

. 表示SELinux

1表示文件链接数量 : 有几个文件记录了相同的inode号

文件所有者:默认为创建文件的用户,

文件所属组:默认为创建文件的用户的当前组。

根目录(不存在):逻辑上一切硬盘分区的起始点。(排除挂载点以外的就是根分区,或者boot以外是根分区)

sdb1 #分区

/disk1 #空目录 ,可以作为sdb1挂载点使用。

#挂载,Is /disk1 touch /disk1/a.txt

终端名称: 使用tty命令

本地终端: ttyn #n表示数字,默认范围1-6。(本地字符界面登录)

虚拟终端:pts/n #n表示数字。(本地图形化和远程连接)

绝对路径:以根(/)为起始点的路径表达方式。

相对路径:不以根(/)为起始点的路径表达方式。 像 ./ . 代表当前目录 .. 代表上一级目录

目录是保存文件名称的。不允许写入其他数据

挂载光盘:(因为光盘只能读所以要挂载)

mount-t iso9660 /dev/sr0 /mnt

挂载命令 文件系统类型 设备文件 挂载点

rpm -ivh/mnt/Packages/tree-1.6.0-10.el7.x86 64.rpm #安装tree命令包。

systemd 所有进程当中的第一个进程并且永远不变 atd 进程计划任务 bash命令解释器(帮助内核识别运行大部分命令(像ls,pwd等)) 进程不唯一进程号(pid)唯一,并且pid是会变的

文件系统: 1.block:文件系统中存储数据的最小单元,ext4、xfs等文件系统中,创建时默认4k,分为存储文 件数据的data block和存储目录数据的directory block。

2.inode:又称"索引节点",每一个inode对应一个文件或目录,记录了文件的大小、所占用的 block以及目录的directory block信息。

3.Inode Bitmap:翻译成中文就是"inode位图",用二进制的方式记录了inode的使用情况。

4.Block Bitmap:翻译成中文就是"块位图",同Inode Bitmap,用二进制方式记录了块的使用情况

硬链接:多个文件,名称、保存路径都不相同,但是inode相同。

1.文件创建硬链接后,链接数量+1。每删除一个文件,文件链接数量-1。

2.互为硬链接的文件之间,修改任意一个其余均会发生变化。

3.硬链接无法跨分区创建。

4.目录无法创建硬链接。

软链接(符号链接):

1.软链接和原文件之间inode号不同。

2.软链文件类型为l,软链接默认权限最大。

3.修改软链接,源文件会发生变化。修改源文件,软链接也会发生变化。

4.删除软链接,源文件不受影响。删除源文件,软链接失效。

5.软链接可以跨分区创建。

6.创建软链接,建议写绝对路径。

7.目录可以创建软链接。

Linux常用命令

1命令名称:ls(显示目录文件)
命令的格式:命令 [-选项] [参数]
-a 显示所有文件,包括隐藏文件
-l 详细信息显示下面的命令都必须配合l使用或者a
-d 查看目录属性
-h 文件大小显示为常见单位
-i 查询文件的inode号
-R 递归显示目录及其子目录
-n 显示文件的UID和GID Linux系统根据userid 和group id 来识别文件所有者

2、命令名称:touch(创建空文件/更新修改和访问时间)
命令格式:touch 文件名 可以用的字符有- _ . 最好不要有空格
Linux文件命名规则:
(1)除了/之外,所有字符都合法。
(2)有些字符最好不用。
(3)避免使用.作为普通文件开头。
(4)Linux严格区分大小写。
(5)长度不能大于255字符。

3、命令名称:mkdir(创建新目录) 目录带.d
命令格式:命令:[-选项] [参数]
-v 显示创建过程
-p 递归创建

4、命令名称:cd(切换目录)
命令格式:命令 [-选项] [参数]
语法:cd 目录
cd ~ 进入当前用户的家目录
cd - 进入上次目录 只能来回切换
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd . 进入当前目录

5、命令名称:pwd(显示当前所在目录)

6、命令名称:tree(显示目录树)
命令格式:tree 目录
-d 只显示目录

(在centos7.x下需要安装后才可使用)

6.5、命令名称:pstree(查看进程树之间的关系)

格式:pstree [选项]

-A:进程树之间的链接以ASCII码字符链接。

-p:同时列出每个进程的PID。

-u:同时列出每个进程的所属账号名称。

7、命令名称:cp(复制、复制并改名)

命令格式:cp 源文件或目录 目标目录

-r 复制目录

-p 保留文件属性

-a 相当于-rp

8、命令名称:mv(剪切、改名)

9、命令名称:rm (删除)

-r 删除目录

-f 强制删除

10、命令名称:rmdir(删除空目录)

-p 递归删除空目录

-v 显示指令执行过程

11、命令名称:cat(显示文件内容)

命令格式:cat 文件名

-n 列出行号

cat 显示多个文件内容

cat 将多个文件合并(按照文件先后顺序) (如文件超过一页内容后只能显示最后一页的内容)

12、命令名称:more(分页显示文件内容)

b 向上翻页(打开文件时使用)

空格 向下翻页

Enter 换行

q或Q 退出

13、命令名称:less(分页显示文件内容)

命令格式:less 文件名

显示文件内容的时候支持关键词查找。

14、查看文件首部指定行:head

-n 数字 #查看文件指定首部n行。

15、查看文件指定尾行:tail

-n 数字 #查看文件尾行。

-f #持续显示文件变化情况。

16、命令名称:ln(生成链接文件)

-s 创建符号链接

二、权限管理命令:

-rw-r--r-- 1 root root 08-11 01:45 aa.txt 权限位是十位

第一位:代表文件类型- 普通文件 d 目录文件 l 链接文件 b 块设备文件 c 字符设备文件 s 套接字(保存ip和端口的组合) p 管道(让两个进程进行相连) ps netstat -anpt 监听端口 命令文件一定有可执行权限

其余九位为权限: r w x r w x r w x

读 写 执行 读 写 执行 读 写 执行

4 2 1 4 2 1 4 2 1

文件所有者(u) 文件所属组(g) 其他用户(o)other

  1. 命令名称:chmod(修改文件的权限) 命令格式:
  2. chmod u+x 文件
  3. chmod g+w,o+w 文件
  4. chmod u=rwx 文件
  5. chmod 644 文件 最常用

2、命令名称:chown(修改文件或目录的所有者,所属组 changewode)

命令格式:chown user1 ss

chown user1:user2 ss

chown :user1 ss

3、命令名称:chgrp(改变文件或目录的所属组)

命令格式:chgrp 用户组 文件或目录 chgrp roushan ss

4、命令名称:umask(显示和设置掩码值) 对目录和文件生效,

在默认掩码为0022下文件最大权限为644,目录最大权限为755.
777

-022

755

三、查找命令:

1、命令名称:which(查看命令文件位置和命令可能出现的别名)

2、whereis(查找命令及帮助文档所在位置)

3、locate(按照文件名查找,按照数据库查找)

updatedb 强制更新数据库

locate命令的使用实例:

# locate /etc/sh 搜索etc目录下所有以sh开头的文件。

在使用locate命令时,要使用绝对路径查询。

4、命令名称:find(搜索系统中符合条件的文件)

-name 根据文件名查找

通配符:

* 任意多个字符

? 任意一个字符

[ ] 指范围值,外侧加引号

-size 根据大小查找

find ./ -size -10k 查找小于10k的文件或目录

find ./ -size -10M 查找小于10M的文件或目录

find ./ -size +10G 查找大于10G的文件或目录

-user 根据所有者查找

find / -user root 查找根下所有root用户的文件

-group 根据所属组查找 find / -group root 查找根下所有root组的文件

-perm 根据文件权限查找 find /boot -perm 644

-按时间查找 按天 ctime atime mtime

按分钟 cmin amin mmin

c change 表示属性被修改过:所有者、所属组、权限

a access 被访问过(被查看过)

m modify 表示内容被修改过

find /etc -mmin -120 查找120分钟内内容被修改过的

find /etc -ctime +7 查找七天之前属性被修改过的

-type 根据文件类型查找

例:-type f 二进制文件(普通文件)

-type l 软连接文件

-type d 目录

-逻辑连接符

-a (and 逻辑与)

-o (or 逻辑或)

例:find /etc -size +1k -a -size -10k

#在etc目录小查找大于1k并且小于10k的文件

-命令执行连接符(对查找到的文件,进一步处理)

find ... -exec 命令 {} \;

{}表示find查询的结果集

\是转义符,不使用命令别名,直接执行命令。

;分号是表示语句结束

转义符:在Linux中有个别名机制,如rm删除文件,执行的却是rm -i(用which rm 可以查看命令 别名)使用rm删除文件前会提示确认信息,就因为rm -i 这个参数。如果想使用命令原意,可以在加 \转义。如:\rm tese.txt 不会提示,直接删除。

-inum 根据文件i节点查询

find ./ inum 231906 -exec rm {} \;

有一些文件的硬链接数量有很多,有相同的i节点,查找其中的一个文件的i节点号,一次性删除。

xargs命令:把前一个命令输出的结果当成多个参数。

例: find / -name "aaa*" | xargs rm -rf

5.grep "字符串" 文件名(在文件内查找符合条件的字符串行)

命令所在路径:/bin/grep

-v 反向选择

-i 忽略大小写

6.管道符 命令1 | 命令2 将命令1 的标准输出作为命令2的标准输入

更改模式为桥接模式的配置文件

BOOTPROTO="static" #静态IP:static/none 自动获取:dhcp

IPADDR=192.168.50.242 #IP地址。

NETMASK=255.255.255.0 #掩码。

GATEWAY=192.168.50.1 #网关。

DNS1=114.114.114.114 #DNS。

#修改完成后重启网卡生效:systemctl restart network

#修改网卡配置文件后:

6:if down ens33

6: if up ens33

7:nmcli con load 网卡配置文件

7:nmcli con up 网卡名称

Linux用户:

1.root用户/根用户/超级用户

2.普通用户。

3.管理员用户。

4.系统用户或服务用户:受shell类型限制不能登录系统,但可以使用系统资源(运行服务,服务运行变成进程会消耗资源)。

常见init运行级别:

init 0 #关机

init 3 #系统运行为字符级别

init 5 #系统运行为图形化级别

init 6 #重启系统

四.帮助命令:

  1. man 命令 查看命令的帮助

命令名称:man man -f 命令

#查看命令有哪些级别的帮助,在使用命令前要执行mandb生成man缓存信息,否则命令执行不成功。

图形界面因为安装原因所以比字符界面man级别更多。查看指定级别:

man 级别 命令 记住他是有级别的

  1. help 内部命令 查看内部的帮助信息

type 命令 的方式查看命令是否为内部命令。内部命令如cd、pwd、echo等。

外部命令如:ls、vi等命令。

  1. type查看命令类型(内建命令/外部命令)

[root@localhost ~]# type cd cd is a shell builtin

[root@localhost ~]# type ls

ls is aliased to `ls --color=auto'

Ps

  1. 命令 **--**help 查看命令的常见选项

  2. info 命令 #比man更详细的帮助命令。

  3. 回车:进入子帮助页面(带有*号标记) u:进入上层页面

n:进入下一个帮助小节p:进入上一个帮助小节q:退出

五.网络命令

  1. ping 测试网络连通性

-c 指定ping次数

  1. ifconfig 查询本机网络信息

ifconfig命令使用方法

注意:下面操作使用root用户(动态修改) 命令:ifconfig

作用:用来配置网络或显示当前网络接口的状态

上图信息大概说明:

第一行: UP-->网卡开启状态BROADCAST-->广播 RUNNING-->网线处理连接状态MULTICAST-->支持组播 mtu 1500-->(Maximum Transmission Unit)最大传输单元大小为1500字节

第二行:该网卡的IP地址,子网掩码,广播地址

第三行:IPV6的配置信息

第四行:网卡的MAC地址 ether表示连接类型为以太网txqueuelen 1000 --》传输队列的长度 第五六行:网卡接收数据包的统计信息和接收错误的统计信息

第七八行:网卡发送数据包的统计信息和发送错误的统计信息临时修改IP地址

例1:临时修改网卡IP地址

ifconfig 网卡名称 IP地址 直接修改网卡的IP地址,重启失效

[root@localhost Desktop]# ifconfig ens33 192.168.12.110 netmask 255.255.255.0

说明:修改后当前终端会终断,需要重新使用新的IP地址进行连接

systemctl restart network //CENTOS7的网卡重启方法

service network restart //CENTOS6的网卡重启方法

例2: 添加多个临时IP地址

ifconfig 网卡名称:0 第一个IP地址 (netmask 子网掩码) 增加一个IP

ifconfig 网卡名称:1 第二个IP地址 (netmask 子网掩码) 增加一个IP

[root@localhost ~]# ifconfig ens33:0 192.168.12.110 netmask 255.255.255.0 up

[root@localhost ~]# ifconfig

删除临时IP

[root@localhost ~]# ifconfig ens33:0 del 192.168.12.110

[root@localhost ~]# ifconfig

例3:添加真实网卡:

nmcli connection add con-name 网卡名称 type 接口类型 ifname 网卡名称

nmcli connection add con-name ens37 type ethernet ifname ens37

例4:停止或启动某网卡centos6:

[root@localhost ~]# if down eth0

[root@localhost ~]# if up eth0

centos7:

[root@localhost ~]# nmcli connection load /etc/sysconfig/network-scripts/ifcfg-ens33 #重载配置文件。

[root@localhost ~]# nmcli connection down ens33 #停止。

[root@localhost ~]# nmcli connection up ens33 #启动。

Ps:uuid 硬件设备的唯一标识 6以前要删 7可以采用nmcli命令解决

  1. w 查询当前登陆服务器的用户

第一行:当前时间,持续运行时间,登陆用户数量,1分钟,5分钟,15分钟 前的平均负载

第二行:用户名 TTY:登陆终端 FROM:来源IP 登陆时间

IDLE:用户闲置时间

JCPU:所有进程占用CPU时间PCPU:当前进程占用CPU时间
WHAT:用户正在进行的操作

  1. who 查询登录用户

  2. last 列出登陆系统的相关信息

第一列:用户名 第二列:终端位置

第三列:登录IP或内核版本第四列:开始时间

第五列:结束时间第六列:持续时间

  1. lastlog 显示所有账号最后一次的登陆时间
  1. write 用户名 给在在线用户写信

write root tty1 "发送内容" ctrl+d 保存,发送

  1. wall 对所有在线用户广播

wall 字符串 或 wall enter(回车) 字符串 ctrl+d

  1. mail 邮件命令

发信:

mail 用户名标题

内容

ctrl+d 结束 发送收信:

mail

h 列出邮件列表q 退出

  1. netstat 查看网络连接状态(用了排查网络问题的) -anpt

常见端口:

20 21 ftp服务 文件共享

22 ssh服务 安全的远程连接23 telnet

25 smtp:简单邮件传输协议 发信

110 pop3:邮局协议 收信
80 http超文本传输协议3306 mysql端口

3389 Windows终端端口

/etc/service 所有常见的端口

netstat -tlun 查看本机所有监听的端口

-t tcp协议

-u udp协议

-l 监听

-n 以IP和端口的形式显示信息

-a 显示所有选项

-p 显示建立相关连接程序名

例:

列出所有端口:netstat -a | more

列出所有tcp端口:netstat -at 列出所有udp端口:netstat -au 只显示监听端口:netstat -l

只列出所有监听tcp端口:netstat -lt 只列出所有监听udp端口:netstat -lu

六.关机和重启命令

  1. 关机

poweroff 掉电关机

init 0 以0级别运行

shutdown -h now now也可以替换为具体时间 shutdown -c 取消关机

shutdown +5 "system will shutdown after 5 minutes" #设定5分钟后关机,发给所有用户关机提示信息告知登录用户。

此命令执行五分钟后,登录的用户将退出登录,但系统并不会关闭。需要自行shutdown -h now进行关机(C7此命令直接关闭系统)。shutdown +2 -h "system will shutdown after 1 minutes" #如果想要关闭系统并提示用户即将关机信息那么要执行此命令

  1. 重启

shutdown -r now reboot

init 6

  1. 数据同步

Sync :用户通常不需执行sync命令,系统会自动将缓冲区的数据写 入磁盘。只有用户需要非正常关机时,才需手动执行sync命令。举例:500kb写一次 刚写200kb 时间没到电脑要关机 sync会检查内存缓冲区中,并把他写入磁盘在关机

七.挂载命令

Linux系统一切设备皆文件。比如第一张光盘,会被自动识别为/dev/sr0(设备文件的命名方式是主设备号加次设备号。主设备号说明设备类型,次设备号说明是第几个设备),但并此时的光盘还不能正常的读取。需要先进行挂载而后才能进行正常的读取。需要指定挂载点并执行挂载命令。(不同的光盘之间需要重新挂载并指定挂载点才能正常使用)

1.mount 查询系统中已经挂载的设备

常见的存储设备:

/dev/sda1 第一个scsi硬盘的第一个分区

/dev/cdrom 光盘

/dev/sr0 光盘

常用挂载点见目录挂载格式:

mount -t 文件系统类型 -o 特殊选项 设备文件名 挂载点

-t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3,ext4,iso9660等文件系统。

-o 特殊选项:可以指定挂载的额外选项,比如读写权限,同步异步等,如果不指定则默认值

生效。

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

例1:mount 查看挂载信息

/dev/sda1 on /boot type ext4 (rw)

我们查看到/boot分区已经被挂载,而且采用的defaults选项,那么我 们重新挂载分区,并采用noexec 权限禁止执行文件执行,看看会出现什么 情况(注意不要用/分区做试验,不然系统命令也不能执行了)

[root@localhost ~]# mount -o remount,noexec /boot [root@localhost ~]# cp /usr/bin/ls /boot [root@localhost ~]# /boot/ls

-bash: /boot/ls: 权限不够

[root@localhost ~]# mount -o remount,exec /boot

例2:挂载硬盘分区,移动硬盘[root@localhost ~]# mkdir /mnt/disk1 #创建挂载点

[root@localhost ~]# mount /dev/sdb1 /mnt/disk1 #挂载硬盘分区或者移动硬盘

例3:挂载光盘

[root@localhost ~]# mount -t iso9660 /dev/sr0 /mnt/cdrom
#/mnt/cdrom必须是已存在的目录

例4:挂载U盘

[root@localhost ~]# fdisk -l #查看当前系统下的存储设备,确认U盘的设备名称[root@localhost ~]# mount -t vfat /dev/sdb1 /mnt/usb #fat32格式的U盘挂载方式

-t vfat fat32

-t fat fat16

注:Linux默认情况不识别NTFS格式

例5:挂载.iso文件

mount -o loop /root/CentOS-7-x86_64-DVD-1810.iso /mnt/ 加入loop选项让文件以块设备的方式进行挂载。

例6:卸载

umount 设备名称或挂载点#所有挂载的设备卸载方式都一样

例7:挂载NTFS格式

yum -y install epel-release yum -y install ntfs-3g

mount -t ntfs-3g /dev/sdb1 /media/ ls /media

挂载注意事项:

同一个文件系统不应该重复挂载在不同的挂载点。同一个目录不应该重复挂载多个文件系统。

作为挂载点,一定要是空白目录。

八.打包压缩

  1. tar:文件的归档(打包)和压缩

归档和压缩文件的好处:节约硬盘的资源 ,加快文件传输速率用法:tar [选项] 压缩后生成文件 打包文件

参数:

-c:创建文件

-x:提取 解压还原文件

-v:显示执行详细过程

-f:指定备份文件
-t:列出压缩包中包括哪些文件,不解包,查看包中的内容

-C:指定解压位置

例1:对/boot/grub 目录打包并解包。

[root@localhost ~]# tar -cvf ./grub.tar /boot/grub/ 或:

[root@localhost ~]# tar cvf ./grub.tar /boot/grub/ tar: 从成员名中删除开头的"/"

/boot/grub/

/boot/grub/splash.xpm.gz [root@localhost ~]# ls ./gurb.tar

[root@localhost ~]# tar -xvf ./grub.tar #解压缩boot/grub/

boot/grub/splash.xpm.gz

[root@localhost ~]# ls ./boot #得到 boot 目录例 1:指定解压位置 -C [root@localhost ~]# tar xvf ./grub.tar.bz2 -C /opt/

tar: 从成员名中删除开头的"/"

/boot/grub/

/boot/grub/splash.xpm.gz [root@localhost ~]# ls /opt/ boot

例 2:把两个目录或目录+文件打包成一个软件包: [root@localhost ~]# mkdir ./back [root@localhost ~]# cp /etc/passwd back/

[root@localhost ~]# tar -cvf back.tar /boot/grub back/ /etc/passwd tar: 从成员名中删除开头的"/"

/boot/grub/

/boot/grub/splash.xpm.gz back/

back/passwd

/etc/passwd

例3:在打包过程中跳过某个或多个文件。

  • -exclude:指定跳过的文件。[root@localhost ~]# cp /etc/passwd ./back/

[root@localhost ~]# cp -a /etc/fstab ./back/

[root@localhost ~]# cp -a /etc/shadow ./back/ [root@localhost ~]# cp -a /etc/group ./back/ #创建目录和目录下文件。
[root@localhost ~]# tar exclude /root/back/group -cvf /root/back.tar /root/back/

#在打包过程中指定跳过group文件。

例 4:不解包,查看 tar 中的内容: [root@localhost ~]# tar -tvf /grub.tar

tar 归档+压缩:

常用参数:

-z:以 gzip 方式压缩 扩展名: tar.gz

-j:以 bz2 方式压缩的 扩展名:tar.bz2

-J:以 xz 方式压缩 扩展名:tar.xz

例 1:创建.tar.gz 包

[root@localhost ~]# tar -cvf /etc.tar /etc

[root@localhost test]# tar -zcvf /etc.tar.gz /etc

[root@localhost test]# tar -zxvf /etc.tar.gz

例 2:创建.tar.bz2 包

[root@localhost ~]# tar -jcvf /etc.tar.bz2 /etc

[root@localhost ~]# tar -jxvf ./etc.tar.bz2 #解压缩

[root@localhost ~]# tar jxvf ./etc.tar.bz2 C /opt #解压到 opt 目录下

例 3:创建.tar.xz 包

[root@localhost ~]# tar -Jcvf /etc.tar.xz /etc

[root@localhost ~]# tar -xvf /etc.tar.xz

对比三种压缩方式后压缩比例: [root@localhost ~]# ll -h /etc.tar*

  1. zip 管理压缩文件

zip 软件包解压缩命令:

zip 是压缩程序,unzip 是解压程序。例 1:压缩文件:

例 2:将所有.jpg 的文件压缩成一个 zip 包[root@localhost ~]# zip /all.zip *.jpg

例 3:压缩一个目录

[root@localhost ~]# zip -r /grub.zip /boot/grub

解压缩:

-d:指定解压目录。

[root@localhost ~]# unzip /grub.zip

[root@localhost ~]# unzip ./grub.zip d /opt/

  1. file 命令

作用:确定文件类型

用法: file /etc/passwd

注:linux 系统不根据后缀名识别文件类型用 file 命令查看文件的类型。[root@localhost ~]# file /etc/passwd

/etc/passwd: ASCII text

相关推荐
Mr. bigworth15 分钟前
Linux安装RabbitMQ
linux·运维·rabbitmq
稻草人ZZ24 分钟前
Keepalived部署
linux·服务器·网络·keepalived
乐维_lwops36 分钟前
双因子认证:统一运维平台安全管理策略
运维·服务器·安全
叫我龙翔1 小时前
【项目日记】仿mudou的高并发服务器 --- 实现缓冲区模块,通用类型Any模块,套接字模块
linux·运维·服务器·网络·c++
荼靡6032 小时前
shell(三)
linux·服务器·数据库
zym大哥大2 小时前
Linux的权限
linux·服务器
伴野星辰2 小时前
小乌龟TortoiseGit 安装和语言包选择
linux·运维·服务器
枫叶丹42 小时前
【在Linux世界中追寻伟大的One Piece】多线程(一)
java·linux·运维
残念ing2 小时前
【Linux】—简单实现一个shell(myshell)
linux·运维·服务器