新手Linux命令-1

  • 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 :激活转义字符( 、 、a、\等)

    -n:使得输出不自动添加换行符

  • date(日期):显示日期。格式:date [选项] [+指定的格式](加号也可放在双引号内)

参数

作用

%Y

完整的年份

%m

月份(01-12)

 

%d

(01-31)

%H

小时(00-23)

 

%M

分钟(00-59)

%S

秒(00-59

 

%p

显示本地AMPM

%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,系统也可正常运行,意味着有许多进程等待着被处理,最好不超过21)。

2:进程总数,运行中的,睡眠中的,停止的,僵死的。(最好不要有zombie僵死的进制,消耗系统内存无法关闭)

3:用户占用资源,系统内核占用资源,改变过优先级的进程,空闲的资源,等待输入输出的时间。

此行数据均为CPU数据并以百分比格式显示,例如"99.2 id"idle空闲的)意味着有99.2%CPU处理器资源正在空闲中。

4:物理内存总量,使用量,空闲量,作为内核缓存的内存量。

5:虚拟内存总量,使用量,空闲量,已被提前加载的内存数据。

  • pidofprocess 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

人性化(GBKB格式)显示容量信息

-s

仅显示总容量,不列出每个各别的目录(子目录)占用容量(总容量计算时已包括子目录的容量)

-S

(计算占用容量时)不包括子目录下的总计容量(子目录的容量分开显示)

-a

列出所有的文件与目录容量

du -a:将所有文件与目录的容量均列出来。

du -sm /*:检查根目录下每个目录所占用的容量(以MB为单位列出容量显示)。利用通配符*来代表每个目录,可用于检查某个目录下哪个子目录占用最大的容量。

du -ah、du -sh、du -Sh的显示区别:

原文地址:https://www.cnblogs.com/dayoyan/p/8654923.html