- Linux区分大小写(绝大部分情况下。例外:linux下mysql的列名不区分大小写)
- 主流Linux系统默认使用的shell解释器是Bash(/bin/bash)
-
命令格式:命令名称 [选项] [参数]
注意:命令名称,选项,参数之间请用空格键分隔(无论空几格均视为一格,其他少数情况下有可能严格规定空格数量)
大多数情况下,参数前"-"代表短格式(字母),"--"代表长格式(单词)
(date命令用的是"+"加号)(短格式可合并,短、长格式不可混合合并)
- man(manual操作说明):查看帮助信息
按键 |
用处 |
/关键词 |
从上至下搜索某个关键词,如"/linux"。 |
?关键词 |
从下至上搜索某个关键词,如"?linux"。 |
n |
定位到下一个搜索到的关键词。 |
N |
定位到上一个搜索到的关键词。 |
空格/PgDn |
向下翻一页 |
PgUp |
向上翻一页 |
q |
退出帮助文档 |
例:man 1 ls
-
--help选项:获得简要的帮助信息
- ctrl+shift+"+":放大终端界面,ctrl+"-":缩小(加、减号不能用小键盘的)
- 上"↑"下"↓"方向键可以调取过往执行过的linux命令
- ctrl+shift+"↑"("↓"):代替鼠标滚轴上下查看信息
- shift+pageup(pagedown):上下翻页查看信息
- ctrl+shift+c:复制(命令行/终端模式)
- ctrl+shift+v:粘贴(命令行/终端模式)
- ctrl+alt+[F1]~[F6]:切换用户(Linux默认的情况下提供6个Terminal来让用户登录)
- tab:补全命令名和文件名/提示
- \:反斜杠,转义字符,后接回车键enter可换行输入
-
ctrl+z:进程转入后台并暂停(挂起stopped)(或执行命令时在命令最后面添加上一个"&"符号,这样命令就默认被放到系统后台执行)
使用 jobs 命令查看后台进程,再用 fg (foreground前台)命令使其转回前台继续运行(bg(background后台)命令可后台运行,kill %1可终止terminated后台进程)
- ctrl+c:终止进程,无法继续
- ctrl+d:代表键盘输入结束EOF(end of file),可替代exit(在终端输入exit可以离开,也可以直接ctrl+d)
- ctrl+l:清屏,相当于clear命令
- ctrl+a(Home键):光标移动至行首
- ctrl+e(End键):光标移动至行尾
- alt+f:在当前命令输入中右移光标一个词(以空格为分隔符)
- alt+b:在当前命令输入中左移光标一个词
- ctrl+w:删除光标前一个词
- alt+d:删除光标后一个词
- !$:上一个命令的最后一个参数;!:n:上一个命令的第n个参数;!*:上一个命令的所有参数;!#:上一个命令名
- ctrl+k:删除此处至末尾所有内容("清后")
- ctrl+u:删除此处至开始所有内容("清前")
- alt+数字键:可切换终端shell标签(open tab)
- alt+tab:可切换终端shell窗口(open terminal)
- shutdown -h now(root用户使用):将系统的服务停掉后,立即关机(shutdown -h +10:10分钟后自动关机 -h 20:25 :今天的20:25分关机,过点后自动隔天)
- shutdown -r now(root):在将系统的服务停掉后,立即重启(和reboot相仿)
- init(initialization初始化)命令用于改变操作系统的运行级别(初始化进程System V init。RHEL7采用全新的systemd初始化进程服务,"目标(target)"代替了"运行级别")
- init 0:关机(init 0直接去执行/etc/rc.d/rc1.d里面的脚本,所以还是建议用shutdown关机,shutdown -h会通知用户 <http://blog.csdn.net/coriginc/article/details/63684267> )
- init 3:切换文字界面(RHEL7:systemctl isolate multi-user.target)
- init 5:切换图形化界面(前提是安装了图形化界面)(systemctl isolate graphical.target)
-
将系统默认的运行目标修改为"多用户,无图形"模式,那么则可直接用ln命令把该文件连接到/etc/systemd/system/目录即可:
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
-
init 6:重启
(区别reboot:"init 6" 基于一系列/etc/inittab文件,并且每个应用都会有一个相应shutdown脚本(/etc/rc0.d/K*), 通过调用一系列shutdown脚本来使系统优雅关机; ‘reboot‘并不执行这些过程,reboot更是一个 kernel级别的命令,不对应用使用shutdown脚本,快速地关闭系统,但如果其他用户在该系统上工作时,就会引起数据的丢失,所以使用reboot命令的场合主要是在单用户模式。我们应该在通常情况下使用 init 6.在出问题的状况下或强制重启时使用reboot. 来自 <http://blog.csdn.net/flyingcloud_2008/article/details/5886646> )
systemctl start foo.service:启动服务 |
systemctl restart foo.service:重启服务 |
systemctl stop foo.service:停止服务 |
systemctl reload foo.service:重新加载配置文件(不终止服务) |
systemctl status foo.service:查看服务状态 |
systemctl enable foo.service:开机自动启动 |
systemctl disable foo.service:开机不自动启动 |
systemctl is-enabled foo.service:查看特定服务是否为开机自启动 |
systemctl list-unit-files --type=service:查看各个级别下服务的启动与禁用情况 |
|
-
echo(西班牙语:回音):①将字符串输出到屏幕,②使用"$"提取变量值(可通过env(environment环境)命令来查看当前用户的全局环境变量)并输出到屏幕
-e :激活转义字符(\n、\t、\a、\\等)
-n:使得输出不自动添加换行符
- date(日期):显示日期。格式:date [选项] [+指定的格式](加号也可放在双引号内)
参数 |
作用 |
%Y |
完整的年份 |
%m |
月份(01-12) |
%d |
日(01-31) |
%H |
小时(00-23) |
%M |
分钟(00-59) |
%S |
秒(00-59) |
%p |
显示本地AM或PM |
%j |
一年中的第几天(001-366) |
- wget(World Wide Web与Get的结合):在终端中下载网络文件。格式:wget [选项] 下载地址
选项 |
作用 |
-b |
后台下载模式 |
-P |
下载到指定目录 |
-t |
最大尝试次数 |
-c |
断点续传 |
-p |
下载页面内所有资源,包括图片、视频等 |
-r |
递归下载 |
-
rpm(RedHat Package Manager):建立统一的数据库文件,详细记录软件信息并能够自动分析软件相关的依赖关系。
rpm -ivh filename.rpm :安装软件
rpm -Uvh filename.rpm:升级软件
rpm -e filename.rpm:卸载软件
rpm -qpi filename.rpm:查询软件描述信息
rpm -qpl filename.rpm:列出软件文件信息
rpm -qf filename:查询文件属于哪个RPM的命令格式
-
yum(RHEL/Centos系统):尽管RPM能够帮助用户查询软件相关的依赖关系,但出现问题后仍需运维人员自行解决,且有些大型软件可能与数十个程序都有依赖关系。Yum仓库能根据用户的要求分析出所需软件包及其相关的依赖关系,然后自动从服务器(http、ftp、file)下载软件包并安装到系统中。
命令 |
作用 |
yum repolist all |
列出所有仓库 |
yum list all |
列出仓库中所有软件包 |
yum info 软件包名称 |
查看软件包信息 |
yum install 软件包名称 |
安装软件包 |
yum reinstall 软件包名称 |
重新安装软件包 |
yum update 软件包名称 |
升级软件包 |
yum remove 软件包名称 |
移除软件包 |
yum clean all |
清除所有仓库缓存 |
yum check-update |
检查可更新的软件包 |
yum grouplist |
查看系统中已经安装的软件包组 |
yum groupinstall 软件包组 |
安装指定的软件包组 |
yum groupremove 软件包组 |
移除指定的软件包组 |
yum groupinfo 软件包组 |
查询指定的软件包组信息 |
-
ps(process status进程状态):查看系统中的进程状态。格式:ps [选项]
(pstree命令:查看进程树)
选项 |
作用 |
-a |
显示所有的进程(包括其他用户的) |
-u |
用户以及其他详细信息 |
-x |
显示没有控制终端的进程 |
Linux系统中进程最常见的5种不同的状态(STAT)是运行、中断、不可中断、僵死与停止
R(运行):正在运行或在运行队列中等待。 |
S(中断):休眠中, 在等待某个条件的形成或接收到信号。 |
D(不可中断):收到信号不唤醒和不可运行, 进程必须等待直到有中断发生。 |
Z:(僵死):进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放。 |
T:(停止):进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行。 |
- pstree:以树状图的方式展现进程之间的派生关系。格式:pstree [选项]。
选项 |
作用 |
-p |
同时列出每个进程的PID |
-u |
同时列出每个进程的所属账号名称 |
-
top:动态的监视进程活动与系统负载等信息(即时显示process的动态)。(按c键可显示进程(command)全称)(PID为1的永远是systemd(初始化进程))
PR(priority优先级),NI(nice value谦让度值):PR=NI+20,NI:用户层面,PR:实际优先级(给内核看的) |
VIRT(virtual memory usage):进程"需要的"虚拟内存大小 |
RES(resident memory usage):进程的常驻物理内存 |
SHR(shared memory usage):进程和其他进程共享的内存 |
第1行:系统时间,运行时间,登录终端数,系统负载(分别为1分钟、5分钟、15分钟的平均值(数值1为满载),数值越小意味着负载越低)(系统负载可能大于1,系统也可正常运行,意味着有许多进程等待着被处理,最好不超过2或1)。
第2行:进程总数,运行中的,睡眠中的,停止的,僵死的。(最好不要有zombie僵死的进制,消耗系统内存无法关闭)
第3行:用户占用资源,系统内核占用资源,改变过优先级的进程,空闲的资源,等待输入输出的时间。
此行数据均为CPU数据并以百分比格式显示,例如"99.2 id"(idle空闲的)意味着有99.2%的CPU处理器资源正在空闲中。
第4行:物理内存总量,使用量,空闲量,作为内核缓存的内存量。
第5行:虚拟内存总量,使用量,空闲量,已被提前加载的内存数据。
- pidof(process ID of a running program):查询某个指定服务进程的PID号码。格式:pidof [选项] [服务名称]
-
kill(杀死):终止某个指定PID号码的服务进程。格式:kill [选项] [进程PID号] (inactive:未激活状态)
-
killall(杀死所有):终止某个指定名称的服务所对应的全部进程。格式:killall [参数] [进程名称]
-
uptime(上线时间):查看系统的负载信息。格式:uptime(显示内容相当于top命令的第一行)当前系统时间、系统已运行时间、启用终端数量和平均负载值(1、5、15分钟)
-
free(free memory空闲内存):显示当前系统中内存的使用量信息。格式:free [-h](以更人性化的样本输出) free [-m](以M为单位显示) free [-g](以G为单位显示)
shared:进程共享的内存量
buffers(缓冲区):磁盘缓存的内存量
cached:缓存的内存量
Mem:memory物理内存的内存量(linux会压榨内存以保持,所以used已用量会比较大)
Swap:交换分区的内存量(若发现长时间已使用交换分区,建议增加物理内存容量)
-
du(disk usage磁盘使用情况):显示特定文件或目录的容量。格式:du {选项] [文件或目录]。
(du命令不加任何参数执行时,实际显示的仅是目前所在目录下的所有directory(目录/文件夹)占用的硬盘空间(不含文件))
选项 |
作用 |
-h |
人性化(GB、KB格式)显示容量信息 |
-s |
仅显示总容量,不列出每个各别的目录(子目录)占用容量(总容量计算时已包括子目录的容量) |
-S |
(计算占用容量时)不包括子目录下的总计容量(子目录的容量分开显示) |
-a |
列出所有的文件与目录容量 |
du -a:将所有文件与目录的容量均列出来。
du -sm /*:检查根目录下每个目录所占用的容量(以MB为单位列出容量显示)。利用通配符*来代表每个目录,可用于检查某个目录下哪个子目录占用最大的容量。
du -ah、du -sh、du -Sh的显示区别: