编辑
2023-03-08
Linux学习
00
请注意,本文编写于 561 天前,最后修改于 558 天前,其中某些信息可能已经过时。

目录

系统工作命令
系统状态命令
工作目录切换命令
文本编辑命令
文件目录管理命令
打包压缩与搜索命令

系统工作命令

1.echo

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

例:

[root@linuxprobe ~]# echo Linuxprobe.Com Linuxprobe.Com [root@linuxprobe ~]# echo $SHELL /bin/bash

2.date

date 命令用于显示及设置系统的时间或日期,格式为“date [选项] [+指定的格式]”。

例:

cp /home/hdnnadmin/test-copy{,_back_`date '+%Y%m%d%H%M'`} #备份文件名加上备份日期 注:备份操作如下命令效果相同 cp /home/hdnnadmin/test-copy /home/hdnnadmin/test-copy-back cp /home/hdnnadmin/test-copy{,-bak}

3.reboot和poweroff

用于重启和关机

4.wget

wget命令用于下载网络文件

wget 命令的参数以及作用

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

5.ps

ps命令用于查看系统中的进程状态。

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

Linux 系统中,有 5 种常见的进程状态,分别为运行、中断、不可中断、僵死与停止,其各自含义如下所示。 R(运行): 进程正在运行或在运行队列中等待。 S(中断): 进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该状态。 D(不可中断): 进程不响应系统异步信号,即便用 kill 命令也不能将其中断。 Z(僵死): 进程已经终止,但进程描述符依然存在, 直到父进程调用 wait4()系统函数后将进程释放。 T(停止): 进程收到停止信号后停止运行。

6.top

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

top 命令执行结果的前 5 行为系统整体的统计信息,其所代表的含义如下。 第 1 行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为 1 分钟、 5分钟、 15 分钟内的平均值,数值越小意味着负载越低)。 第 2 行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。 第 3 行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。 第 4 行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。 第 5 行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。

7.pidof or kill or killall

pidof 命令用于查询某个指定服务进程的 PID 值,格式为“pidof [参数] [服务名称]”。 kill 命令用于终止某个指定 PID 的服务进程,格式为“kill [参数] [进程 PID]”。 killall 命令用于终止某个指定名称的服务所对应的全部进程,格式为: “killall [参数] [进程名称]”。

[root@linuxprobe ~]# pidof sshd 2156 [root@linuxprobe ~]# kill 2156 [root@linuxprobe ~]# pidof httpd #查询httpd的全部进程 13581 13580 13579 13578 13577 13576 [root@linuxprobe ~]# killall httpd #终止httpd服务的全部进程 [root@linuxprobe ~]# pidof httpd [root@linuxprobe ~]#

注: 如果我们在系统终端中执行一个命令后想立即停止它, 可以同时按下 Ctrl + C 组合键(生产环境中比较常用的一个快捷键),这样将立即终止该命令的进程。或者,如果有些命令在执行时不断地在屏幕上输出信息,影响到后续命令的输入,则可以在执行命令时在末尾添加上一个&符号,这样命令将进入系统后台来执行。

系统状态命令

1.ifconfig ifconfig 命令用于获取网卡配置与网络状态等信息,格式为“ifconfig [网络设备] [参数]”。

2.uname 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 2017x86_64 x86_64 x86_64 GNU/Linux

如果要查看当前系统版本的详细信息,则需要查看 redhat-release 文件,其命令以及相应的结果如下:

[root@linuxprobe ~]# cat /etc/redhat-releaseRed Hat Enterprise Linux Server release 7.0 (Maipo)

3.uptime

uptime 用于查看系统的负载信息,格式为 uptime。

4.free

free 用于显示当前系统中内存的使用量信息,格式为“free [-h]”。

[root@linuxprobe ~]$ free -h total used free shared buffers cached Mem: 1.8G 1.3G 517M 9.7M 824K 337M -/+ buffers/cache: 971M 855M Swap: 2.0G 0B 2.0G

解释:

内存总量已用量可用量进程共享的 内存量磁盘缓存的 内存量缓存的 内存量
totalusedfreesharedbufferscached
Mem1.8GB1.3GB517MB9.7MB824K337MB
-/+ buffers/cache971M855M
Swap2.0GB0 B2.0GB

5.who

who 用于查看当前登入主机的用户终端信息,格式为“who [参数]”。

6.last

last 命令用于查看所有系统的登录记录,格式为“last [参数]”。

7.history

history 命令用于显示历史执行过的命令,格式为“history [-c]”。

8.sosreport

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

工作目录切换命令

1.pwd

pwd 命令用于显示用户当前所处的工作目录,格式为“pwd [选项]”。

2.cd

cd 命令用于切换工作路径,格式为“cd [目录名称]”。

3.ls

ls 命令用于显示目录中的文件信息,格式为“ls [选项] [文件] ”。

ls -a查看全部文件(包含隐藏文件)

ls -l查看文件的属性、大小等详细信息

ls -ld查看文件夹的权限及属性

文本编辑命令

1.cat

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

cat -n可显示行号

2.more

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

注:空格或回车翻页

3.head

head 命令用于查看纯文本文档的前 N 行,格式为“head [选项] [文件]”。

例:head -n 20 initial-setup-ks.cfg #查看 initial-setup-ks.cfg 文本中前 20 行的内容。

4.tail

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

注:方法与head命令相同,格式为“tail -n 20 ‘文件名’”。 tail 命令最强悍的功能是可以持续刷新一个文件的内容,当想要实时查看最新日志文件时,这特别有用,此时的命令格式为“tail -f 文件名”:

5.tr

tr 命令用于替换文本文件中的字符,格式为“tr [原始字符] [目标字符]”。

示例命令cat anaconda-ks.cfg | tr [a-z] [A-Z]
解释:cat命令读取待处理的文本,然后通过管道符,将文本内容通过tr命令进行替换。

6.wc

wc 命令用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”。

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

7.stat

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

8.cut

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

9.diff

diff 命令用于比较多个文本文件的差异,格式为“diff [参数] 文件”。

文件目录管理命令

1.touch

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

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

例: touch -d "2021-05-04 15:44" 文件名

2.mkdir

mkdir 命令用于创建空白的目录,格式为“mkdir [选项] 目录”。

mkdir -p a/b/c/d/e #加上参数p,可递归创建嵌套文件夹

3.cp

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

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

4.mv

mv 命令用于剪切文件或将文件重命名, 格式为“mv [选项] 源文件 [目标路径|目标文件名]"。 如果在同一个目录中对一个文件进行剪切操作,其实也就是对其进行重命名。

5.rm

rm 命令用于删除文件或目录,格式为“rm [选项] 文件”。

-f 参数 强制删除 -r 参数 删除目录

6.dd

dd 命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式为“dd [参数]”。

参数作用
if输入的文件名称
of输出的文件名称
bs设置每个“块”的大小
count设置要复制“块”的个数

例:

[root@linuxprobe ~]# dd if=/dev/zero of=560_file count=1 bs=560M 1+0 records in 1+0 records out 587202560 bytes (587 MB) copied, 27.1755 s, 21.6 MB/s

7.file

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

打包压缩与搜索命令

1.tar

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

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

注: -c 参数用于创建压缩文件, -x 参数用于解压文件,因此这两个参数不能同时使用
-z 参数指定使用 Gzip 格式来压缩或解压文件, -j 参数指定使用 bzip2 格式来压缩或解压文件。
-f 参数特别重要,它必须放到参数的最后一位,代表要压缩或解压的软件包名称。
一般使用“tar -czvf 压缩包名称.tar.gz 要打包的目录”命令把指定的文件进行打包压缩,相应的解压命令为“tar -xzvf 压缩包名称.tar.gz”。

2.grep

grep 命令用于在文本中执行关键词搜索, 并显示匹配的结果, 格式为“grep [选项] [文件]”。

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

两个重要参数 -n 参数用来显示搜索到信息的行号; -v 参数用于反选信息(即没有包含关键词的所有信息行)。

3.find

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

参数作用
-name匹配名称
-perm匹配权限( mode 为完全匹配, -mode 为包含即可)
-user匹配所有者
-group匹配所有组
-mtime -n +n匹配修改内容的时间( -n 指 n 天以内, +n 指 n 天以前)
-atime -n +n匹配访问文件的时间( -n 指 n 天以内, +n 指 n 天以前)
-ctime -n +n匹配修改文件权限的时间( -n 指 n 天以内, +n 指 n 天以前)
-nouser匹配无所有者的文件
-nogroup匹配无所有组的文件
-newer f1 !f2匹配比文件 f1 新但比 f2 旧的文件
--type b/d/c/p/l/f匹配文件类型(后面的字幕参数依次表示块设备、目录、字符设备、管道、 链接文件、文本文件)
-size匹配文件的大小( +50KB 为查找超过 50KB 的文件,而-50KB 为查找小于 50KB 的文件)
-prune忽略某个目录
-exec …… {};后面可跟用于进一步处理搜索结果的命令(下文会有演示)

例:

[root@linuxprobe ~]# find /etc -name "host*" -print /etc/avahi/hosts /etc/host.conf /etc/hosts /etc/hosts.allow /etc/hosts.deny /etc/selinux/targeted/modules/active/modules/hostname.pp /etc/hostname

重点实验: 在整个文件系统中找出所有归属于 linuxprobe 用户的文件并复制到/root/findresults 目录。 该实验的重点是“-exec {} ;”参数,其中的{}表示 find 命令搜索出的每一个文件,并且命令的结尾必须是“ ; ”。完成该实验的具体命令如下: [root@linuxprobe ~]# find / -user linuxprobe -exec cp -a {} /root/findresults/ \;
命令分解如下 find / -user linuxprobe #找出所有归属于 linuxprobe 用户的文件 -exec cp -a {} /root/findresults/ #复制找出的文件到/root/findresults 目录

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Gustav

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!