Linux就该这么学--第二章

  • 常用系统工作命令
      • man [命令]
    ◇ 常用按键:
    ▪ 空格键 or Page down 向下翻一页
    ▪ Page up :向上翻一页
    ▪ home:前往首页
    ▪ end:前往尾页
    ▪ /关键词:从上至下搜索关键词
    ▪ ?关键词:从下至上搜索关键词
    ▪ n:定位到下一个搜索到的关键词
    ▪ N:定位到上一个搜索到的关键词
    ▪ q:退出

    • echo [字符串|$变量]:在终端输出字符串或者变量值

    • date [选项] [+指定的格式]:显示和设置系统的时间或日期
    ◇ 选项:
    ▪ -s 设置日期和时间
    ◇ 指定的格式:
    ▪ %j 今年中的第几天
    ▪ %Y 年
    ▪ %m 日
    ▪ %d 日
    ▪ %H 时
    ▪ %M 分
    ▪ %S 秒

    • reboot:重启系统

    • poweroff:关闭电脑

    • wget [参数] 下载地址:下载网络文件
    ◇ 参数:
    ▪ -b 后台下载
    ▪ -c 断点续传
    ▪ -P 指定目录
    ▪ -t 最大尝试次数
    ▪ -p 下载页面内全部资源
    ▪ -r 递归下载

    • ps [参数]:查看系统中的进程状态
    ◇ 参数:
    ▪ -a 显示所有进程
    ▪ -u 用户以及其他详细信息
    ▪ -x 显示没有控制终端的进程
    ◇ 进程状态:
    ▪ R 运行 正在为用户服务
    ▪ S 中断 等待为用户服务
    ▪ D 不可中断 不响应系统或者在为用户服务
    ▪ Z 僵死 不受系统控制,没有为用户服务(在kill或者killall之后加参数-9进行强杀)
    ▪ T 停止 停止为用户服务

    • top:动态的监视进程活动与系统负载等信息
    top -H -p 18605 查看某个进程(18605)内部线程占用情况分析
    可以结合pidof使用,例如top -H -p `pidof sshd`
    ◇ 名词解释:
    ▪ 第一行(和uptime的信息一样)
    - up:开机了多长时间
    - users:开启的终端的数量
    - load average:负载在1、5、15分钟内的负载情况,从右往左看负载的波动,如果数值达到5以上可能导致服务器崩溃
    ▪ 第二行
    - Tasks:所有进程数
    - running:正在运行的进程数
    - sleeping:睡眠进程数
    - stopped:停止进程数
    - zombie:僵死进程数
    ▪ 第三行
    - us:当前CPU使用的百分比
    - id:CPU的空闲率
    ▪ 第四行
    - 内存情况
    ▪ 第五行
    - 虚拟内存情况

    • pidof [参数] [服务名称]:查询指定服务的PID

    • kill [参数] [进程PID]:终止指定PID的进程
    默认参数下,kill 发送SIGTERM(15)信号给进程,告诉进程被关闭,请自行停止运行并退出。
    kill -9 发送SIGKILL(9)信号给进程,告诉进程被终结了,请立刻退出,表示“无条件终止”。

    • killall [参数] [进程名称]:终止指定名称的进程


  • 系统状态检测命令

    • ifconfig [网络设备] [参数]:获取网卡配置和网络状态等信息
    (安装yum install net-tools)
    ◇ 名词解释:
    ▪ inet:ip地址
    ▪ ether:mac地址
    ▪ RX、TX:收发包数和累计流量
    ◇ 常用组合
    ▪ 配置网卡的IP地址
    ifconfig eth0 192.168.0.1 netmask 255.255.255.0
    ▪ 配置网卡的硬件地址
    ifconfig eth0 down
    ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx
    ifconfig eth0 up
    ▪ 将网卡禁用\启用\重启
    ifconfig eth0 down\up\reload
    ▪ 设置最大传输单元
    ifconfig eth0 mtu 1500
    ▪ 添加多个IP
    ifconfig eth0:0 192.168.1.100 netmask 255.255.255.0 up
    ifconfig eth0:1 192.168.2.100 netmask 255.255.255.0 up
    ▪ 删除IP
    ifconfig eth0 del 192.168.1.100
    ▪ 启用和禁用arp
    ifconfig eth0 arp\-arp
    ▪ 启用和禁用混杂模式
    ifconfig eth0 promisc\-promisc

    • uname [-a]:查看系统内核和系统版本信息(系统,主机名称,内核版本号,系统打包时间,系统位数)

    • uptime:查看当前系统时间、系统已运行时间、启用终端数量、平均负载信息(和top的第一行一样)

    • free [-h]:当前系统内存的使用信息
    ◇ 名词解释:
    ▪ total 内存总量
    ▪ used 已用量(表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用)
    ▪ free 可用量
    ▪ shared 进程共享的内存量(共享内存,一般系统不会用到)
    ▪ buffers 磁盘缓存的内存量 (系统分配但未被使用的buffers 数量)
    ▪ cached 缓存的内存量 (系统分配但未被使用的cache 数量)
    ◇ 结果解释:

    ▪ user2(-/+ buffers/cache这行的userd值):实际使用的buffers 与cache 总量,也是实际使用的内存总量
    ▪ free2:未被 使用的buffers 与cache 和未被分配的内存之和,这就是系统当前实际可用内存
    ▪ 计算公式:
    - total1 = used1 + free1
    - total1 = used2 + free2
    - used1 = buffers1 + cached1 + used2
    - free2 = buffers1 + cached1 + free1
    ▪ 区别:
    - cached是cpu与内存间的,buffer是内存与磁盘间的,都是为了解决速度不对等的问题
    - buffer是即将要被写入磁盘的,而cache是被从磁盘中读出来的(网络存储上读取文件,是不是cache的值会很高?)

    • who [参数]:查看当前登入主机的用户终端信息

    • last [参数]:查看所有系统的登录记录

    • history [-c]:显示历史执行过的指令
    ◇ 默认显示1000条,条数可以在/etc/profile文件中的HISTSIZE参数上设置
    ◇ -c 时是清空所有历史
    ◇ !编码数字 执行“编码数字”那条指令

    • sosreport:收集系统配置及架构信息并输出诊断文档,格式为sosreport

  • 工作目录切换

    • pwd:显示用户当前所处的目录

    • cd [目录名称]
    ◇ - 返回上次所处的目录
    ◇ .. 进入上级目录
    ◇ ~ 进入当前登录用户的家目录,或者使用~username

    • ls [选项] [目录]:显示目录中的文件信息
    ◇ 选项:
    ▪ -a 全部文件
    ▪ -l 查看文件的属性、大小等信息
    ▪ -d 查看目录属性信息

  • 文本文件编辑

    • cat [选项] [文件]:查看纯文本文件(内容较少的)
    ◇ 选项:
    ▪ -n 显示行号

    • more [选项] [文件]:查看纯文本文件(内容较多的),空格或enter进行翻页

    • head [选项] [文件]:查看纯文本文件的前n行
    ◇ 选项:
    ▪ -n n 查看前n行

    • tail [选项] [文件]:查看纯文本文件的后n行或者持续刷新的内容
    ◇ 选项:
    ▪ -n n 查看后n行
    ▪ -f 查看持续刷新的文件

    • tr [原始字符] [目标字符]:替换文本文件中的字符

    • wc [参数] [文本]:用于统计指定的文本的行数、字数、字节数
    ◇ 参数:
    ▪ -l 统计行数
    ▪ -w 统计单词(字)数
    ▪ -c 统计字节数

    • stat [文件]:查看文件的具体存储信息和时间等信息
    ◇ 名词解释:
    ▪ Access:最后一次访问时间(仅仅访问,未改写),atime
    ▪ Modify:最后一次对文件内容修改,mtime
    ▪ Change:最后一次权限、所有者等属性修改,ctime

    • cut [参数] [文本]:按列提取文本字符
    ◇ 参数:
    ▪ -f n 查看第n列
    ▪ -d 符号 设置间隔符

    • diff [参数] [文件]:用于比较多个文本文件的差异
    ◇ 参数:
    ▪ --brief 确认两个文件是否相同
    ▪ -c 详细比较出多个文件之间的差异

  • 文件目录管理命令

    • touch [参数] [文件]:创建空白文件或者设置文件的时间
    ◇ 参数:
    ▪ -a 仅修改读取文件时间(atime)
    ▪ -m 仅修改修改文件时间(mtime) ctime 修改权限的时间
    ▪ -d 同时修改atime和mtime

    • mkdir [参数] [目录]:创建空白目录
    ◇ 参数:
    ▪ -p 递归创建目录

    • cp [参数] [源文件] [目的文件]:用于复制文件或目录
    ◇ 参数:
    ▪ -p 保留原始文件的属性
    ▪ -d 保留链接文件的属性
    ▪ -r 递归复制(用于目录)
    ▪ -i 询问是否覆盖
    ▪ -a 相当于-pdr

    • mv [选项] 源文件 [目标路径|目标文件名]:剪切文件或将文件重命名

    • rm [选项] [文件]:删除文件或目录
    ◇ -f 强制删除
    ◇ -r 删除目录

    • dd [参数]:按照指定大小和个数的数据块来复制文件或转换文件
    ◇ 参数:
    ▪ if=输入的文件名称
    ▪ of=输出的文件名称
    ▪ bs=设置每个块的大小
    ▪ count=设置要复制块的个数
    count=n 是仅仅处理n块数据后就不再工作了,n不加单位时默认为字符
    ◇ 其他说明:
    ▪ 设备文件/dev/zero不会占用系统存储空间,但是会提供源源不断地数据,可以作为dd命令的输入文件
    dd if=/dev/zero of=560_file count=1 bs=560M
    ▪ dd可以用来将光盘文件直接压制成ISO文件
    dd if=/dev/cdrom of=RHEL.iso
    ▪ 复制一部分内容
    dd if=anaconda-ks.cfg of=xiaozhi bs=100 count=1 #从anaconda-ks.cfg复制前100个字符到文件xiaozhi

    • file [文件名]:用于查看文件的类型

  • 打包压缩和搜索命令

    • tar [参数] [文件]:对文件打包压缩或解压
    ◇ 参数:
    ▪ -c 创建压缩文件
    ▪ -x 解开压缩文件
    ▪ -t 查看压缩包中有哪些文件
    ▪ -z 用Gzip格式压缩或解压(.tar.gz)
    ▪ -j 用bzip2格式压缩或解压(.tar.bz2)
    ▪ -v 显示压缩或解压的过程
    ▪ -f 目标文件名,必须放到参数的最后一位
    ▪ -p 保持原始的权限和属性
    ▪ -P 使用绝对路径来压缩
    ▪ -C 指定解压到的目录

    • grep [参数] [文件]:在文本中搜索关键词并显示结果
    ◇ 参数:
    ▪ -b 将可执行文件当做文本来搜索
    ▪ -c 仅显示找到的总行数
    ▪ -i 忽略大小写
    ▪ -n 显示行号
    ▪ -v 反向选择,仅列出没有匹配到关键词的行
    ▪ -A 2 'root' /etc/passwd 过滤root所在后两行 (显示错误相关信息)
    ▪ -B 5 'root' /etc/passwd 过滤root所在前5行
    ▪ -w 过滤单词,(不连贯)
    ▪ -r 递归

    • find [查找路径] [寻找条件] [操作]:按照指定条件查找文件
    ◇ 参数:
    ▪ -name 匹配名称
    ▪ -perm 匹配权限,mode为完全匹配,-mode为包含
    ▪ -user 匹配所有者
    ▪ -nouser 匹配无所有者文件
    ▪ -group 匹配所有组
    ▪ -nogroup 匹配无所有组文件
    ▪ -atime -n +n 匹配访问文件的时间,-n指n天以内,+n指n天以前
    ▪ -mtime -n +n 匹配修改文件内容的时间,-n指n天以内,+n指n天以前
    ▪ -ctime -n +n 匹配修改文件权限的时间,-n指n天以内,+n指n天以前
    ▪ -newer f1 !f2 匹配比文件f1新但比f2旧的文件
    ▪ -size +50KB -100KB 匹配大于50KB且小于100KB的文件
    ▪ -prune 忽略某一个目录
    ▪ -type b/d/c/p/l/f 匹配文件类型:块设备、目录、字符设备、管道、链接文件、文本文件(短命令)
    ▪ -exec ... {} ... \; 后面可跟用于进一步处理搜索结果的命令。{}表示find搜索到的每个文件,命令的结尾必须是\;
    find / -user linuxprobe -exec cp -a {} /root/findresults/ \;
    将用户linuxprobe的文件复制到目录/root/findresults

猜你喜欢

转载自www.cnblogs.com/JYLCSS/p/10514065.html
今日推荐