linux命令分类总结

一. 常用命令

文件目录操作

  1. cd 切换目录
    cd dirname
  2. ls 显示文件/目录属性
常见参数:
-l :列出长数据串,包含文件的属性与权限数据等  
-a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)  
-d :仅列出目录本身,而不是列出目录的文件数据  
-h :将文件容量以较易读的方式(GB,kB等)列出来  
-R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来  
示例: ls -l /tmp
  1. pwd 显示当前路径
    pwd
  2. mkdir 创建目录
mkdir  newdir
mkdir  -p  newdir/newdir   #递归创建目录
  1. touch创建文件
    touch filename
  2. cp
常见参数:
-r: 递归复制
-p: 保持属性复制  
  1. mv移动文件/重命名
mv filename dirname  移动文件
mv oldfilename newfilename 对文件重命名
  1. rm 删除文件
-i: 交互式
-r: 递归
-f: 强制
  1. ln创建链接
ln /etc/passwd passwd  创建硬链接
ln -s 创建软链接
  1. chown 更改文件拥有者
chown [-R] user dir/file
chown [-R] user:group dir/file
  1. chgrp 更改文件拥有组
chgrp [-R] groupname dir/file
参数:
-R: 递归更改
  1. chmod 更改文件权限
r=4,w=2,x=1
chmod xxx filename

日常开关机

禁止在线上服务器使用

  1. shutdown
-r             关机重启
-h             关机不重启
 now            立刻关机
  1. halt 关机
  2. reboot 重启
  3. 切换执行等级: init
Linux共有七种执行等级:
--run level 0 :关机
--run level 3 :纯文本模式
--run level 5 :含有图形接口模式
--run level 6 :重新启动  

用户管理

  1. useradd /adduser
    用法: useradd [-u|-g|-m|-d|-s] username
参数说明:
-u: 指定用户id
-g: 指定用户组id
-d: 指定用户家目录
-m/M:创建家目录/M 不创建
-s: 指定用户登陆的shell
  1. userdel
    用法: userdel [-r] username
  2. usermod
  3. passwd
    用法: passwd username 或者 echo password | passwd username --stdin

搜索命令

  1. 寻找【执行挡】:which
which ls  寻找ls命令所在位置
  1. 寻找特定档案:whereis
# whereis ls  
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
  1. 寻找特定档案:locate
locate passwd  
  1. 寻找特定档案: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

  1. 语法: cat/tac filename

2. 分页查看 less/more

  1. 语法: less/more filename

3. 头尾查看 head/tail

  1. 语法: hean filename
  2. 常见用法:
head -10 /etc/passwd  查看文件前10行
tail -5 /etc/passwd  查看文件后5行

4. 统计命令wc

  1. wc语法
wc [-lwm]
选项:
-l  :仅列出行;
-w  :仅列出多少字(英文单字);
-m  :多少字符;
  1. 常见用法
# wc /etc/passwd
  50   94   2550 /etc/passwd
  行数 单词数 字节数
# wc -l /etc/passwd   #统计行数很常用
# wc -w /etc/passwd   #统计单词出现次数
# wc -m /etc/passwd   #统计文件的字节数

5. 切分命令 cut

  1. cut语法
cut  [-bn] [file] 或 cut [-c] [file]  或  cut [-df] [file]
  主要参数
  -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
  -c :以字符为单位进行分割。
  -d :自定义分隔符,默认为制表符。
  -f :与-d一起使用,指定显示哪个区域。
  1. 常用
$ 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

  1. 语法:
sort [-bcfMnrtk][源文件][-o 输出文件]
  参数:
  -b   忽略每行前面开始出的空格字符。
  -c   检查文件是否已经按照顺序排序。
  -f   排序时,忽略大小写字母。
  -M   将前面3个字母依照月份的缩写进行排序。
  -n   依照数值的大小排序。
  -o   将排序后的结果存入指定的文件。
  -r   以相反的顺序来排序。
  -t  <分隔符>   指定排序时所用的栏位分隔字符。
  -k  选择以哪个区间进行排序。
  1. 常用
1 按文本排序
sort filename
2 按数字排序
sort -n
3 在输出内容中去除重复行
sort -u
4 反序  
sort -r  
5 指定列排序
sort -k 列号 -t 分隔符

7. 去重命令——uniq

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

  1. 语法
# uniq [-icu]
选项与参数:
-i   :忽略大小写字符的不同;
-c  :进行计数
-u  :只显示唯一的行
  1. 常见用法
1 去重
cat words | sort |uniq
2 排序之后删除了重复行,同时在行首位置输出该行重复的次数:
#sort testfile | uniq -c
3 仅显示存在重复的行,并在行首显示该行重复的次数:
#sort testfile | uniq -dc

8. 查找命令——grep

  1. 用法 : grep [options]
  主要参数
  [options]主要参数:
  -c:只输出匹配行的计数。
  -I:不区分大 小写(只适用于单字符)。
  -h:查询多文件时不显示文件名。
  -l:查询多文件时只输出包含匹配字符的文件名。
  -n:显示匹配行及 行号。
  -s:不显示不存在或无匹配文本的错误信息。
  -v:显示不包含匹配文本的所有行。
  pattern正则表达式主要参数:
  \: 忽略正则表达式中特殊字符的原有含义。
  ^:匹配正则表达式的开始行。
  $: 匹配正则表达式的结束行。
  \<:从匹配正则表达 式的行开始。
  \>:到匹配正则表达式的行结束。
  [ ]:单个字符,如[A]即A符合要求 。
  [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
  。:所有的单个字符。
  * :有字符,长度可以为0。
  1. 常见使用:
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进程

  1. 格式:
at[参数][时间]
  1. 常用:
1 三天后的下午5点钟执行date : at 5pm+3 days date
2 删除定时任务:
    通过atq查看任务号
    atrm 任务号
3 显示定时任务内容
    at -c 任务号

2. crontab 定时任务

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

  1. 使用
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”
        正斜线(/):可以用正斜线指定时间的间隔频率
  1. 命令格式:
crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
参数:
    -u user : 指定循环定时任务的用户
    file : cronttab格式的文件
    -e : 编辑某个用户的crontab文件,默认当点用户
    -l : 显示内容
    -r : 从/var/spool/cron目录中删除某个用户的crontab文件
  1. 常用
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 系统负载

  1. 用法: uptime
  2. 显示:
19:38:23 up 53 min,  2 users,  load average: 0.11, 0.13, 0.16   
开机时间  运行时长      在线用户    负载:        1min  5min  15min

2. free 显示内存使用

  1. 用法:
 free [-b|k|m|g]   
  1. 显示:
           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等的整体情况进行监视.

  1. 格式
    vmstat -t 间隔 -d 次数

  2. 显示:

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

  1. 用法:
ps [option]
-A :所有的进程均显示出来  
-a :不与terminal有关的所有进程  
-u :有效用户的相关进程  
-x :一般与a连用 可列出较完整的信息  
-l :以长列表形式显示
-o :自定义显示
  1. 常用:
ps -aux/-ef  显示所有进程信息
ps -ax -o pid,%cpu,%mem --sort=-%cpu,-%mem | head -10 显示cpu以及内存占用最高的10个进程

5. top

  1. 格式
top [option]
参数:
d 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
p 通过指定监控进程ID来仅仅监控某个进程的状态。
s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
i 使top不显示任何闲置或者僵死进程  
  1. 常用命令
h或者? 显示帮助画面,给出一些简短的命令总结说明。
k       终止一个进程。
i 忽略闲置和僵死进程。
q 退出程序。
r 重新安排一个进程的优先级别
s 改变两次刷新之间的延迟时间
M 根据驻留内存大小进行排序。
P 根据CPU使用百分比大小进行排序。
T 根据时间/累计时间进行排序。
  1. 常用
top   //每隔5秒显式所有进程的资源占用情况
top -d 2  //每隔2秒显式所有进程的资源占用情况
top -c  //每隔5秒显式进程的资源占用情况

6. sar

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

  1. 格式:
常用参数:
-A:所有报告的总和。
-u:CPU利用率
-v:进程、I节点、文件和锁表状态。
-d:硬盘使用报告。
-r:没有使用的内存页面和硬盘块。
-g:串口I/O的情况。
-b:缓冲区使用情况。
-a:文件读写情况。
-c:系统调用情况。
  1. 常用:
(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相关

  1. 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状态
  1. iotop
    格式:
iotop [option]
参数:
-o:只显示有io操作的进程
-b:批量显示。 
-n 5:显示5次,主要用于非交互式模式。
-d 1:间隔1秒显示一次。 
-p PID:监控的进程pid。
-u USER:监控的进程用户。 

五. 网络相关

1. ifconfig 查看设置网卡参数

  1. 命令格式:
    ifconfig [网络设备] [参数]
  2. 常用
ifconfig eth0 up/down   启用或关闭指定网卡
ifconfig eth0      显示网卡信息

2. ping 测试网络连通性

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

  1. 格式:
ping [参数] [主机名或IP地址]
参数:
    -d 使用Socket的SO_DEBUG功能。
    -f  极限检测。大量且快速地送网络封包给一台机器,看它的回应。
    -n 只输出数值。
    -q 不显示任何传送封包的信息,只显示最后的结果。
    -r 忽略普通的Routing Table,直接将数据包送到远端主机上。通常是查看本机的网络接口是否有问题。
    -R 记录路由过程。
    -v 详细显示指令的执行过程。
  1. 常用
 ping www.163.com
 ping -R www.163.com

3. netstat 查看网络状态

  1. 格式
netstat [option]
参数:     
    -a: 显示所有
    -n: 以ip形式显示
    -p: 显示进程
    -r: 显示路由表
    -t: 只显示tcp
    -u: 只显示udp
    -i: 显示网络接口
  1. 常用:
1 netstat
2 netstat -nu 只显示udp / -t只显示tcp
3 netstat -r  显示路由表,作用同route  

4. ss 查看网络状态

ss与netstat命令作用相同,但比netstat更高效,采用的是tcp协议栈中tcp_diag.
使用方法参考netstat,且基本参数相同

  1. 常用:
ss  -s  我想查看当前服务器的网络连接统计
ss -l   我想查看所有打开的网络端口
ss -a   查看这台服务器上所有的socket连接

5. ip 查看设置网卡参数

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

  1. 格式
route [option] [action]
参数:
    -n 不解析名字
    -v 显示详细的处理信息
    -f 清除所有网关入口的路由表。
    -p 与 add 命令一起使用时使路由具有永久性。
    add:添加一条新路由。
    del:删除一条路由。
    -net:目标地址是一个网络。
    -host:目标地址是一个主机。
  1. 常用
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追踪网络数据包的路由途径

  1. 格式
traceroute[参数][主机]
参数:
    -I 使用ICMP回应取代UDP资料信息。
    -d 使用Socket层级的排错功能。
    -s 设置本地主机送出数据包的IP地址。
    -n 只显示IP
  1. 常用
traceroute www.163.com
traceroute -n www.163.com  显示IP地址,不查主机名

8. nslookup,dns查看

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

  1. 格式
nslookup [-qt=type] domain [dns-server]
type为 dns的解析记录
  1. 常用
nslookup  baidu.com
nslookup -qt=mx 163.com 8.8.8.8
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,128评论 2 34
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,125评论 9 467
  • 本文笔记源自这里——[实验楼]欢迎大家在下面交流其中有问题的地方喜欢请点收藏,每日更新(全部已亲自实践). 一. ...
    东皇Amrzs阅读 3,960评论 7 54
  • 1.Linux下如何用命令查看实时日志(完整命令) tail -f 路径.log查看前多少行 tai-200f 路...
    qianyewhy阅读 2,245评论 0 11
  • 随笔 安静的午后,只有车的呼啸声,喝一杯自己最爱的茶,静静的听一首歌,阳台微吹的秋风,阳光和煦的打在脸上,很久没有...
    喜欢你Na双眼动人阅读 79评论 0 1