1.强大好用的Shell

Shell是一个命令工具。Shell(也称终端或壳)充当的是人与内核(硬件)之间的翻译官,用户把一些命令“告诉”终端,它会调用相应的程序服务去完成某些工作。

现在红帽系统在内的许多主流Linux系统默认使用的终端是Bash解释器,它主要有以下4项优势

①通过上下方向键来调取过往执行过的Linux命令;

②命令或参数仅需输入前几位就可以用Tab键补全

③具有强大的批处理脚本;

④具有实用的环境变量功能。

2、执行查看帮助命令

Linux命令格式:

命令名称 [命令参数]  [命令对象]

注意,命令名称 、命令参数、命令对象之间要用空格键隔开。

长格式  man --help

短格式  man -help

首先我们先拿man这个命令实现一下

切换到root管理员身份

打开Linux系统命令行终端(我这里使用的是8版本哈)

输入man man命令查看man命令自身的帮助信息(敲回车键即可)

man命令中常用按键以及用途

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

man命令帮助信息的结构意义

结构名称 代表意义
NAME 命令的名称
SYNOPSIS 参数的大致使用方法
DESCRIPTION 介绍说明
EXAMPLES 演示(附带简单的说明)
OVERVIEW 概述
DEFAULTS 默认的功能
OPTIONS 具体的可用选项(带介绍)
ENVIRPNMENT 环境变量
FILES 用到的文件
SEE ALSO 相关的资料
HISTORY 维护历史与联系方式

常用系统工作命令

1、echo命令

echo命令用于在终端输出字符串或变量提取后的值,格式为:echo [字符串|$变量]

例如:把指定字符串“happy”输出到终端屏幕的命令为

[root@localhost ~]# echo happy

下面,我们使$变量的方式提取SHELL的值

[root@localhost ~]# echo $SHELL

2、date命令

date命令用于显示及设置系统的时间或日期

格式为:data [选项][+指定的格式]

date命令中参数及其作用

参数 作用
%t 跳格[Tab键]
%H 小时(00-23)
%I 小时(00-12)
%M 分钟(00-59)
%S 秒(00-59)
%j 今年中的第几天

按默认格式查看当前系统时间的date命令如下

[root@localhost ~]# date
Sun Mar 14 22:42:03 EDT 2021

按照 年-月-日 小时:分钟:秒 的格式查看当前系统时间的date命令如下

[root@localhost ~]# date "+%Y-%m-%d %H:%M:%S"
2021-03-14 22:44:04

将系统的当前时间设置为2017年8月8日8点28分担date命令如下

[root@localhost ~]# date -s "20170808 8:28:00"
Tue Aug  8 08:28:00 EDT 2017

[root@localhost ~]# date
Tue Aug  8 08:28:36 EDT 2017

date查看今年是当年中的第几天

[root@localhost ~]# date "+%j"
220

3、reboot命令

reboot命令用于重启系统(由于重启计算机会涉及硬件资源的管理权限,只能使用root管理员来重启)

[root@localhost ~]# reboot

4、poweroff

poweroff命令用于关闭系统,该命令与reboot命令相同,都会涉及硬件资源的管理权限,因此只有root管理员才可以关闭电脑

[root@localhost ~]# poweroff

5、wegt命令

wegt命令用于在终端下载网络文件,格式为“wget[参数] 下载地址”

wegt命令参数及其作用

参数 作用
-b 后台下载模式
-P 下载到指定目录
-t 最大尝试次数
-c 断点续传
-p 下载页面内所有资源,包括图片视频
-r

递归下载

尝试使用wegt命令下载

6、ps命令

ps命令用于查看系统中的进程状态,格式为:“ps[参数]”

ps命令的参数以及作用

参数 作用
-a 显示所有进程(包括其他用户进程)
-u 用户以及其他详细信息
-x 显示没有控制终端的进程

Linux系统中时刻运行着许多进程,如果能够合理管理它们,则可以优化系统的性能。

有五种常见的进程状态,分别为运行,中断,不可中断,僵死和停止

R(运行):进程正在运行或在运行的队列中等待

S(中断):进程处于休眠中,当某个条件达成后或者接收到信号时,则脱离该状态

D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其中断

Z(僵死):进程已经终止,但是进程描述符依然存在,直到父进程调用wait4()系统函数后将进程释放

T(停止):进程收到停止信号后停止运行。

进程状态

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
进程所有者 进程ID 运算器占有率 内存占用率 虚拟内存使用量(单位是KB) 占用的固定内存量(单位是KB) 所在终端 进程状态 被启动的时间 实际使用CPU的时间 命令名称与参数

7、top命令

top命令用于动态地监视进程活动与系统负载调信息

下图中每行的意义

第一行:系统时间,运行时间,登录终端数,系统负载(三个数值分别为1分钟,5分钟,15分钟内的平均值,数值越小意味着负载越低)

第二行:进程总数,运行中的进程数,睡眠中的进程数,停止的进程数,僵死的进程数

第三行:用户占用资源百分比,系统内核占用资源百分比,改变过优先级的进程资源百分比,空闲的资源百分比等

第四行:物理内存总量,内存使用量,内存空闲量,虚拟内存空闲量,已被提前加载的内存量

8、pidof命令

pidof命令用于查看某个指定服务进程的PID值,格式为:pidof【参数】【服务名称】

[root@localhost ~]# pidof sshd
1022

9、kill命令

kill命令用于终止某个指定PID的服务进程。

10、killall命令

killall命令用于终止某个指定名称的服务所对应的全部进程。

3、系统状态监测命令

1、ifconfig命令

ifconfig命令用于获取网卡配置与网络状态等信息

2、uname命令

uname命令用于查看系统内核与版本等信息

[root@localhost ~]# uname -a
Linux localhost.localdomain 4.18.0-80.el8.x86_64 #1 SMP Wed Mar 13 12:02:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

3、uptime命令

uptime命令用于查看系统的负载信息

[root@localhost ~]# uptime
 23:33:26 up 34 min,  1 user,  load average: 0.00, 0.00, 0.06

4、free命令

free命令用于显示当前系统中内存的使用量信息

[root@localhost ~]# free -h

内存总量   已用量    可用量  进程共享的内存量   磁盘缓存的内存量   可以用的内存量
              total        used        free      shared    buff/cache   available
Mem:          1.8Gi       1.2Gi       126Mi        14Mi       459Mi       415Mi
Swap:         2.0Gi        10Mi       2.0Gi

5、who命令

who命令用于查看当前登入主机的用户终端信息

[root@localhost ~]# who
root     tty2         2021-03-14 23:00 (tty2)

登录的用户名 终端设备 登录到系统的时间
root

tty2

2021-03-14 23:00 (tty2)

     

6、last命令

last命令用于查看所有系统的登录记录

7、history命令

history命令用于显示历史执行过的命令

8、sosreport命令

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

[root@localhost ~]# sosreport

sosreport (version 3.6)

This command will collect diagnostic and configuration information from
this Red Hat Enterprise Linux system and installed applications.

An archive containing the collected information will be generated in
/var/tmp/sos.le34fxce and may be provided to a Red Hat support
representative.

Any information provided to Red Hat will be treated in accordance with
the published support policies at:

https://access.redhat.com/support/

The generated archive may contain data considered sensitive and its
content should be reviewed by the originating organization before being
passed to any third party.

No changes will be made to system configuration.

Press ENTER to continue, or CTRL-C to quit.

Please enter the case id that you are generating this report for []:

Setting up archive ...
 Setting up plugins ...

Running plugins. Please wait ...                         
Finished running plugins                                                               
Creating compressed archive...

Your sosreport has been generated and saved in:
  /var/tmp/sosreport-localhost-2021-03-14-odhuaxj.tar.xz

The checksum is: 645e5bd252bfd11b58875d49a169a209

Please send this file to your support representative.

4、工作目录切换命令

1、pwd命令

pwd命令用于显示用户当前所处的工作目录

[root@localhost ~]# pwd
/root

2、cd命令

cd命令用于切换工作路径,格式为:cd 【目录名称】

[root@localhost ~]# cd /etc
[root@localhost etc]#

此时,要返回上一层的目录1,可执行如下命令:

[root@localhost etc]# cd -
/root
[root@localhost ~]#

还可以通过下面的命令快速回到家目录

[root@localhost ~]# cd /etc
[root@localhost etc]# cd ~

3、ls命令

ls命令用于查看目录的文件信息,格式为“ls【选项】【文件】”

如果想要查看目录属性信息,则需要额外添加一个-d参数

[root@localhost ~]# ls -ld /etc
drwxr-xr-x. 135 root root 8192 Mar 14 22:59 /etc

5、文本文件编辑命令

1、cat命令

cat命令用于查看纯文本文件(内容比较少的),格式为“cat 【选项】【文件】”。

额外加-n参数,显示行号

2、more命令

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

3、head命令

head命令用于查看从未被文档的前N行,格式为“head 【选项】【文件】”

[root@localhost ~]# head -n 20 initial-setup-ks.cfg

4、tail命令

tail命令用于查看纯文本文档的后N行或持续刷新内容,格式为“tail 【选项】【文件】”

tail命令最强悍的功能是可以持续刷新一个文件的内容,当想要实时查看最新的日志文件时,这就特别有用,此时的命令格式为:tail -f 文件名

5、tr命令

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

6、wc命令

wc命令用于统计指定文本的行数,字数,字节数,格式为 wc【参数】文本

wc参数以及作用

参数 作用
-l 只显示行数

-w

只显示单词数

-c

只显示字节数

[root@localhost ~]# wc -l /etc/passwd
45 /etc/passwd

7、stat命令

stat命令用于查看文件的具体存储信息和时等信息,格式为“ stat 文件名称”

8、cut命令

cut命令用于按“列”提取文本字符,格式为“cut 【参数】文本”

9、diff命令

diff命令用于比较多个文本文档的差异

diff --brief 文件1 文件2  判断文件是否相同

diff -c 文件1 文件2  描述文件内容具体的不同

5、文件目录管理命令

1、touch命令

touch命令用于创建空白文件或设置文件的时间,格式为:“touch 【选项】【文件】”

在创建空白的文本文档方面,这个touch相当简捷。

参数 作用
-a 仅修改“读取时间”
-m 仅修改“修改时间”
-d 同时修改atime和mtime

我们通过Xshell远程连接虚拟机进程操作,方便快捷,不用频繁切换。

附上Xshell6的安装包,可能不是最新版本,自行更新也不费事哈。

链接:https://pan.baidu.com/s/1abe28wTAHsZShB3R9qWIvQ
提取码:z7q0

接下来我们简单实现touch的功能

建立一个空白文件

[root@localhost ~]# touch test

查看test文件的修改日期

我们写入一些内容后,继续查看时间

[root@localhost ~]# echo "happy" >> test
[root@localhost ~]# ls -l test

我们再次通过touch命令把修改后的文件时间设置成修改之前的时间

[root@localhost ~]# touch -d "2021-03-15 02:08" test

2、mkdir命令

mkdir命令用于创建空白的目录,格式为:“mkdir 【选项】 目录”

除了能创建单个空白目录之前,mkdir还能结合-p参数来递归创建出具有嵌套叠层关系的文件目录

[root@localhost ~]# mkdir test1
[root@localhost ~]# cd test1/
[root@localhost test1]# mkdir -p a/b/c/d
[root@localhost test1]# cd a
[root@localhost a]# cd b
[root@localhost b]#

3、cp命令

cp命令用于复制文件或目录,格式为“cp 【选项】源文件 目标文件”

在Linux系统中哦,复制操作具体分为三种情况:

①如果目标文件是目录,则会把源文件复制到该目录中;

②如果目标文件也是普通文件,则会询问是否要覆盖它;

③如果目标文件不存在,则执行正常的复制操作

cp命令的参数及其作用

参数 作用
-p 保留原始文件的属性
-d 若对象为“链接文件”,则保留该“链接文件”的属性

-r

递归持续复制(用于目录)
-i 若目标文件存在则询问是否覆盖
-a

相当于-pdr(p、d、r为上述参数)

[root@localhost ~]# cp test  testcp

4、mv命令

mv命令用于剪切文件或文件重命名,格式为:“mv 【选项】 源文件 【 目标路径|目标文件名】”

剪切操作不同于复制操作,因为它会默认把源文件删除掉,只保留剪切后的文件。如果在同一个目录中对一个文件进行剪切操作,其实也是对其进行重命名。

[root@localhost ~]# mv testcp  one (看文件时间)

5、rm命令

rm命令用于删除文件或目录,格式为:“rm 【选项】文件”

删除文件时,系统会默认向您询问是否要执行删除操作,如果不想总是看到这种反复确认的信息,可在rm命令后跟上-f的参数来强制删除。另外想要删除一个目录,要在rm命令后面跟上一个-r参数才可以,否则删除不掉。

6、dd命令

dd命令用于按照指定大小和个数的数据块来复制文件或转移文件,格式为:“dd【参数】”

dd命令是一个比较有特色的一个命令,它能够让用户按照指定大小和个数的数据块来复制文件的内容。

dd命令的参数及其作用

参数 作用
if 输入的文件名称
of

输出的文件名称

bs 设置每个“块”的大小
count 设置要复制“块”的个数

7、file命令

file命令用于查看文件的类型。格式为:“file 文件名”

6,打包压缩与搜索命令

1、tar命令

tar命令用于对文件进行打包压缩或解压,格式为:“tar 【选项】【文件】”

tar命令的参数及其作用

参数 作用
-c 创建压缩文件
-x 解开压缩文件
-t 查看压缩包内有那些文件
-z 用Gzip压缩或解压
-j 用bzip2压缩或解压
-v 显示压缩或解压的过程
-f 目标文件名
-p 保留原始的权限和属性
-P 使用绝对路径来压缩
-C 指定解压到的目录

2、grep命令

grep命令用于1文本执行关键词搜索,并显示匹配的结果,格式为:“grep 【选项】【文件】”

grep命令的参数及其作用

参数 作用
-b 将可执行的文件当做文本文件来搜索
-c 仅显示找到的行数
-i 忽略大小写
-n 显示行号
-v 反向选择——仅列出没有“关键词”的行

3、find命令

find命令用于按照指定条件来查找文件,格式为“find 【查找路径】寻找条件 操作”

在Linux系统中,搜索工作一般都是通过find命令来完成的,它可以使用不同的文件特性作为寻找条件(如文件名,大小,修改时间,权限等信息),一旦匹配成功则默认将信息显示到屏幕上。

find命令中的参数和作用

参数 作用
-name 匹配名称
-perm 匹配权限
-user 匹配所有者
-group 匹配所有组
-mtime -n +n 匹配修改内容的时间
-atime -n +n 匹配访问文件的时间
-ctime -n +n 匹配修改文件权限的时间
-nouser 匹配无所有者的文件
-newer f1  !f2 匹配比文件f1新但比f2旧的文件
-type b/d/c/p/l/f 匹配文件类型
-size 匹配文件大小
-prune 忽略某个目录
-exec ··· {}\; 后面可跟用于进一步处理搜索的命令
-nogroup 匹配无所有组文件

Linux基础命令(1)相关推荐

  1. linux怎么取消文件隐藏命令,Linux基础命令:显示隐藏的文件

    Linux基础命令:显示隐藏的文件 来源:互联网 作者:佚名 时间:2013-04-10 13:32 系统中一些文件,和Windows中的系统文件一样,这些文件一般是不显示出来的,那么我们可以使用-a ...

  2. Linux 基础命令上

    Linux 基础命令上 磁盘分区: /dev/hda5 dev 是硬件设备文件所在的目录 hd 表示IDE设备 sd 表示SCSI设备 a 硬盘的顺序号,以a.b.c...表示 5 分区的顺序号,以1 ...

  3. linux下kill指令默认信号,Linux基础命令之kill命令

    相信大家在使用Linux的过程中都会遇到过某个程序出错导致系统锁死的情况,按照常规的思维我们会通过重启来重新启动系统.然而事实上在Linux中并不需要进行重启就能够完成出错程序的关闭操作.在Linux ...

  4. linux修改密码最短生存时间,Linux基础命令---修改用户密码

    passwd 更改用户密码,超级用户可以修改所有用户密码,普通用户只能修改自己的密码.这个任务是通过调用LinuxPAM和LibuserAPI来完成的.本质上,它使用LinuxPAM将自己初始化为一个 ...

  5. Linux 基础命令讲解--加密解密

    Linux 基础命令讲解--加密解密 加密文件: 1.MD5 echo -n "string" | openssl md5   #加密字符串 openssl md5 -in tes ...

  6. 测试常用——linux 基础命令

    测试常用 的 linux 基础命令 1,查看服务器日志 vi 查看文件 (查找关键字:exception /exception  :  从上往下找,按n查找下一个关键字,按shift+n查找上一个关键 ...

  7. linux入门指令 详解,Linux基础命令之mktemp详解

    mktemp 创建临时文件或者目录,这样的创建方式是安全的.此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语法 mktemp [ ...

  8. 软件测试 学习之路 linux基础命令 (二)

    一.linux基础命令进阶 1.重定向 例子: ls > 1.txt 把命令返回结果输出到文件中,会覆盖之前的数据 ls >>1.txt 把命令返回结果输出到文件中,不覆盖之前的数据 ...

  9. linux基础命令怎么记,linux基础命令--笔记(示例代码)

    linux基础命令--笔记 一.   1  . --help 命令简单帮助 2. man 查看命令复杂帮助  (非内置命令) 3  . help (bash的内置命令)如 :help cd  .hel ...

  10. Linux 基础命令:IP 路由操作 -ip命令

    转自Linux爱好者:Linux 基础命令:IP 路由操作 Table of Contents ip 1.语法 2.选项列表 3.ip link---网络设备配置 4.ip address---协议地 ...

最新文章

  1. 啥?Transformers又来刷CV的榜了?
  2. Razor Engine,动态脚本语言,mvc上的语法,适用于文件内容生成,静态网页生成等。...
  3. Web IOC 容器初体验
  4. django报错500排查方法
  5. Libevent:6辅助函数以及类型
  6. android必看java_Android开发工程师必看笔试题:Java基础选择题(一)
  7. 1 ERP管理系统概念
  8. C#之获取本地IP地址
  9. mp4 视频在网页上播放不了
  10. RabbitMQ系列(七)--批量消息和延时消息
  11. komodo-edit
  12. 基于邻接表建图的几种方法
  13. 【论文视频】对比学习论文综述【论文精读】
  14. appium 学习教程
  15. Phpstudy简介与使用教程
  16. Python语言程序设计课程论文--飞机大战
  17. Ubuntu 16.04 安装Tensorflow Object Detection API (一)
  18. 表白爱心HTML制作
  19. 考试系统软件是怎么保障考试公平公正的?
  20. [ZZ]:44本计算机经典书籍

热门文章

  1. 循环结构, while, do……while
  2. linux内核重要结构体,Linux中list_head结构体相关 | 技术部落
  3. 计算机应用基础抢答题,计算机应用基础问答题
  4. java职业发展路线图_软开(Java),该如何规划职业路线?
  5. C++中全局变量的使用
  6. BugkuCTF-MISC题闪的好快
  7. php 获取 js json数据类型,JS基础-JS的数据类型和访问/流程控制/JSON格式字符串和js对象相互转换...
  8. java判断线程是否wait_Java并发编程之线程间通讯(上)wait/notify机制
  9. mysql访问60s出现timeout_websocket 每60s报WsHttpUpgradeHandler.timeoutAsync
  10. linux命令fdisk,Linux fdisk 命令使用详解