linux 入门篇 —— 常用基本命令,重定向,管道符与环境变量

本文详细介绍了Linux系统中用于服务管理、进程查看、时间设置、文件下载、网络诊断、文本处理等一系列常用命令,如systemctl、date、timedatectl、wget、ps、top、grep、find、locate、ifconfig等。这些命令对于日常系统维护和管理至关重要,理解并熟练掌握它们能提升Linux环境下的工作效率。
摘要由CSDN通过智能技术生成

1. 基本命令


服务的启动,重启停止重载查看常用命令:

老系统命令新系统命令作用
service foo startsystemctl start sshd启动服务
service foo restartsystemctl restart sshd重启服务
service foo stopsystemctl stop sshd停止服务
service foo reloadsystemctl reload sshd重新加载配置文件(不终止服务)
service foo statussystemctl status sshd查看服务状态

开机启动不启动,查看各级被下服务启动状态常用命令:

老系统命令新系统命令作用
chkconfig foo onsystemctl enable sshd开机自动启动
chkconfig foo offsystemctl disable sshd开机不自动启动
chkconfig foosystemctl is-enabled httpd查看特定服务是否为开机自启动
chkconfig --listsystemctl list-unit-files --type=httpd查看各个级别下的服务启动和禁用的情况

date 命令:

用于显示系统时间和日期,语法格式 : date "+%Y-%m-%d %H:%M:%S"

参数作用
%S
%M分钟
%H小时,24 小时制
%I小时, 12 小时制
%m月份
%p显示 ampm
%a缩写工作日的名称,栗子:Sun
%A完整的工作日名称,栗子:Sunday
%b缩写月份的名称,栗子:Jan
%B完整月份的名称,栗子:January
%q季度(1~4)
%y简写年份,栗子:22
%Y完整年份,栗子: 2022
%d本月的第几天
%j今年中的第几天
%n换行符
%t跳格 (相当于 tab 键)

栗子:
在这里插入图片描述


timedatectl 命令:

该命令用于设置系统时间,全称为 time date control 语法格式为,timedatectl [参数]

参数作用
sataus显示状态信息
list-timezones显示已知的时区
set-time设置系统时间
set-timezone设置生效时区
# 查看状态
[root@myfirst ~]# timedatectl status
               Local time: Sat 2022-04-09 11:51:10 CST
           Universal time: Sat 2022-04-09 03:51:10 UTC
                 RTC time: Sat 2022-04-09 11:51:08
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
              NTP service: inactive
          RTC in local TZ: no

# 设置时区
timedatectl set-timezone Asia/Shanghai
# 设置时间
timedatectl set-time 2022-04-08

wget 命令:

用于在终端命令下载网络文件,语法,wget [参数] 网址

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

ps 命令:”

用于查看系统进程状态,全称 processes ,语法格式:ps [参数]]

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

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

  • R(运行):进程在运行状态或在运行队列中等待。
  • S(中断):进程处于休眠状态,当某个条件形成之后,或者收到某个信号的时候,则脱离该状态。
  • D(不可中断):进程不响应系统异步信号,即使 kill 命令也不能将其中断。
  • Z(僵死):进程已经终止,但是进程描述符依然存在,直到父进程调用 wait4() 系统函数将进程释放。
  • T(停止):进程收到停止信号后停止运行。

除了上面常见的进程之外,还有高优先级(<)低优先级(N)被锁进内存(L)包含子进程(s)以及多线程(1)5种补充形式。

ps -aux 命令:
在这里插入图片描述

标题含义
USER进程的所有者
PID进程的 ID
%CPUcpu 占用率
%MEM内存占用率
VSZ虚拟内存使用量(单位 KB)
RSS占用的固定内存(单位是 KB)
TTY所在终端
STAT进程状态
START被启动的时间
TIMR实际使用 cpu 时间
COMMAND命令名称和参数

pstree 命名:

该命令用于以树形状图展示进程之间的关系,全称 process tree

在这里插入图片描述


top 命令:

用于动态监视进程活动以及系统负载的信息。

在这里插入图片描述

第一行:系统时间,运行时间,系统登录用户的数量(rhel5,6 是终端的数量),系统负载值(1分钟,5分钟,15分钟,数值越小意味着负载值越低)。

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

第三行:用户占用资源百分比,系统内核占用资源百分比,改变过优先级的进程资源百分比,空闲的资源百分比等。其余数据均为 cpu 数据并以百分比的格式显示。

第四行: 物理内存总量,内存空闲量,内存使用量,作为内核缓存的内存量

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

PR,NI 数字越低,优先级越高,RES,SHR 内存硬盘交换至


nice 命令:

用于调整进程的优先级,语法格式为:nice 优先级数字 服务名称

nice -n -20 bash

pidof 命令:

用于查询某个指定服务进程的 PID 号码,语法格式: pidof [参数] 服务名称

pidof sshd

ifconfig 命令:

获取网卡配置和网络状态信息

在这里插入图片描述


uname 命令:

查看系统内核版本与系统架构等信息。

在这里插入图片描述

当前系统的内核名称,主机名,内核发行版本,节点名,压制事件,硬件名称,硬件平台,处理器类型,以及操作系统名称。

如果想查看当前系统版本的详细信息,可以查看 redhat-release 文件

在这里插入图片描述


free 命令:

显示当前系统中内存的使用量信息。

在这里插入图片描述

标题含义
Total内存总量
used已用量
free空闲量
shared进程功效的内存量
buffers磁盘缓存的内存量
buff/cache缓存的内存量
available可用量

uptime 命令:

查看系统的负载信息

# 每一秒执行一下该命令
watch -n 1 uptime 

who 命令:

该命令用于查看当前登入主机用户的终端信息,如果有远程用户,会显示出来访者的 ip
在这里插入图片描述
登录的用户名,终端设备,登录到系统的时间


last 命令:

该命令是用于调取主机的被访问记录,linux 系统每次登录都会记录到日志文件中,如果想翻阅,直接使用该命令即可。


ping 命令:

用于测试主机之间的网络联通性。

参数作用
-c总共发送次数
-l指定网卡名称
-i每次间隔时间(秒)
-W最长等待时间(秒)

find 命令:

用于指定条件查找文件的对应位置,语法: find [查找范围] 寻找条件

参数作用
-name匹配名称
-perm匹配权限(mode 为完全匹配,-mode 为包含即可)
-user匹配所有者
-group匹配所有组

locate 命令:

按名称检索文件对应的位置,使用该命令之前,先使用 updatedb 命令生成一个索引文件库。文件的名称是 /var/lib/mlocate/mlocate.db


whereis 命令:

用于按名称快速检索二进制程序(命令),源代码以及帮助文件锁对应的位置。简单来说,改命令也是基于 updatedb 命令生成的文件索引,它与 locate 命令的区别是不关心那些相同名称的文件,仅仅是快速找到对应的命令文件以及帮助文件所在位置。

在这里插入图片描述


whice 命令:

指定名称快速检索二进制程序(命令)所对应的位置,语法:which 命令名称

该命令是在 PATH 变量所指定的路径中,按照指定条件搜索命令所在的路径。也就是说,如果我们即不关心同名文件(findlocate),也不关心命令锁对应的源代码和帮助文件(whereis),仅仅是想找到命令本身所在的路径,那么该命令和适合。

在这里插入图片描述


tr 命令:

用于替换文本内容的字符

cat anacnda-ks.cfg | tr [a-z] [A-Z]

wc 命令:

用于统计指定文本文件的行数,字数或字节。

参数作用
-l只显示行数
-w只显示单词数
-c只显示字节数

stat 命令:

用于查看具体存储细节和时间等信息,英文全称为:status

在这里插入图片描述

linux 系统中的文件包含 3 中时间状态,分别是 :

  • Access Time,最后一次被访问的时间(查看文件内容),简称 Atime
  • ModifyTime,内容最后一次被修改的时间(修改文件内容的时间),简称 Mtime
  • ChangeTime,文件属性最后一次被修改的时间(文件属性修改时间),简称 Ctime

文件内容发生改变,文件的容量也随之发生变化,CtimeMtime 也随之发生变化。


grep 命令:

该命令用于提取文本内容。

grep /sbin/nologin /etc/passwd
参数作用
-b将可执行文件(binary)当作文本文件(text)来搜索
-c仅显示找到的行数
-I忽略大小写
-n显示行号
-v反向选择——仅列出没有关键词的行

cut 命令:

用于按列提取文件内容。

参数作用
-d设置文件间隔符号
-f提取那一列的信息

提取 passwd 文件中的用户名信息,即提取以冒号(:)为间隔符的第一列数据。
在这里插入图片描述


diff 命令:

用于比较多个文件之间内容的差异,语法格式:diff [参数] 文件名称A 文件名称B

参数作用
–brief用来确认两个文件是否相同
-c用于比较两个文件的差异之处

uniq 命令:

用于除去文本中连续的重复行,语法为:uniq [参数] 文件名称


sort 命令:

用于对文本内容进行排序,语法为:sort [参数] 文件名称

参数作用
-f忽略大小写
-b忽略缩进和空格
-n以数值型排序设
-r反向排序
-u去掉重复行
-t指定间隔符
-k设置字段范围

touch 命令:

用于创建空白文件或者设置文件时间格式。

参数作用
-a仅修改 访问时间(Atime)
-m仅修改 修改时间(Mtime)
-d同时修改 AtimeMtime
touch -d "2022-04-11 22:28" anaconda-ks.cfg

在这里插入图片描述


cp 命令:

复制文件或者目录。

参数作用
-p保留原始文件的属性
-d若对象为 链接文件 ,则保留该文件的属性
-r递归持续复制(用于目录)
-i若目标文件存在则询问是否覆盖
-a相当于 -pdr

dd 命令:

用于指定大小和个数的数据块来复制文件或者转换文件,语法格式:dd if=参数值 of=参数值 count=参数值 bs=参数值

参数作用
if输入文件的名称
of输出文件的名称
bs设置这个 的大小,默认单位是字节
count设置要复制 的个数

count*bs=总数

dd if=/dev/zero of=560_file count=1 bs=560M

file 命令:

用于查看文件的类型,语法:file 文件名称


tar命令:

用于对文件进行打包压缩或者解压,linux 中主要使用 .tar.tar.gz.tar.bz2 格式。

参数作用
-c创建压缩文件
-x解开压缩文件
-t查看压缩包都有哪些文件
-zgzip 压缩或者解压
-jbzip2 压缩或者解压
-v显示压缩过程
-f目标文件名
-P保留原始的权限和属性
-p使用绝对路径进行压缩
-C指定解压到的目录

在这里插入图片描述

2. 管道符


重定向分为两种,输出重定向输入重定向
输出重定向就是将数据信息写入到指定的文件,而输出重定向又分为标准输出重定向错误输出重定向,以及覆盖写入追加写入两种模式。

  • 标准输入重定向(STDIN,文件描述符为:0): 默认从键盘输入,也可以从其他文件或命令中输入

  • 标准输出重定向(STDOUT,文件描述符为:1): 默认输出到屏幕

  • 错误输出重定向(STDERR,文件描述符为:2): 默认输出到屏幕

 

输入重定向中符号

符号作用
命令 < 文件将文件作为命令的标准输入
命令 << 分界符从标准输入中读入,直到遇见分界符才停止
命令 < 文件 1 > 文件 2将文件 1 作为命令的标准输入并将标准输出到文件 2

 

输出重定向中

符号作用
命令 > 文件将标准输出重定向到一个文件中(清空原有文件的数据)
命令 2> 文件将错误输出重定向到一个文件中(清空原有文件的数据)
命令 >> 文件将标准输出重定向到一个文件中(追加原有内容的后面)
命令 2>> 文件将错误输出重定到一个文件中(追加到原有内容的后面)
命令 >> 文件 2>&1 或者 命令 &>> 文件将标准输出与错误输出共同写入到文件中(追加原有内容到后面)

3. 通配符

 

符号作用
*任意字符
?单个任意字符
[a-z]单个小写字母
[A-Z]单个大写字母
[0-9]单个数字
[[:alpha:]]任意字母
[[:upper:]]任意大写字母
[[:lower:]]任意小写字母
[[:digit:]]所有数字
[[:alnum:]]任意字母+数字
[[:punct:]]标点符号

栗子:
使用通配符创建文件

touch {AA,BB,CC}.conf

[] 符号有则显示,没有则不显示。{} 符号有则显示,没有则报错。

常用的转义符:

  • 反斜杠(\): 使用反斜杠后面的一个变量变为单纯的字符。
  • 单引号(''): 转义其中所有的变量为单纯的字符串。
  • 双引号(""): 保留其中的变量属性,不进行转义处理。
  • 反引号(``): 把其中的命令执行后并返回结果

4. 环境变量

 

创建别名命令语法:alias 别名=命令,取消一个命令别名语法:unalias 别名

栗子:

unalias rm

使用 type 命令可以查看,判断用户输入的是外部命令还是内部命令。内部命令 解释器内部的指令,会被直接执行。

参数名称作用
HOMR用户的主目录(即家目录)
SHELL用户使用的 Shell 解释器名称
HISTSIZE输出的历史命令记录条数
HISTFILESIZE保存的历史历史记录条数
MAIL邮件保存路径
LANG系统语言,语系名称
RANDOM生成一个随机数字
PS1Bash 解释器的提示符
PATH定义解释器搜索用户执行命令的路径
EDITOR用户默认的文本解释器

 

我们一般定义的变量,他不惧有全局性,作用范围业有限,默认情况下不被其他的用户使用。如果需要,我们可以将他升级为一个全局变量,这样其他的用户也可以使用了。栗子:

export WORKDIR 

后续如果不需要这个变量可以使用 unset 命令取消掉即可:

unset WORKDIR
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

光头小小强007

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值