新手必须掌握的linux命令
Shell(也称终端或壳)是一个命令行工具。许多主流linux系统默认使用的终端是bash,有几个优势:
- 通过上下方向键调取过往执行过的linux命令
- 命令和参数仅需输入前几位就可以用tab键补全
- 具有强大的预处理脚本
- 具有实用的环境变量功能
一般格式为:
命令名称 [命令参数] [命令对象]
命令对象一般指要处理的文件、目录、用户等资源;
命令参数可用长格式(- -全拼),也可用短格式(-缩写)
1. 执行查看帮助命令
man man
man -h
man - - help
2. 常用的系统工作命令
(1)echo命令
echo命令用于在终端输出字符串或变量提取后的值,格式为:
echo [字符串|$变量]
(2)date命令
date命令用于显示和设置系统的时间和日期,格式为:
date [选项][+指定格式]
发现 date: 无法设置日期: 不允许的操作
需要su命令切换到超级用户
发现密码一直证认证失败
需要用sudo passwd 重新设置下密码
切换回原普通账户
(3)reboot 命令
reboot命令用于重启系统
# reboot
(4)poweroff 命令
poweroff命令用于关闭系统
# poweroff
(5)wget命令
wget命令用于在终端中下载网络文件,格式为:
wget [参数] 下载地址
参数 | 作用 |
---|---|
-b | 后台下载模式 |
-P | 下载到指定目录 |
-t | 最大尝试次数 |
-c | 断点续传 |
-p | 下载页面内所有资源,包括图片、视频等 |
-r | 递归下载 |
(6)ps命令
ps命令用于查看系统中的进程状态,格式为:
ps [参数]
参数 | 作用 |
---|---|
-a | 显示所有进程 |
-u | 用户以及其他详细信息 |
-x | 显示没有控制终端的进程 |
(7)top命令
top命令用于动态地监视进程活动与系统负载等信息,相当强大,能够动态地查看系统运维状态,完全将它看作Linux中的“强化版的Windows任务管理器”。格式为:
$ top
(8)pidof命令
pidof命令用于查询某个指定服务进程的PID(进程号码)值,格式为:
$ pidof [参数][服务名称]
(9)kill命令
kill命令用于终止某个指定的PID的服务进程,格式为:
$ kill [参数][进程PID]
(10)killall命令
killall命令用于终止某个指定PID的服务所对应的全部进程,格式为:
$ killall [参数][进程PID]
如果在系统终端中执行一个命令后想立即停止它,可以同时按下Ctrl+C组合键,将立即终止该命令的进程。
或者,如果有些命令在执行时不断地在屏幕上输出信息,影响到后续命令的输入,则可以在执行命令时在末尾添加&,这样命令将进入系统后台来执行。
3. 系统状态监测命令
需要具备快速查看Linux系统运行状态的能力!
(1) ifconfig命令
ifconfig命令用于获取网卡配置和网络状态等信息,格式为:
$ ifconfig [网络设备][参数]
如果无法定位软件包,先确定一下自己的网络有没有适配好。如果还是不行,就更新一下软件更新器。
(2) uname命令
uname命令用于查看系统内核与系统版本等信息,格式为:
$ uname [-a]
(3) uptime命令
uptime命令用于查看系统的负载信息,格式为:
$ uptime
(4) free命令
free命令用于显示当前系统中内存的使用量信息,格式为:
$ free [-h]
(5) who命令
who命令用于查看当前登入主机的用户终端信息,格式为:
$ who
(6) last命令
last命令用于查看所有系统的登陆记录,格式为:
$ last
(7) history命令
history命令用于显示历史执行过的命令,格式为:
$ history [-c] // -c 清除所有的命令历史记录
$ !99 //重复执行某次的命令记录
(8) sosreport命令
sosreport命令用于收集系统配置及架构信息并输出诊断文档,格式为:
$ sosreport
当系统出现故障需要联系技术支持人员时,大多时候都要先使用这个命令来简单收集信息,以便让技术人员能够远程解决一些问题。
4. 工作目录切换命令
(1)pwd 命令
pwd命令用来显示用户当前所处的工作目录,格式为:
$ pwd [选项]
(2)cd命令
cd命令用于切换所处的工作路径,格式为:
$ cd [目录名称]
$ cd - //返回上一次所处的目录
$ cd .. //进入上级目录
$ cd ~ //切换到当前用户的家目录
$ cd ~username //切换到其他用户的家目录
(3)ls 命令
ls命令用于显示目录中的文件信息,格式为:
$ ls [选项][文件]
参数 | 含义 |
---|---|
-a | 显示指定目录下所有子目录与文件,包括隐藏文件 |
-l | 以列表方式显示文件的详细信息 |
-h | 配合 -l 以人性化的方式显示文件大小 |
-d | 查看目录属性信息 |
5. 文件目录管理命令
(1)touch命令
touch命令用于创建空白文件或设置文件时间,格式为:
$ touch [选项][文件]
(2)mkdir命令
mkdir命令用来创建一个空白的目录,格式为:
$ mkdir [选项] 目录
$ mkdir first
$ mkdir -p a/b/c/d/e
(3)cp命令
cp 命令用于复制文件或目录,格式为:
$ cp [选项] 源文件 目标文件
选项 | 含义 |
---|---|
-r | 递归持续复制(用于目录) |
-i | 覆盖文件前提示 |
-f | 已经存在的目标文件直接覆盖, 不会提示 |
(4)mv命令
mv 命令用来移动文件或目录 , 也可以给文件或目录重命名,格式为:
$ mv [选项] 源文件 [目标路径|目标文件名]
(5)rm命令
rm命令用于删除文件或者目录,格式为:
$ rm [选项] 文件
选项 | 含义 |
---|---|
-f | 强制删除,忽略不存在的文件, 无需提示 |
-r | 递归地删除目录下的内容,删除文件夹时必须加此参数 |
(6)file命令
file命令用于查看文件类型,格式为:
$ file 文件名
(7)tar命令
tar命令用于对文件进行打包压缩或解压,格式为:
$ tar [选项][文件]
选项 | 作用 |
---|---|
-c | 创建压缩文件 |
-x | 解开压缩文件 |
-z | 用Gzip压缩或解压 |
-j | 用bzip2压缩或解压 |
-v | 显示压缩解压的过程 |
-f | 目标文件名,非常重要,必须放在参数的最后一位 |
(8)grep命令
grep命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为:
$ grep [选项][文件]
选项 | 含义 |
---|---|
-c | 仅显示查找到的行数 |
-i | 忽略大小写 |
-n | 显示行号 |
-v | 显示不包含匹配文本的所有行(相当于求反) |
参数 | 含义 |
---|---|
^a | 行首, 搜寻以a 开头的行 |
b$ | 行尾, 搜寻以b 结束的行 |
(9)find命令
find命令用于按照指定条件来查找文件,格式为:
$ find [查找路径] 查找条件 操作
6. 文本文件编辑命令
(1)cat命令
cat命令用于查看内容较少的纯文本文件或创建文件,格式为:
$ cat [-n] [文件]
$ cat >文件 <<结束标志
(2)more命令
more命令用于查看内容较多的纯文本文件,格式为:
$ more [-n] [文件]
(3)head命令
head命令用于查看纯文本文件的前N行,格式为:
$ head [-n] [文件]
(4)tail命令
tail命令用于查看纯文本文件的后N行或持续刷新内容,格式为:
$ tail [-n] [文件]
$ tail [-f] [文件] //持续刷新内容
(5)tr命令
tr命令用于替换文本文件中的字符,格式为:
tr [原始字符][目标字符]
(6)wc命令
wc命令用于统计指定文本的行数、字数、字节数,格式为:
wc [参数] 文本
参数 | 作用 |
---|---|
-l | 只显示行数 |
-w | 只显示单词数 |
-c | 只显示字节数 |
还可以用wc命令查询当前系统有多少个用户
(7)stat命令
stat命令用于查看文件的具体存储信息和时间等信息,格式为:
$ stat 文件名称
区别ls命令,查看目录下的文件信息。
(8)cut命令
cut命令用于按“列”提取文本字符,格式为:
$ cut [参数] 文本
参数 | 含义 |
---|---|
-f | 设置需要看的列数 |
-d | 设置间隔符号 |
(9)diff命令
diff命令用于比较多个文本文件的差距,格式为:
$ diff --brief 文件
$ diff -c 文件 //描述文件具体的不同