来自《跟老男孩学Linux运维:核心系统命令实战》一书
前言
第1章Linux命令行简介/1
1.1Linux命令行概述/1
1.2在Linux命令行下查看命令帮助/4
1.3Linuxshutdownreboothalt/9
关机:
shutdown-hnow
halt
init0
第2章文件和目录操作命令/13
2.1pwd:显示当前所在的位置/13
2.2cd:切换目录/16
2.3tree:以树形结构显示目录下的内容/18
2.4mkdir:创建目录/22
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.7echo:显示一行文本/190
5.8watch:监视命令执行情况/193
5.9which:显示命令的全路径/195
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.1useradd:创建用户/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
第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
ifupeth0
10.3ifdown:禁用网络接口/343
ifdowneth0
servicenetworkrestart(/etc/init.d/networkrestart)激活整个网络,所有网卡。
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.13nc:多功能网络工具/370
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.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.12setup:系统管理工具/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“useraddlongjing”
文件或目录的CRUD
英文:changedirectory命令路径:内部命令执行权限:所有用户
作用:切换目录
语法:cd[目录]/切换到根目录
..回到上一级目录
.当前目录
~当前用户的宿主目录(eg:#cd~用户名进入某个用户的家目录)
英文:list命令路径:/bin/ls执行权限:所有用户
作用:显示目录文件
语法:ls[-alrRd][文件或目录]
-aall显示所有文件,注意隐藏文件,特殊目录.和..
-l(long)显示详细信息
-R(recursive)递归显示当前目录下所有目录
-r(reverse)逆序排序
英文:printworkingdirectory命令路径:/bin/pwd执行权限:所有用户
作用:显示当前工作目录
语法:pwd[-LP]
-L显示链接路径,当前路径,默认
-P物理路径
eg:#cd/etc/init.d
英文:makedirectories命令路径:/bin/mkdir执行权限:所有用户
作用:创建新目录
语法:mkdir[-p]目录名
-p父目录不存在情况下先生成父目录(parents)
eg:mkdirlinux/test如果目录linux不存在,则报错,使用参数-p即可自动创建父目录。
命令路径:/bin/touch执行权限:所有用户
语法:touch文件名
eg:toucha.txtb.txttouch{a.txt,b.txt}同时创建多个文件
创建带空格的文件eg:touch"programfiles"在查询和删除时也必须带双引号
注意:生产环境中,文件名,一定不要加空格
英文:copy命令路径:/bin/cp执行权限:所有用户
作用:复制文件或目录
语法:cp[–rp]源文件或目录目的目录
-r-Rrecursive递归处理,复制目录
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编号-execrm{}-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/serviceshead–n3/etc/services
命令路径:/usr/bin/tail执行权限:所有用户
作用:查看文件的后几行
语法:tail[文件名]
-f(follow)动态显示文件内容
获取一个大文件的部分文件,可使用head或tail命令
head-n100/etc/servicesconfig.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.1rootroot13Jul2007:50service-/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-rfsymbolic_name
英文:manual命令路径:/usr/bin/man执行权限:所有用户
作用:获取命令或配置文件的帮助信息
语法:man[命令/配置文件]
eg:manlsmanservices
(查看配置文件时,不需要配置文件的绝对路径,只需要文件名即可)
调用的是more命令来浏览帮助文档,按空格翻下一页,按回车翻下一行,按q退出。
使用/加上关键的参数可直接定位搜索,n查找下一个,shift+n查找上一个
eg:/-l直接查看-l的介绍
扩展:man的级别(帮助文档的类型,了解15即可)
manman-pages查看每一种类型代表的含义man文档的类型(1~9)
1是命令,5是配置文件man优先显示命令,可指定帮助类型
eg:man5passwd(5代表配置文件级别)
[图片上传失败...(image-6718d2-1624438708895)]
help查看shell内置命令的帮助信息
eg:helpcd
内置命令,使用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-typec
find****查找的基本原则:
占用最少的系统资源,即查询范围最小,查询条件最精准
eg:
如果明确知道查找的文件在哪一个目录,就直接对指定目录查找,不查找根目录/
命令路径:/bin/grep执行权限:所有用户
作用:在文件中搜寻字串匹配的行并输出
语法:grep[-cinv]'搜寻字符串'filename
选项与参数:
-c:输出匹配行的次数(是以行为单位,不是以出现次数为单位)
-i:忽略大小写,所以大小写视为相同
-n:显示匹配行及行号
-v:反向选择,显示不包含匹配文本的所有行。
eg:grepftp/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命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令
aliasls='ls--color=auto'
/bin/ls
/usr/bin/which:nozsin(/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ch/bin)
命令路径:/usr/bin/whereis执行权限:所有用户
作用:**搜索命令所在目录配置文件所在目录及帮助文档路径**
eg:whichpasswd和whereispasswd
eg:查看/etc/passwd配置文件的帮助,就用man5passwd
英文:GNUzip命令路径:/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:zipservices.zip/etc/services压缩文件;
zip-rtest.zip/test压缩目录
如果不加-r选项,压缩后的文件没有数据。
解压使用unzip
命令路径:/bin/tar执行权限:所有用户
作用:文件、目录打(解)包
语法:tar[-zcf]压缩后文件名文件或目录
-c建立一个压缩文件的参数指令(create),后缀是.tar
-x解开一个压缩文件的参数指令(extract)
-z以gzip命令压缩/解压缩
-j以bzip2命令压缩/解压缩
-v压缩的过程中显示文件(verbose)
-ffile指定文件名,必选项
1,单独的打包,解包tar–cftar–xf
2,打包之后,进行压缩gzipbzip2
3,一步到位tar–zcvftar-zxvf
tar-cf-xf单独压缩解压缩
tar-z以gzip打包目录并压缩文件格式.tar.gz(.tgz)
tar-j以bzip2打包目录并压缩文件格式.tar.bz2
eg:tar-zcvfdir1.tar.gzdir1使用gzip将目录dir1压缩成一个打包并压缩文件dir1.tar.gz
eg:tar-cvfbak.tar.将当前目录的文件打包为bak.tar
eg:tar-xvfbak.tar解压
eg:tar-zcvfbak.tar.gzbak.tar或gzipbak.tar使用gzip将打包文件bak.tar压缩为bak.tar.gz
eg:tar-jcvfbak.tar.bz2bak.tar或bzip2bak.tar使用bzip2将打包文件bak.tar压缩为bak.tar.bz2
eg:tar-rvfbak.tar/etc/password将/etc/password追加文件到bak.tar中(r)
eg:tar-cjvftest.tar.bz2test生成test.tar.bz2的压缩文件
eg:tar-xjftest.tar.bz2解压
最常用:tar+gzip
tar–zcvf压缩
tar–zxvf解压
补充:
1,文件路径,压缩包带文件路径
2,源文件是保留的,不会被删除
选项:-c:取消前一个关机命令
-h:关机
-r:重启
shutdown-hnow立即关机shutdown-h20:30定时关机
其他关机命令haltpoweroffinit0
其他重启命令
**reboot**重启系统reboot-hnow立即重启
init6
注意:生产环境中,关机命令和重启命令谨慎执行。
善于查看manhelp等帮助文档
利用好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)
在光标上插入新行
:setnu
设置行号
:setnonu
取消行号
gg
G
到第一行
到最后一行
nG
到第n行
:n
:w
保存修改
:wnew_filename
另存为指定文件
:wa.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行
剪切当前行
ndd
剪切当前行以下n行
p、P
粘贴在当前光标所在行下或行上
r
取代光标所在处字符
R(shift+r)
从光标所在处开始替换字符,按Esc结束
u
undo,取消上一步操作
ctrl+r
redo,返回到undo之前
/string
向后搜索指定字符串搜索时忽略大小写:setic
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,10s/^/#/g在1~10行首添加#号注释
vi里面怎么查命令??
:!whichcp
vi里面怎么导入命令的结果?
:r!whichcp
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
重启网络生效:
servicenetworkrestart
命令路径:/bin/ping执行权限:所有用户
作用:测试网络的连通性
语法:ping选项IP地址
-c指定发送次数
ping命令使用的是icmp协议,不占用端口
eg:#ping-c3127.0.0.1
英文:interfaceconfigure命令路径:/sbin/ifconfig执行权限:root
作用:查看和设置网卡网络配置
语法:ifconfig[-a][网卡设备标识]
-a:显示所有网卡信息
ifconfig[网卡设备标识]IP地址修改ip地址
英文:networkstatistics命令路径:/bin/netstat执行权限:所有用户
作用:主要用于检测主机的网络配置和状况
-aall显示所有连接和监听端口
-n使用数字方式显示地址和端口号
-l(listening)显示监控中的服务器的socket
eg:#netstat-tlnu查看本机监听的端口
tcp000.0.0.0:1110.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.120node-1.edu.cnnode-1
可配置别名
[图片上传失败...(image-ec86cf-1624438708893)]
进程和程序的区别:
1、程序是静态概念,本身作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命期,是动态产生和消亡的。
2、程序和进程无一一对应关系。一个程序可以由多个进程共用;另一方面,一个进程在活动中有可顺序地执行若干个程序。
进程和线程的区别:
进程:就是正在执行的程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
线程:轻量级的进程;进程有独立的地址空间,线程没有;线程不能独立存在,它由进程创建;相对讲,线程耗费的cpu和内存要小于进程。
进程管理的作用?
判断服务器的健康状态
查看系统所有的进程
杀死进程
作用:查看系统中的进程信息
语法:ps[-auxle]
常用选项
查看系统中所有进程
ps应用实例#ps-uorps-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等
-ssummarize统计总占有量
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目录的总大小-ssummarize
df命令和du命令的区别:
df命令是从文件系统考虑的,不仅考虑文件占用的空间,还要统计被命令或者程序占用的空间。
du命令面向文件,只计算文件或目录占用的空间。
作用:查看内存及交换空间使用状态
语法:free[-kmg]
选项:
-k:以KB为单位显示,默认就是以KB为单位显示
-m:以MB为单位显示
-g:以GB为单位显示
清理缓存命令:
echo1/proc/sys/vm/drop_caches
文件管理:
ls--LiSt
cd--ChangeDirectory
pwd--PrintWorkingDirectory
cp--CoPy
mv--MoVe
rm--ReMove
pushd--PUSHtoDirectory
popd--POPfromDirectory(这俩个是很有用的命令,在编译LFS的时候学到的)
mkdir--MaKeDIRectory
rmdir--ReMoveDIRectory
cat--CATenate(有说是conCATenate,这两个词是一个意思吧)
sed--StreamEDitor
diff--DIFFerence
wc--WordCount(不是那个wc啊)
chmod--CHangeMODe
chown--CHangeOWNer
chgrp--CHangeGRouP
awk--AhoWeinbergerandKernighan(自恋,服气)(@xxxxxx谢谢指错)
gawk--GnuAhoWeinbergerandKernighan
grep--GeneralRegularExpressionPrint(@闫子昂谢谢)
ln--LiNk
tar--TARball
硬件管理:
df--DiskFree
du--DiskUsage
dd--DataDescription(一说是ConvertandCopy,但是cc被用掉了,就用dd了)
parted--PARTitionEDitor
lspci--LiStPeripheralComponentInterconnect
lscpu--LiStCentralProcessUnit
lsusb--LiStUniversalSerialBus
系统管理:
depmod--DEPendMODule
lsmod--LiStMODule
modprobe--MODulePROBE
modinfo--MODuleINFOrmation
insmod--INSertMODule
rmmod--ReMoveMODule
ps--ProcessesStatus
su--SubstituteUser
bash--BourneAgainSHell
init--INITialization(差点把这个忘了)
ssh--SecureSHell
wine--WineIsNotanEmulator(哈哈,又来了)
exec--EXECute
fstab--FileSystemTABle
passwd--PASSWorD
tty--TeleTYpe
sudo--SuperUserDO
grub--GRandUnifiedBootloader(Linux全家桶启动就靠它了)
tzselect--TimeZoneSELECT
sync--SYNChronize(确认关机前多执行几次。有次我在tty1用vim改nginx配置文件,朋友在tty2给我直接关机了(用halt关的,这个猪脑子,我说过好多次用shutdown了),导致开机的时候nginx启动不起来,关机前配置文件我改了很多,但是vim没有备份那么多,还要重改www)
装了systemd--SYSTEMDaemon的话,会有systemctlbootctljournalctlloginctllocalectltimedatectl等等,都是blablablaConTroL
权限管理命令chmod
英文愿意:changethepermissionsmodeofafile
语法:chmod[{ugoa}{+-=}{rwx}][文件或目录]
[mide=421][文件或目录]
-R递归修改
权限的数字表示
r--4
w--2
x--1
rwxrw-r--(4+2+1=7)
764
例子:mkdir/temp创建了一个目录
touch/temp/testfile在该目录下创建了一个testfile文件
chmod777/temp改变了一下该目录的权限
名称:chgrp
英文原意:changefilegroupownership
语法:chgrp[用户][文件或目录]
功能:改变文件或目录的所属租
例子:useraddhl//添加所有者
groupaddbrother//添加所有组
charpbrothertext//brother变成了text文件的所属组
注意:
1、所属组就是创建这的所属者的缺省组
2、linux中创建的文件缺少x(可执行)为了使系统更加安全
mask
0022
0特殊权限
022ugo----w--w-
1、文件搜索命令find
执行权限:find
语法:find[搜索范围][匹配条件]
功能描述:文件搜索
例子:
find/etc-nameinit(-iname不区分大小写)
find/home-user(-group)hl
在根目录下查找所有者(所有组)为hl的文件
在目录/etc中查找文件init
initinitinit//通配符
?init(?匹配单个字符)
find/-size+204800
在跟目录下查找大于100MB的文件(100MB=102400KB=204800)
+n大于-n小于n等于
find/etc-cmin-5
例子2:
find/etc-size+163840-asize-204800
在/etc下查找大于80MB小于100MB的文件
-a两个条件同时满足
-o两个条件满足任意一个即可
在/etc下查找5分钟内被修改的属性的文件和目录
-cmin文件属性change
-mmin文件内容modify
2、文件搜索指令locate
命名名称:locate
执行权限:所有用户
语法:locate文件名
功能描述:在文件资料库中查找文件
例子:$locateinittab
输出文件所在位置
locate和find的区别:
locate的查找速度很快,因为find是在分区和磁盘上查找,而locate是在资料库中查找
注意:如果资料库没有实时更新,所以locate可能会查不到要查询的文件。
即:
updatedb(升级文件的资料库)
loocate-i文件名(-i不区分大小写)
3、文件搜索命令:which(更精确呦)
功能描述:搜索命令所在目录及别名信息
例子:whichls
alias(别名)
4、whiereis
语法:whereis[命令名称]
功能描述:搜索命令所在目录及帮助文档路径
例子:whereisls
5、grep
语法:grep-iv[指定字串][文件]
功能描述:在文件中搜索字符串匹配的行并输出
-i不区分大小写
-v排除指定字符串
例子grepmysql/root/install.log
补充:linux中#表示注释
命名名称:man
英文原意:manual
语法:man[命令或配置文件]
功能描述:获取帮助信息
例子:manls#查看ls命令的帮助信息
manservices查看配置文件sevices的帮助信息
补充:man。。。。后
/-g:查询与g有关的信息
空格进行翻页
回车进行换行
按n继续查找
命令名称:useradd
执行权限:root
语法:useradd用户名
功能描述:添加新用户
例子:useraddHF
命令名称:passwd
语法:passwd用户名
功能描述:设置用户密码
例子:passwdHF
命令名称:who
语法:who
例子:who
输出内容含义:
命令名称:w
语法:w
例子:w
命令名称:gzip
英文原意:GNUzip
语法:gzip[文件]
功能描述:压缩文件
压缩后文件格式:.gz
解压缩:gunzip压缩文件
注意:gizp只能压缩文件,不能压缩目录
命令名称:tar
语法:tar选项[-zcf][压缩文件名][目录]
-c打包
-v显示详细文件
-f指定文件名
-z打包同时压缩
功能描述:打包目录
压缩后文件格式:.tar.gz
命令名称:zip
语法:zip选项[-r][压缩后文件名][文件或目录]
功能描述:压缩文件或目录
压缩后文件格式:zip
注意:zip是window和linux系统中通过用的压缩格式
命令名称:bzip2
语法:bzip2选项[-k][文件]
-k产生压缩文件后保留有源文件
压缩后文件格式:.bz2
注意:bzip2的压缩比例大,适用于压缩较大的文件
bunzip2解压缩
对目录压缩:tar.bz2
指令名称:write
指令权限:所有用户
语法:write用户名
功能描述:给用户发消息,以ctrl+D保存
例子:writeYX
命令名称:wall
英文原意:writeall
语法:wall[message]
功能描述:发广播信息
命令名称:ping
功能描述:测试网络连通性
例子:ping192.168.1.156
命令名称:ifcongig
英文原意:interfaceconfigure
语法:ifconfig网卡名称IP地址
功能描述:查看和设置网卡信息(设立之临时IP)
例子:ifconfigetho192.168.1.156
etch0本地真实网卡
lo回环网卡(用来本机通信个测试的)
cncap:。。网络名称是以太网
HWaddr:16进制表示的48位的网卡的物理地址
addr:当前计算机IP地址
Bcast:当前网络地址
Mask:子网掩码
inet6addr:表示的是IPv6的地址信息
RXpackets:接受数据包的总数量
TXpackets:发送数据包的总数量
Baseaddtess:网卡当中的物理位置
命令名称:mail(邮件命令)
语法:mail[用户名]
功能描述:查看发送电子邮件
发送:ctrl+D
查询:mail
例子:mailroot
[图片上传中...(-d00bb9-1591253201012-0)]
命令名称:last
语法:last
功能描述:列出目前和过去登入系统的用户信息
命令名称:traceroute
语法:traceroute
功能描述:显示数据包到主机的路径
例子:traceroute
命令名称:netstat
语法:netstat[选项]
-t:TCP协议
-u:UDP协议
-l:监听
-r:路由
-n:显示IP地址和端口号
netstat-tlun查看本机监听的端口
netstat-an查看本机所有网络链接
netstat-rn查看本届路由表
命令名称:setup
语法:setup
功能描述:配置网络(永久生效)
例子:setup
注意:配置网络结束后要重启网络服务
挂在命令
命令名称:mount
语法:mount[-t文件系统]设备文件
例子:mount-tiso9660/dev/sr0/mnt/cdrom
命令名称:shutdown
-h:关机
-r:重启
特点:可以正确的关闭和保存服务,建议实用
其他关机命令
poweroff(直接断电)
重启命令
reboot
补充:init_的数字含义
init0关机
init1单用户(启动最小最核心的服务)
init2不完全多用户,不含NFS服务(networkfilesystem网络文件系统)
init3完全多用户
init4未分配
init5图形界面
init6重启
查询系统运行级别
runlevel
logout
一、目录操作命令
cd
cd命令功能
在每一个操作系统中,都需要有改变目录的工作,Linux也不例外,在Linux操作系统中,是通过cd命令来改变工作目录的。
cd命令的命令格式及用法
命令格式:cd
命令用法
例:现在的工作目录为:/home/development,想改变当前工作目录,进入下一层目录temp,应使用cd命令。
[development@www
~]$
pwd
————可以通过pwd命令查看当前工作目录。
/home/development
————当前工作目录为:/home/development
temp/
————通过cd
temp命令改变当前目录为/home/development/temp
temp]$
————再次使用pwd命令查看当前工作目录
/home/development/temp
————可知当前工作目录为:/home/development/temp
在Linux的目录结构中“.”表示当前目录,“..”表示当前目录的父目录,“/”表示根目录。
二、常用文件命令。
1、文件处理命令:ls
命令名称:ls
命令英文原意:list
命令所在路径:/bin/ls
功能描述:显示目录文件
语法:ls
选项[-ald]
[文件或目录]
-a
显示所有文件,包括隐藏文件
-l
详细信息显示
-d
查看目录属性
2、文件处理命令:cd
命令名称:cd
命令英文原意:change
directory
命令所在路径:shell内置命令
语法:cd
[
目录]
功能描述:切换目录
范例:$
/
切换到根目录
$
..
回到上一级目录
3、文件处理命令:pwd
命令名称:pwd
命令英文原意:print
working
命令所在路径:/bin/pwd
语法:pwd
功能描述:显示当前所在的工作目录
/etc/rc5.d
4、文件处理命令:touch
命令名称:touch
命令所在路径:/bin/touch
语法:touch
[文件名]
功能描述:创建空文件
touch
newfile
5、文件处理命令:mkdir
命令名称:mkdir
命令英文原意:make
directories
命令所在路径:/bin/mkdir
语法:mkdir
目录名]
功能描述:创建新目录
mkdir
newdir
三、权限命令。
文件/目录权限设置命令:chmod
这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限。该命令有两种用法:
用包含字母和操作符表达式的文字设定法
其语法格式为:chmod
[who]
[opt]
[mode]
文件/目录名
其中who表示对象,是以下字母中的一个或组合:
u:表示文件所有者
g:表示同组用户
o:表示其它用户
a:表示所有用户
opt则是代表操作,可以为:
+
:添加某个权限
-
:取消某个权限
=
:赋予给定的权限,并取消原有的权限
而mode则代表权限:
r:可读
w:可写
x:可执行
例如:为同组用户增加对文件a.txt的读写权限:
chmod
g+rw
a.txt
linux命令格式:
说明:command:命令名,相应功能的英文单词或单词的缩写[-options]:选项,可用来对命令进行控制,也可以省略,[]代表可选parameter1…:传给命令的参数:可以是零个一个或多个
一般是linux命令自带的帮助信息
如:
man是linux提供的一个手册,包含了绝大部分的命令、函数使用说明
该手册分成很多章节(section),使用man时可以指定不同的章节来浏览。
例:manls;man2printf
man中各个section意义如下:
man是按照手册的章节号的顺序进行搜索的。
man设置了如下的功能键:
在敲出命令的前几个字母的同时,按下tab键,系统会自动帮我们补全命令
当系统执行过一些命令后,可按上下键翻看以前的命令,history将执行过的命令列举出来
ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令。
Linux文件或者目录名称最长可以有265个字符,“.”代表当前目录,“..”代表上一级目录,以“.”开头的文件为隐藏文件,需要用-a参数才能显示。
ls常用参数:
Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。
如:lstest.txt(test.txt如果不存在,则创建,存在则覆盖其内容)
注意:输出重定向会覆盖原来的内容,输出重定向则会追加到文件的尾部。
查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令,每次只显示一页,按下空格键可以显示下一页,按下q键退出显示,按下h键可以获取帮助。
管道:一个命令的输出可以通过管道做为另一个命令的输入。
管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“|”的左右分为两端,左端塞东西(写),右端取东西(读)。
clear作用为清除终端上的显示(类似于DOS的cls清屏功能),也可使用快捷键:Ctrl+l(“l”为字母)。
在使用Unix/Linux的时候,经常需要更换工作目录。cd命令可以帮助用户切换工作目录。Linux所有的目录和文件名大小写敏感
cd后面可跟绝对路径,也可以跟相对路径。如果省略目录,则默认切换到当前用户的主目录。
使用pwd命令可以显示当前的工作目录,该命令很简单,直接输入pwd即可,后面不带参数。
通过mkdir命令可以创建一个新的目录。参数-p可递归创建目录。
需要注意的是新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限。
可使用rmdir命令删除一个目录。必须离开目录,并且目录必须为空目录,不然提示删除失败。
可通过rm删除文件或目录。使用rm命令要小心,因为文件删除后不能恢复。为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件。
常用参数及含义如下表所示:
Linux链接文件类似于Windows下的快捷方式。
链接文件分为软链接和硬链接。
软链接:软链接不占用磁盘空间,源文件删除则软链接失效。
硬链接:硬链接只能链接普通文件,不能链接目录。
使用格式:
如果没有-s选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,所以-s选项是更常见的形式。
注意:如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。
Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找。如果找到匹配模式,grep打印包含模式的所有行。
grep一般格式为:
在grep命令中输入字符串参数时,最好引号或双引号括起来。例如:grep‘a’1.txt。
常用选项说明:
find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。
常用用法:
cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令。
用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名。
计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。
tar使用格式tar[参数]打包文件名文件
tar命令很特殊,其参数前面可以使用“-”,也可以不使用。
常用参数:
tar与gzip命令结合使用实现文件打包、压缩。tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。
gzip使用格式如下:
gzip[选项]被压缩文件
常用选项:
tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样)。
tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz2。
在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程。
压缩用法:tar-jcvf压缩包包名文件...(tarjcvfbk.tar.bz2*.c)
解压用法:tar-jxvf压缩包包名(tarjxvfbk.tar.bz2)
通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。
压缩文件:zip[-r]目标文件(没有扩展名)源文件
解压文件:unzip-d解压后目录文件压缩文件
whoami该命令用户查看当前系统当前账号的用户名。可通过cat/etc/passwd查看系统用户信息。
如果是图形界面,退出当前终端;
如果是切换后的登陆用户,退出则返回上一个登陆账号。
在Unix/Linux中添加用户账号可以使用adduser或useradd命令,因为adduser命令是指向useradd命令的一个链接,因此,这两个命令的使用格式完全一样。
useradd命令的使用格式如下:
useradd[参数]新建用户账号
在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或修改用户口令。用户也可以直接使用该命令来修改自己的口令,而无需在命令后面使用用户名。
可以通过su命令切换用户,su后面可以加“-”。su和su–命令不同之处在于,su-切换到对应的用户时会将当前的工作目录自动转换到切换后的用户主目录:
方法一:
方法二:
groupadd新建组账号groupdel组账号cat/etc/group查看用户组
使用方法:usermod-g用户组用户名
新创建的用户,默认不能sudo,需要进行一下操作
-g用来制定这个用户默认的用户组
-G一般配合'-a'来完成向其它组添加
chmod修改文件权限有两种使用格式:字母法与数字法。
字母法:chmodu/g/o/a+/-/=rwx文件
cal命令用于查看当前日历,-y显示整年日历
date[MMDDhhmm[[CC]YY][.ss]]+format
CC为年前两位yy为年的后两位,前两位的mm为月,后两位的mm为分钟,dd为天,hh为小时,ss为秒。如:date010203042016.55。
进程是一个具有一定独立功能的程序,它是操作系统动态执行的基本单元。
ps命令可以查看进程的详细状况,常用选项(选项可以不加“-”)如下:
在top命令执行后,可以按下按键得到对显示的结果进行排序:
kill命令指定进程号的进程,需要配合ps使用。有些进程不能直接杀死,这时候我们需要加一个参数“-9”,“-9”代表强制结束.
kill[-signal]pid
df命令用于检测文件系统的磁盘空间占用和空余情况,可以显示所有文件系统对节点和磁盘块的使用情况。
du命令用于统计目录或文件所占磁盘空间的大小,该命令的执行结果与df类似,du更侧重于磁盘的使用状况。