Linux常用命令详解
Linux系统,一切都是文件,所有操作都是命令。
查看日志过程
登录服务器–》切换到日志目录–》查看日志。
一、登录服务器
1、登录工具
常用远程登录服务器的工具:Xshell、secureCRT、mobaxterm、putty,推荐使用xshell、secureCRT 。
2、登录信息
目标服务器的ip地址、端口号、帐号、密码。端口号一般默认为22 。
二、切换目录
1、切换目录
切换目录 | 常用命令 | 备注 |
---|---|---|
查看当前所在目录 | pwd | |
切换到当前用户的home目录 | cd ~ 或cd | |
切换到上级目录 | cd … | “上级目录”与“上次所在目录”不一样。 |
切换到上次所在目录 | cd - | “上级目录”与“上次所在目录”不一样。 |
切换到指定目录(相对路径) | cd ./a/b | 从当前目录开始,不同目录下使用同一命令,进入的目录有可能不同。 |
切换到指定目录(绝对路径) | cd /a/b/c | 从根目录开始,不同目录下使用同一命令,进入的目录相同。 |
切换到当前目录 | cd . |
2、查看指定目录内容
查看指定目录内容 | 常用命令 | 备注 |
---|---|---|
查看目录内容 | ls | 不同颜色表示不同的文件类型,同一文件类型用同一颜色展示。 |
查看目录内容的详细信息 | 1)ls -l 2)ll | 2)“ll”为 “ls -l”的缩写 |
查看目录内容的详细信息,并以人性化显示 | 1)ls -lh 2)ll -h | human-readable之意,文件大小默认以字节单位显示,加上“-h”参数后,根据实际转换为Kb、Mb、Gb等单位。 |
查看目录所有内容 | ls -a | all的意思,即所有,可以列出隐藏的文件。 |
![]() ![]() |
3、文件属性
文件类型及权限、连接数、属主、属组、文件大小、修改时间、文件名称。
1)文件类别及权限
文件类型及权限说明 | |
---|---|
第0个字符 | 文件类型 |
第1~3个字符 | 属主权限(user),即该文件所有者的权限。 |
第4~6个字符 | 属组权限(group),即与文件所有者同组的用户的权限。 |
第7~9个字符 | 其他用户权限(others)。 |
(1)文件类型
文件类型 | |
---|---|
d | 目录文件 |
- | 普通文件 |
l | 链接文件,可以简单理解为快捷方式。 |
b | 块设备文件,即装置文件里面的可供储存的接口设备(可随机存取装置)。 |
c | 字符型设备文件,即装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。 |
s | socket文件。 |
p | 管道类型文件。 |
(2)权限
权限说明 | ||
---|---|---|
字母 | 对应数字 | 权限 |
r | 4 | 读 |
w | 2 | 写 |
x | 1 | 执行 |
![]() | ||
修改权限命令:chmod [-R] 665 文件或目录 | ||
[-R]:参数可选,递归变更,即该目录下的所有文件都会变更。 | ||
665:需修改的权限。 | ||
一般情况下,linux文件权限 664 ,文件夹权限 755。 | ||
![]() |
2)连接数
数值为1时表示只有它本身,没有连接。
3)属主
即具有所有权的用户。
修改属主命令:chown 属主名 文件名
修改属主时,也可以同时修改属组:chown [–R] 属主名:属组名 文件名
[-R]:参数可选,递归变更,即该目录下的所有文件都会变更。
4)属组
即具有所有权的用户组。
修改属组命令:chgrp [-R] 属组名 文件名
[-R]:参数可选,递归变更,即该目录下的所有文件都会变更。
5)文件大小
默认单位是字节。如需以K、M、G显示,则用:ls -lh
-设置一个50M大小的文件:dd if=/dev/zero of=filename bs=1M count=50
4、操作文件
操作 | 普通文件 | 目录(即文件夹) |
---|---|---|
新建 | touch file-a | 1)mkdir dir-a 2)mkdir -p dir-a/dir-b ,一次创建多级目录。 |
删除 | rm file-a | 1)rmdir dir-a 2)rm -rf dir-a 3)rm -rf dir-a/dir-b ,一次删除多级目录及目录下的所有内容。 |
剪切/重命名 | mv file-a file-b | mv dir-a dir-b |
复制 | cp file-a file-b | cp -r dir-a dir-b |
![]() ![]() |
5、修改文件内容
1)修改文件
-1、命令:vi file-a —》进入命令模式
-2、输入:“i” -------》进入编辑模式
-3、进行编辑
-4、按esc键:Esc -----》进入命令模式
-5、输入:“:” -------》进入末行模式
-6、输入对文件的操作:保存、保存退出、不保存退出。
保存:w
不保存退出:q!
保存退出:wq!
2)三种模式
三种模式 | 解释 | 常用命令 |
---|---|---|
命令模式 | 输入命令来执行多种功能,如控制屏幕光标的移动,字符、字或行的删除,移动复制某区段,以及进入编辑模式、末行模式。 | 1)字母“i”、“a”、“o”:进入编辑模式。 2)分号“:”:进入末行模式。 |
编辑模式 | 编辑文件。 | 1)“Esc”键:退出编辑模式。 |
末行模式 | 保存、退出文件编辑;也可设置编辑环境,如寻找字符串、列出行号等。 | 1)“w”:保存。–》保存后,回到命令模式。 2)“q!”:不保存退出。 3)“wq!”:保存退出。 |
三、查看日志
1、查看文件内容
查看文件内容 | 常用命令 | 备注 |
---|---|---|
查看全部内容 | 1)cat filename2)cat -n filename3)tac filename | 1)正序查看。 2)正序、按行号查看,即内容左侧标注行号。 3)倒序查看。 |
查看前头a行 | 1)head -n a filename2)head -n +a filename | 1)、2)命令相同。 |
查看最后a行之前的内容 | head -n -a filename | |
查看最后a行 | 1)tail -n a filename2)tail -n -a filename3)tail -a filename4)tail -af filename | 1)、2)、3)命令相同,且命令执行完后退出文件,适用于静态文件。 4)命令执行完后不退出文件,常用于动态文件,如不断更新的日志。 |
查看前头a行之后的内容 | tail -n +(a+1) filename | |
查看特定段的内容 | 1)sed -n ‘a,bp’ filename2)sed -n ‘/2019-03-05 10:00:00/,/2019-03-05 12:00:00/p’ filename | 1)按行号查看。查看第a行到第b行的内容,注意“b”后面还有个“p”。 a,bp,也可以加单引号。 2)按时间段查看。 |
查看内容中的关键词 | tail -200f file-a | grep “key” | 1)| :管道命令 2)grep :文本内容搜索命令 |
more:翻页查看 | 1)more filename 2)more -a filename3)4) | 1)翻页查看,按空白键往下翻,按b键往上翻。 2)一次显示a行3)4) |
less:翻页查看、搜索内容 | 1)less filename 2)less -N filename 3)执行less命令后,按? 4)执行less命令后,按/ 5)执行less命令后,按q 6) 7) | 1)翻页查看,按PgDn往下翻,按PgUp往上翻。 2)显示每一行的行号。 3)向上搜索,即从当前屏开始往上搜索。 4)向下搜索,即从当前屏开始往下搜索。 5)退出内容。 6) 7) |
![]() |
2、管道命令
| ,一个竖线。
command1|command2|command3… ,前一个命令的输出作为后一个命令的输入。
3、搜索命令
文本内容搜索命令grep ,与另一常用搜索命令find有所不同,find命令主要用于文件的查找。
搜索命令 | 常用命令 | 备注 |
---|---|---|
grep:文本内容搜索 | 1)cat file-a | grep “key” 2)grep “key” file-a file-b |
find:文件属性搜索,如名称、大小、是否为空、所有者、所属组、访问时间、修改时间等 | 格式:find path expression 1)find /a/b -name file-a 2)find /a/b -size +100k 3)find /a/b -size -100M 4)find /a/b -user centos 5)find /a/b -group centos | 1)在目录/a/b下查找名为file-a的文件。 2)在目录/a/b下查找大于100k的文件。 3)在目录/a/b下查找小于100M的文件。 4)在目录/a/b下查找属于centos用户的文件。 5)在目录/a/b下查找属于centos组的文件。 |
注:find /a/b -name file-a,只能有一个匹配结果,当存在多个匹配结果时(如使用通配符)会报错。如果有可能出现多个匹配结果,可以使用:echo /a/b file-* 。“*”为通配符。
1)grep:文本内容搜索
2)find:文件属性搜索
四、其他操作
1、进程操作
1)查看进程
查看进程 | 常用命令 | 备注 |
---|---|---|
显示所有进程 | 1)ps -ef 2)ps -aux | 1)ps -ef 是用标准的格式显示进程,显示的项目有:UID,PID,PPID,C,STIME,TTY,TIME,CMD 。 2)ps -aux 是用BSD的格式显示进程,显示的项目有:USER,PID,%CPU,%MEM,VSZ,RSS,TTY,STAT,START,TIME,COMMAND 。 |
显示运行中的进程 | 1)top 2)top -b | 1)动态显示部分进程,提供互动式界面,用热键管理进程。 2)动态显示所有进程,不提供的互动式界面,可将显示结果重定向。 |
(1)ps -ef
(2)ps -aux
(3)top
top命令下各信息含义:
分为统计信息区和进程列表区。第1~5行为统计信息区,第6行开始为进程列表区。
–1、第一行:任务队列信息。执行uptime命令能获得相同的结果。
Top -
14:29:22 -----------------------》 当前时间。
up 255 days, 4:38 -------------》开机到目前为止所经过的时间。
5 users ------------------------》当前登录用户数。
load average: 0.14, 0.15, 0.14 --》系统负载,即任务队列的平均长度,三个数值分别为1分钟、5分钟、15分钟前到现在的平均值。
–2、第二行:进程信息。
Tasks:
90 total —》进程总数。
1 running ----------》正在运行的进程数。
89 sleeping --------》睡眠的进程数。
0 stopped ----------》停止的进程数。
0 zombie -----------》僵尸进程数。
–3、第三行:CPU信息。当有多个CPU时,内容可能会超过两行。
%Cpu(s):
1.9 us ----》用户空间占用CPU百分比。
0.4 sy ----》内核空间占用CPU百分比。
0.0 ni ----》用户进程空间内改变过优先级的进程占用CPU百分比。
97.3 id —》空闲CPU百分比。
0.3 wa ----》等待输入输出(IO)的CPU时间百分比。
0.0 hi ----》cpu处理硬件中断的时间。
0.0 si ----》cpu处理软件中断的时间。
0.0 st ----》cpu处理丢失的时间。
–4、第四行:内存信息,单位为KB。
KiB Mem :
3881920 total --------》物理内存总量。
120424 free ----------》空闲内存总量。
2845488 used --------》使用的物理内存总量。
916008 buff/cache ----》用作内核缓存的内存量。
注:物理内存总量= 空闲内存总量+ 使用的物理内存总量+ 用作内核缓存的内存量。
–5、第五行:SWAP信息。
KiB Swap:
0 total -------------》交换区总量。
0 free --------------》空闲交换区总量。
0 used. -------------》使用的虚拟内存总量。
765544 avail Mem ----》缓冲的交换区总量。
–6、第六行开始:进程列表。列表中各列的含义如下:
1)PID,进程号。
2)USER,运行用户。
3)PR(Priority),优先级。进程调度器分配给进程的时间片长度,单位是时钟个数。一个时钟需要的时间,与cpu主频及操作系统平台有关。如linux上一般为10ms,即若PR值为11,则该进程的时间片为110ms 。
4)NI,任务nice值。
5)VIRT,虚拟内存用量。
6)RES,物理内存用量。
7)SHR,共享内存用量。
8)S,进程状态。R表示运行状态、S表示休眠状态、T表示停止或跟踪状态、Z表示僵死状态、D表示不可中断的休眠状态。
9)%CPU,CPU占用比。最近一次刷新开始到当前所占用的CPU时间与总时间的百分比。
10)%MEM,内存占用比。占用的物理内存与总内存的百分比。
11)TIME+,累计CPU占用时间。
12)CMMOND,命令名称。
2)查找进程
命令:ps -ef|grep keyword
3)杀进程
命令:kill -9 pid
2、查看磁盘空间
基本命令:df
3、查看文件大小
基本命令:du
4、查看内存使用情况
基本命令:free
Mem 行:内存的使用情况。
Swap 行:交换空间的使用情况。
total 列:系统总的可用物理内存/交换空间大小。
used 列:已经被使用的物理内存/交换空间。
free 列:剩余的物理内存/交换空间。
shared 列:被共享使用的物理内存大小。
buff/cache 列:被 buffer 和 cache 使用的物理内存大小。
available 列:可被应用程序使用的物理内存大小。
5、时间相关
时间操作 | 系统时间 | 硬件时间(bios时间) |
---|---|---|
查看时间 | date | hwclock |
设置时间 | date -s ‘2018-03-16 18:00:00’ | 1)hwclock -w :系统时间同步到硬件时间。 2)hwclock -s :硬件时间同步到系统时间。 |
1)设置系统时间
2)系统时间同步到硬件时间
3)硬件时间同步到系统时间
用户操作
用户查询 | 常用命令 | 备注 |
---|---|---|
当前登录系统的用户名称 | 1)whoami 2)id -un | 1)与2)的结果是一样的。 |
当前登录系统的所有用户的所有登录对话的信息 | 1)who 2)who -H | 1)列出登录账号、使用的终端机、登录时间及从何处登录。 2)显示各栏位的标题信息列。 |
当前登录系统的所有用户的所有登录对话 | users | 若一个用户显示多次,则表示该用户有多个登录会话。 |
![]() |
网络操作
查看网卡信息
ifconfig
1、ifconfig是查看网卡的信息
ifconfig [Interface]
Interface是可选项,如果不加此项,则显示系统中所有网卡的信息。如果添加此选项则显示所指定的网卡信息.
例如:ifconfig eth0
eth0 Link encap:Etherne
HWaddr 00:0C:29:F3:3B:F2
inet addr:192.168.0.10 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:78 errors:0 dropped:0 overruns:0 frame:0
TX packets:104 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:11679 (11.4 Kb)
TX bytes:14077 (13.7 Kb)
Interrupt:10 Base address:0x1080
可以看到:
第一行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址)
第二行:网卡的IP地址、子网、掩码
第三行:UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(支持组播)MTU:1500(最大传输单元):1500字节
第四、五行:接收、发送数据包情况统计
第七行:接收、发送数据字节数统计信息。
(1) 配置eth0的IP地址, 同时激活该设备。
#ifconfig eth0 192.168.1.1 0 netmask 255.255.255.0 up
(2) 配置eth0别名设备eth0:1的IP地址,并添加路由。
#ifconfig eth0:1 192.168.1.3
#route add –host 192.168.1.3 dev eth0:1
(3) 激活设备。
#ifconfig eth0 up
(4) 禁用设备。
#ifconfig eth0 down
(5) 查看指定的网络接口的配置。
#ifconfig eth0
(6) 查看所有的网络接口配置。
#ifconfig
查看端口号是否被占用
netstat -anp | grep 端口号
查看路由表
netstat