【运维知识基础篇】Linux常用基础命令(三)

简介: 【运维知识基础篇】Linux常用基础命令(三)

今天继续给大家更新Linux常用命令,学Linux不学命令等于没学,今天更新的有echo、>、>>、{}、head、tail、grep、wc、lscpu、free、df、uptime、w。

1.echo 文件   # 输出后面内容到文件
echo 内容 #直接输出内容到屏幕
echo -n #输出内容不换行
echo -e #激活特殊符号 后面字符串加双引号、
特殊符号:\t tab键 \n 换行符 
echo 内容 > 文件 输出内容到文件中,文件不存在则文件自动创建,源文件内容会被覆盖
echo 内容 >> 文件 输出内容到文件中,文件不存在则文件自动创建,追加内容到文件的底部
2.>     #作用,接收所有输出的内容,只接收执行正确的结果,命令错误还是文件不存在都不行
>>    #作用,追加所有输出的内容
>1.txt 快速清空1.txt
其实前面省略了1
2>错误信息覆盖
2>>错误信息追加
执行命令将不同的结果,输入到同一文件中,在后面追加即可
示例1:将查询koten.txt的详细信息不管正确还是错误都输入到1.txt当中
[root@VMware-koten ~]#ll koten.txt >>1.txt 2>> 1.txt 
[root@VMware-koten ~]#ll koten.txt >>1.txt 2>&1 #简写
[root@VMware-koten ~]#ll koten.txt &>>1.txt #简写
示例2:通过结果可以看出是先创建,再ll查看再写入
[root@VMware-koten ~]#ll
total 0
[root@VMware-koten ~]#ll > 1.txt
[root@VMware-koten ~]#cat 1.txt 
total 0
-rw-r--r--. 1 root root 0 Feb 28 10:14 1.txt
[root@VMware-koten ~]#
小结:
>      #正确的输出重定向 只接收正确结果 先清空后写入
>>     #正确追加输出重定向 只接收正确结果 追加内容
2>     #错误的输出重定向 只接收错误结果 先清空后写入
2>>    #错误追加输出重定向 只接收错误结果 追加内容
注意:>>koten.txt 2>&1 两个顺序可以调整 也可以直接简写成&>>koten.txt
简写的时候几个大于符号决定是追加还是写入看前面那个
后面的一个大于符号是固定的语法。
3.{}    #生成序列,数字,字母,不连续的数字或者字符串和其他字符串拼接。
echo、touch、mkdir、ls都可以用
示例1:
[root@VMware-koten ~]#echo {001..10}
001 002 003 004 005 006 007 008 009 010
示例2:生成字符序列
[root@VMware-koten ~]#mkdir {a..c}  #相当于执行 mkdir a b c
[root@VMware-koten ~]#ll
total 3
drwxr-xr-x. 2 root root  6 Feb 28 10:53 a
drwxr-xr-x. 2 root root  6 Feb 28 10:53 b
drwxr-xr-x. 2 root root  6 Feb 28 10:53 c
[root@VMware-koten ~]#
示例3:数字序列和其他字符串拼接,字母序列同理
[root@VMware-koten ~]#echo {1..3}.txt
1.txt 2.txt 3.txt
[root@VMware-koten ~]#
示例4:序列和序列拼接
[root@VMware-koten ~]#echo {1..3}{a..c}
1a 1b 1c 2a 2b 2c 3a 3b 3c
[root@VMware-koten ~]#echo {a..c}{1..3}
a1 a2 a3 b1 b2 b3 c1 c2 c3
[root@VMware-koten ~]#
示例5:备份 #只是说有这种方法,其实挺麻烦 如果在没有的目录下touch,需要先创建目录
[root@VMware-koten ~]#touch 1.txt
[root@VMware-koten ~]#echo 1.txt{,_bak}
1.txt 1.txt_bak
[root@VMware-koten ~]#cp 1.txt{,_bak}
[root@VMware-koten ~]#ll
total 0
-rw-r--r--. 1 root root 0 Feb 28 11:26 1.txt
-rw-r--r--. 1 root root 0 Feb 28 11:26 1.txt_bak
[root@VMware-koten ~]#
示例6:指定递增增加的数量
[root@VMware-koten ~]#echo {1..10..2}
1 3 5 7 9
[root@VMware-koten ~]#
4.head 文件 #默认显示文件的前10行
head -n 3 #显示文件的前3行 简写为head -3,省略n
示例1:配合管道符与其他命令配合显示
[root@VMware-koten ~]#ip a|head -3
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
[root@VMware-koten ~]#
只要是能输出到屏幕上的都能给管道,将前面命令输出作为后续命令的输入
head可以直接接文件,如果没有文件则将执行结果传递给管道
[root@VMware-koten ~]#head 1.txt|head -3 #顺序不能错
1
2
3
[root@VMware-koten ~]#
5.tail 文件 用法跟head一样,一个显示头一个显示尾
tail -f 文件名称 #实时显示文件最新的内容,实时显示文件变化 f是follow
tail -F 文件名称 #可以监控不存在的文件,等着这个文件创建
tailf   文件名称 #作用同上
ctrl+c退出实时监控
6.grep #模糊过滤文件内容
grep “过滤的内容” 文件 
grep -i “过滤的内容” 文件 #过滤文件的内容忽略大小写
示例1:查看ip中的10.0.0.200是否出现
[root@VMware-koten ~]#ip add|grep 10.0.0.200
    inet 10.0.0.200/24 brd 10.0.0.255 scope global eth0
[root@VMware-koten ~]#
示例2:过滤文件中包含“Failed”的行 直接过滤区分大小写
[root@VMware-koten ~]#grep "Failed" /var/log/secure
Feb 27 10:18:12 VMware-koten sshd[20161]: Failed password for root from 10.0.0.1 port 53333 ssh2
Feb 27 17:10:39 VMware-koten sshd[34342]: Failed password for root from 10.0.0.1 port 57720 ssh2
[root@VMware-koten ~]#
[root@VMware-koten ~]#alias grep='grep -i --color=auto' #临时更改
永久更改需要加环境变量
示例3:过滤文件中包含“Failed”的行 忽略大小写
[root@VMware-koten ~]#grep -i "Failed" /var/log/secure
Feb 27 10:18:10 VMware-koten unix_chkpwd[20164]: password check failed for user (root)
Feb 27 10:18:12 VMware-koten sshd[20161]: Failed password for root from 10.0.0.1 port 53333 ssh2
Feb 27 17:10:38 VMware-koten unix_chkpwd[34345]: password check failed for user (root)
Feb 27 17:10:39 VMware-koten sshd[34342]: Failed password for root from 10.0.0.1 port 57720 ssh2
[root@VMware-koten ~]#
示例4:过滤文件中包含“Failed”的行,统计行数
[root@VMware-koten ~]#grep -i "Failed" /var/log/secure|wc -l
4
[root@VMware-koten ~]#
[root@VMware-koten ~]#grep -c "Failed" /var/log/secure
4
[root@VMware-koten ~]#
7.wc -l 文件 #查看当前文件的总行数
文件可以放到前面也可以放到后面
[root@VMware-koten ~]#wc -l 1.txt 
20 1.txt
[root@VMware-koten ~]#cat 1.txt |wc -l
20
[root@VMware-koten ~]#
8.lscpu #查看cpu相关配置信息
[root@VMware-koten ~]#lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1            #总核心数
On-line CPU(s) list:   0            #第一个核心以0来表示
Thread(s) per core:    1
Core(s) per socket:    1            #cpu的个数
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 158
Model name:            Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
Stepping:              10
CPU MHz:               2208.004
BogoMIPS:              4416.00
Hypervisor vendor:     VMware
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              9216K
NUMA node0 CPU(s):     0
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 arat md_clear spec_ctrl intel_stibp flush_l1d arch_capabilities
[root@VMware-koten ~]#
扩展:一般服务器是2-4个cpu,cpu中的核决定的是并发能力,几核就好比几个工人同时工作
9.free #查看内存 必会!!!
[root@VMware-koten ~]#free
              total        used        free      shared  buff/cache   available
Mem:        2027868      204076     1712472        9688      111320     1687868
Swap:       1048572           0     1048572
[root@VMware-koten ~]#
注意:free与available是因为内存欺骗行为
[root@VMware-koten ~]#free -h #换算单位查看
              total        used        free      shared  buff/cache   available
Mem:           1.9G        199M        1.6G        9.5M        108M        1.6G
Swap:          1.0G          0B        1.0G
[root@VMware-koten ~]#
10.df-h #查看磁盘 看不到swap,因为swap是内存了,用到才会显示磁盘 df全程是disk file
[root@VMware-koten ~]#df -h
Filesystem #磁盘系统      Size  Used Avail Use% Mounted on #挂载点
devtmpfs                 980M     0  980M   0%     /dev
tmpfs                    991M     0  991M   0%     /dev/shm
tmpfs                    991M  9.5M  981M   1%     /run
tmpfs                    991M     0  991M   0%     /sys/fs/cgroup
/dev/sda3                 19G  1.9G   17G  10%     /
/dev/sda1                197M  110M   88M  56%     /boot
tmpfs                    199M     0  199M   0%     /run/user/0
[root@VMware-koten ~]#
11.uptime #显示系统负载
[root@VMware-koten ~]#uptime
 11:54:23 up  1:00,  1 user,  load average: 0.00, 0.01, 0.05
 当前时间   当前操作系统运行的时长  当前登录用户  平均负载 1分钟 5分钟 15分钟
主要是看1分钟,5分钟和15分钟,过于繁忙要分情况去检查,看是正常访问还是有人攻击
负载是衡量操作系统的繁忙程度,当负载数字达到cpu核心总数,说明非常繁忙
4核心==负载不能超过4
1种情况 服务器对用户不能超过核心数 会卡
2种情况 负载自身做运算 不对用户的话随便超 这个叫服务器的充分运用
[root@VMware-koten ~]#
12.w #显示系统负载及登录的一些信息 系统中最短命令 最有个性 不然执行提示窗口太小,施展不开
[root@VMware-koten ~]#w
w: 56 column window is too narrow
[root@VMware-koten ~]#w
 12:02:51 up  1:08,  1 user,  load average: 0.03, 0.03, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    10.0.0.1         10:56    3.00s  0.13s  0.03s w
[root@VMware-koten ~]#
TTY是虚拟机登录的
pts是远程连接的
from来源地址是本机VMnet8的ip地址
curl cip.cc   curl ifconfig.me  查看本地公网的IP地址
如果是在阿里云服务器下w,form显示自己路由器的公网IP
what是当前用户在干嘛
查询信息命令小结:
查看cpu:lscpu
查看内存:free -h
查看磁盘:df -h
查看负载:uptime
查看负载和登录信息:w

我是koten,10年运维经验,持续分享运维干货,感谢大家的阅读和关注!

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
目录
相关文章
|
17天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
124 5
|
17天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
55 4
|
4天前
|
缓存 监控 Linux
|
7天前
|
Linux Shell 数据安全/隐私保护
|
8天前
|
域名解析 网络协议 安全
|
14天前
|
运维 监控 网络协议
|
15天前
|
监控 Linux Shell
|
18天前
|
Unix Linux
Linux | Rsync 命令:16 个实际示例(下)
Linux | Rsync 命令:16 个实际示例(下)
29 3
Linux | Rsync 命令:16 个实际示例(下)
|
2天前
|
监控 Linux
Linux常用命令-2
本文继续介绍Linux常用命令,涵盖目录操作、文件操作、系统信息和进程管理等类别。具体包括mkdir、rmdir、cp、mv、rm、touch、whereis、whatis、dmesg、free、date、cal、ps、kill、killall和top等命令的使用方法和常用参数。
23 7
|
2天前
|
Linux Shell
Linux常用命令-1
本课程要求学生熟悉Linux系统终端窗口和命令基础,掌握文件目录类、系统信息类、进程管理类及其他常用命令,学时为3-6小时。课程内容涵盖Linux命令的特点、常见命令的使用方法及其应用场景,如文件浏览、目录切换、内容显示等。建议学生逐个操作命令并及时反馈问题。
21 5