首先先说一下有些命令在终端输入会显示‘-bash: shell: 未找到命令’,不要着急,我教你一步一步配置yum源,安装命令
(1)编辑文本文件 vi /etc/yum.repos.d/yum.repo
如下所示:
[local] #软件源的名称
name=local #软件仓库的名字
baseurl=file:///mnt #软件源地址,将光盘挂载至/mnt下
gpgcheck=0 #gpg的校验,确定软件包的来源安全和有效,1为启用
enabled=1 #启用/源
(2)软件安装命令 yum install 软件包名称,其次 yum clean all 清除所有仓库缓存,这样命令就可以在终端使用。(如果依旧用不了显示未找到命令,看第三步)
(3)yum provides 软件包名称 ,查看这个包提供的软件源 ,如下所示tree命令的软件源:tree-1.6.0-10.el7.x86_64 : File system tree viewer 源 :local ,将其安装 yum install 软件源(复制粘贴即可),yum clean all 清除所有仓库缓存,就ok了。
[root@localhost ~]# yum provides tree
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
tree-1.6.0-10.el7.x86_64 : File system tree viewer
源 :local
tree-1.6.0-10.el7.x86_64 : File system tree viewer
源 :@local
linux中常用命令
1.echo命令
将指定的字符串字符串输出到终端屏幕
eg:输出hello,world
[root@localhost ~]# echo 'hello,world'
hello,world
2.date命令
显示时间和设定系统时间
eg:显示时间
[root@localhost ~]# date
2018年 09月 19日 星期三 01:33:58 CST
eg:修改系统时间(用到一个-s的参数)
[root@localhost ~]# date -s '20180918 17:35:30'
2018年 09月 18日 星期二 17:35:30 CST
3.reboot命令
reboot 命令用于重启系统
4.poweroff命令
poweroff 命令用于关闭系统
5.wget命令
wget命令用于在终端中下载网络文件
eg;下载Python的压缩包 wget https://www.python.org/ftp/python/2.7.2/Python-2.7.2.tar.bz2
[root@localhost ~]# wget https://www.python.org/ftp/python/2.7.2/Python-2.7.2.tar.bz2
--2018-09-19 03:51:40-- https://www.python.org/ftp/python/2.7.2/Python-2.7.2.tar.bz2
正在解析主机 www.python.org (www.python.org)... 151.101.108.223, 2a04:4e42:1a::223
正在连接 www.python.org (www.python.org)|151.101.108.223|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:11754834 (11M) [application/octet-stream]
正在保存至: “Python-2.7.2.tar.bz2”
100%[===================================================>] 11,754,834 2.59MB/s 用时 7.6s
2018-09-19 03:51:55 (1.47 MB/s) - 已保存 “Python-2.7.2.tar.bz2” [11754834/11754834])
6.ps命令
ps 命令用于查看系统中的进程状态
ps命令的参数及作用
参数 | 作用 |
---|---|
-a | 显示所有进程 (包括其它用户的进程) |
-u | 用户以及其他的详细信息 |
-x | 显示没有控制终端的进程 |
[root@localhost ~]# ps
PID TTY TIME CMD
1502 pts/0 00:00:00 bash
1869 pts/0 00:00:00 ps
[root@localhost ~]# ps -a
PID TTY TIME CMD
1888 pts/0 00:00:00 ps
[root@localhost ~]# ps -u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1471 0.0 0.1 115520 2120 tty1 Ss+ 02:09 0:00 -bash
root 1502 0.0 0.1 115524 2176 pts/0 Ss 02:11 0:00 -bash
root 1889 0.0 0.0 151064 1804 pts/0 R+ 04:13 0:00 ps -u
[root@localhost ~]# ps -x
PID TTY STAT TIME COMMAND
1 ? Ss 0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 2
2 ? S 0:00 [kthreadd]
3 ? S 0:00 [ksoftirqd/0]
(ps -x后续有很多没有控制终端的进程,因为太长没办法搞出来让大家看)
7.top命令
top 命令用于动态地监视进程活动与系统负载等信息,相当于windows中的任务管理器。
第 1 行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为 1 分钟、5 分钟、15 分钟内的平均值,数值越小意味着负载越低)。
第 2 行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。
第 3 行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。
第 4 行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
第 5 行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。
8.pidof命令
pidof 命令用于查询某个指定服务进程的 PID 值
eg:在top中得知有一个进程是systemd 用pidof命令查询它的PID值
[root@localhost ~]# pidof systemd
1
9.kill 命令
kill 命令用于终止某个指定 PID 的服务进程 参数 -9是最高级强制终止某进程
killall 命令是终止某个指定名称的服务所对应的全部进程
系统状态检测命令
1.ifconfig命令
使用 ifconfig 命令来查看本机当前的网卡配置与网络状态等信息时,主要查看的就是网卡名称、inet 参数后面的 IP 地址、ether 参数后面的网卡物理地址(又称为 MAC 地址),以及 RX、TX 的接收数据包与发送数据包的个数及累计流量
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.243.128 netmask 255.255.255.0 broadcast 192.168.243.255
inet6 fe80::20c:29ff:fe4b:a67c prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:4b:a6:7c txqueuelen 1000 (Ethernet)
RX packets 14667 bytes 12648344 (12.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4804 bytes 387374 (378.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2.uname命令
查看系统内核与系统版本等信息。 uname -a查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息。
(操作系统版本查看 cat /etc/redhat-release)
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
操作系统版本
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
3.uptime 命令
用于查看系统的负载信息
[root@localhost ~]# uptime
05:38:51 up 3 min, 2 users, load average: 0.07, 0.16, 0.07
其中代表的是 系统时间 系统运行时间 以及两个用户 平均负载值 ,平均负载值有三个 分别代表的是1分钟,5分钟,15分钟内的压力情况,负载值越低越好。
4.free命令
free 用于显示当前系统中内存的使用量信息 ,通常和参数 -h 一起使用。
[root@localhost ~]# free -h 进程共享 磁盘缓存的 系统可用
内存总量 已用量 可用量 的内存量 内存量 内存
total used free shared buff/cache available
Mem: 1.8G 125M 1.5G 8.7M 159M 1.5G
Swap: 2.0G 0B 2.0G
5.who命令
当前的登录用户
[root@localhost ~]# who
root tty1 2018-09-20 05:36
root pts/0 2018-09-20 05:37 (192.168.24.1)
6.last命令
用于查看所有系统的登录记录
[root@localhost ~]# last
root pts/0 192.168.24.1 Thu Sep 20 05:37 still logged in
root tty1 Thu Sep 20 05:36 still logged in
reboot system boot 3.10.0-693.el7.x Thu Sep 20 05:35 - 05:56 (00:21)
root tty1 Thu Sep 20 05:34 - 05:34 (00:00)
(登录记录很多,列举开头一部分)
7.history命令
用于查看历史命令
里面有几个参数 -c删除所有的历史命令
8.sosreport命令
用于收集系统配置及架构信息并输出诊断文档
工作目录切换命令
1.pwd命令
显示当前所处的工作目录
[root@localhost ~]# pwd
/root
2.cd命令
切换工作目录 cd … 退回上级目录 cd -命令返回到上一次所处的目录 cd~ 进入当前用户的家目录 进入其他目录 路径一定要对 可以用Tab补齐
3.ls命令
令用于显示目录中的文件信息 参数 -a 看到包括所有的以·开头的隐藏文件,-l可以显示文件属性,大小信息等。
eg:(usr目录下的文件)
[root@localhost usr]# ls
bin etc games include lib lib64 libexec local sbin share src tmp
[root@localhost usr]# ls -a
. .. bin etc games include lib lib64 libexec local sbin share src tmp
[root@localhost usr]# ls -l
总用量 104
dr-xr-xr-x. 2 root root 20480 9月 18 17:42 bin
drwxr-xr-x. 2 root root 6 11月 5 2016 etc
drwxr-xr-x. 2 root root 6 11月 5 2016 games
drwxr-xr-x. 3 root root 23 7月 19 17:31 include
dr-xr-xr-x. 27 root root 4096 7月 19 17:32 lib
文本文件编辑命令
1.cat命令
用于查看纯文本文件,内容比较少的文件
2.more命令
也是用于查看纯文本文件,内容较多的文件
3.head命令
用于查看文本文件的前多少行 会用到参数 -n后面带前几行,前3行就是 -n3
[root@localhost ~]# cat /etc/passwd | head -n3 (查看/etc/passwd文件中的前三行 通过管道的方法直接提取前3行)
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
4.tail命令
用法和head相似,查看一个文件的后几行,也用-n参数,后3行就是-n3,就不一一演示了。tail还有一个功能就是持续刷新一个文件的内容,想要实时查看最新日志文件时 tail -f 文件名
[root@localhost ~]# tail -f /var/log/messages
Sep 21 15:02:30 localhost systemd: Starting Network Manager Script Dispatcher Service...
Sep 21 15:02:30 localhost dbus-daemon: dbus[577]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service'
Sep 21 15:02:30 localhost dhclient[734]: bound to 192.168.24.129 -- renewal in 732 seconds.
Sep 21 15:02:30 localhost dbus[577]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
5.tr命令
用于替换文本文件中的字符,tr ‘原始的字符’ ‘目标字符’
6.wc命令
用于统计指定文本的行数,字数,字节数
参数 | 作用 |
---|---|
-l | 只显示行数 |
-w | 只显示单词数 |
-c | 只显示字节数 |
统计/etc/passwd 中的行数 单词数 字节数
[root@localhost ~]# cat /etc/passwd |wc 不加任何参数 直接显示 行数 单词数 字节数
18 26 798
[root@localhost ~]# cat /etc/passwd | wc -l 行数
18
[root@localhost ~]# cat /etc/passwd | wc -w 单词数
26
[root@localhost ~]# cat /etc/passwd | wc -c 字节数
798
7.stat命令
令用于查看文件的具体存储信息和时间等信息
8.cut命令
cut 命令用于按“列”提取文本字符,我觉得初次接触这个命令相比较其他命令有趣的多,有一个参数 -d 设置间隔符号,-f是看提取哪一列,比如第1列就是 -f1
eg:提取/etc/passwd 中的第一列
[root@localhost ~]# cat /etc/passwd | cut -d ':' -f1
root
bin
daemon
adm
lp
sync
shutdown
9.diff命令
令用于比较多个文本文件的差异,diff --brief 文件a 文件b
[root@localhost ~]# vi a.txt
[root@localhost ~]# vi b.txt
[root@localhost ~]# diff --brief a.txt b.txt
文件 a.txt 和 b.txt 不同
10.patch命令
用于为开放源代码软件安装补丁程序
文件目录管理命令
1.touch命令
用于创建创建空白文件或设定文件时间,如下有几个参数
参数 | 作用 |
---|---|
-a | 仅修改“读取时间”(atime) |
-m | 仅修改“修改时间”(mtime) |
-d | 同时修改 atime 与 mtime |
2.mkdir命令 (这个命令得好好说说)
创建一个空白目录
[root@localhost hahaha]# ls
[root@localhost hahaha]# mkdir dir1
[root@localhost hahaha]# ls
dir1
创建同级目录
[root@localhost hahaha]# mkdir dir2 dir3 dir4
[root@localhost hahaha]# ls
dir1 dir2 dir3 dir4
有一个参数 -p 递归创建目录,在一级一级创建目录
[root@localhost dir1]# mkdir -p dir5/dir6/dir7
[root@localhost dir1]# tree
.
└── dir5
└── dir6
└── dir7
3 directories, 0 files
创建权限是755 的目录,用到 -m参数
[root@localhost dir2]# mkdir -m 755 dir8
[root@localhost dir2]# ls
dir8
[root@localhost dir2]# ll
总用量 0
drwxr-xr-x. 2 root root 6 9月 21 16:35 dir8
创建目录,显示已创建的目录用-v参数
[root@localhost dir3]# mkdir -v dir9
mkdir: 已创建目录 "dir9"
最后一个是同时创建同级和子级目录,如何创建
[root@localhost dir1]# mkdir -p {dir1,dir2/{dir3/{dir4},dir5},dir6,dir7/{dir8}}
[root@localhost dir1]# tree
.
├── dir1
├── dir2
│ ├── dir3
│ │ └── {dir4}
│ └── dir5
├── dir6
└── dir7
└── {dir8}
8 directories, 0 files
3.cp命令
用于复制文件或目录
参数 | 作用 |
---|---|
-p | 保留原始文件的属性 |
-d | 若对象为“链接文件”,则保留该“链接文件”的属性 |
-r | 递归持续复制(用于目录) |
-i | 若目标文件存在则询问是否覆盖 |
-a | 相当于 -pdr(p、d、r 为上述参数的作用) |
4.mv命令
用于剪切文件或将文件重命名
5.rm命令
用于删除文件或目录 参数 -f 强制删除,想要删除一个目录,需要在 rm 命令
后面一个-r 参数才可以,否则删除不掉。
6.dd命令
用于按照指定大小和个数的数据块来复制文件或转换文件
dd 命令的参数及其作用
参数 | 作用 |
---|---|
if | 输入的文件名称 |
of | 输出的文件名称 |
bs | 设置每个“块”的大小 |
count | 设置要复制“块”的个数 |
7.file命令
用于查看文件的类型
[root@localhost /]# file /etc/passwd
/etc/passwd: ASCII text
[root@localhost /]# file /etc
/etc: directory