目录
shell是一个命令行工具,也称为终端或壳,充当的是人与内核之间的翻译官。
常见Linux命令的格式是这样的:
命令名称 [命令参数] [命令对象]
命令对象一般是指要处理的文件、目录、用户等资源,命令参数可以用长格式(完整的选项名称),也可以用短格式(单个字母的缩写),两者分别用--和-作为前缀。
常用系统工作命令
1、echo命令
用于在终端输出字符串或变量提取后的值,格式为“echo [字符串|$变量]”
2、date命令
用于显示及设置系统的时间或日期,格式为“date [选项] [+指定格式]”
date -显示系统时间
date “+%Y-%m-%d %H:%M:%S” -按照“年-月-日 时-分-秒”显示时间
date -s "20170901 8:30:00" -将系统当前时间设置为2017年9月1日8点30分
date "+%j" -查看当天是一年中的第几天
3、获得root权限
输入:su root 即可变更到管理员账户
输入:exit 即可回到普通用户
4、reboot
输入:reboot 即可重启系统(只能使用root管理员重启系统)
5、PowerOff
输入:poweroff 即可关闭系统(需要root权限)
6、wget
wget命令用于在终端中下载网络文件
wget 【参数】 下载地址
参数 | 作用 |
-b | 后台下载模式 |
-p | 下载到指定目录 |
-t | 最大尝试次数 |
-c | 断点续传 |
-p | 下载页面内所用资源,包括图片、视频等 |
-r | 递归下载 |
例:递归下载www.linuxprobe.com网站内所有页面数据以及文件,下载完成后保存到当前路径下名为www.linuxprobe.com的目录中。
wget -r -p http://www.linuxprobe.com
7、ps命令
ps命令用于查看系统中的进程状态,格式为
参数 | 作用 |
-a | 显示所有进程(包括其他用户的进程) |
-u | 用户以及其他详细信息 |
-x | 显示没有控制终端的进程 |
8、top
top命令用于动态地监视进程活动与系统负载等信息,其格式为:top
top命令相当于强化版的Windows任务管理器
9、pidof
pidof命令用于查询某个指定服务进程的PID值,格式为
pidof [参数] [服务名称]
10、kill
kill命令用于终止某个指定PID的服务进程,格式为
kill [参数] [进程PID]
11、killall
killall命令用于终止某个指定名称的服务所对应的全部进程,格式为
killall [参数] [进程名称]
12、终止执行当前命令:Ctrl+C;有些命令在执行时不断地在屏幕上输出信息,影响到后续命令的输入,则可以在执行命令时在末尾添加上一个&符号,这样命令将进入系统后台来执行
系统状态检测命令
1、ifconfig
ifconfig命令用于获取网卡配置与网络状态等信息,格式为
ifconfig [网络设备] [参数]
2、uname
UN阿么命令用于查看系统内核与系统版本等信息,格式为
uname [-a]
如果要查看当前系统版本的详细信息,则需要查看redhat-release文件,命令如下
cat /etc/redhat-release
3、uptime
free命令用于查看系统的负载信息,格式为
uptime
4、free
free命令用于显示当前系统中内存的使用量信息,格式为
free [-h]
5、who
who用于查看当前登入主机的用户终端信息,格式为
who [参数]
6、last
last命令用于查看所有系统的登录记录,格式为
last [参数]
7、history
history命令用于显示历史执行过的命令,格式为
history [参数]
在使用history命令时,如果使用-c参数则会清空所有的命令历史记录。还可以使用“!编码数字”的方式重复执行某一次的命令。
例如:输入: history
1 tar ...
2 ls
3 reboot
...
!3 执行reboot命令
8、sosreport
sosreport命令用于手机系统配置及架构信息并输出诊断文档,格式为
sosreport
工作目录切换命令
1、pwd
pwd命令用于显示用户当前所处的工作目录,格式为
pwd [选项]
2、cd
cd命令用于切换工作路径,格式为
cd [目录名称]
cd - 返回到上一次所处的目录
cd.. 进入上级目录
cd ~ 切换到当前用户的家目录
cd ~username 切换到其他用户的家目录
3、ls
ls命令用于显示目录中的文件信息,格式为
ls [选项] [文件]
使用ls命令的‘-a’参数看到全部文件(包括隐藏文件),使用‘-l’参数可以产看文件的属性、大小等详细信息。将这两个参数整合后‘-al’,可查看当前目录中的所有文件的详细信息。
如果想要查看目录属性信息,则需要额外添加一个‘-d’参数。例如,可使用如下命令查看/etc目录的权限和属性信息:
ls -ld /etc
文本文件编辑命令
1、cat
cat命令用于查看纯文本文件(内容较少的),格式为
cat 【选项】 【文件】
如果在查看文本内容时想显示行号,可以用参数‘-n’
2、more
more命令用于查看纯文本文件(内容较多),格式为
more 【选项】 【文件】
空格键或回车键向下翻页
3、head
head命令用于查看纯文本文档的前N行,格式为
head 【选项】 【文件】
例如:查看某文件的前20行
head -n 20 initial-setup.cfg
4、tail
tail命令用于查看纯文本文档的后N行或持续刷新的内容,格式为
tail 【选项】 【文件】
例如:查看最后20行
tail -n 20 文件名
tail命令最强悍的功能是可以持续刷新一个文件的内容,当想要实时查看最新日志文件时,这特别有用,此时的命令格式为
tail -f 文件名
例如:tail -f /var/log/messages
5、tr
tr命令用于替换文本文件中的字符,格式为
tr 【原始字符】 【目标字符】
想要快速替换文本中一些词汇,可以先使用cat命令读取待处理的文本,然后通过管道符把文本的内容传递给tr命令进行操作即可。例如
cat anaconda-ks.cfg | tr [a-z] [A-Z]
6、wc
wc命令用于统计指定文本的行数、字数、字节数,格式为
wc [参数] [文本]
参数 | 作用 |
-l | 只显示行数 |
-w | 只显示单词书 |
-c | 只显示字节数 |
7、stat
stat命令用于查看文件的具体存储信息和时间等信息,格式为
stat 【文件名称】
8、cut
cut命令用于按“列”提取文本字符,格式为
cut 【参数】 文本
如果按列搜索,不仅要使用-f参数来设置需要看的列数,还需要使用-d参数来设置间隔符号。例如,提取以冒号为间隔符号的第一列内容:
cut -d: -f1 /etc/passwd
9、diff
diff命令用于比较多个文本文件的差异,格式为
diff [参数] [设置]
参数--brief来确认两个文件是否不同
参数-c详细比较出多个文件的差异之处
文件目录管理命令
1、touch
touch命令用于创建空白文件或设置文件时间,格式为
touch 【选项】 【文件】
例如:创建一个名为linuxprobe的空白文本文件:touch linuxprobe
设置文件时间:touch -d "2017-05-04 15:44" anaconda-ks.cfg
参数 | 作用 |
-a | 仅修改读取时间(atime) |
-m | 仅修改“修改时间”(mtime) |
-d | 同时修改atime和mtime |
2、mkdir
mkdir命令用于创建空白的目录,格式为
mkdir 【选项】 目录
3、cp
cp命令用于复制文件或目录,格式为
cp 【选项】 源文件 目标文件
复制操作分为3种情况:
如果目标文件是目录,则会把源文件复制到该目录中;
如果目标文件也是普通文件,则会询问是否要覆盖它;
如果目标文件不存在,则执行正常的复制操作;
参数 | 作用 |
-p | 保留原始文件的属性 |
-d | 若对象为“链接文件”,则保留该“链接文件”的属性 |
-r | 递归持续复制(用于目录) |
-i | 若目标文件存在则询问是否覆盖 |
-a | 相当于-pdr(p、d、r为上述参数) |
4、mv
mv命令用于剪切文件或将文件重命名,格式为
mv 【选项】 源文件 【目标路径|目标文件名】
剪切操作不同于复制操作,它会默认把源文件删掉,只保留剪切后的文件。如果在同一个目录中对一个文件进行剪切操作,其实也就是对其进行重命名。
5、rm
rm命令用于删除文件或目录,格式为
rm 【选项】 文件