扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Linux常用的命令可以分为以下几类:安装和登录命令、文件处理命令、系统管理相关命令、网络操作命令、系统安全相关命令、其它命令。
目前成都创新互联公司已为1000多家的企业提供了网站建设、域名、网页空间、网站托管、企业网站设计、太仓网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last。
文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln。
系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab。
网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup。
系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who。
其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。
Linux简介
Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。
它除了在服务器方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善Linux,使其最大化地适应用户的需要。
Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux不仅仅是被网络运维人员当作服务器使用,甚至当作网络防火墙,这是Linux的一大亮点。
linux基本操作命令如下:
1、查看内核版本:uname -a。
2、控制台-图形界面:init 5或者startx。
3、图形界面-控制台: init3或者直接注销。
4、如何查看ip地址:ifconfig。
5、配置ip:ifconfig eth0 ip地址。
6、重启:reboot 或者 shutdown -r now。
linux常用命令举例
cd命令这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径,如cd/root/Docements#切换到目录/root/Docementscd./path#切换到当前目录下的path目录中。
这是一个非常有用的查看文件与目录的命令,list之意,它的参数非常多,下面就列出一些我常用的参数吧,如下,l,列出长数据串,包含文件的属性与权限数据等a,列出全部的文件连同隐藏文件一起列出来d,仅列出目录本身,而不是列出目录的文件数据h,将文件容量以较易读的方式列出来R。
一、 su 、sudo 、限制root远程登陆
su- username
带用户环境切换用户
su- -c"touch /tmp/123.txt"user1
以user1用户创建/tmp/123.txt 文件
没有家目录的用户可以用模板新建家目录
mkdir-p /home/user4chownuser4:user4 /home/user4cp /etc/skel/.bash*/home/user4chown-R user4:user4 /home/user4/
普通用户临时授权root用户权限去执行一条命令
visudo
可以查看sudo配置文件
在命令前加入NOPASSWD: 执行sudo时就不需要再输入用户的密码
例子:
User_Alias USER=chen1,chen2
Cmnd_Alias SU=/usr/bin/su
USER ALL=(ALL) NOPASSWD:SU
禁止root用户远程登陆
vi/etc/ssh/sshd_configPermitRootLoginno//修改此处systemctl restart sshd.service
二、df命令、du命令、磁盘分区
df-h
自动适应文件大小的单位,查看磁盘使用情况
free
可以查看swap的使用情况
df-i
查看各个分区inode的使用情况
有的时候明明磁盘的内存还有剩余,但是却无法写入新文件,这时候就可能是inode用完了。
du-sh
自动适应单位显示文件或文件夹大小
du不加后缀的时候和du -l 一样,显示文件夹下文件的大小
du-lh
自动适应单位显示文件夹下文件的大小
fdisk-l
列出linux 的磁盘信息
fdisk/dev/sdb
m帮助,直接按p是查看分区情况 n新建分区 p建立主分区 e扩展分区 d删除分区,起始扇区默认2048就可以啦,last 扇区 +2G 就是将分区一的大小设置为2G;输错命令用ctrl +u清除
BLOCKS是分区的大小,system是分区的类型,主分区和逻辑分区都是linux,扩展分区是extended
主分区的分区号可以为空,而逻辑分区的分区号必须连续;逻辑分区以sdb5开始,分区之后输入w可以保存分区,q则不保存操作直接退出
三、磁盘格式化、磁盘挂载、手动增加swap空间
1.磁盘格式化
cat/etc/filesystems //查看系统支持的文件格式,centos7默认xfs,centos6默认ext4
mount//查看系统的文件格式
mke2fs
-t指定文件格式 ext4 、ext3
-b指定块大小,文件都比较大时,块可以大一点,比如视频、高清图片
比较小时可以将块设置小一点,加快读取速度
-m指定给root用户预留的空间大小,1就是1%,0.1就是0.1%
-i指定多少字节占一个inode号
如果不指定-t文件格式,则默认为ext2格式
mkfs.ext4/dev/sdb1 //将分区格式化为ext4格式mkfs.xfs -f/dev/sdb1 //将分区格式化为xfs格式\
分区只有挂载了才可以使用mount查询到,没有挂载的分区可以用
blkid/dev/sdb1
mkfs.ext4 == mke2fs -t ext4
mkfs.ext4与mke2fs支持的选项相同
xfs格式只能用mkfs.xfs 创建
2.磁盘挂载
mount/dev/sdb /mnt///将 /dev/sdb挂载到mnt下 mount UUID="2d8e7749-f2f7-4de5-b1b9-b6bf758d2f37"/mnt///这里的uuid是用blkid /dev/sdb 查到的
卸载磁盘
umount/dev/sdb
如果当前目录在/dev/sdb下则需要退出当前分区
也可以直接用
umount-l/dev/sdb umount-l/mnt/
mount
man mount 可以查看mount的具体用法
/defaults 可以查找默认用法
找到下面这一行
Use default options: rw, suid, dev, exec, auto, nouser, and async.
rw读写权限
suid可以设置suid权限
dev,系统默认不用管
exec可执行
auto自动挂载
nouser是否允许普通用户挂载,默认不允许
async 不实时同步内存的东西到磁盘(减轻磁盘压力)
mount -o remount,rw/dev/sdb //重新挂载
vi/etc/fstab //系统开机都挂载哪些文件
四、手动增加虚拟内存
ddif=/dev/zeroof=/tmp/newdisk bs=1M count=100//创建虚拟磁盘
if指定源,一般写/dev/zero,它是unix系统特有的一个文件,可以源源不断的提供'0',of指定目标文件,bs指定块大小,count指定块的数量
mkswap -f /tmp/newdisk//格式化为swapswapon /tmp/newdisk//将新建的swap加载free-m//显示内存使用大小,-m指定单位为mswapoff /tmp/newdisk//将虚拟内存卸载
五、lvm
lvm创建过程
创建物理卷创建卷组创建逻辑分区格式化为需要的格式挂载分区
具体介绍日志
fdisk /dev/sdb
t 选择分区,8e //将分区转换为lvm格式 ,w退出
创建物理卷
1.
yumprovides"/*/pvcreate"
通配查询pvcreate命令的软件包名
yum install -y lvm2//安装lvm
partprobe //生成分区文件
2.
pvcreate/dev/sdb1pvcreate /dev/sdb2pvcreate /dev/sdb3
pvdisplay查看已经创建的物理卷
创建卷组
1.pvs
可以直观的查看物理卷有哪些
2.创建卷组,将sdb1和sdb2设置为一个卷组
vgcreatevg1 /dev/sdb1 /dev/sdb2
vgdisplay可以查看卷组信息
创建逻辑分区
lvcreate-L100M-n lv1 vg1
从vg1卷组中创建名字为lv1大小100M的逻辑分区
-L指定分区大小
-n指定分区名字
将分区格式化为ext4格式
mkfs.ext4 /dev/vg1/lv1
然后将文件挂载
mount/dev/vg1/lv1 /mnt
ext4扩容逻辑分区
umount/mnt///卸载分区lvresize -L200M/dev/vg1/lv1 //扩展分区e2fsck -f/dev/vg1/lv1 //检查磁盘是否有错误resize2fs/dev/vg1/lv1 //更新逻辑分区大小,不然重新挂载会无法识别扩容的大小
ext4缩容
umount/mnt///卸载分区e2fsck -f/dev/vg1/lv1 //检查磁盘是否有错误resize2fs/dev/vg1/lv1 100M //将分区缩小为100Mlvresize -L100M/dev/vg1/lv1 //重新设置卷大小
xfs扩容
1.扩容与缩容不会更改分区中的文件,xfs只可以扩容不可以缩容;
2.如果磁盘已经挂载要先umount 卸载
然后格式化为xfs.
mkfs.xfs-f/dev/vg1/lv1
XFS的扩容不需要先卸载,直接扩容即可
lvresize -L200M /dev/vg1/lv1 xfs_growfs/dev/vg1/lv1 //更新分区大小
关于扩容缩容的总结
ext4可以扩容和缩容而且需要卸载后操作,xfs只可以扩容,不需要卸载
ext4扩容
lvresize -L 100M /dev/vg1/lv1e2fsck-f/dev/vg1/lv1resize2fs /dev/vg1/lv1
缩容
e2fsck-f/dev/vg1/lv1resize2fs /dev/vg1/lv1 100Mlvresize -L 100M /dev/vg1/lv1
xfs扩容
lvresize-L100M/dev/vg1/lv1xfs_growfs /dev/vg1/lv1
在分区空间用完之后就需要扩容卷组,然后再扩容
卷组扩容
vgextendvg1 /dev/sdb3
将 /dev/sdb3加入到vg1卷组
每个Linux使用者在安装Linux时都会遇到这样的困境:在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某个分区需要的容量,还要预见该分区以后可能需要的容量的最大值。如果估计不准确,当遇到某个分区不够用时管理员可能甚至要备份整个系统、清除硬盘、重新对硬盘分区,然后恢复数据到新分区
逻辑卷管理器LVM(Logicl Volume Manager),通过使用逻辑卷管理器对硬盘存储设备进行管理,可以实现硬盘空间的动态划分和调整,而且可以将零碎的空间进行整合
• 物理卷(PV-Physical Volume)
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘
• 卷组(VG-Volumne Group)
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组
• 逻辑卷(LV-Logical Volume)
逻辑卷建立在卷组之上,卷中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组
逻辑卷管理器和是主分区还是逻辑分区没有关系
vgdisplay 里的PE Size是指逻辑卷的最小单位。假设PE Size是4M;比如我向里写东西。我一个文件可能只占用1B的容量,但是我先占上4M,其他的也是,不足4M我也先占上4M。等到每个块都用了,但是每个块都有剩余位置的时候,会把每个区的剩余位置都拼凑一下,以供使用。但是只要还有没被占用的块,都不会使用用过的块。逻辑卷大小为这个PE Size的整数倍
处在它所在的文件夹的时候是无法卸载的
我现在想创建两个卷组,vg1和vg2。sdc1和sdc2给vg1,sdc3和sdc4给vg2
修改卷组属性,用来设置卷组是否处于活动状态,活跃状态的时候卷组无法被删除,非活动状态的卷组才能被删除掉。VG Status:resizable是表示可被调整大小的状态。lvremove时有可能因为逻辑卷里东西过多导致删除逻辑卷的时候假删除,即逻辑卷没了,但是里面东西还在,这时卷组觉得它里面还有东西,就会处于活跃状态,这时需要↓
接下来resize1要用来做块(逻辑卷)的放大,resize2要用来做块的缩小。设备放大时不论是挂载状态下或非挂载状态下都可以做放大,即在线放大。但是缩小的话设备要是非挂载的状态,即离线缩小
df -lh
发现size大小变小了。之前给的resize1是800M,resize2是784M,这里的大小表示文件系统(filesystem)大小(即这个设备能存多少东西),剩下的容量mkfs,挂载的时候都会损耗一定的容量大小。文件系统大小不会随着块的变大或缩小而改变,需要手动才能改变文件系统大小。
❉ 放大要先放大块的大小,再放大文件系统的大小
lvresize -L +200M /dev/vg3/resize1 放大逻辑卷
如果不带+,会出现warning,+时是在原有基础之上加200M,不加+的话就是将现有逻辑卷的大小调整成200M。如果比之前设置的逻辑卷小的话就证明是要将其缩小,会造成数据丢失
resize2fs /dev/vg3/resize1 调整文件系统大小,但是不会管你到底是放大还是缩小,就是将文件系统调整到它可以变大的最大程度
df -lh 看设备容量变大了
❉ 缩小的时候要先将文件系统缩小,再缩小逻辑卷的大小
umount /mnt/rs2/
resize2fs /dev/vg3/resize2 700M
出现提示 [请先输入e2fsck -f /dev/vg3/resize2 命令],将处于多个块当中的内容整理到一起,以便进行缩小。但是也不能百分百保证数据不丢失
e2fsck -f /dev/vg3/resize2
resize2fs /dev/vg3/resize2 700M
lvresize -L 700M /dev/vg3/resize2
mount /dev/vg3/resize2 /mnt/rs2/ 重新挂载回来
df -lh 看系统里设备和文件系统挂载的使用情况
发现size变小了,缩小成功
LVM ( Logical Volume Manager ) 架构采用分层结构,可以让分区变得弹性,可以随时随地的扩大和缩小分区大小。
磁盘分区后使用 pvcreate 命令可以将分区创建为物理卷 PV。
将多个 PV 组合起来,使用 vgcreate 命令创建成卷组 VG。
VG 相当于整合过的硬盘,LV 则相当于分区,使用 lvcreate 创建 lV。
如何创建 PV、VG、LV 及挂载目录 ?
Linux运维人员必会的120个命令
来自《跟老男孩学Linux运维:核心系统命令实战》一书
前言
第1章 Linux命令行简介 / 1
1.1Linux命令行概述 / 1
1.2在Linux命令行下查看命令帮助 / 4
1.3Linux shutdown reboot halt / 9
关机:
shutdown -h now
halt
init 0
第2章 文件和目录操作命令 / 13
2.1pwd:显示当前所在的位置 / 13
2.2cd:切换目录 / 16
2.3tree:以树形结构显示目录下的内容 / 18
2.4mkdir:创建目录 / 22
2.5touch:创建空文件或改变文件的时间戳属性 / 27
2.6ls:显示目录下的内容及相关属性信息 / 30
2.7cp:复制文件或目录 / 39
2.8mv:移动或重命名文件 / 42
2.9rm:删除文件或目录 / 45
2.10rmdir:删除空目录 / 48
2.11ln:硬链接与软链接 / 49
2.12readlink:查看符号链接文件的内容 / 54
2.13find:查找目录下的文件 / 55
2.14xargs:将标准输入转换成命令行参数 / 68
2.15rename:重命名文件 / 71
2.16basename:显示文件名或目录名 / 72
2.17dirname:显示文件或目录路径 / 72
2.18chattr:改变文件的扩展属性 / 73
2.19lsattr:查看文件扩展属性 / 75
2.20file:显示文件的类型 / 76
2.21md5sum:计算和校验文件的MD5值 / 77
2.22chown:改变文件或目录的用户和用户组 / 80
2.23chmod:改变文件或目录权限 / 81
2.24chgrp:更改文件用户组 / 85
2.25umask:显示或设置权限掩码 / 86
2.26老男孩从新手成为技术大牛的心法 / 90
第3章 文件过滤及内容编辑处理命令 / 91
3.1cat:合并文件或查看文件内容 / 91
3.2tac:反向显示文件内容 / 103
3.3more:分页显示文件内容 / 104
3.4less:分页显示文件内容 / 107
3.5head:显示文件内容头部 / 109
3.6tail:显示文件内容尾部 / 111
3.7tailf:跟踪日志文件 / 114
3.8cut:从文本中提取一段文字并输出 / 115
3.9split:分割文件 / 117
3.10paste:合并文件 / 118
3.11sort:文本排序 / 123
3.12join:按两个文件的相同字段合并 / 127
3.13uniq:去除重复行 / 129
3.14wc:统计文件的行数、单词数或字节数 / 131
3.15iconv:转换文件的编码格式 / 133
3.16dos2unix:将DOS格式文件转换成UNIX格式 / 134
3.17diff:比较两个文件的不同 / 135
3.18vimdiff:可视化比较工具 / 138
3.19rev:反向输出文件内容 / 139
3.20tr:替换或删除字符 / 140
3.21od:按不同进制显示文件 / 143
3.22tee:多重定向 / 145
3.23vi/vim:纯文本编辑器 / 147
3.24老男孩逆袭思想:做Linux运维的多个好处 / 152
第4章 文本处理三剑客 / 153
4.1grep:文本过滤工具 / 153
4.2sed:字符流编辑器 / 159
4.3awk基础入门 / 165
第5章 Linux信息显示与搜索文件命令 / 176
5.1uname:显示系统信息 / 176
5.2hostname:显示或设置系统的主机名 / 178
5.3dmesg:系统启动异常诊断 / 179
5.4stat:显示文件或文件系统状态 / 181
5.5du:统计磁盘空间使用情况 / 183
5.6date:显示与设置系统时间 / 186
5.7echo:显示一行文本 / 190
5.8watch:监视命令执行情况 / 193
5.9which:显示命令的全路径 / 195
5.10whereis:显示命令及其相关文件全路径 / 196
5.11locate:快速定位文件路径 / 197
5.12updatedb:更新mlocate数据库 / 199
5.13老男孩逆袭思想:新手在工作中如何问问题不会被鄙视 / 200
第6章 文件备份与压缩命令 / 201
6.1tar:打包备份 / 201
6.2gzip:压缩或解压文件 / 208
6.3zip:打包和压缩文件 / 211
6.4unzip:解压zip文件 / 212
6.5scp:远程文件复制 / 214
6.6rsync:文件同步工具 / 216
6.7老男孩逆袭思想:新手如何高效地提问 / 220
第7章 Linux用户管理及用户信息查询命令 / 222
7.1 useradd:创建用户 / 222
7.2usermod:修改用户信息 / 227
7.3userdel:删除用户 / 229
7.4groupadd:创建新的用户组 / 230
7.5groupdel:删除用户组 / 231
7.6passwd:修改用户密码 / 232
7.7chage:修改用户密码有效期 / 237
7.8chpasswd:批量更新用户密码 / 238
7.9su:切换用户 / 240
7.10visudo:编辑sudoers文件 / 242
7.11sudo:以另一个用户身份执行命令 / 244
7.12id:显示用户与用户组的信息 / 248
7.13w:显示已登录用户信息 / 249
7.14who:显示已登录用户信息 / 250
7.15users:显示已登录用户 / 252
7.16whoami:显示当前登录的用户名 / 253
7.17last:显示用户登录列表 / 253
7.18lastb:显示用户登录失败的记录 / 254
7.19lastlog:显示所有用户的最近登录记录 / 255
第8章 Linux磁盘与文件系统管理命令 / 257
8.1fdisk:磁盘分区工具 / 257
8.2partprobe:更新内核的硬盘分区表信息 / 265
8.3tune2fs:调整ext2/ext3/ext4文件系统参数 / 266
8.4parted:磁盘分区工具 / 268
8.5mkfs:创建Linux文件系统 / 272
8.6dumpe2fs:导出ext2/ext3/ext4文件系统信息 / 274
8.7resize2fs:调整ext2/ext3/ext4文件系统大小 / 275
8.8fsck:检查并修复Linux文件系统 / 278
8.9dd:转换或复制文件 / 281
8.10mount:挂载文件系统 / 284
8.11umount:卸载文件系统 / 288
8.12df:报告文件系统磁盘空间的使用情况 / 289
8.13mkswap:创建交换分区 / 293
8.14swapon:激活交换分区 / 294
8.15swapoff:关闭交换分区 / 295
8.16sync:刷新文件系统缓冲区 / 296
第9章 Linux进程管理命令 / 298
9.1ps:查看进程 / 298
9.2pstree:显示进程状态树 / 305
9.3pgrep:查找匹配条件的进程 / 306
9.4kill:终止进程 / 307
9.5killall:通过进程名终止进程 / 310
9.6pkill:通过进程名终止进程 / 311
9.7top:实时显示系统中各个进程的资源占用状况 / 313
9.8nice:调整程序运行时的优先级 / 320
9.9renice:调整运行中的进程的优先级 / 323
9.10nohup:用户退出系统进程继续工作 / 324
9.11strace:跟踪进程的系统调用 / 325
9.12ltrace:跟踪进程调用库函数 / 332
9.13runlevel:输出当前运行级别 / 334
9.14init:初始化Linux进程 / 335
9.15service:管理系统服务 / 335
第10章 Linux网络管理命令 / 338
10.1ifconfig:配置或显示网络接口信息 / 338
10.2ifup:激活网络接口 / 343
ifup eth0
10.3ifdown:禁用网络接口 / 343
ifdown eth0
service network restart(/etc/init.d/network restart) 激活整个网络,所有网卡。
10.4route:显示或管理路由表 / 344
10.5arp:管理系统的arp缓存 / 350
10.6ip:网络配置工具 / 351
10.7netstat:查看网络状态 / 358
10.8ss:查看网络状态 / 362
10.9ping:测试主机之间网络的连通性 / 363
10.10traceroute:追踪数据传输路由状况 / 366
10.11arping:发送arp请求 / 367
10.12telnet:远程登录主机 / 369
10.13nc:多功能网络工具 / 370
10.14ssh:安全地远程登录主机 / 373
10.15wget:命令行下载工具 / 376
10.16mailq:显示邮件传输队列 / 379
10.17mail:发送和接收邮件 / 381
10.18nslookup:域名查询工具 / 386
10.19dig:域名查询工具 / 389
10.20host:域名查询工具 / 393
10.21nmap:网络探测工具和安全/端口扫描器 / 394
10.22tcpdump:监听网络流量 / 398
第11章 Linux系统管理命令 / 407
11.1lsof:查看进程打开的文件 / 407
11.2uptime:显示系统的运行时间及负载 / 411
11.3free:查看系统内存信息 / 411
11.4iftop:动态显示网络接口流量信息 / 413
11.5vmstat:虚拟内存统计 / 415
11.6mpstat:CPU信息统计 / 419
11.7iostat:I/O信息统计 / 420
11.8iotop:动态显示磁盘I/O统计信息 / 423
11.9sar:收集系统信息 / 425
11.10chkconfig:管理开机服务 / 430
11.11ntsysv:管理开机服务 / 433
11.12 setup:系统管理工具 / 434
11.13ethtool:查询网卡参数 / 436
11.14mii-tool:管理网络接口的状态 / 437
11.19rpm:RPM包管理器 / 443
11.20yum:自动化RPM包管理工具 / 446
top命令
第12章 Linux系统常用内置命令 / 450
12.1Linux内置命令概述 / 450
12.2Linux内置命令简介 / 450
12.3Linux常用内置命令实例 / 452
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流