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
解释:
内存总量 | 已用量 | 可用量 | 进程共享的 内存量 | 磁盘缓存的 内存量 | 缓存的 内存量 | |
---|---|---|---|---|---|---|
total | used | free | shared | buffers | cached | |
Mem | 1.8GB | 1.3GB | 517MB | 9.7MB | 824K | 337MB |
-/+ buffers/cache | 971M | 855M | ||||
Swap | 2.0GB | 0 B | 2.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 目录
本文作者:Gustav
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!