语法命令 | 功能描述 |
ifconfig | 显示所有网络接口的配置信息 |
ping 目的主机 | 测试当前服务器是否可以连接目的主机 |
hostname | 查看当前服务器的主机名称 |
hostnamectl set-hostname newname(这里修改的新用户名) | 直接修改主机名称 |
multi-user.target 等价于原运行级别 3(多用户有网,无图形界面)
graphical.target 等价于原运行级别 5(多用户有网,有图形界面)
语法命令 | 功能描述 |
systemctl start | stop | restart | status 服务名 | 服务管理 |
systemctl list-unit-files | 查看服务开机启动状态 |
systemctl disable service_name | 关掉指定服务的自动启动 |
systemctl disable service_name | 开启指定服务的自动启动 |
systemctl get-defau | 查看当前运行级别 |
systemctl set-default TARGET.target (这里 TARGET 取 multi-user 或者 graphical) | 修改当前运行级别 |
CTRL+ALT+F3(等价于init 3) | 进入运行级别3(多用户有网,无图形界面) |
CTRL+ALT+F1(等价于 init 5) | 进入运行级别5(多用户有网,有图形界面) |
systemctl status firewa | 查看防火墙状态 |
systemctl stop firewall | 临时关闭防火墙 |
systemctl enable firewalld.servic | 查看防火墙开机启动状态 |
systemctl disable firewalld.servic | 设置开机时关闭防火墙 |
语法命令 | 功能描述 |
type 命令 | 查询命令是否为内置命令 |
man [命令或配置文件] | 获得外部命令帮助信息(全) |
命令 --help | 获得外部命令帮助信息 |
help [命令或配置文件] | 获得 shell 内置命令的帮助信息 |
history | 查看历史命令 |
ctrl + c | 停止进程 |
ctrl+l | 清屏,等同于 clear;彻底清屏是:reset |
善于用 tab 键 | 提示(更重要的是可以防止敲错) |
上下键 | 查找执行过的命令 |
sync | 将数据由内存同步到硬盘中 |
halt | 停机,关闭系统,但不断电 |
poweroff | 关机,断电 |
reboot | 就是重启,等同于 shutdown -r now |
shutdown [选项] 时间 | 选项【-H:相当于--halt,停机;-r -r=reboot 重启】 时间 【now 立刻;时间:等待多久关机(单位:分钟)】 |
语法命令 | 功能描述 |
pwd | 显示当前工作目录的绝对路径 |
pwd -P | |
ls -a | 列出目录内容全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用) |
ls -l | 列出目录内容以长数据串列出,包含文件的属性与权限等等数据;(常用)等价于“ll” |
语法命令 | 功能描述 |
cd 绝对路径 | 切换绝对路径 |
cd 相对路径 | 切换相对路径 |
cd ~或cd | 回到自己的家目录 |
cd - | 回到上一次所在目录 |
cd .. | 回到当前目录的上一级目录 |
cd -P | 跳转到实际物理路径,而非快捷方式路径 |
语法命令 | 功能描述 |
mkdir 创建的目录名 | 创建单个目录 |
mkdir -p 创建的目录名 | 创建多层目录 |
rmdir 要删除的空目录 | 删除空目录 |
rmdir -p 要删除的空目录 | 删除多级空目录 |
语法命令 | 功能描述 |
touch 文件名称 | 创建空文件 |
cp source dest | 复制source文件到dest |
cp -r source dest | 递归复制整个文件夹source到dest |
\cp | 强制覆盖不提示的方法 |
语法命令 | 功能描述 |
rm deleteFile | 删除名为deleteFile文件 |
rm -r deleteFile | 递归删除目录中所有内容 |
rm -rf deleteFile | 递归删除且不提示确认目录中所有内容 |
rm -f deleteFile | 强制执行删除操作,而不提示用于进行确认 |
rm -v deleteFile | 删除文件且显示指令的详细执行过程 |
语法命令 | 功能描述 |
mv oldNameFile newNameFile | 重命名 |
mv /temp/movefile /targetFolde | 移动文件/temp/movefile到/targetFolde |
④查看文件内容
语法命令 | 功能描述 |
cat 要查看的文件 | 查看文件中内容 |
cat -n 要查看的文件 | 查看文件中内容并显示所有行的行号,包括空行。 |
more 要查看的文件 | 要查看的文件 |
less 要查看的文件 | 分屏显示文件内容 |
echo [输出内容] | 输出内容到控制台 |
echo -e [输出内容] | 输出内容到控制台(内容支持支持反斜线控制的字符转换) |
head 文件 | 查看文件头10行内容 |
head -n 5 文件 | 查看文件头5行内容,5可以是任意行数 |
tail 文件 | 查看文件尾部10行内容 |
tail -n 5 文件 | 查看文件尾部5行内容,5可以是任意行数 |
tail -f 文件 | 实时追踪该文档的所有更新 |
语法命令 | 功能描述 |
cat 文件 1 > 文件 2 | 将文件 1 的内容覆盖到文件 2 |
echo “内容” >文件 | 将内容覆盖到文件 |
ls -al >>文件 | 列表的内容追加到文件的末尾 |
软链接也称为符号链接,类似于 windows 里的快捷方式,有自己的数据块,主要存放 了链接其他文件的路径
经验技巧:
- 删除软链接: rm -rf 软链接名,而不是 rm -rf 软链接名/
- 如果使用 rm -rf 软链接名/ 删除,会把软链接对应的真实目录下内容删掉
- 查询:通过 ll 就可以查看,列表属性第 1 位是 l,尾部会有位置指向
语法命令 | 功能描述 |
ln -s [原文件或目录] [软链接名 | 给原文件创建一个软链接 |
语法命令 | 功能描述 |
cal | 显示本月日历 |
cal 2022 | 显示2022年的日历(2022可变) |
date | 查看系统当前日期时间 |
date +%Y | 显示当前年(+号也要输入) |
date +%m | 显示当前月(+号也要输入) |
date +%d | 显示当前哪一天(+号也要输入) |
date "+%Y-%m-%d %H:%M:%S" | 显示年月日时分秒(+-号也要输入) |
date -d '1 days ago' | 显示前一天时间(数字1可变) |
date -d '-1 days ago' | 显示明天时间(数字1可变) |
date -s "2017-06-19 20:52:18“ | 设置系统当前时间 |
语法命令 | 功能描述 |
useradd 用户名 | 添加新用户 |
useradd -g 组名 用户名 | 添加新用户到某个组 |
userdel 用户名 | 删除用户但保存用户主目录 |
userdel -r 用户名 | 用户和用户主目录,都删除 |
usermod -g 用户组 用户名 | 修改用户 |
passwd 用户名 | 设置用户密码 |
id 用户名 | 查看用户是否存在 |
cat /etc/passwd | 查看创建了哪些用户 |
su 用户名 | 切换用户,只能获得用户的执行权限,不能获得环境变量 |
su - 用户名称 | 切换到用户并获得该用户的环境变量及执行权限 |
whoami | 显示自身用户名称 |
who am i | 显示登录用户的用户名以及登陆时间 |
修改配置文件:
修改 /etc/sudoers 文件,找到下面一行(91 行),在 root 下面添加一行,如下所示:
或者配置成采用 sudo 命令时,不需要输入密码
修改完毕,现在可以用 atguigu 帐号登录,然后用命令 sudo ,即可获得 root 权限进行 操作。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对 /etc/group文件的更新。
wheel 管理组 在此组中的用户有root的权限
语法命令 | 功能描述 |
groupadd 组名 | 新增组 |
groupdel | 删除组 |
groupmod -n 新组名 老组名 | 修改组名 |
cat /etc/group | 查看创建了哪些组 |
在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。
1)从左到右的 10 个字符表示,如图
如果没有权限,就会出现减号[ - ]而已。从左至右用0-9这些数字来表示:
- 0 首位表示类型 在Linux中第一个字符代表这个文件是目录、文件或链接文件等等 - 代表文件 d 代表目录 l 链接文档(link file);
- 第1-3位确定属主(该文件的所有者)拥有该文件的权限。---User
- 第4-6位确定属组(所有者的同组用户)拥有该文件的权限,---Group
- 第7-9位确定其他用户拥有该文件的权限 ---Othe
2)rwx 作用文件和目录的不同解释:
①作用到文件:
- [ r ]代表可读(read): 可以读取,查看
- [ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前 提条件是对该文件所在的目录有写权限,才能删除该文件.
- [ x ]代表可执行(execute):可以被系统执行
②作用到目录:
- [ r ]代表可读(read): 可以读取,ls查看目录内容
- [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
- [ x ]代表可执行(execute):可以进入该目录
文件基本属性介绍
(1)如果查看到是文件:链接数指的是硬链接个数。
(2)如果查看的是文件夹:链接数指的是子文件夹个数。
chmod 改变权限
- 第一种方式变更权限 chmod [{ugoa}{+-=}{rwx}] 文件或目录
- 第二种方式变更权限 chmod [mode=421 ] [文件或目录]
注:
- u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
- r=4 w=2 x=1 rwx=4+2
chown 改变所有者
chown [选项(-R:递归操作)] [最终用户] [文件或目录]
(功能描述:改变文件或者目录的所有者)
chgrp 改变所属组
chgrp [最终用户组] [文件或目录] (功能描述:改变文件或者目录的所属组)
语法命令 | 功能描述 |
chmod u+x 文件名称 | 修改文件使其所属主用户具有执行权限 |
chmod g+x 文件名称 | 修改文件使其所属组用户具有执行权限 |
chmod u-x,o+x 文件名称 | 修改文件所属主用户执行权限,并使其他用户具有执行权限 |
chmod 777 文件名称 | 采用数字的方式,设置文件所有者、所属组、其他用户都具有可读可写可执行权 限 |
chmod -R 777 文件名称 | 修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可 执行权限。 |
chown 最终用户 文件或目录 | 修改文件所有者 |
chown -R atguigu:atguigu xiyou | 递归改变文件所有者和所有组 |
chgrp 最终用户组 文件或目录 | 改变文件或者目录的所属组 |
find [搜索范围] [选项]
语法命令 | 功能描述 |
find / -name "*.txt" | 按文件名:根据名称查找/目录下的filename.txt文件。 |
find / -user atguigu | 查找/目录下,用户名称为atguigu的文件 |
find /home -size +204800 | 按文件大小:在/home目录下查找大于200m的文件(+n 大于 -n小于 n等于) |
由于 locate 指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创 建 locate 数据库
语法命令 | 功能描述 |
updatedb | 更新 locate 数据库 |
locate tmp | 查找名为tmp文件的路径 |
管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理
grep 选项(-n[显示匹配行及行号]) 查找内容 源文件
语法命令 | 功能描述 |
ls | grep -n test | 查找某文件在第几行 |
经验技巧:
- 只能压缩文件不能压缩目录
- 不保留原来的文件
- 同时多个文件会产生多个压缩包
语法命令 | 功能描述 |
gzip houge.txt | 压缩名为houge.txt的文件 |
gunzip houge.txt.gz | 解压压名为houge.txt.gz的文件 |
zip 压缩命令在windows/linux都通用,可以压缩目录且保留源文件。
zip [选项] XXX.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令)
语法命令 | 功能描述 |
zip mypackage.zip houge.txt bailongma.txt | 压缩 houge.txt 和bailongma.txt,压缩后的名称为mypackage.zip |
unzip mypackage.zip | 解压 mypackage.zip |
unzip mypackage.zip -d /opt | 解压mypackage.zip到指定目录/opt |
tar [选项] XXX.tar.gz 将要打包进去的内容
(功能描述:打包目录,压缩后的 文件格式.tar.gz)
语法命令 | 功能描述 |
tar -zcvf houma.tar.gz houge.txt bailongma.txt houge.txt | 压缩多个文件 |
tar -zcvf abc.tar.gz xi/ | 压缩目录 |
tar -zxvf houma.tar | 解压到当前目录 |
tar -zxvf 要解压的文件.tar.gz -C 指定目录路径 | 解压到指定目录 |
基本语法:
du [选项] (功能描述:显示目录下每个子目录的磁盘使用情况)
语法命令 | 功能描述 |
du -sh | 查看当前目录占用的磁盘空间大小 |
语法命令 | 功能描述 |
df -h | 查看磁盘使用情况(以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显) |
语法命令 | 功能描述 |
lsblk | 查看设备挂载情况 |
lsblk -f | 查看详细的设备挂载情况,显示文件系统信息 |
对于Linux用户来讲,不论有几个分区,分别分给哪一个目录使用,它总归就是一个根 目录、一个独立且唯一的文件结构。
Linux中每个分区都是用来组成整个文件系统的一部分,它在用一种叫做“挂载”的处理 方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来, 要载入的那个分区将使它的存储空间在这个目录下获得。
挂载前准备:必须要有光盘或者已经连接镜像文件
基本语法:
- mount [-t vfstype] [-o options] device dir (功能描述:挂载设备)
- umount 设备文件名或挂载点 (功能描述:卸载设备)
- 参数说明:
设置开机自动挂载
①进入
②添加红框中内容,保存退出。
语法命令 | 功能描述 |
mkdir /mnt/cdrom | 建立挂载点目录 |
mount -t iso9660 /dev/cdrom /mnt/cdrom/ | 设备/dev/cdrom 挂载到 挂载点 : /mnt/cdrom 中 |
umount /mnt/cdrom | 卸载光盘镜像文件 |
该命令必须在 root 用户下才能!
基本语法:
- fdisk -l (功能描述:查看磁盘分区详情)
- fdisk 硬盘设备名 (功能描述:对新增硬盘进行分区操作)
功能说明:
(1)Linux 分区
- Device:分区序列
- Boot:引导
- Start:从X磁柱开始
- End:到Y磁柱结束
- Blocks:容量
- Id:分区类型ID
- System:分区类型
(2)分区操作按键说明
- m:显示命令列表
- p:显示当前磁盘分区
- n:新增分区
- w:写入分区信息并退出
- q:不保存分区信息直接退出
语法命令 | 功能描述 |
fdisk -l | 查看系统分区情况 |
基本语法:
- ps aux | grep xxx (功能描述:查看系统中所有进程)
- ps -ef | grep xxx (功能描述:可以查看子父进程之间的关系)
经验技巧:
- 如果想查看进程的 CPU 占用率和内存占用率,可以使用 aux;
- 如果想查看进程的父进程 ID 可以使用 -ef;
(1)ps aux 显示信息说明:
- USER:该进程是由哪个用户产生的
- PID:进程的 ID 号
- %CPU:该进程占用CPU 资源的百分比,占用越高,进程越耗费资源;
- %MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;
- VSZ:该进程占用虚拟内存的大小,单位 KB;
- RSS:该进程占用实际物理内存的大小,单位 KB;
- TTY:该进程是在哪个终端中运行的。对于 CentOS 来说,tty1 是图形化终端, tty2-tty6 是本地的字符界面终端。pts/0-255 代表虚拟终端。
- STAT:进程状态。常见的状态有:R:运行状态、S:睡眠状态、T:暂停状态、 Z:僵尸状态、s:包含子进程、l:多线程、+:前台显示
- START:该进程的启动时间
- TIME:该进程占用 CPU 的运算时间,注意不是系统时间
- COMMAND:产生此进程的命令名
(2)ps -ef 显示信息说明:
- UID:用户 ID
- PID:进程 ID
- PPID:父进程 ID
- C:CPU 用于计算执行优先级的因子。数值越大,表明进程是 CPU 密集型运算, 执行优先级会降低;数值越小,表明进程是 I/O 密集型运算,执行优先级会提高
- STIME:进程启动的时间
- TTY:完整的终端名称
- TIME:CPU 时间
- CMD:启动进程所用的命令和参数
语法命令 | 功能描述 |
ps aux | 查看进程的 CPU 占用率和内存占用率 |
ps -ef | 查看进程的父进程 ID |
基本语法:
- kill [选项(-9:表示强迫进程立即停止)] 进程号 (功能描述:通过进程号杀死进程)
- killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这 在系统因负载过大而变得很慢时很有用)
语法命令 | 功能描述 |
kill -9 5102 | 强迫浏览器进程立即停止 |
killall firefox | 通过进程名称杀死进程 |
pstree [选项]
语法命令 | 功能描述 |
pstree -p | 显示进程 pid |
pstree -u | 显示进程所属用户 |
基本命令:
top [选项]
查询结果字段解释:
第一行信息为任务队列信息:
第二行为进程信息:
第三行为 CPU信息:
第四行为物理内存信息:
第五行为交换分区(swap)信息:
语法命令 | 功能描述 |
top -d 1 | 指定 top 命令每隔1秒更新监控进程 |
top -i | 使 top 不显示任何闲置或者僵死进程 |
top -p 2575 | 监控进程id为1的进程状态 |
基本语法:
- netstat -anp | grep 进程号 (功能描述:查看该进程网络信息)
- netstat –nlp | grep 端口号 (功能描述:查看网络端口号占用情况)、
语法命令 | 功能描述 |
netstat -anp | grep sshd | 通过进程号查看sshd进程的网络信息 |
netstat -nltp | grep 22 | 查看某端口号是否被占用 |
语法命令 | 功能描述 |
systemctl restart crond | 重新启动 crond 服务 |
基本语法:
crontab [选项]
编辑crontab定时任务说明:
(1)进入 crontab 编辑界面。会打开 vim 编辑你工作
crontab -e
书写格式:* * * * * 执行的任务
参数说明:
语法命令 | 功能描述 |
*/1 * * * * /bin/echo ”11” >> /root/bailongma.txt | 编辑定时任务,每隔 1 分钟,向/root/bailongma.txt 文件中添加一个 11 的数 |
①rpm查询命令:
rpm -qa(功能描述:查询所安装的所有 rpm 软件包)
经验技巧:
由于软件包比较多,一般都会采取过滤。rpm -qaa | grep rpm软件包
②rpm 卸载命令
基本语法:
- rpm -e RPM软件包
- rpm -e --nodeps 软件包
③rpm安装命令
基本语法:
rpm -ivh RPM 包全名
语法命令 | 功能描述 |
rpm -qa |grep firefox | 查询firefox软件安装情况 |
rpm -e firefox | 卸载firefox软件 |
基本语法
yum [选项] [参数]
语法命令 | 功能描述 |
yum -yinstall firefox | 采用 yum 方式安装 firefox |