Linux常用命令
1 帮助命令
1.1 man
man [命令或配置文件] (功能描述:获得帮助信息)
例子
[root@hadoop101 ~]# man ls
1.2 help
help 命令 (功能描述:获得shell内置命令的帮助信息)
例子
[root@hadoop101 ~]# help cd
1.3 常用快捷键
常用快捷键 | 功能 |
---|---|
ctrl + c | 停止进程 |
ctrl+l | 清屏;彻底清屏是:reset |
ctrl + q | 退出 |
*善于用tab键* | 提示(更重要的是可以防止敲错) |
*上下键* | 查找执行过的命令 |
ctrl +alt | linux和Windows之间切换 |
2 文件类
2.1 pwd 显示当前路劲
2.2 ls 列出工作目录
表1-8 选项说明
选项 | 功能 |
---|---|
-a | 全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用) |
-l | 长数据串列出,包含文件的属性与权限等等数据;(常用) |
2.3 cd 切换目录
参数 | 功能 |
---|---|
cd 绝对路径 | 切换路径 |
cd相对路径 | 切换路径 |
cd ~或者cd | 回到自己的家目录 |
cd - | 回到上一次所在目录 |
cd .. | 回到当前目录的上一级目录 |
cd -P | 跳转到实际物理路径,而非快捷方式路径 |
2.4 mkdir 新建文件夹
选项 | 功能 |
---|---|
-p | 创建多层目录 |
2.5 rmdir 删除一个空目录
2.6 touch 创建一个空文件
2.7 cp 复制
选项 | 功能 |
---|---|
-r | 递归复制整个文件夹 |
2.8 rm 删除
选项 | 功能 |
---|---|
-r | 递归删除目录中所有内容 |
-f | 强制执行删除操作,而不提示用于进行确认。 |
-v | 显示指令的详细执行过程 |
2.9 mv 移动,重命名
1.基本语法
(1)mv oldNameFile newNameFile (功能描述:重命名)
(2)mv /temp/movefile /targetFolder (功能描述:移动文件)
2.10 cat 查看文件内容
全部内容都打印出来
适合小文件
表1-14
选项 | 功能描述 |
---|---|
-n | 显示所有行的行号,包括空行。 |
2.11 more 文件内容分屏查看器
适合大文件
操作 | 功能说明 |
---|---|
空白键 (space) | 代表向下翻一页; |
Enter | 代表向下翻『一行』; |
q | 代表立刻离开 more ,不再显示该文件内容。 |
Ctrl+F | 向下滚动一屏 |
Ctrl+B | 返回上一屏 |
= | 输出当前行的行号 |
:f | 输出文件名和当前行的行号 |
2.12 less more的增强版
大型文件具有较高的效率
#less catalina.out 查看日志文件
输入:G (注意 大写 "G" 小写 “g” 无效)
会直接跳转到最后一页
顺带叨逼叨一下上下翻页
“f” 下一页
“b” 上一页
操作 | 功能说明 |
---|---|
空白键 | 向下翻动一页; |
[pagedown] | 向下翻动一页 |
[pageup] | 向上翻动一页; |
/字串 | 向下搜寻『字串』的功能;n:向下查找;N:向上查找; |
?字串 | 向上搜寻『字串』的功能;n:向上查找;N:向下查找; |
q | 离开 less 这个程序; |
2.13 echo 输出到控制台
选项:
-e: 支持反斜线控制的字符转换
控制字符 | 作用 |
---|---|
\ | 输出\本身 |
\n | 换行符 |
\t | 制表符,也就是Tab键 |
例子
echo -e "hello\tworld"
2.14 head 前10行
- 基本语法
head 文件 (功能描述:查看文件头10行内容)
head -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
2.选项说明
表1-18
选项 | 功能 |
---|---|
-n <行数> | 指定显示头部内容的行数 |
2.15 tail 最后的10行内容
- 基本语法
(1)tail 文件 (功能描述:查看文件后10行内容)
(2)tail -n 5 文件 (功能描述:查看文件后5行内容,5可以是任意行数)
(3)tail -f 文件 (功能描述:实时追踪该文档的所有更新)
2. 选项说明
表1-19
选项 | 功能 |
---|---|
-n<行数> | 输出文件尾部n行内容 |
-f | 显示文件最新追加的内容,监视文件变化 |
2.16 > 写入内容 (覆盖)
a>b 把a写入到b,以覆盖的模式
2.17 >> 写入内容(追加)
a>>b 把a追加到b文件的末尾
2.18 ln 软连接
类似windows 的快捷方式
1.基本语法
ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)
2.经验技巧
删除软链接: rm -rf 软链接名,而不是rm -rf 软链接名/
查询:通过ll就可以查看,列表属性第1位是l,尾部会有位置指向。
2.19 history 查看历史命令
2.20 scp
scp -r /home/test/ root@192.168.0.2:/home/test/
3 时间类
3.1 基本语法
1.基本语法
date [OPTION]... [+FORMAT]
2.选项说明
表1-20
选项 | 功能 |
---|---|
-d<时间字符串> | 显示指定的“时间字符串”表示的时间,而非当前时间 |
-s<日期时间> | 设置系统日期时间 |
3.参数说明
表1-21
参数 | 功能 |
---|---|
<+日期时间格式> | 指定显示时使用的日期时间格式 |
3.2 显示当前时间
1.基本语法
(1)date (功能描述:显示当前时间)
(2)date +%Y (功能描述:显示当前年份)
(3)date +%m (功能描述:显示当前月份)
(4)date +%d (功能描述:显示当前是哪一天)
(5)date "+%Y-%m-%d %H:%M:%S" (功能描述:显示年月日时分秒)
3.3 date -d
date -d "+1 day" +%Y%m%d #显示前一天的日期
date -d "-1 day" +%Y%m%d #显示后一天的日期
date -d "-1 month" +%Y%m%d #显示上一月的日期
date -d "+1 month" +%Y%m%d #显示下一月的日期
date -d "-1 year" +%Y%m%d #显示前一年的日期
date -d "+1 year" +%Y%m%d #显示下一年的日期
3.4 date -s
设置系统时间
3.5 cal 查看日历
选项 | 功能 |
---|---|
具体某一年 | 显示这一年的日历 |
4 用户管理命令
4.1 useradd 添加新用户
1.基本语法
useradd 用户名 (功能描述:添加新用户)
useradd -g 组名 用户名 (功能描述:添加新用户到某个组)
4.2 passwd 设置密码
passwd 用户名 (功能描述:设置用户密码)
4.3 id 查看用户是否存在
id 用户名
4.4 su 切换用户
1.基本语法
su 用户名称 (功能描述:切换用户,只能获得用户的执行权限,不能获得环境变量)
su - 用户名称 (功能描述:切换到用户并获得该用户的环境变量及执行权限)
4.5 userdel 删除用户
1.基本语法
(1)userdel 用户名 (功能描述:删除用户但保存用户主目录)
(2)userdel -r 用户名 (功能描述:用户和用户主目录,都删除)
4.6 who 查看自己的名字
(1)whoami (功能描述:显示自身用户名称)
(2)who am i (功能描述:显示*登录用户*的用户名)
4.7 usermod 修改用户组
usermod -g 用户组 用户名
5 用户组命令
5.1 groupadd 新增组
5.2 groupdel 删除组
5.3 groupmod 修改组
groupmod -n 新组名 老组名
6 文件权限
6.1 文件属性解释
1.从左到右的10个字符表示
(1)0首位表示类型
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等
- 代表文件
d 代表目录
l 链接文档(link file);
(2)第1-3位确定属主(该文件的所有者)拥有该文件的权限。---User
(3)第4-6位确定属组(所有者的同组用户)拥有该文件的权限,---Group
(4)第7-9位确定其他用户拥有该文件的权限 ---Other
2.rxw作用文件和目录的不同解释
(1)作用到文件:
[ r ]代表可读(read): 可以读取,查看
[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
[ x ]代表可执行(execute):可以被系统执行
(2)作用到目录:
[ r ]代表可读(read): 可以读取,ls查看目录内容
[ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
[ x ]代表可执行(execute):可以进入该目录
6.2 chmod 改变权限
- 基本语法
第一种方式变更权限
chmod [{ugoa}{+-=}{rwx}] 文件或目录
u : 我自己
g : 我在的这个组
o : 其他人
a : 所有人
+ : 增加某个权限
- : 减去某个权限
第二种方式变更权限
chmod [mode=421 ] [文件或目录]
2.经验技巧
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
r=4 w=2 x=1 rwx=4+2+1=7
6.3 chown 改变所有者
chown [选项] [最终用户] [文件或目录] (功能描述:改变文件或者目录的所有者)
选项 | 功能 |
---|---|
-R | 递归操作 |
改变所有者
chown tom text.txt
改变所有者和所有者组
chown -R tom:tom xiyou/
6.4 chgrp 改变所属组
chgrp [最终用户组] [文件或目录] (功能描述:改变文件或者目录的所属组)
chgrp tom houge.txt
7 搜索 查找
7.1 find 查找文件或者目录
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。
1.基本语法
find [搜索范围] [选项]
2.选项说明
表1-27
选项 | 功能 |
---|---|
-name<查询方式> | 按照指定的文件名查找模式查找文件 |
-user<用户名> | 查找属于指定用户名所有文件 |
-size<文件大小> | 按照指定的文件大小查找文件。 |
3.案例实操
(1)按文件名:根据名称查找/目录下的filename.txt文件。
[root@hadoop101 ~]# find xiyou/ -name “*.txt”
(2)按拥有者:查找/opt目录下,用户名称为-user的文件
[root@hadoop101 ~]# find xiyou/ -user atguigu
(3)按文件大小:在/home目录下查找大于200m的文件(+n 大于 -n小于 n等于)
[root@hadoop101 ~]find /home -size +204800
7.2 grep 查找
管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理
1.基本语法
grep 选项 查找内容 源文件
2.选项说明
表1-28
选项 | 功能 |
---|---|
-n | 显示匹配行及行号。 |
7.3 which 查找命令
8 压缩解压类
8.1 gzip/gunzip
1.基本语法
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz (功能描述:解压缩文件命令)
2.经验技巧
(1)*只能压缩文件*不能压缩目录
(2)*不保留原来的文件*
8.2 zip/unzip
常用
1.基本语法
zip [选项] XXX.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压缩文件)
2.选项说明
表1-29
zip选项 | 功能 |
---|---|
-r | 压缩目录 |
表1-30
unzip选项 | 功能 |
---|---|
-d<目录> | 指定解压后文件的存放目录 |
3.经验技巧
zip 压缩命令在window/linux都通用,*可以压缩目录且保留源文件*。
-
案例
压缩 1.txt 和2.txt,压缩后的名称为mypackage.zip
zip mypackage.zip 1.txt 2.txt
8.3 tar
1.基本语法
tar [选项] XXX.tar.gz 将要打包进去的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
2.选项说明
表1-31
选项 | 功能 |
---|---|
-z | 打包同时压缩 |
*-c* | *产生.tar打包文件* |
-v | 显示详细信息 |
-f | 指定压缩后的文件名 |
*-x* | *解包.tar文件* |
案例
压缩 1.txt 和2.txt,压缩后的名称为mypackage.tar.gz
tar -zcvf mypackage.tar.gz 1.txt 2.txt
压缩目录
tar -zcvf mypackage.tar.gz data/
解压
tar -zxvf mypackage.tar.gz
9 磁盘分区
9.1 df 磁盘空间
1.基本语法
df 选项 (功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况)
2.选项说明
表1-32
选项 | 功能 |
---|---|
-h | 以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示; |
9.2 fdisk 查看分区
1.基本语法
fdisk -l (功能描述:查看磁盘分区详情)
2.选项说明
表1-33
选项 | 功能 |
---|---|
-l | 显示所有硬盘的分区列表 |
3.经验技巧
该命令必须在root用户下才能使用
9.3 mount/umount 挂载/卸载
10 进程类
10.1 ps
1.基本语法
ps -aux | grep xxx (功能描述:查看系统中所有进程)
ps -ef | grep xxx (功能描述:可以查看子父进程之间的关系)
2.选项说明
表1-35
选项 | 功能 |
---|---|
-a | 选择所有进程 |
-u | 显示所有用户的所有进程 |
-x | 显示没有终端的进程 |
3.功能说明
(1)ps aux显示信息说明
USER:该进程是由哪个用户产生的
PID:进程的ID号
%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;
%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;
VSZ:该进程占用虚拟内存的大小,单位KB;
RSS:该进程占用实际物理内存的大小,单位KB;
TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。
STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台
START:该进程的启动时间
TIME:该进程占用CPU的运算时间,注意不是系统时间
COMMAND:产生此进程的命令名
(2)ps -ef显示信息说明
UID:用户ID
PID:进程ID
PPID:父进程ID
C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
STIME:进程启动的时间
TTY:完整的终端名称
TIME:CPU时间
CMD:启动进程所用的命令和参数
4.经验技巧
如果想查看进程的*CPU占用率和内存占用率*,可以使用aux;
如果想查看*进程的父进程ID*可以使用ef;
10.2 kill
1.基本语法
kill [选项] 进程号 (功能描述:通过进程号杀死进程)
killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
2.选项说明
表1-36
选项 | 功能 |
---|---|
-9 | 表示强迫进程立即停止 |
10.3 pstree
查看进程树
1.基本语法
pstree [选项]
2.选项说明
表1-37
选项 | 功能 |
---|---|
-p | 显示进程的PID |
-u | 显示进程的所属用户 |
10.4 top
查看系统健康状态
1.基本命令
top [选项]
2.选项说明
表1-38
选项 | 功能 |
---|---|
-d 秒数 | 指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令: |
-i | 使top不显示任何闲置或者僵死进程。 |
-p | 通过指定监控进程ID来仅仅监控某个进程的状态。 |
3.操作说明
表1-39
操作 | 功能 |
---|---|
P | 以CPU使用率排序,默认就是此项 |
M | 以内存的使用率排序 |
N | 以PID排序 |
q | 退出top |
4.查询结果字段解释
第一行信息为任务队列信息
表1-40
内容 | 说明 |
---|---|
12:26:46 | 系统当前时间 |
up 1 day, 13:32 | 系统的运行时间,本机已经运行1天13小时32分钟 |
2 users | 当前登录了两个用户 |
load average: 0.00, 0.00, 0.00 | 系统在之前1分钟,5分钟,15分钟的平均负载。一般认为小于1时,负载较小。如果大于1,系统已经超出负荷。 |
第二行为进程信息
表1-41
Tasks: 95 total | 系统中的进程总数 |
---|---|
1 running | 正在运行的进程数 |
94 sleeping | 睡眠的进程 |
0 stopped | 正在停止的进程 |
0 zombie | 僵尸进程。如果不是0,需要手工检查僵尸进程 |
第三行为CPU信息
表1-42
Cpu(s): 0.1%us | 用户模式占用的CPU百分比 |
---|---|
0.1%sy | 系统模式占用的CPU百分比 |
0.0%ni | 改变过优先级的用户进程占用的CPU百分比 |
99.7%id | 空闲CPU的CPU百分比 |
0.1%wa | 等待输入/输出的进程的占用CPU百分比 |
0.0%hi | 硬中断请求服务占用的CPU百分比 |
0.1%si | 软中断请求服务占用的CPU百分比 |
0.0%st | st(Steal time)虚拟时间百分比。就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比。 |
第四行为物理内存信息
表1-43
Mem: 625344k total | 物理内存的总量,单位KB |
---|---|
571504k used | 已经使用的物理内存数量 |
53840k free | 空闲的物理内存数量,我们使用的是虚拟机,总共只分配了628MB内存,所以只有53MB的空闲内存了 |
65800k buffers | 作为缓冲的内存数量 |
第五行为交换分区(swap)信息
表1-44
Swap: 524280k total | 交换分区(虚拟内存)的总大小 |
---|---|
0k used | 已经使用的交互分区的大小 |
524280k free | 空闲交换分区的大小 |
409280k cached | 作为缓存的交互分区的大小 |
10.5 netsata
显示网络统计信息和端口占用情况
1.基本语法
netstat -anp |grep 进程号 (功能描述:查看该进程网络信息)
netstat -nlp | grep 端口号 (功能描述:查看网络端口号占用情况)
2.选项说明
表1-45
选项 | 功能 |
---|---|
-n | 拒绝显示别名,能显示数字的全部转化成数字 |
-l | 仅列出有在listen(监听)的服务状态 |
-p | 表示显示哪个进程在调用 |
3.案例实操
查看某端口号是否被占用
netstat -nlp | grep 20670
10.6 crond
重新启动crond 服务
service crond restart
定时任务设置
1.基本语法
crontab [选项]
2.选项说明
表1-46
选项 | 功能 |
---|---|
-e | 编辑crontab定时任务 |
-l | 查询crontab任务 |
-r | 删除当前用户所有的crontab任务 |
3.参数说明
[root@hadoop101 ~]# crontab -e
(1)进入crontab编辑界面。会打开vim编辑你的工作。
* * * * * 执行的任务
表1-47
项目 | 含义 | 范围 |
---|---|---|
第一个“*” | 一小时当中的第几分钟 | 0-59 |
第二个“*” | 一天当中的第几小时 | 0-23 |
第三个“*” | 一个月当中的第几天 | 1-31 |
第四个“*” | 一年当中的第几月 | 1-12 |
第五个“*” | 一周当中的星期几 | 0-7(0和7都代表星期日) |
(2)特殊符号
表1-48
特殊符号 | 含义 |
---|---|
* | 代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。 |
, | 代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令 |
- | 代表连续的时间范围。比如“0 5 * * 1-6命令”,代表在周一到周六的凌晨5点0分执行命令 |
*/n | 代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每隔10分钟就执行一遍命令 |
(3)特定时间执行命令
表1-49
时间 | 含义 |
---|---|
45 22 * * * 命令 | 在22点45分执行命令 |
0 17 * * 1 命令 | 每周1 的17点0分执行命令 |
0 5 1,15 * * 命令 | 每月1号和15号的凌晨5点0分执行命令 |
40 4 * * 1-5 命令 | 每周一到周五的凌晨4点40分执行命令 |
*/10 4 * * * 命令 | 每天的凌晨4点,每隔10分钟执行一次命令 |
0 0 1,15 * 1 命令 | 每月1号和15号,每周1的0点0分都会执行命令。注意:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱。 |
11 内存
11.1free
free -m以MB为单位显示整个系统的内存使用情况,free -h则自动选择以适合理解的容量单位显示:
11.2 top
top 命令查看系统的实时负载, 包括进程、CPU负载、内存使用等等;
进入top的实时界面后,默认按照CPU的使用率排序,通过“shift+m”按键将进程按照内存使用情况排序,可以查看哪些进程是当前系统中的内存开销“大户”。
PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称