之前我们介绍了Linux中的基础指令以及环境变量的意义和vi,vim编辑器的三个模式的切换,今天我们来学点更进阶一点的指令.
管道符"|" :将前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin) 。管道符"|" :将前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin) 。
语法:# 前一个命令 | 后一个命令
实例
# ls / | grep peppa.log
解析:
| :管道符号,作用=>把ls /的正确的执行结果作为参数传递给grep命令
ls / :管道左边的命令
grep peppa.log] :管道右边的命令
2. find:文件查找
语法: find path options [operations]
options:
-name 按照文件名进行查找
-iname 按照文件名进行查找,不区分大小写
-size 按照文件大小进行查找(1M表示大小为1M的文件,+1M表示查找大于1MB的文件,-1M表示查找小于1MB的文件)
-type 按照文件类型进行查找
- 表示文件,在find指令中用f表示普通文件
d 表示目录(文件夹)
l 表示链接文件
-mtime 按照修改日期进行查找(-10表示10天以内的文件,+10表示10天以前的文件)
-ctime 按照创建日期进行查找(-10表示10天以内的文件,+10表示10天以前的文件)
-atime 按照访问日期进行查找(-10表示10天以内的文件,+10表示10天以前的文件)
operations:
-exec 直接执行该参数后的shell指令
shell指令以空格 \;结束
用{}表示查找到的文件
-ok 以交互方式执行该参数后的shell指令
-delete 删除找到的文件
-ls 罗列出找到的文件,显示文件的详细信息
-print 打印出查找到的文件(默认)
实例:
按文件名字查找sun.log文件
[root@localhost ~]# find -name sun.log
./sun.log
Linux中的压缩工具
(了解)
zip unix/windows兼容,可以压缩多个文件/文件夹 unzip(解压)
gzip 压缩单个文件,压缩比率较低,cpu开销低 gunzip
bzip 压缩单个文件,压缩比率相对较高,cpu开销较高 bunzip
xz 压缩单个文件,压缩比率高,cpu开销高 unxz
tar :将多个文件打包成一个文件(打包后可压缩)
tar [options] 打包后的文件 需要打包的文件
-c, --create 创建一个新归档
-t, --list 列出归档内容
-v, --verbose 详细地列出处理的文件
-r, --append 追加文件至归档结尾
-j, --bzip2 通过 bzip2进行压缩/解压缩
-J, --xz 通过 xz 过滤归档
-f 归档文件
-x 解压缩
-C 指定解压路径
-z:在创建或提取存档文件时使用 gzip 压缩算法来进行压缩或解压缩(gzip)。
实例:
将文件1.c,2.c,3.c,4.c打包到number.c文件下
[root@localhost tmp]# tar -zcvf number.c 1.c 2.c 3.c 4.c
1.c
2.c
3.c
4.c
[root@localhost tmp]# ls
1.c
2.c
321
3.c
4.c
abc
ks-script-Yj889I
number.c
hostname指令:操作(读取/设置)服务主机名
语法:hostname [options] [resource]
options
-f FQDN
-I ip地址
实例:
[root@localhost tmp]# hostname -f
localhost //读取服务器主机名
[root@localhost tmp]# hostname -I
192.168.65.168 //读取服务器主机IP地址
[root@localhost tmp]# hostname peppa
//将主机名改为peppa(临时)
[root@localhost tmp]# hostname -f
peppa //这里可以看到主机名已经被更改
whoami:获取当前登录的用户名(一般用在shell脚本或者记录日志时使用)
实例:
[root@localhost tmp]# whoami
root //读取到我们现在在root用户下登录
id:查看用户基本信息(uid,gid,用户组)
语法:id [user]
id 查看当前登录用户的基本信息
实例:
[root@localhost tmp]# id
uid=0(root) gid=0(root) 组=0(root) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
ps 查看服务器进程信息(*)
-e -A 全部进程信息
-f 全部的列
[root@localhost tmp]# ps -e
PID TTY TIME CMD
1 ? 00:00:01 systemd
2 ? 00:00:00 kthreadd
3 ? 00:00:00 ksoftirqd/0
5 ? 00:00:00 kworker/0:0H
6 ? 00:00:00 kworker/u256:0
7 ? 00:00:00 migration/0
8 ? 00:00:00 rcu_bh
9 ? 00:00:00 rcu_sched
10 ? 00:00:00 lru-add-drain
11 ? 00:00:00 watchdog/0
12 ? 00:00:00 watchdog/1
13 ? 00:00:00 migration/1
14 ? 00:00:00 ksoftirqd/1
16 ? 00:00:00 kworker/1:0H
17 ? 00:00:00 watchdog/2
//UID 用户id
PID 进程id
PPID 父级id,如果一个进程的PPID找不到,那么这个进程即为僵尸进程
C cpu占用率
STIME 启动时间
TTY 终端设备,?表示不是由终端发起的
TIME 执行时间
CMD 名称或者对应的path
top 查看服务器进程所占资源(动态显示)
实例:
[root@localhost tmp]# top
top - 23:04:52 up 3:16, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 122 total, 1 running, 121 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 2028112 total, 1699996 free, 153332 used, 174784 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 1686272 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 193548 6656 4144 S 0.0 0.3 0:01.47 systemd
快捷键:
M -> 将结果按照内存占用率从高到底进行排序
P -> 将结果按照CPU占用率从高到底进行排序
l -> 每颗cpu使用情况
q -> 退出
PID 进程id
USER 用户名
PR 优先级
NI 用户进程改变后的优先级
VIRT 虚拟内存
RES 常驻内存
SHR 共享内存
S 进程状态(R:running;S:sleeping)
%CPU cpu占用率
%MEM 内存占用率
TIME+ 执行时间
COMMAND 命令
du :查看目录的真实大小
语法:du [options] [directory]
-s 汇总
-h 可读性良好的方式显示
实例:
查看number.c的真实大小,并以友好的方式进行汇总
[root@localhost tmp]# du -sh number.c
4.0K number.c
kill 结束进程
语法:kill pid
-9 强制结束
killall 根据进程名称结束进程
实例:
[root@localhost tmp]# kill 3
//结束掉pid为3的进程
[root@localhost tmp]# killall sshd
//按照sshd的进程名称结束进程
service :开启进程
语法: service 服务名 start
options /restart/try-restart/reload/force-reload/status
实例:
开启网卡服务
services network start //开启网卡服务
好嘞,进阶指令就介绍到这里啦,下期再见哦!