Linux | 系统状态查看 / 文本文件处理命令

目录

1 字符终端

2  初识 Linux

2.1 Linux基本信息

root 用户(超级用户)

创建新用户

Shell提示符

系统使用

2.2 基本的Linux命令

man 查阅联机手册

data 读取系统日期和时间

cal 打印日历

bc 计算器

passwd 更改口令

分页器

2.3 系统运行状态

who 确定有谁在系统中

uptime 系统已经开机的实际时间

top 列出资源占用排名靠前的进程

ps  查阅进程状态(process status)

free 了解内存使用情况

 vmstat 了解系统负载

 3 文本文件及处理

3.1 Linux中的文本信息

3.2 文本文件处理机制  

进程的标准输入和输出

重定向与管道

3.3 常用的文本文件处理命令

more/less 逐屏显示文本信息

cat 与 od:列出文件内容

 head 与 tail:显示文件的头部或者尾部

tee 三通

wc 字计数

 sort 对文件内容排序

tr 翻译字符

uniq 筛选文件中的重复行


1 字符终端

终端:主机的输入和输出设备

终端通过电缆把用户的按键信息送到主机,把主机发来的信息显示在屏幕。

主机:程序和数据的存储及处理

数据及程序存放在主机的硬盘,程序的运行由主机中的CPU占用主机内存来完成。

2  初识 Linux

2.1 Linux基本信息

root 用户(超级用户)

  • 不受权限的限制,可以随意修改和删除文件;
  • 误删文件可能造成严重后果。

创建新用户

  • 由root用户创建(useradd命令),用户信息存在 /etc/passwd 文件中,包括用户名和用户ID,以及Home目录,登录shell。
  • 登录shell: 一般为 bash,也可以选择其他的shell以及系统程序等。
  • 用户可以从普通终端或者网络虚拟终端登录进入系统。

Shell提示符

  • 登录成功后出现shell提示符
  • $   Bourns Shell 系列(sh, ksh, bash)
  • #   超级用户root

系统使用

  • 出现shell提示符以后就可以输入系统命令。
  • Linux系统对英文字母大小写敏感。

2.2 基本的Linux命令

man 查阅联机手册

  • 列出基本的功能和语法
  • 功能说明等信息
  • C语言的库函数信息 

man 命令用法

  • 取自manual的前三个字母;
  • man <name>     # <name>可以是命令或库函数
  • man <section> <name>    # <section>为章节编号。1-命令   2-系统调用  3-库函数(C语言库函数等)  5-配置文件
  • man -k <regexp>    # 列出关键字与正则表达式<regexp>匹配的手册项目录

data 读取系统日期和时间

  • date "+%Y-%m-%d  %H:%M:%S  Day %j"     # 2021-12-22  21:23:34  Day 311

cal 打印日历

  • cal    # 打印当前月日历
  • cal <year>   # 打印<year>年的日历
  • cal <month> <year>   # 打印<year>年<month>月的日历

bc 计算器

  • 基本计算功能
  • 支持函数、变量,条件和循环等编程功能(类似C语言的小编程语言)
  • 可以进行任意精度的计算(精度非常高)

精度

  • bc    # 缺省精度为小数点后0位
  • bc -l    # 缺省精度为小数点后20位

passwd 更改口令

  • 普通用户:使用passwd命令更改自己的口令,更改前系统先验证原来的口令
  • 超级用户root:修改口令前不验证旧的口令;可修改自己的口令,还可强迫设置其他用户口令

 口令的验证方法:无法由哈希值倒推出口令原文。

分页器

  • q - 退出
  • 空格 - 下一页
  • 上下箭头 - 上下移

2.3 系统运行状态

who 确定有谁在系统中

命令 who 列出当前已登录入系统的用户

sum  tty01  Jul 3  12:21

第一列:用户名;第二列:终端设备的设备文件名(设备在文件系统中只有一个文件名,设备文件一般放在目录  /dev 下)

  • tty   # 可以打印出当前终端的设备文件名
  • who am i   # 可以列出当前终端上的登录用户
  • whoami     # 仅列出当前终端上的登录用户

uptime 系统已经开机的实际时间

top 列出资源占用排名靠前的进程

第一行:当前时间;系统自启动到现在的运行时间(412天4小时15分钟);当前登录系统的用户数;系统负载的平均数(从现在开始往前推,近期1分钟、5分钟、15分钟内系统CPU的负载平均调度队列长度,即运行态+阻塞态)。

第二行:134个进程,1个在运行,133个在阻塞状态。

ps  查阅进程状态(process status)

将内核中进程状态信息有选择地打印出来

  • 无选项:只列出在当前终端上启动的进程。(PID, TTY, TIME, COMMAND)
  • -e:列出系统中所有的进程(进程范围)
  • -f:以full格式列出每一个进程(控制列的数目)
  • -l:以Long格式列出每一个进程(控制列的数目)

free 了解内存使用情况

 vmstat 了解系统负载

 3 文本文件及处理

3.1 Linux中的文本信息

3.2 文本文件处理机制  

进程的标准输入和输出

 写好的程序可以认为是一个文件,该进程运行起来就叫做一个进程,从进程开始运行到结束的一个声明周期内系统需要配置内存、CPU等信息。

  • 标准输入 stdin      # 默认通过键盘输入
  • 标准输出 stdout    # 默认通过屏幕输出

重定向与管道

重定向机制:将标准输入/输出重定向到一个文件中。

(1)输出重定向

  • ls -l > filelist.txt    # 将原本显示在屏幕的信息存在文件中

(2)输入重定向

  • sort < filelist.txt   # 将原本从键盘输入的信息改为从文件读取

管道机制:将两个命令连接在一起。

  • ls -l | sort    # 第一个命令本应该输出在屏幕,现在沿着管道进入第二个命令的输入口,作为第二个命令的输入信息。

3.3 常用的文本文件处理命令

more/less 逐屏显示文本信息

  • more shude.c   # 指定一个文件。less 用法同more
  • more *.[ch]       # 指定多个文件
  • ls -l | more        # 指定0个文件

less 命令同 more,但是比more更方便一点,可以通过上下方向按键进行翻页等操作。

cat 与 od:列出文件内容

cat 命令

 od 命令

 head 与 tail:显示文件的头部或者尾部

tee 三通

将从标准输入stdin得到的数据抄送到标准输出stdout显示,同时存入磁盘文件中。在屏幕显示的同时也保存在文件中。

  • ./myin | tee myin.log

wc 字计数

  • 列出文件中一共有多少行,有多少单词,多少字符
  • 当指定的文件数大于1时,最后还列出一个合计
  • 常用选项 -l:只列出行计数 

 sort 对文件内容排序

  • ls -s | sort | tail -10
  • ls -s | sort -n | tail -10    # 列出文件进行排序(按照数字大小),打印后10行

tr 翻译字符

tr string1 string2

把标准输入拷贝到标准输出,string1中出现的字符替换为string2中的对应字符。

  • cat telnos | tr UVX uvx        # 将里面的UVX替换为uvx
  • cat report | tr '[a-z]' '[A-Z]'    # 将report文件中的所有小写字符替换为大写字母
  • cat file | tr % '\012'               # 将文件中的%改为换行符(因为换行符是不可打印的)

uniq 筛选文件中的重复行

后面只能有一个文件,否则后面的文件会被当做输出文件使用。

 说明:重复的行指的是上下紧邻的两行相同才视为重复的行。

Guess you like

Origin blog.csdn.net/qq_38844835/article/details/121880495