目录
一、前言
linux系统内核指的是提供硬件抽象层、硬盘及文件系统控制及多任务功能的系统核心程序。 Linux发行套件系统是我们常说的Linux操作系统,也即是由Linux内核与各种常用软件的集合产品。常见的有:红帽企业版Linux(RHEL)以及他的社区版的centos、Fedora:由红帽公司发布的桌面版系统套件、openSUSE:源自德国的一款著名的Linux系统、Debian:稳定性、安全性强,提供了免费的基础支持,在国外拥有很高的认可度和使 用率、Ubuntu:是一款派生自Debian的操作系统,对新款硬件具有极强的兼容能力。了解常见的Linux命令对今后的学习无疑是非常的significant。
二、常见的系统命令
1、 echo :用于在终端输出字符或者是变量提取后的值。
2、 date:用于显示设置系统的事件或者日期,参数如下:
参数 | 作用 |
%Y | 年 |
%m | 月 |
%d | 日 |
%H | 小时(24小时制) |
%I | 小时(12小时制) |
%M | 分钟 |
%S | 秒 |
%j | 今年中的第几天 |
%t | 跳格(Tab键) |
-s | 设置时间 |
%R | 显示当前时间 |
%x | 显示当前日期 |
%n | 换行 |
如
3、 重启、睡眠、关机命令。
reboot :重启主机
shutdown -h now :现在关机
shutdown -h +10 :10分钟后关机
shutdown -h 10:10 :在10:10时关机
poweroff:关机
sleep 1h :睡眠1小时
sleep 1m :睡眠1分钟
sleep 1s :睡眠1秒
4、下载命令
红帽Linux操作系统常用:rpm、yum、wget。
区别:rpm需要手动的解决一些软甲包的依赖关系。yum自动解决软件包的依赖关系。
前提:配置好本地和在线yum仓库。(方法参考:yum源的配置和ansible)
rpm | 用法l例子 |
安装软件 | rpm -ivh filename.rpm |
升级软件 | rpm -Uvh filename.rpm |
卸载软件 | rpm -e filename.rpm |
查询软件的描述信息 | rpm -e filename.rpm |
列出软件文件信息 | rpm -qpl filename.rpm |
查询文件属于哪个rpm | rpm -qf filename |
[root@Rh ~]# yum clear all #清空yum缓存
[root@Rh ~]# yum makecache #重新生成缓存
[root@Rh ~]# yum install httpd #安装apache
[root@Rh ~]# yum remove httpd #卸载apache
[root@Rh ~]# yum provides wget #查询命令对应的软件包的名字
使用wget的时候应该先安装:yum install wget-1.19.5-7.el8_0.1.x86_64 -y
[root@Rh ~]# wget https://qd.myapp.com/myapp/qqteam/linuxQQ/linuxqq_2.0.0-b1-1024 x86 64.rpm #安装Linux版本的qq.
[root@Rh ~]# wget http://nginx.org/download/nginx-1.2.9.tar.gz #下载nginx
5、ps:查看系统的进程。
有5种常见的进程状态,R(运行)、S(中断)、 D(不可中断)、Z(僵死)、T(停止),相关参数如下:
参数 | 作用 |
-a | 显示所有进程(包括其他用户的进程) |
-u | 用户以及其他详细信息 |
-x | 显示没有控制终端的进程 |
使用命令ps -aux后的参数:
6、 top:动态监视进程活动和系统的负载信息。
[root@Rh ~]# top
top - 11:10:34 up 1:33, 2 users, load average: 0.00, 0.00, 0.00 #系统时间、系统运行时间,登录终端数,系统负载数
Tasks: 191 total, 1 running, 190 sleeping, 0 stopped, 0 zombie #进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数
%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st #用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。
MiB Mem : 1806.2 total, 1273.9 free, 233.2 used, 299.0 buff/cache #物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量
MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 1417.9 avail Mem #虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量
7、 uptime:查看系统的负载信息,负载越低越好,最好不要长期超过1,生产环境不要超过5。
8、 查看CPU的信息。
9、free :显示当前的系统内存使用量。
10、 pidof:查询某一个指定的服务进程的进程号。
11、 kill、pkill、killall: 终止某一个进程。
12、ifconfig:查询网卡的配置和网络状态的信息。网卡的配置文件在:/etc/sysconfig/network-scripts/目录下。
13、 uname: 查询系统内核和系统的版本信息,参数-a 表示完整的显示当前系统的内核名称、主机名、内核发行版本以及硬件名称等。
14、history:显示历史执行过的命令,-c参数:清空所有的历史命令。使用!加上对应的数字则会执行对于应的历史命令。
15、w:显示已经登录系统的用户列表并显示的用户正在执行的指令。也可以指定用户名称。
16、who:查看当前登录主机的用户终端信息(pts表示是远程登入)。
17、 last:查看所有用户登录系统的记录
18、 sosreport:收集系统的配置信息以及架构信息并以文档的形式输出。
三、服务管理
#启动/停止/重启服务
systemctl [start|stop|restart] [servicename]
#重新加载服务配置文件(不重启服务)
systemctl [reload] [servicename]
#查看服务状态
systemctl status [servicename]
#设置/禁止服务开机自动启动
systemctl [enable|disable] [servicename]
#查看服务是否是开机自动启动
systemctl is-enabled [servicename]
#查看各个启动级别下服务的开机自动启动与禁用情况
systemctl list-unit-files
四、常用的目录以及文件管理命令
1、 pwd:显示当前用户所处的工作目录。
2、 cd:切换工作路径,cd .. 返回到上一层路径,cd ~直接返回到用户的家目录,cd - 返回上一次所处的目录,cd ~username切换到其他用户的家目录。
3、 ls:显示目录中的文件信息,使用参数-a 可以看到该目录下的隐藏文件,-l 显示文件的属性。
4、touch :命令用于创建空白文件或设置文件的时间,-a仅修改“访问时间”(atime)-m 仅修改“修改时间”(mtime),-d 同时修改atime与mtime。
5、 Stat :查看文件属性。
6、mkdir :命令用于创建空白的目录,除了创建单个文件夹之外,也还可以结合-p参数来递 归创建出具有嵌套叠层关系的文件目录。
7、cp :命令用于复制文件或目录。如果目标文件是目录,则会把源文件复制到该目录中;如果目标文件也是普通文件,则会询问是否要覆盖它;如果目标文件不存在,则执行正常的复制操作。
参数:
参数 | 作用 |
-p | 保留原始文件的属性 |
-d | 若对象为“链接文件”,则保留该“链接文件”的属性 |
-r | 递归持续复制(用于目录) |
-i | 若目标文件存在则询问是否覆盖 |
-a | 相当于-pdr(p、d、r为上述参数) |
8、mv :用于剪切文件或将文件重命名,剪切操作不同于复制,它会默认把源文件删除掉, 只保留剪切后的文件。如果在同一个目录中对一个文件进行剪切操作,实际上就是对 它重命名。
9、rm :命令用于删除文件或目录,在Linux系统中删除文件时,系统会默认向您询问是否要执行删除操作,可在rm命令后跟上-f参数来强制删除。若想要删除一个目录,需要加-r参数。
10、file :命令用于查看文件的类型,在Linux系统中,文本、目录、设备等都统称为文件,可以使用file命令来查看文件类型。
11、find :命令用于按照指定条件来查找文件,在Linux系统中,搜索工作一般都是通过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 …… {}\; | 后面可跟用于进一步处理搜索结果的命令(下文会有演示) |
12、du :统计文件或目录占用磁盘的大小
-a | 显示所有的目录或文件 |
-b | 以字节为单位,显示目录或文件的大小 |
-c | 显示目录或问价的总和 |
-k | 以KB为单位输出 |
-m | 以MB为单位输出 |
-s | 仅显示目录或文件的总计数值 |
-h | 以K,M,G为单位,提高信息的可读性 |