Linux笔记第二课

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

一、linux命令格式
命令名称 [命令参数] [命令对象]
空格键 向下翻一页
PaGe down 向下翻一页
PaGe up 向上翻一页
home 直接前往首页
end 直接前往尾页
/ 从上至下搜索某个关键词,如“/linux”
? 从下至上搜索某个关键词,如“?linux”
n 定位到下一个搜索到的关键词
N 定位到上一个搜索到的关键词
q 退出帮助文档

二、常见命令
1、echo命令用于在终端输出字符串或变量提取后的值,格式为“echo [字符串 | $变量]”。
把指定字符串“Linuxprobe.com”输出到终端屏幕的命令为:
[root@linuxprobe ~]# echo Linuxprobe.com
[root@linuxprobe ~]# echo $SHELL
/bin/bash
2、date命令
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”
2017-08-24 16:29:12
[root@linuxprobe ~]# date -s “20170901 8:30:00”
Fri Sep 1 08:30:00 CST 2017
3.reboot命令
reboot命令用于重启系统,其格式为reboot。
4.poweroff命令
poweroff命令用于关闭系统,其格式为poweroff。
5.wget命令
wget命令用于在终端中下载网络文件,格式为“wget [参数] 下载地址”。
参数 作用
-b 后台下载模式
-P 下载到指定目录
-t 最大尝试次数
-c 断点续传
-p 下载页面内所有资源,包括图片、视频等
-r 递归下载
6.ps命令
ps命令用于查看系统中的进程状态,格式为“ps [参数]”。
参数 作用
-a 显示所有进程(包括其他用户的进程)
-u 用户以及其他详细信息
-x 显示没有控制终端的进程
Linux系统中时刻运行着许多进程,如果能够合理地管理它们,则可以优化系统的性能。在Linux系统中,有5种常见的进程状态,分别为运行、中断、不可中断、僵死与停止,其各自含义如下所示。
R(运行):进程正在运行或在运行队列中等待。
S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该 状态。
D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其中断。
Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用wait4()系统函数后将进程释放。
T(停止):进程收到停止信号后停止运行。
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
进程的所有者 进程ID号 运算器占用率 内存占用率 虚拟内存使用量(单位是KB) 占用的固定内存量(单位是KB) 所在终端 进程
状态 被启动
的时间 实际使用
CPU的时间 命令名称与参数
root 1 0.0 0.4 53684 7628 ? Ss 07 :22 0:02 /usr/lib/systemd/systemd
root 2 0.0 0.0 0 0 ? S 07:22 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 07:22 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< 07:22 0:00 [kworker/0:0H]
root 7 0.0 0.0 0 0 ? S 07:22 0:00 [migration/0]
………………省略部分输出信息………………
7.top命令
top命令用于动态地监视进程活动与系统负载等信息,其格式为top。
top命令相当强大,能够动态地查看系统运维状态,完全将它看作Linux中的“强化版的Windows任务管理器”。top命令的运行界面如图2-6所示。

在这里插入图片描述
在图2-6中,top命令执行结果的前5行为系统整体的统计信息,其所代表的含义如下。
第1行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)。
第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。
第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。
第3行中的数据均为CPU数据并以百分比格式显示,例如“97.1 id”意味着有97.1%的CPU处理器资源处于空闲。
第4行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
第5行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。
8.pidof命令
pidof命令用于查询某个指定服务进程的PID值,格式为“pidof [参数] [服务名称]”。
每个进程的进程号码值(PID)是唯一的,因此可以通过PID来区分不同的进程。例如,可以使用如下命令来查询本机上sshd服务程序的PID:
root@linuxprobe ~]# pidof sshd
2156
9.kill命令
kill命令用于终止某个指定PID的服务进程,格式为“kill [参数] [进程PID]”。
接下来,我们使用kill命令把上面用pidof命令查询到的PID所代表的进程终止掉,其命令如下所示。这种操作的效果等同于强制停止sshd服务。
[root@linuxprobe ~]# kill 2156
10.killall命令
killall命令用于终止某个指定名称的服务所对应的全部进程,格式为:“killall [参数] [服务名称]”。
通常来讲,复杂软件的服务程序会有多个进程协同为用户提供服务,如果逐个去结束这些进程会比较麻烦,此时可以使用killall命令来批量结束某个服务程序带有的全部进程。
&符号,这样命令将进入系统后台来执行。
[root@linuxprobe ~]# pidof httpd
13581 13580 13579 13578 13577 13576
[root@linuxprobe ~]# killall httpd
[root@linuxprobe ~]# pidof httpd

系统状态命令
1、uname命令
uname命令用于查看系统内核与系统版本等信息,格式为“uname [-a]”。
2.ifconfig命令
ifconfig命令用于获取网卡配置与网络状态等信息,格式为“ifconfig [网络设备] [参数]”。
3、uptime用于查看系统的负载信息,格式为uptime。
22:49:55 up 10 min, 2 users, load average: 0.01, 0.19, 0.18
4.free命令
free用于显示当前系统中内存的使用量信息,格式为“free [-h]”。
[root@linuxprobe ~]# free -h
表2-8 执行free -h命令后的输出信息
内存总量 已用量 可用量 进程共享的内存量 磁盘缓存的内存量 缓存的
内存量
total used free shared buffers cached
Mem 1.8GB 1.3GB 542MB 9.8MB 1.6MB 413MB
-/+ buffers/cache 869MB 957MB
Swap 2.0GB 0 2.0GB
free命令
free用于显示当前系统中内存的使用量信息,格式为“free [-h]”。
为了保证Linux系统不会因资源耗尽而突然宕机,运维人员需要时刻关注内存的使用量。在使用free命令时,可以结合使用-h
[root@linuxprobe ~]# free -h
执行free -h命令后的输出信息
内存总量 已用量 可用量 进程共享的内存量 磁盘缓存的内存量 缓存的
内存量
total used free shared buffers cached
Mem 1.8GB 1.3GB 542MB 9.8MB 1.6MB 413MB
-/+ buffers/cache 869MB 957MB
Swap 2.0GB 0 2.0GB
5.who命令
who用于查看当前登入主机的用户终端信息,格式为“who [参数]”。
这三个简单的字母可以快速显示出所有正在登录本机的用户的名称以及他们正在开启的终端信息。表2-9所示为执行who命令后的结果。
执行who命令的结果
登录的用户名 终端设备 登录到系统的时间
root :0 2017-08-24 17:52 (:0)
root pts/0 2017-08-24 17:52 (:0)
6、last命令用于查看所有系统的登录记录,格式为“last [参数]”。
使用last命令可以查看本机的登录记录。但是,由于这些信息都是以日志文件的形式保存在系统中,因此黑客可以很容易地对内容进行篡改。千万不要单纯以该命令的输出信息而判断系统有无被恶意入侵
[root@linuxprobe ~]# last
root pts/0 :0 Mon Aug 24 17:52 still logged in
root :0 :0 Mon Aug 24 17:52 still logged in
(unknown :0 :0 Mon Aug 24 17:50 - 17:52 (00:02)
reboot system boot 3.10.0-123.el7.x Tue Aug 25 01:49 - 18:17 (-7:-32)
root pts/0 :0 Mon Aug 24 15:40 - 08:54 (7+17:14)
root pts/0 :0 Fri Jul 10 10:49 - 15:37 (45+04:47)
………………省略部分登录信息………………
7、history命令
history命令用于显示历史执行过的命令,格式为“history [-c]”。
8.sosreport命令
sosreport命令用于收集系统配置及架构信息并输出诊断文档,格式为sosreport。
三、工作目录切换命令
工作目录指的是用户当前在系统中所处的位置。由于工作目录会牵涉系统存储结构相关的知识,因此第6章将详细讲解这部分内容。读者只需简单了解一下这里的操作实验即可,如果不能完全掌握也没有关系,毕竟Linux系统的知识体系太过庞大,每一位初学人员都需要经历这么一段时期。
1、pwd命令
pwd命令用于显示用户当前所处的工作目录,格式为“pwd [选项]”。
2.cd命令
cd命令用于切换工作路径,格式为“cd [目录名称]”。
这个命令应该是最常用的一个Linux命令了。可以通过cd命令迅速、灵活地切换到不同的工作目录。除了常见的切换目录方式,还可以使用“cd -”命令返回到上一次所处的目录,使用“cd…”命令进入上级目录,以及使用“cd ~”命令切换到当前用户的家目录,亦或使用“cd ~username”切换到其他用户的家目录。例如,可以使用“cd 路径”的方式切换进/etc目录中:
3.ls命令
ls命令用于显示目录中的文件信息,格式为“ls [选项] [文件] ”。
所处的工作目录不同,当前工作目录下的文件肯定也不同。使用ls命令的“-a”参数看到
文本文件编辑命令
cat命令用于查看纯文本文件(内容较少的),格式为“cat [选项] [文件]”。
Linux系统中有多个用于查看文本内容的命令,每个命令都有自己的特点,比如这个cat命令就是用于查看内容较少的纯文本文件的。cat这个命令也很好记,因为cat在英语中是“猫”的意思,小猫咪是不是给您一种娇小、可爱的感觉呢?
如果在查看文本内容时还想顺便显示行号的话,不妨在cat命令后面追加一个-n参数
4、more命令
more命令用于查看纯文本文件(内容较多的),格式为“more [选项]文件”。
5、head命令用于查看纯文本文档的前N行,格式为“head [选项] [文件]”。
在阅读文本内容时,谁也难以保证会按照从头到尾的顺序往下看完整个文件。如果只想查看文本中前20行的内容,该怎么办呢?head命令可以派上用场了
6、tail命令
tail命令用于查看纯文本文档的后N行或持续刷新内容,格式为“tail [选项] [文件]”。
cat anaconda-ks.cfg | tr [a-z] [A-Z]
7、wc命令用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”。
8、stat命令
stat命令用于查看文件的具体存储信息和时间等信息,格式为“stat 文件名称”。
stat命令可以用于查看文件的存储信息和时间等信息,命令stat anaconda-ks.cfg会显示出文件的三种时间状态(已加粗):Access、Modify、Change。
9、cut命令
cut命令用于按“列”提取文本字符,格式为“cut [参数] 文本”
[root@linuxprobe ~]# cut -d: -f1 /etc/passwd
10、diff命令
diff命令用于比较多个文本文件的差异,格式为“diff [参数] 文件”。
root@linuxprobe ~]# diff --brief diff_A.txt diff_B.txt
root@linuxprobe ~]#diff -c diff_A.txt diff_B.txt
*** diff_A.txt 2017-08-30 18:07:45.230864626 +0800
— diff_B.txt 2017-08-30 18:08:52.203860389 +0800


*** 1,5 ****
! Welcome to linuxprobe.com
Red Hat certified
! Free Linux Lessons
Professional guidance
Linux Course
— 1,7 ----
! Welcome tooo linuxprobe.com
!
Red Hat certified
! Free Linux LeSSonS
! …
Professional guidance
文件目录管理命令
1、touch命令
touch命令用于创建空白文件或设置文件的时间,格式为“touch [选项] [文件]”
2、mkdir命令
mkdir命令用于创建空白的目录,格式为“mkdir [选项] 目录”。
3、cp命令
cp命令用于复制文件或目录,格式为“cp [选项] 源文件 目标文件”。
4、mv命令
mv命令用于剪切文件或将文件重命名,格式为“mv [选项] 源文件 [目标路径|目标文件名]”。
5、rm命令
rm命令用于删除文件或目录,格式为“rm [选项] 文件”。
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
[root@linuxprobe ~]# dd if=/dev/cdrom of=RHEL-server-7.0-x86_64-LinuxProbe.Com.iso
7、file命令
打包压缩与搜索命令
tar命令
tar命令用于对文件进行打包压缩或解压,格式为“tar [选项] [文件]”。
参数 作用
-c 创建压缩文件
-x 解开压缩文件
-t 查看压缩包内有哪些文件
-z 用Gzip压缩或解压
-j 用bzip2压缩或解压
-v 显示压缩或解压的过程
-f 目标文件名
-p 保留原始的权限与属性
-P 使用绝对路径来压缩
-C 指定解压到的目录
[root@linuxprobe ~]# tar -czvf etc.tar.gz /etc
grep命令
grep命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep [选项] [文件]”。grep命令的参数及其作用如表2-15所示。
-b 将可执行文件(binary)当作文本文件(text)来搜索
-c 仅显示找到的行数
-i 忽略大小写
-n 显示行号
-v 反向选择—仅列出没有“关键词”的行
[root@linuxprobe ~]# grep /sbin/nologin /etc/passwd
bin❌1:1:bin:/bin:/sbin/nologin
daemon❌2:2:daemon:/sbin:/sbin/nologin
adm❌3:4:adm:/var/adm:/sbin/nologin
lp❌4:7:lp:/var/spool/lpd:/sbin/nologin
mail❌8:12:mail:/var/spool/mail:/sbin/nologin
operator❌11:0:operator:/root:/sbin/nologin
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 …… {}; 后面可跟用于进一步处理搜索结果的命令(下文会有演示)
进阶实验:在整个文件系统中找出所有归属于linuxprobe用户的文件并复制到/root/findresults目录。
该实验的重点是“-exec {} ;”参数,其中的{}表示find命令搜索出的每一个文件,并且命令的结尾必须是“;”。完成该实验的具体命令如下:
[root@linuxprobe ~]# find / -user linuxprobe -exec cp -a {} /root/findresults/ ;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值