Linux 常用命令 shell基本介绍

2.1 强大好用的 Shell
**********************************************************************************************************
通常来讲,计算机硬件是由运算器、控制器、存储器、输入/输出设备等共同组成的,而让各种硬件设备各司其职且又能协同运行的东西就是系统内核。 Linux 系统的内核负责完成对硬件资源的分配、调度等管理任务。由此可见,系统内核对计算机的正常运行来讲是太重要了,因此一般不建议直接去编辑内核中的参数,而是让用户通过基于系统调用接口开发出的程序或服务来管理计算机,以满足日常工作的需要

Shell 就是这样的一个命令行工具。Shell(也称为终端或壳)充当的是人与内核(硬件)之间的翻译官,用户把一些命令“告诉”终端,它就会调用相应的程序服务去完成某些工作。现在包括红帽系统在内的许多主流 Linux 系统默认使用的终端是 Bash(Bourne-Again SHell)解释器。主流 Linux 系统选择 Bash 解释器作为命令行终端主要有以下 4 项优势
➢ 通过上下方向键来调取过往执行过的 Linux 命令;
➢ 命令或参数仅需输入前几位就可以用 Tab 键补全;
➢ 具有强大的批处理脚本;
➢ 具有实用的环境变量功能。
**********************************************************************************************************

2.2 执行查看帮助命令
**********************************************************************************************************

命令名称 【命令参数】 【命令对象】
命令参数的长格式与短格式
长格式 man --help
短格式 man -h

man 命令中常用按键以及用途
空格键 向下翻一页
PaGe down 向下翻一页
PaGe up 向上翻一页
home 直接前往首页
end 直接前往尾页
/ 从上至下搜索某个关键词,如“/linux”
? 从下至上搜索某个关键词,如“?linux”
n 定位到下一个搜索到的关键词
N 定位到上一个搜索到的关键词
q 退出帮助文档
**********************************************************************************************************

2.3 常用系统工作命令
**********************************************************************************************************
1. echo 命令用于在终端输入字符串或变量提取后的值,格式为“echo【字符串 | $变量】”

2. date 命令用于显示及设置系统的时间或日期,只需要在date命令中输入"+"号开头的参数,即可按照制定格式来输出系统的 时间或日期
➢ date命令中的参数以及作用
参数 作用
%t 跳格【tab健】
%H 小时(00~23)
%I 小时(00~12)
%M 分钟(00~59)
%S 秒(00~59)
%j 今年中的第几天
[root@linuxprobe ~]# date "+%Y-%m-%d %H:%M:%S"
Y 年 m月 d日
3. reboot 命令用于重启系统

4. poweroff 命令用于关闭系统

5. wget 命令用于在终端中下载网络文件,格式为:wget 【参数】 下载地址
➢ wget 命令的参数以及作用
-b 后台下载模式
-P 下载到指定目录
-t 最大尝试次数
-c 断点续传
-p 下载页面内所有资源,包括图片、视频等
-r 递归下载

扫描二维码关注公众号,回复: 97306 查看本文章


6. ps 命令用于查看系统中的进程状态,格式为:ps【参数】
➢ ps 命令的参数以及作用(ps -aux)
-a 显示所有进程(包括其他用户的进程)
-u 用户以及其他详细信息
-x 显示没有控制终端的进程
Linux系统中,有5中常见的进程状态,分别是运行,中断,不可中断,僵死与停止
➢ R(运行):进程正在运行或在运行队列中等待。
➢ S(中断):进程处于休眠中,当某个条件形成后或在接受到信号时,则脱离该状态
➢ D(不可中断): 进程不响应系统异步信号,即便用 kill 命令也不能将其中断。
➢ Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用 wait4()系统函数后将进程释放
➢ T(停止):进程收到停止信号后停止运行

7. top 命令用于动态地监视进程活动与系统负载等信息,格式:top
➢ 第 1 行:系统时间、运行时间、登录终端数、系统负载
(三个数值分别为 1 分钟、5分钟、15 分钟内的平均值,数值越小 意味着负载越低)。
➢ 第 2 行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。
➢ 第 3 行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。
➢ 第 4 行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
➢ 第 5 行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。
注:第3行中的数据均为CPU数据并以百分比格式显示,例如97.1id意味着有97.1%的CPU资源处于空闲

8. pidof 命令用于查询某个指定服务进程的PID值,格式为:pidof 【参数】 【服务名称】
每个进程的进程号码值(PID)是唯一的,因此可以用过PID来区分不用的进程,例如:pidof sshd 2156

9. kill 命令用于终止某个指定PID的服务进程,格式为:kill 【参数】【进程PID】,例如:kill 2156

10. killall 命令用于终止某个指定名称的服务所对应的全部进程,格式为:killall 【参数】【服务名称/进程名称】
通常来讲,复杂软件的服务程序会有多个进程协同为用户提供服务,比如
[root@linuxprobe ~]# pidof httpd
13581 13580 13579 13578 13577 13576
[root@linuxprobe ~]# killall httpd
[root@linuxprobe ~]# pidof httpd
[root@linuxprobe ~]#
**********************************************************************************************************

2.4 系统状态检测命令
**********************************************************************************************************
作为一名合格的运维人员,想要更快、更好地了解 Linux 服务器,必须具备快速查看 Linux系统运行状态的能力,因此接下来会逐个讲解与网卡网络、系统内核、系统负载、内存使用情况、当前启用终端数量、历史登录记录、命令执行记录以及救援诊断等相关命令的使用方法。这些命令都超级实用,还请用心学习,加以掌握。

1. ifconfig 命令用于获取网卡配置与网络状态等信息,格式:ifconfig【网络设备】【参数】

2. uname 命令用于查看系统内核与系统版本等信息,格式:uname【-a】
在使用 uname 命令时,一般会固定搭配上-a 参数来完整地查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息。
[root@linuxprobe ~]# uname -a
Linux linuxprobe.com 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2017
x86_64 x86_64 x86_64 GNU/Linux
如果要查看当前系统版本的详细信息,则需要查看redhat-release文件
[root@linuxprobe ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.0 (Maipo)

3. uptime 命令用于查看系统的负载信息,格式:uptime
平均负载值指的是系统在最近 1 分钟、5 分钟、15 分钟内的压力情况(下面加粗的信息部分);负载值越低越好,尽量不要长期超过 1,在生产环境中不要超过 5。
[root@linuxprobe ~]# uptime
22:49:55 up 10 min, 2 users, load average: 0.01, 0.19, 0.18

4. free 命令用于显示当前系统中内存的使用量信息,格式:free 【-h】
[root@server70 ~]# free -h
内存总量 已用量 可用量 进程共享的内存量
total used free shared buff/cache available
Mem: 992M 98M 771M 6.6M 121M 748M
Swap: 923M 0B 923M

5. who 命令用于查看当前登入主机的用户终端信息,格式:who
[root@server70 ~]# who
登陆的用户名 终端设备 登陆到系统的时间
root pts/0 2018-04-29 14:01 (192.168.100.1)

6. last 命令用于查看所有系统的登陆记录,格式:last【参数】

7. history 命令用于显示执行过的命令,格式为: history 【-c】,命令默认是1000行,如果觉得1000不够用,还可以修改/etc/profile文件中的HISTSIZE变量值。历史命令会被保存到用户家目录中的.bash_history文件中,history -c 清空当前用户在本机执行的linux命令历史记录信息;

8. sosreport 命令用于收集系统配置及架构信息并输出诊断文档;
**********************************************************************************************************

2.5 工作目录切换命令
**********************************************************************************************************
1. pwd 命令用于显示用户当前所处的工作目录,格式为:pwd

2. cd 命令用于切换工作路径,格式为: cd

3. ls 命令用于显示目录中的文件信息,格式为:ls 【选项】【文件】
常用选项:-A 显示隐藏文件
-d 显示目录属性(与-l并用)
-l 显示文件/目录详细信息
-h 显示易读单位(与-l并用)
-R 递归显示
**********************************************************************************************************


2.6 文本文件编辑命令
**********************************************************************************************************
1. cat 命令用于查看纯文本文件(内容较少),格式为:cat 【选项】【文件】,-n显示行号

2. more 命令用于查看纯文本文件(内容较多),格式为:more【选项】【文件】

3. head 命令用于查看纯文本文档的前N行,格式为:head【选项】【文件】,例如:head -n 20 /etc/passwd,如果不加行数,默认显示10行

4. tr 命令用于替换文本文件中的字符,格式为:tr【原始字符】【目标字符】

5. wc 命令用于统计指定文本的行数,字数,字节数,格式为:wc【参数】文本,
常用选项:-l 统计行数
-w 只显示单词数
-c 只显示字节数
**********************************************************************************************************

2.7 文件目录管理命令
**********************************************************************************************************
1. touch 命令用于创建空白文件或设置文件的时间,格式为:touch【选项】【文件】
修改时间选项:-a 仅修改读取时间
-m 仅修改时间
-d 同时-a,-m修改

2. mkdir 命令用于创建空白的目录,格式为:mkdir【选项】目录,常用选项:-p 递归创建 -m建立目录的同时设置目录的权限;

3. cp 命令用于复制文件或目录,格式为:cp【选项】源文件 目标文件,
常用选项:-p 保留原始文件的属性(在cp的时候,归属关系会发生改变,-p就保留原来的归属关系)
-d 若对象为“链接文件”,则保留该“链接文件”的属性
-r 递归持续复制(用于目录)
-a 相当于-pdr(p、d、r 为上述参数)

4. mv 命令用于剪切文件或将文件重命令,格式为:mv【选项】源文件【目标目录/目标文件名】

5. rm 命令用于删除文件或目录,格式为:rm【选项】文件,
常用选项:-r 删除目录
-f 强制删除不询问

**********************************************************************************************************

猜你喜欢

转载自www.cnblogs.com/BadManWM/p/8978390.html