linux终端分类,linux命令分类总结

一. 常用命令

文件目录操作

cd 切换目录

cd dirname

ls 显示文件/目录属性

常见参数:

-l :列出长数据串,包含文件的属性与权限数据等

-a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)

-d :仅列出目录本身,而不是列出目录的文件数据

-h :将文件容量以较易读的方式(GB,kB等)列出来

-R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来

示例: ls -l /tmp

pwd 显示当前路径

pwd

mkdir 创建目录

mkdir newdir

mkdir -p newdir/newdir #递归创建目录

touch创建文件

touch filename

cp

常见参数:

-r: 递归复制

-p: 保持属性复制

mv移动文件/重命名

mv filename dirname 移动文件

mv oldfilename newfilename 对文件重命名

rm 删除文件

-i: 交互式

-r: 递归

-f: 强制

ln创建链接

ln /etc/passwd passwd 创建硬链接

ln -s 创建软链接

chown 更改文件拥有者

chown [-R] user dir/file

chown [-R] user:group dir/file

chgrp 更改文件拥有组

chgrp [-R] groupname dir/file

参数:

-R: 递归更改

chmod 更改文件权限

r=4,w=2,x=1

chmod xxx filename

日常开关机

禁止在线上服务器使用

shutdown

-r 关机重启

-h 关机不重启

now 立刻关机

halt 关机

reboot 重启

切换执行等级: init

Linux共有七种执行等级:

--run level 0 :关机

--run level 3 :纯文本模式

--run level 5 :含有图形接口模式

--run level 6 :重新启动

用户管理

useradd /adduser

用法: useradd [-u|-g|-m|-d|-s] username

参数说明:

-u: 指定用户id

-g: 指定用户组id

-d: 指定用户家目录

-m/M:创建家目录/M 不创建

-s: 指定用户登陆的shell

userdel

用法: userdel [-r] username

usermod

passwd

用法: passwd username 或者 echo password | passwd username --stdin

搜索命令

寻找【执行挡】:which

which ls 寻找ls命令所在位置

寻找特定档案:whereis

# whereis ls

ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

寻找特定档案:locate

locate passwd

寻找特定档案:find

用法: find [PATH] [option] [action]

find支持正则匹配

-name 按照文件名查找文件。

-perm 按照文件权限来查找文件。

-user 按照文件属主来查找文件。

-group 按照文件所属的组来查找文件。

-mtime -n +n 按照文件的更改时间来查找文件

-type 查找某一类型的文件

实例:

find / -name *.txt

find . -name *.pyc exec rm -rf {}\; 找出 pyc文件并删除

find . -type d 查找目录

二. 文本操作

1. 全文查看 cat/tac

语法: cat/tac filename

2. 分页查看 less/more

语法: less/more filename

3. 头尾查看 head/tail

语法: hean filename

常见用法:

head -10 /etc/passwd 查看文件前10行

tail -5 /etc/passwd 查看文件后5行

4. 统计命令wc

wc语法

wc [-lwm]

选项:

-l :仅列出行;

-w :仅列出多少字(英文单字);

-m :多少字符;

常见用法

# wc /etc/passwd

50 94 2550 /etc/passwd

行数 单词数 字节数

# wc -l /etc/passwd #统计行数很常用

# wc -w /etc/passwd #统计单词出现次数

# wc -m /etc/passwd #统计文件的字节数

5. 切分命令 cut

cut语法

cut [-bn] [file] 或 cut [-c] [file] 或 cut [-df] [file]

主要参数

-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。

-c :以字符为单位进行分割。

-d :自定义分隔符,默认为制表符。

-f :与-d一起使用,指定显示哪个区域。

常用

$ cat /etc/passwd|head -n 5|cut -d : -f 1,3-5

root:0:0:root

bin:1:1:bin

daemon:2:2:daemon

adm:3:4:adm

lp:4:7:lp

$ cat /etc/passwd|head -n 5|cut -d : -f 1,3-5,7

root:0:0:root:/bin/bash

bin:1:1:bin:/sbin/nologin

daemon:2:2:daemon:/sbin/nologin

adm:3:4:adm:/sbin/nologin

lp:4:7:lp:/sbin/nologin

6. 排序命令 sort

语法:

sort [-bcfMnrtk][源文件][-o 输出文件]

参数:

-b 忽略每行前面开始出的空格字符。

-c 检查文件是否已经按照顺序排序。

-f 排序时,忽略大小写字母。

-M 将前面3个字母依照月份的缩写进行排序。

-n 依照数值的大小排序。

-o 将排序后的结果存入指定的文件。

-r 以相反的顺序来排序。

-t 指定排序时所用的栏位分隔字符。

-k 选择以哪个区间进行排序。

常用

1 按文本排序

sort filename

2 按数字排序

sort -n

3 在输出内容中去除重复行

sort -u

4 反序

sort -r

5 指定列排序

sort -k 列号 -t 分隔符

7. 去重命令——uniq

uniq命令可以去除排序过的文件中的重复行,因此uniq经常和sort合用。也就是说,为了使uniq起作用,所有的重复行必须是相邻的。

语法

# uniq [-icu]

选项与参数:

-i :忽略大小写字符的不同;

-c :进行计数

-u :只显示唯一的行

常见用法

1 去重

cat words | sort |uniq

2 排序之后删除了重复行,同时在行首位置输出该行重复的次数:

#sort testfile | uniq -c

3 仅显示存在重复的行,并在行首显示该行重复的次数:

#sort testfile | uniq -dc

8. 查找命令——grep

用法 : grep [options]

主要参数

[options]主要参数:

-c:只输出匹配行的计数。

-I:不区分大 小写(只适用于单字符)。

-h:查询多文件时不显示文件名。

-l:查询多文件时只输出包含匹配字符的文件名。

-n:显示匹配行及 行号。

-s:不显示不存在或无匹配文本的错误信息。

-v:显示不包含匹配文本的所有行。

pattern正则表达式主要参数:

\: 忽略正则表达式中特殊字符的原有含义。

^:匹配正则表达式的开始行。

$: 匹配正则表达式的结束行。

\

\>:到匹配正则表达式的行结束。

[ ]:单个字符,如[A]即A符合要求 。

[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。

。:所有的单个字符。

* :有字符,长度可以为0。

常见使用:

1 grep root /etc/passwd 匹配文件中有root的行

2 grep ^root /etc/passwd 匹配文件中以root开头的行

3 grep -v root /etc/passwd 匹配文件中无root的行

4 grep -v ^$ test 过滤文件中的空行

5 grep '[239].' data #输出所有含有以2,3或9开头的,并且是两个数字的行

9. 替换/查找/删除命令——sed

10. 强大的文本分析命令——awk

三. 任务操作

1. at

在一个指定的时间执行一个指定任务,只能执行一次,且需要开启atd进程

格式:

at[参数][时间]

常用:

1 三天后的下午5点钟执行date : at 5pm+3 days date

2 删除定时任务:

通过atq查看任务号

atrm 任务号

3 显示定时任务内容

at -c 任务号

2. crontab 定时任务

crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程

使用

vim /etc/crontab

文件格式:

minute hour day month week command

其中:

minute: 表示分钟,可以是从0到59之间的任何整数。

hour:表示小时,可以是从0到23之间的任何整数。

day:表示日期,可以是从1到31之间的任何整数。

month:表示月份,可以是从1到12之间的任何整数。

week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

command:要执行的命令,可以是系统命令,脚本文件。

特殊字符:

星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。

逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”

中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”

正斜线(/):可以用正斜线指定时间的间隔频率

命令格式:

crontab [-u user] file

crontab [-u user] [ -e | -l | -r ]

参数:

-u user : 指定循环定时任务的用户

file : cronttab格式的文件

-e : 编辑某个用户的crontab文件,默认当点用户

-l : 显示内容

-r : 从/var/spool/cron目录中删除某个用户的crontab文件

常用

1 每1分钟执行一次command

命令:

* * * * * command

2 每小时的第3和第15分钟执行

命令:

3,15 * * * * command

3 在上午8点到11点的第3和第15分钟执行

命令:

3,15 8-11 * * * command

4 每隔两天的上午8点到11点的第3和第15分钟执行

命令:

3,15 8-11 */2 * * command

5 每个星期一的上午8点到11点的第3和第15分钟执行

命令:

3,15 8-11 * * 1 command

3. 任务调度 & / nuhup

将任务打入后台

示例:

python test.py&

nuhup python test.py&

四. 系统管理

1. uptime 系统负载

用法: uptime

显示:

19:38:23 up 53 min, 2 users, load average: 0.11, 0.13, 0.16

开机时间 运行时长 在线用户 负载: 1min 5min 15min

2. free 显示内存使用

用法:

free [-b|k|m|g]

显示:

total used free shared buffers cached

Mem: 1885320 494352 1390968 17080 688 207632

-/+ buffers/cache: 286032 1599288

Swap: 0 0 0

第一行: 内存总计 已经使用 空闲 多个进程共享的内存总额 缓冲 缓存

第二行: 除去缓冲缓存

第三行: swap空间使用情况

3. vmstat

vmstat是Linux中监控内存的常用工具,可对操作系统的虚拟内存、进程、CPU等的整体情况进行监视.

格式

vmstat -t 间隔 -d 次数

显示:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----

r b swpd free buff cache si so bi bo in cs us sy id wa st

1 0 0 1183708 2340 1374156 0 0 214 21 220 899 4 1 93 1 0

4. ps

用法:

ps [option]

-A :所有的进程均显示出来

-a :不与terminal有关的所有进程

-u :有效用户的相关进程

-x :一般与a连用 可列出较完整的信息

-l :以长列表形式显示

-o :自定义显示

常用:

ps -aux/-ef 显示所有进程信息

ps -ax -o pid,%cpu,%mem --sort=-%cpu,-%mem | head -10 显示cpu以及内存占用最高的10个进程

5. top

格式

top [option]

参数:

d 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。

p 通过指定监控进程ID来仅仅监控某个进程的状态。

s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。

i 使top不显示任何闲置或者僵死进程

常用命令

h或者? 显示帮助画面,给出一些简短的命令总结说明。

k 终止一个进程。

i 忽略闲置和僵死进程。

q 退出程序。

r 重新安排一个进程的优先级别

s 改变两次刷新之间的延迟时间

M 根据驻留内存大小进行排序。

P 根据CPU使用百分比大小进行排序。

T 根据时间/累计时间进行排序。

常用

top //每隔5秒显式所有进程的资源占用情况

top -d 2 //每隔2秒显式所有进程的资源占用情况

top -c //每隔5秒显式进程的资源占用情况

6. sar

sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等

格式:

常用参数:

-A:所有报告的总和。

-u:CPU利用率

-v:进程、I节点、文件和锁表状态。

-d:硬盘使用报告。

-r:没有使用的内存页面和硬盘块。

-g:串口I/O的情况。

-b:缓冲区使用情况。

-a:文件读写情况。

-c:系统调用情况。

常用:

(1) sar -b 5 5 // IO传送速率

(2) sar -B 5 5 // 页交换速率

(3) sar -c 5 5 // 进程创建的速率

(4) sar -d 5 5 // 块设备的活跃信息

(5) sar -n DEV 5 5 // 网路设备的状态信息

(6) sar -n SOCK 5 5 // SOCK的使用情况

(7) sar -n ALL 5 5 // 所有的网络状态信息

(8) sar -r 5 5 // 内存和swap空间使用情况

IO相关

iostat

iostat通过观察设备的活跃时间和他们平均传输率之间的关系来监视系统的输入/输出设备负

格式:

iostat [option]

参数:

-c 输出CPU统计信息。不能与-d参数同时使用。

-d 输出设备和分区的I/O统计信息。不能与-c参数同时使用。

-k/b/m : 以kb/mb等显示

常用:

iostat -d -k 1 10 #查看TPS和吞吐量信息(磁盘读写速度单位为KB)

iostat -d -m 2 #查看TPS和吞吐量信息(磁盘读写速度单位为MB)

iostat -d -x -k 1 10 #查看设备使用率(%util)、响应时间(await) iostat -c 1 10 #查看cpu状态

iotop

格式:

iotop [option]

参数:

-o:只显示有io操作的进程

-b:批量显示。

-n 5:显示5次,主要用于非交互式模式。

-d 1:间隔1秒显示一次。

-p PID:监控的进程pid。

-u USER:监控的进程用户。

五. 网络相关

1. ifconfig 查看设置网卡参数

命令格式:

ifconfig [网络设备] [参数]

常用

ifconfig eth0 up/down 启用或关闭指定网卡

ifconfig eth0 显示网卡信息

2. ping 测试网络连通性

Ping命令通过发送Internet控制消息协议(ICMP)回响请求消息来验证与另一台TCP/IP计算机的IP级连接

格式:

ping [参数] [主机名或IP地址]

参数:

-d 使用Socket的SO_DEBUG功能。

-f 极限检测。大量且快速地送网络封包给一台机器,看它的回应。

-n 只输出数值。

-q 不显示任何传送封包的信息,只显示最后的结果。

-r 忽略普通的Routing Table,直接将数据包送到远端主机上。通常是查看本机的网络接口是否有问题。

-R 记录路由过程。

-v 详细显示指令的执行过程。

常用

ping www.163.com

ping -R www.163.com

3. netstat 查看网络状态

格式

netstat [option]

参数:

-a: 显示所有

-n: 以ip形式显示

-p: 显示进程

-r: 显示路由表

-t: 只显示tcp

-u: 只显示udp

-i: 显示网络接口

常用:

1 netstat

2 netstat -nu 只显示udp / -t只显示tcp

3 netstat -r 显示路由表,作用同route

4. ss 查看网络状态

ss与netstat命令作用相同,但比netstat更高效,采用的是tcp协议栈中tcp_diag.

使用方法参考netstat,且基本参数相同

常用:

ss -s 我想查看当前服务器的网络连接统计

ss -l 我想查看所有打开的网络端口

ss -a 查看这台服务器上所有的socket连接

5. ip 查看设置网卡参数

6. route 查看路由以及添加路由

格式

route [option] [action]

参数:

-n 不解析名字

-v 显示详细的处理信息

-f 清除所有网关入口的路由表。

-p 与 add 命令一起使用时使路由具有永久性。

add:添加一条新路由。

del:删除一条路由。

-net:目标地址是一个网络。

-host:目标地址是一个主机。

常用

route -n 显示路由表

route add/del default gw 192.168.120.1 删除和添加设置默认网关

route add -net 172.25.0.0 netmask 255.255.0.0 dev eth0 添加网关

7. traceroute 查看路由轨迹

traceroute追踪网络数据包的路由途径

格式

traceroute[参数][主机]

参数:

-I 使用ICMP回应取代UDP资料信息。

-d 使用Socket层级的排错功能。

-s 设置本地主机送出数据包的IP地址。

-n 只显示IP

常用

traceroute www.163.com

traceroute -n www.163.com 显示IP地址,不查主机名

8. nslookup,dns查看

nslookup命令用于查询DNS的记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题

格式

nslookup [-qt=type] domain [dns-server]

type为 dns的解析记录

常用

nslookup baidu.com

nslookup -qt=mx 163.com 8.8.8.8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值