扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
前言
公司主营业务:网站制作、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出镇巴免费做网站回馈大家。
第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
命令格式: 命令 [-选项] [参数]
如:ls -la /usr
**说明: **
大部分命令遵从该格式
多个选项时,可以一起写 eg:ls –l –a à ls –la
简化选项与完整选项(注:并非所有选项都可使用完整选项) eg:ls –all à ls –a
作用:切换用户身份
语法:su [选项] 用户名
-c 仅执行一次命令,而不切换用户身份
$ su – root
env
$ su – root –c “useradd longjing”
文件或目录的CRUD
英文:change directory 命令路径:内部命令 执行权限:所有用户
作用: 切换目录
语法:cd [目录] / 切换到根目录
.. 回到上一级目录
. 当前目录
~ 当前用户的宿主目录(eg:# cd ~用户名 进入某个用户的家目录)
英文:list 命令路径:/bin/ls 执行权限:所有用户
作用:显示目录文件
语法:ls [-alrRd] [文件或目录]
-a all 显示所有文件,注意隐藏文件,特殊目录.和..
-l(long) 显示详细信息
-R(recursive) 递归显示当前目录下所有目录
-r (reverse) 逆序排序
-t(time) 按修改时间排序(降序)
英文:print working directory 命令路径:/bin/pwd 执行权限:所有用户
作用:显示当前工作目录
语法:pwd [-LP]
-L 显示链接路径,当前路径,默认
-P 物理路径
eg:# cd /etc/init.d
英文:make directories 命令路径:/bin/mkdir 执行权限:所有用户
作用:创建新目录
语法:mkdir [-p] 目录名
-p 父目录不存在情况下先生成父目录 (parents)
eg: mkdir linux/test 如果目录linux不存在,则报错,使用参数-p即可自动创建父目录。
命令路径:/bin/touch 执行权限:所有用户
作用:创建空文件或更新已存在文件的时间
语法:touch 文件名
eg:touch a.txt b.txt touch {a.txt,b.txt} 同时创建多个文件
创建带空格的文件 eg:touch "program files" 在查询和删除时也必须带双引号
注意:生产环境中,文件名,一定不要加空格
英文:copy 命令路径:/bin/cp 执行权限:所有用户
作用:复制文件或目录
语法:cp [–rp] 源文件或目录 目的目录
-r -R recursive 递归处理,复制目录
-p 保留文件属性 (原文件的时间不变)
eg:
1,相对路径 cp –R /etc/* . cp –R ../aaa ../../test/
2,,绝对路径 cp –R / ect/service /root/test/aa/bb
英文:move 命令路径:/bin/mv 执行权限:所有用户
作用:移动文件或目录、文件或目录改名
语法:mv 源文件或目录 目的目录
英文:remove 命令路径:/bin/rm 执行权限:所有用户
作用:删除文件
语法: rm [-rf] 文件或目录
-r (recursive)删除目录,同时删除该目录下的所有文件
-f(force) 强制删除文件或目录 即使原档案属性设为唯读,亦直接删除,无需逐一确认
注意:工作中,谨慎使用rm –rf 命令。
扩展点 :删除乱码文件
一些文件乱码后使用rm -rf 依然无法删除
此时,使用ll -i 查找到文件的inode节点
然后使用find . -inum 查找到的inode编号 -exec rm {} -rf ;
就能顺利删除了
英文:concatenate 命令路径:/bin/cat 执行权限:所有用户
作用:显示文件内容
语法:cat [-n] [文件名]
-n 显示行号
eg:cat /etc/services
命令路径:/bin/more 执行权限:所有用户
作用:分页显示文件内容
语法:more [文件名]
空格或f 显示下一页
Enter键 显示下一行
q或Q 退出
命令路径:/usr/bin/head 执行权限:所有用户
作用:查看文件前几行(默认10行)
语法:head [文件名]
-n 指定行数
eg:head -20 /etc/services head –n 3 /etc/services
命令路径:/usr/bin/tail 执行权限:所有用户
作用:查看文件的后几行
语法:tail [文件名]
-n 指定行数
-f (follow) 动态显示文件内容
获取一个大文件的部分文件,可使用head或tail命令
head -n 100 /etc/services config.log
英文: link 命令路径:/bin/ln 执行权限:所有用户
作用:产生链接文件
语法:
ln -s [源文件] [目标文件] 创建软链接 源文件 使用 绝对路径
ln [源文件] [目标文件] 创建硬链接
eg:ln -s /etc/service ./service.soft
创建文件/etc/service的软链接service.soft
eg:/etc/service /service.hard
创建文件/etc/service的硬链接/service.hard
软连接类似于windows下的快捷方式
软连接文件格式:
lrwxrwxrwx. 1 root root 13 Jul 20 07:50 service - /etc/services
1 硬链接数量,如果该文件没有硬链接,就只有本身一个硬链接。
13链接文件的长度
格式解析(特征):
1, 软连接的文件类型是 l(软连接),软连接文件的权限 都是 lrwxrwxrwx
2,- 箭头指向到源文件
真正的权限取决于对源文件的权限
时间值为创建软连接的时间
软连接可以跨文件系统生成
硬链接特征
1,相当于 cp -p +同步更新
2,通过i节点识别,与源文件有相同的inode节点
3,硬链接不能跨分区,ln /home/test/issuels /boot/test (错误)
4,不能针对目录使用 ln /tmp/ aa.hard (无法将目录/tmp 生成硬链接)
删除软连接
rm -rf symbolic_name
英文:manual 命令路径:/usr/bin/man 执行权限:所有用户
作用:获取命令或配置文件的帮助信息
语法:man [命令/配置文件]
eg:man ls man services
(查看配置文件时,不需要配置文件的绝对路径,只需要文件名即可)
调用的是more命令来浏览帮助文档,按空格翻下一页,按回车翻下一行,按q退出。
使用/加上关键的参数可直接定位搜索, n 查找下一个,shift+n 查找上一个
eg: /-l 直接查看-l的介绍
扩展:man的级别 (帮助文档的类型, 了解1 5即可)
man man-pages 查看每一种类型代表的含义 man文档的类型(1~9)
1是命令,5是配置文件 man优先显示命令,可指定帮助类型
eg:man 5 passwd (5代表配置文件级别)
[图片上传失败...(image-6718d2-1624438708895)]
help 查看shell内置命令的帮助信息
eg:help cd
内置命令,使用whereis,which,man都不能查看
type 命令 查看内部命令还是外部命令
命令名 --help 列举该命令的常用选项
eg: cp --help
命令路径:/bin/find 执行权限:所有用户
作用:查找文件或目录
语法:find [搜索路径] [匹配条件]
如果没有指定搜索路径,默认从当前目录查找
find命令选项
-name 按名称查找 精准查找
eg:find /etc -name “init” 在目录/etc中查找文件init
-iname 按名称查找
find查找中的字符匹配:
*:匹配所有
?:匹配单个字符
eg:find /etc -name “init???” 在目录/etc中查找以init开头的,且后面有三位的文件
模糊匹配的条件,建议使用单引号或双引号括起来。如果*被转义,可使用 单双引号括住查询条件,或者使用*。
eg: # find . –name *g
-size ****按文件大小查找
以block为单位,一个block是512B, 1K=2block +大于 -小于 不写是等于
eg:find /etc -size -204800 在etc目录下找出大于100MB的文件
100MB=102400KB=204800block
**-type ** 按文件类型查找
f 二进制文件l 软连接文件 d 目录 c 字符文件
eg: find /dev -type c
find****查找的基本原则 :
占用最少的系统资源,即查询范围最小,查询条件最精准
eg:
如果明确知道查找的文件在哪一个目录,就直接对指定目录查找,不查找根目录/
命令路径:/bin/grep 执行权限:所有用户
作用:在文件中搜寻字串匹配的行并输出
语法:grep [-cinv] '搜寻字符串' filename
选项与参数:
-c :输出匹配行的次数(是以行为单位,不是以出现次数为单位)
-i :忽略大小写,所以大小写视为相同
-n :显示匹配行及行号
-v :反向选择,显示不包含匹配文本的所有行。
eg:grep ftp /etc/services
eg:#grep -v ^# /etc/inittab 去掉文件行首的#号
eg:# grep -n “init”/etc/inittab 显示在inittab文件中,init匹配行及行号
eg:# grep -c“init”/etc/inittab 显示在inittab文件中,init匹配了多少次
命令路径:/usr/bin/which 执行权限:所有用户
作用: 显示系统命令所在目录(绝对路径及别名)
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令
alias ls='ls --color=auto'
/bin/ls
/usr/bin/which: no zs in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ch/bin)
命令路径:/usr/bin/whereis 执行权限:所有用户
作用:**搜索命令所在目录 配置文件所在目录 及帮助文档路径 **
eg: which passwd 和 whereis passwd
eg:查看/etc/passwd配置文件的帮助,就用 man 5 passwd
英文:GNU zip 命令路径:/bin/gzip 执行权限:所有用户
作用:压缩(解压)文件,压缩文件后缀为.gz
gzip只能压缩文件,不能压缩目录;不保留原文件
语法:gzip 文件
-d将压缩文件解压(decompress)
解压使用gzip –d或者 gunzip
命令路径:/usr/bin/bzip2 执行权限:所有用户
作用: 压缩(解压)文件,压缩文件后缀为.bz2
语法:bzip2 [-k] [文件]
-k:产生压缩文件后保留原文件(压缩比高)
-d 解压缩的参数(decompress)
解压使用bzip2 –d或者 bunzip2
命令路径:/usr/bin/zip 执行权限:所有用户
作用: 压缩(解压)文件,压缩文件后缀为.zip
语法:zip 选项[-r] [压缩后文件名称] [文件或目录]
-r压缩目录
eg:zip services.zip /etc/services 压缩文件;
zip -r test.zip /test 压缩目录
如果不加-r选项,压缩后的文件没有数据。
解压使用unzip
命令路径:/bin/tar 执行权限:所有用户
作用:文件、目录打(解)包
语法:tar [-zcf] 压缩后文件名 文件或目录
-c 建立一个压缩文件的参数指令(create),后缀是.tar
-x 解开一个压缩文件的参数指令(extract)
-z 以gzip命令压缩/解压缩
-j 以bzip2命令压缩/解压缩
-v 压缩的过程中显示文件(verbose)
-f file 指定文件名,必选项
1, 单独的打包 ,解包 tar –cf tar –xf
2, 打包之后,进行压缩 gzip bzip2
3, 一步到位 tar –zcvf tar -zxvf
tar -cf -xf 单独 压缩 解压缩
tar -z 以gzip打包目录并压缩 文件格式.tar.gz(.tgz)
tar -j 以bzip2打包目录并压缩 文件格式.tar.bz2
eg:tar -zcvf dir1.tar.gzdir1 使用gzip将目录dir1压缩成一个打包并压缩文件dir1.tar.gz
eg: tar -cvf bak.tar . 将当前目录的文件打包为bak.tar
eg: tar -xvf bak.tar 解压
eg: tar -zcvf bak.tar.gz bak.tar 或 gzip bak.tar使用gzip将打包文件bak.tar压缩为bak.tar.gz
eg: tar -jcvf bak.tar.bz2 bak.tar 或 bzip2 bak.tar 使用bzip2将打包文件bak.tar压缩为bak.tar.bz2
eg: tar -rvf bak.tar /etc/password 将/etc/password追加文件到bak.tar中(r)
eg:tar -cjvf test.tar.bz2 test 生成test.tar.bz2的压缩文件
eg:tar -xjf test.tar.bz2 解压
最常用: tar + gzip
tar –zcvf 压缩
tar –zxvf 解压
补充:
1,文件路径, 压缩包带文件路径
2,源文件是保留的,不会被删除
**shutdown **[选项] 时间
选项: -c: 取消前一个关机命令
-h:关机
-r:重启
eg:
shutdown -h now 立即关机 shutdown -h 20:30 定时关机
其他关机命令 halt poweroff init 0
其他重启命令
**reboot **重启系统 reboot -h now立即重启
init 6
注意:生产环境中,关机命令和重启命令谨慎执行。
善于查看man help等帮助文档
利用好Tab键 自动补全
掌握好一些快捷键
ctrl + c(停止当前进程)
ctrl + z 挂起当前进程,放后台
ctrl + r(查看命令历史) history
ctrl + l(清屏,与clear命令作用相同)
方向箭头 上 下 可以查看执行过的命令
ctrl + a 行首 ctrl + e 行尾
ctrl + k 清除 ctrl+ w 清除单词
vim/vi是Unix / Linux上最常用的文本编辑器而且功能非常强大。
只有命令,没有菜单。
《大碗》编辑器版
周围的同事不是用VI就是Emacs,你要是用UltraEdit都不好意思跟人家打招呼...什么插件呀、语法高亮呀、拼写检查呀,能给它开的都给它开着,就是一个字:酷!你说这么牛X的一东西,怎么着学会也得小半年吧。半年!?入门都远着呢!能学会移动光标就不错了,你还别说耗不起,就这还是左右移动!!!
:
[图片上传失败...(image-a08366-1624438708894)]
命令模式:又称一般模式
编辑模式:又称底行模式,命令行模式
|
命令
|
作用
|
|
a
|
在光标后附加文本
|
|
A(shift + a)
|
在本行行末附加文本 行尾
|
|
i
|
在光标前插入文本
|
|
I(shift+i)
|
在本行开始插入文本 行首
|
|
o
|
在光标下插入新行
|
|
O(shift+o)
|
在光标上插入新行
|
|
命令
|
作用
|
|
:set nu
|
设置行号
|
|
:set nonu
|
取消行号
|
|
gg
G
|
到第一行
到最后一行
|
|
nG
|
到第n行
|
|
:n
|
到第n行
|
|
命令
|
作用
|
|
:w
|
保存修改
|
|
:w new_filename
|
另存为指定文件
|
|
:w a.txt
|
内容追加到a.txt文件中 文件需存在
|
|
:wq
|
保存修改并退出
|
|
shift+zz(ZZ)
|
快捷键,保存修改并退出
|
|
:q!
|
不保存修改退出
|
|
:wq!
|
保存修改并退出(文件所有者可忽略文件的只读属性)
|
不保存并退出:
1, 有修改,但是修改后的内容是不保存的
2, 有突发情况,导致窗口退出。修改文件之后,直接删除同名的.swp文件
|
命令
|
作用
|
|
x
|
删除光标所在处字符 nx 删除光标所在处后n个字符
|
|
dd
|
删除光标所在行,ndd删除n行
|
|
:n1,n2d
|
删除指定范围的行(eg :1,3d 删除了123这三行)
|
|
dG
|
删除光标所在行到末尾的内容
|
|
D
|
删除从光标所在处到行尾
|
|
命令
|
作用
|
|
yy、Y
|
复制当前行
|
|
nyy、nY
|
复制当前行以下n行
|
|
dd
|
剪切当前行
|
|
ndd
|
剪切当前行以下n行
|
|
p、P
|
粘贴在当前光标所在行下 或行上
|
|
命令
|
作用
|
|
r
|
取代光标所在处字符
|
|
R(shift + r)
|
从光标所在处开始替换字符,按Esc结束
|
|
u
|
undo,取消上一步操作
|
|
ctrl+r
|
redo,返回到undo之前
|
|
命令
|
作用
|
|
/string
|
向后搜索指定字符串 搜索时忽略大小写 :set ic
|
|
?string
|
向前搜索指定字符串
|
|
n
|
搜索字符串的下一个出现位置,与搜索顺序相同
|
|
N(Shift + n)
|
搜索字符串的上一个出现位置,与搜索顺序相反
|
|
:%s/old/new/g
|
全文替换指定字符串
|
|
:n1,n2s/old/new/g
|
在一定范围内替换指定字符串
|
% 指全文,s 指开始,g 指全局替换
eg: :41,44/yang/lee/c 从41行到44行,把yang替换为lee,询问是否替换
eg: :41,44/yang/lee/g 同上,不询问,直接替换
使用替换命令来添加删除注释
:% s/^/#/g 来在全部内容的行首添加 # 号注释
:1,10 s/^/#/g 在1~10 行首添加 # 号注释
vi里面怎么查命令??
:!which cp
vi里面怎么导入命令的结果?
:r !which cp
v 可视字符模式
V****(shift+v) 可视行模式,选择多行操作
**ctrl+v **可视块模式(列模式),操作列
I或者O进入插入模式。
1,图形化界面
2,setup 命令虚拟界面
3,修改配置文件(以网络方式为NAT示例)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.2.129
NETMASK=255.255.255.0
GATEWAY=192.168.2. 2 #网段2任意,IP地址2固定,网段为vmnet8的设置的IP网段
DNS1=114.114.114.114
DNS2=8.8.8.8
重启网络生效:
service network restart
命令路径:/bin/ping 执行权限:所有用户
作用:测试网络的连通性
语法:ping 选项 IP地址
-c 指定发送次数
ping 命令使用的是icmp协议,不占用端口
eg: # ping -c 3 127.0.0.1
英文:interface configure 命令路径:/sbin/ifconfig 执行权限:root
作用:查看和设置网卡网络配置
语法:ifconfig [-a] [网卡设备标识]
-a:显示所有网卡信息
ifconfig [网卡设备标识] IP地址 修改ip地址
英文:network statistics 命令路径:/bin/netstat 执行权限:所有用户
作用:主要用于检测主机的网络配置和状况
-a all显示所有连接和监听端口
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 使用数字方式显示地址和端口号
-l (listening) 显示监控中的服务器的socket
eg:# netstat -tlnu 查看本机监听的端口
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
协议 待收数据包 待发送数据包 本地ip地址:端口 远程IP地址:端口
netstat –antpl
临时生效:
hostname 主机名
[图片上传失败...(image-ceed36-1624438708893)]
永久生效:修改配置文件
vi /etc/sysconfig/network
[图片上传失败...(image-2b9d9e-1624438708893)]
修改主机名和ip地址之间的映射关系
vi /etc/hosts
192.168.2.120 node-1.edu.cn node-1
可配置别名
[图片上传失败...(image-ec86cf-1624438708893)]
进程和程序的区别:
1、程序是静态概念,本身作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命期,是动态产生和消亡的。
2、程序和进程无一一对应关系。一个程序可以由多个进程共用;另一方面,一个进程在活动中有可顺序地执行若干个程序。
进程和线程的区别:
进程: 就是正在执行的程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
线程: 轻量级的进程;进程有独立的地址空间,线程没有;线程不能独立存在,它由进程创建;相对讲,线程耗费的cpu和内存要小于进程。
进程管理的作用?
判断服务器的健康状态
查看系统所有的进程
杀死进程
作用:查看系统中的进程信息
语法:ps [-auxle]
常用选项
查看系统中所有进程
ps应用实例 # ps -u or ps -l 查看隶属于自己进程详细信息
作用: 查看当前进程树
语法:pstree [选项]
-p 显示进程PID
-u 显示进程的所属用户
作用:查看系统健康状态
显示当前系统中耗费资源最多的进程,以及系统的一些负载情况。
语法:top [选项]
-d 秒数,指定几秒刷新一次,默认3秒(动态显示)
作用:关闭进程
语法:kill [-选项] pId
kill -9 进程号(强行关闭) 常用
kill -1 进程号(重启进程)
添加用户
语法:useradd [选项] 用户名
修改密码命令
语法:passwd [选项] [用户名]
用户密码:生产环境中,用户密码长度8位以上,设置大小写加数字加特殊字符,要定期更换密码。
ys^h_L9t
删除用户
-r 删除账号时同时删除宿主目录(remove)
作用:用于查看Linux文件系统的状态信息,显示各个分区的容量、已使用量、未使用量及挂载点等信息。看剩余空间
语法:df [-hkam] [挂载点]
-h(human-readable)根据磁盘空间和使用情况 以易读的方式显示 KB,MB,GB等 -k 以KB 为单位显示各分区的信息,默认
-M 以MB为单位显示信息 -a 显示所有分区包括大小为0 的分区
作用:用于查看文件或目录的大小(磁盘使用空间)
语法:du [-abhs] [文件名目录]
-a 显示子文件的大小
-h以易读的方式显示 KB,MB,GB等
-s summarize 统计总占有量
eg:
du -a(all) /home 显示/home 目录下每个子文件的大小,默认单位为kb
du -b /home 以bytes为单位显示/home 目录下各个子目录的大小
du -h /home 以K,M,G为单位显示/home 文件夹下各个子目录的大小
du -sh /home 以常用单位(K,M,G)为单位显示/home 目录的总大小 -s summarize
df命令和du命令的区别:
df命令是从文件系统考虑的,不仅考虑文件占用的空间,还要统计被命令或者程序占用的空间。
du命令面向文件,只计算文件或目录占用的空间。
作用:查看内存及交换空间使用状态
语法: free [-kmg]
选项:
-k: 以KB为单位显示,默认就是以KB为单位显示
-m: 以MB为单位显示
-g: 以GB为单位显示
清理缓存命令:
echo 1 /proc/sys/vm/drop_caches
通过expainshell 的解释翻译 可以知道 change the working directory 就是 cd 在Linux 命令行中的意义,即: 改变工作区目录
2: 鸟哥的Linux私房菜基础学习篇
这本书,暂且还没有买,当然也没看过。但是写在这里,也是提醒自己以后回顾自己的文章时, 可以不忘初心,坚持下去。
或者为
我对上述的信息了解程度仅仅在以下几个方面:
1:d开头的表示这是一个文件夹 -开头的则表示这是一个文件
2:d 和 - 后面表示的是当前用户的权限 为 r(读) w(写) x(可执行)
在后面的逐渐学习中,我会对此部分知识点有所补充
执行下列命令后,会在test2 目录下 看到创建的test2.txt文件 并且 文件内容与test1相同为 "1"
举例:
依次执行下列命令
示例中的 -r命令的含义为:
explainshell: cp -r
-R, -r, --recursive
copy directories recursively
即 递归 涉及到目录(文件夹)的操作都需要进行递归
执行示例中的操作完毕后,返回到 test1的同级目录 会看到 test2目录
test2目录下 有和test1 目录下相同的文件 tes1.txt
执行示例中的操作完毕后,相当于 将test1目录下的test1.txt 剪切到 test2文件夹 并重命名为 test2.txt
执行 tree命令后 可以观察到所在当前的目录 test 目录下的 目录结构为:
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
用 'top -i' 看看有多少进程处于 Running 状态,可能系统存在内存或 I/O 瓶颈,用 free 看看系统内存使用情况,swap 是否被占用很多,用 iostat 看看 I/O 负载情况...
还有一种办法是 ps -ef | sort -k7 ,将进程按运行时间排序,看哪个进程消耗的cpu时间最多。
top:
主要参数 :
free
1.作用
free命令用来显示内存的使用情况,使用权限是所有用户。
**2.格式 **
**3.主要参数 **
uptime
vmstat
**1 观察磁盘活动情况 **
磁盘活动情况主要从以下几个指标了解:
**2 观察cpu活动情况 **
vmstat比top更能反映出cpu的使用情况:
iostat
用于统计CPU的使用情况及tty设备、硬盘和CD-ROM的I/0量
即使爬到最高的山上,一次也只能脚踏实地地迈一步。
Linux查看CPU和内存使用情况:
在做Linux系统优化的时候,物理内存是其中最重要的一方面。自然的,Linux也提供了非常多的方法来监控宝贵的内存资源的使用情况。下面的清单详细的列出了Linux系统下通过视图工具或命令行来查看内存使用情况的各种方法。
1. /proc/meminfo
查看RAM使用情况最简单的方法是通过 /proc/meminfo 。这个动态更新的虚拟文件实际上是许多其他内存相关工具(如:free / ps / top)等的组合显示。 /proc/meminfo 列出了所有你想了解的内存的使用情况。进程的内存使用信息也可以通过/proc/pid/statm 和 /proc/pid/status 来查看。
atop命令是一个终端环境的监控命令。它显示的是各种系统资源(CPU, memory, network, I/O, kernel)的综合,并且在高负载的情况下进行了彩色标注。
free命令是一个快速查看内存使用情况的方法,它是对 /proc/meminfo 收集到的信息的一个概述。
GNOME System Monitor 是一个显示最近一段时间内的CPU、内存、交换区及网络的使用情况的视图工具。它还提供了一种查看CPU及内存使用情况的方法。
htop命令显示了每个进程的内存实时使用率。它提供了所有进程的常驻内存大小、程序总内存大小、共享库大小等的报告。列表可以水平及垂直滚动。
功能同 4 中介绍的GENOME版本。
memstat是一个有效识别executable(s), process(es) and shared libraries使用虚拟内存情况的命令。给定一个进程ID,memstat可以列出这个进程相关的可执行文件、数据和共享库。
nmon是一个基于ncurses的系统基准测试工具,它可以监控CPU、内存、I/O、文件系统及网络资源等的互动模式。对于内存的使用,它可以实时的显示 总/剩余内存、交换空间等信息。
ps命令可以实时的显示各个进程的内存使用情况。Reported memory usage information includes %MEM (percent of physical memory used), VSZ (total amount of virtual memory used), and RSS (total amount of physical memory used)。你可以使用 “–sort”选项对进程进行排序,例如按RSS进行排序:
smem命令允许你统计基于/proc信息的不同进程和用户的内存使用情况。内存使用情况的分析可以导出图表(如条形图和饼图)。
top命令提供了实时的运行中的程序的资源使用统计。你可以根据内存的使用和大小来进行排序。
vmstat命令显示实时的和平均的统计,覆盖CPU、内存、I/O等内容。例如内存情况,不仅显示物理内存,也统计虚拟内存。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流