一,Linux基础命令
Linux的目录结构

- /,根目录是最顶级的目录了
- Linux只有一个顶级目录:/
- 路径描述的层次关系同样适用/来表示
- /home/itheima/a.txt,表示根目录下的home文件夹内有itheima文件夹,内有a.txt
Exec Bash命令
释放缓存
ls命令
功能:列出文件夹信息
语法:ls [-l -h -a] [参数]
- 参数:被查看的文件夹,不提供参数,表示查看当前工作目录
- -l,以列表形式查看
- -h,配合-l,以更加人性化的方式显示文件大小
- -a,显示隐藏文件
隐藏文件、文件夹
在Linux中以“.”开头的,均是隐藏的。
默认不显示出来,需要-a选项才可查看到。
pwd命令
功能:展示当前工作目录
语法:pwd
uname命令
获取计算机操作系统相关信息
cal命令
cal [[ 月 ] 年 ]
cal 命令会显示指定年或月的日历。
分号;是命令分隔符,能按顺序执行多个命令,前一个命令执行完无论成功与否,都会执行后一个。
若需前一个命令执行成功才执行后一个,可用&&,命令为 date && cal
history命令
列出之前使用过的命令,history [数字]可以列出指定数量用过的命令,用!加上数字可以执行相对应的命令.
- !!快速执行上一条命令
- !字母
- !数字
cd命令
功能:切换工作目录
语法:cd [目标目录]
参数:目标目录,要切换去的地方,不提供默认切换到当前登录用户HOME目录
- cd 返回根目录
- cd .. 返回上一级目录
- cd ~ 返回根目录
- cd $HOME 返回根目录
- cd – 返回上一次所在目录
- cd /root 到达root目录
less命令
(1)用法:
用法: less [选项参数] [文件参数]
(2)功能:
功能: less 与more命令类似,但可以通过翻页键查看上下页的内容
(3)选项参数:
1) -e: 文件内容显示完毕后,自动退出
2) -f: 强制显示文件
3) -g: 不加亮显示搜索到的所有关键词
4) -l: 搜索时忽略大小写的差异
5) -N: 每一行行首显示行号
6) -s: 将连续多个空行压缩成一行显示
7) -S: 在单行显示较长的内容,而不换行显示
8) -x<数字>: 将TAB字符显示为指定个数的空格字符。
HOME目录
每一个用户在Linux系统中都有自己的专属工作目录,称之为HOME目录。
- 普通用户的HOME目录,默认在:/home/用户名
- root用户的HOME目录,在:/root
FinalShell登陆终端后,默认的工作目录就是用户的HOME目录
uptime命令
显示系统启动时长及在过去1、5、15分钟内系统的平均负载值
给CPU增加负荷:cat /dev/urandom | md5sum
clear命令
相当于windows中的cls,可以清屏
who命令
WHO是Linux系统中用于查询用户登录信息的命令行工具,属于系统管理的基础指令。其核心功能为显示当前登录用户的用户名、终端设备、登录时间及远程主机地址,同时可查询系统启动时间和运行级别。
还有这些:
- w
- whoami
- who am i
相对路径、绝对路径
- 相对路径,非/开头的称之为相对路径
- 相对路径表示以当前目录作为起点,去描述路径,如test/a.txt,表示当前工作目录内的test文件夹内的a.txt文件
- 绝对路径,以/开头的称之为绝对路径
- 绝对路径从根开始描述路径
特殊路径符
- .,表示当前,比如./a.txt,表示当前文件夹内的a.txt文件
- ..,表示上级目录,比如../表示上级目录,../ ../表示上级的上级目录
- ~,表示用户的HOME目录,比如cd ~,即可切回用户HOME目录
mkdir命令
- 功能:创建文件夹
- 语法:mkdir [-p] 参数
- 参数:被创建文件夹的路径
- 选项:-p,可选,表示创建前置路径
touch命令
- 功能:创建文件
- 语法:touch 参数
- 参数:被创建的文件路径 -d yyyymmdd -t yyyymmddhhss
例: touch -d “2018-8-10” file.txt
cat命令
- 功能:查看文件内容
- 语法:cat 参数
- 参数:被查看的文件路径
more命令
- 功能:查看文件,可以支持翻页查看
- 语法:more 参数
- 参数:被查看的文件路径
- 在查看过程中:
- 空格键翻页
- q退出查看
cp命令
功能:复制文件、文件夹
语法:cp [-r] 参数1 参数2
参数1,被复制的
参数2,要复制去的地方
选项:-r,可选,复制文件夹使用
示例:
cp a.txt b.txt,复制当前目录下a.txt为b.txt
cp a.txt test/,复制当前目录a.txt到test文件夹内
cp -r test test2,复制文件夹test到当前文件夹内为test2存在
mv命令
- 功能:移动文件、文件夹
- 语法:mv 参数1 参数2
- 参数1:被移动的
- 参数2:要移动去的地方,参数2如果不存在,则会进行改名
rm命令
- 功能:删除文件、文件夹
- 语法:rm [-r -f] 参数参数
- 参数:支持多个,每一个表示被删除的,空格进行分隔
- 选项:-r,删除文件夹使用
- 选项:-f,强制删除,不会给出确认提示,一般root用户会用到
rm命令很危险,一定要注意,特别是切换到root用户的时候。
which命令
- 功能:查看命令的程序本体文件路径
- 语法:which 参数
- 参数:被查看的命令
find命令
- 功能:搜索文件
- 语法1按文件名搜索:find 路径 -name 参数
- 路径,搜索的起始路径
- 参数,搜索的关键字,支持通配符, 比如:test表示搜索任意以test结尾的文件
grep命令
- 功能:过滤关键字
- 语法:grep [-n] 关键字 文件路径
- 选项-n,可选,表示在结果中显示匹配的行的行号。
- 参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用””将关键字包围起来
- 参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口
- 选项-v ,可选,表示在结果中排除的匹配的行
参数文件路径,可以作为管道符的输入
例子:ll -a |grep -v “^d”|wc -l
排除以d开头的行并计数
例子:ll -a|grep “$x”|wc -l
计算以x结尾的行的数量
wc命令
- 功能:统计
- 语法:wc [-c -m -l -w] 文件路径
- 选项,-c,统计bytes数量
- 选项,-m,统计字符数量
- 选项,-l,统计行数
- 选项,-w,统计单词数量
- 参数,文件路径,被统计的文件,可作为内容输入端口
参数文件路径,可作为管道符的输入
管道符|
写法:|
功能:将符号左边的结果,作为符号右边的输入
示例:
cat a.txt | grep itheima,将cat a.txt的结果,作为grep命令的输入,
用来过滤itheima关键字
可以支持嵌套:
cat a.txt | grep itheima | grep itcast
echo命令
- 功能:输出内容
- 语法:echo 参数
- 参数:被输出的内容
反引号 功能:被两个反引号包围的内容,会作为命令执行 示例: echo`pwd`,会输出当前工作目录- echo {1..10..2} >> a.txt , echo {a..z} >> a.txt 将生成的输出到a.txt文件
tail命令
- 功能:查看文件尾部内容
- 语法:tail [-f] 参数
- 参数:被查看的文件
- 选项:-f,持续跟踪文件修改
head命令
- 功能:查看文件头部内容
- 语法:head [-n] 参数
- 参数:被查看的文件
- 选项:-n,查看的行数
tail命令和head命令取中间
head -n file | tail -n
重定向符
功能:将符号左边的结果,输出到右边指定的文件中去
- >,表示覆盖输出
- >>,表示追加输出
seq命令结合tr命令
seq 1 2 9 | tr '\n' ',' | sed 's/,$//'
列出1-9的奇数序列,用逗号隔开,横向显示
Vi编辑器





命令的选项
我们学习的一系列Linux命令,它们所拥有的选项都是非常多的。
比如,简单的ls命令就有:-a -A -b -c -C -d -D -f -F -g -G -h -H -i -I -k -l -L -m -n -N -o -p -q -Q -r-R -s -S -t -T -u -U -v -w -x -X -1等选项,可以发现选项是极其多的。
课程中, 并不会将全部的选项都进行讲解,否则,一个ls命令就可能讲解2小时之
久。
课程中,会对常见的选项进行讲解, 足够满足绝大多数的学习、工作场景。
查看命令的帮助
可以通过:命令 help查看命令的帮助手册
查看命令的详细手册
可以通过:man 命令查看某命令的详细手册
二,Linux常用操作
软件安装
CentOS系统使用:
- yum [install remove search] [-y] 软件名称
- install 安装
- remove 卸载
- search 搜索
- -y,自动确认
Ubuntu系统使用:
- apt [install remove search] [-y] 软件名称
- install 安装
- remove 卸载
- search 搜索-y,自动确认
yum 和 apt 均需要root权限
systemctl
- 功能:控制系统服务的启动关闭等
- 语法:systemctl start | stop | restart | disable | enable |
- status 服务名
- start,启动
- stop,停止
- status,查看状态
- disable,关闭开机自启
- enable,开启开机自启
- restart,重启
软链接
- 功能:创建文件、文件夹软链接(快捷方式)
- 语法:ln -s 参数1 参数2
- 参数1:被链接的
- 参数2:要链接去的地方(快捷方式的名称和存放位置)
- 日期
- 语法:date [-d] [+格式化字符串]-d 按照给定的字符串显示日期,一般用于日期计算
- 格式化字符串:通过特定的字符串标记,来控制显示的日期格式
- %Y 年%y 年份后两位数字 (00 99)
示例:
%m 月份 (01 12)
%d 日 (01 31)
%H 小时 (00 23)
%M 分钟 (00 59)
%S 秒 (00 60)
%s 自 1970-01-01 00:00:00 UTC 到现在的秒数


时区
修改时区为中国时区
rm -f /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ntp
功能:同步时间
安装:yum install -y ntp
启动管理:systemctl start | stop | restart | status | disable |
enable ntpd
手动校准时间:ntpdate -u ntp.aliyun.com
ip地址
格式:a.b.c.d
- abcd为0~255的数字
特殊IP:
- 127.0.0.1,表示本机
- 0.0.0.0 ,可以表示本机 也可以表示任意IP(看使用场景)
查看ip:ifconfig
主机名
功能:Linux系统的名称
查看:hostname
设置:hostnamectl set-hostname 主机名
配置VMware固定IP
- 修改VMware网络,参阅PPT,图太多
- 设置Linux内部固定IP
修改文件:/etc/sysconfig/network-scripts/ifcfg-ens33

ps命令
功能:查看进程信息
语法:ps -ef,查看全部进程信息,可以搭配grep做过滤:ps -ef | grep xxx
kill命令
语法: kill [-9] 进程ID
选项-9表示强制关闭进程
nmap命令
可以通过Linux命令去查看端口的占用情况
使用nmap命令,安装nmap : yum -y install nmap
用nmap 127.0.0.1 命令可以看本机端口的占用情况
netstat命令
功能:查看端口占用
用法:netstat -anp | grep xxx
ping命令
测试网络是否联通
语法 : ping [-c num] 参数
wget命令
wget是非交互式文件下载器,可以在命令行内下载网络文件
语法:wget [-b] url
- 选项:-b,后台下载,会将日志写入当前工作目录的wget-log文件
- 参数:url,下载链接
需要注意的是无论下载是否完成,都会生成下载的文件,如果下载未完成,请及时清理未完成的不可用文件。
curl命令
curl可以发送http网络请求,可用于:下载文件,获取信息等
语法:curl [-O] url
- 选项:-O , 用于下载文件,当url是下载链接时,可以使用该选项保存文件
- 参数:url,要发起的网络地址
top命令
功能:查看主机运行状态
语法: top ,查看基础信息

在交互式模式中,可用快捷键:

df命令
查看磁盘占用
语法:df [-h]
选项: -h,以更加人性化的单位显示
iostat命令
查看CPU,磁盘的相关信息

sar命令
查看网络统计

环境变量
- 临时设置:export 变量名=变量值
- 永久设置:1.针对用户,设置用户HOME目录内:.bashrc文件 2.针对全局,设置/etc/profile
PATH变量
记录了执行程序的搜索路径
可以将自定义路径加入PATH内,实现自定义命令在任意地方均可执行的效果
$符号
可以取出指定的环境变量的值
语法:$变量名
示例:
echo $PATH,输出PATH环境变量的值
echo ${PATH}ABC,输出PATH环境变量的值以及ABC
如果变量名和其他内容混淆在一起,可以用${}
su命令
切换用户
语法:su [-] [用户]
默认切换到root
sudo命令

chmod命令
修改文件,文件夹权限
语法:chmod [-R] 权限 参数
- 权限,要设置的权限,比如755,表示:rwxr-xr-x
- 参数,被修改的文件,文件夹
- 选项-R,设置文件夹和其中的全部内容一样生效

chown命令
修改文件,文件夹所属用户,组

用户组管理
以下命令需要root用户执行
1.创建用户组
groupadd 用户组名
2.删除用户组
groupdel 用户组名
用户管理

passwd 用户名
passwd命令用于修改用户的密码
genenv命令
getenv group , 查看系统全部的用户组

getenv passwd,查看系统全部的用户

env命令
查看系统全部的环境变量
语法: env
rpm命令
rpm(Red Hat Package Manager)是 Red Hat Linux 及其衍生发行版(如 CentOS、Fedora)中用于管理软件包的系统。它允许用户安装、卸载、升级、查询和验证软件包。
-i:表示安装(install)操作。-v:表示详细信息输出(verbose),可以看到安装过程的详细信息。-h:表示以散列(hash)标记显示安装进度。
压缩解压
压缩
tar -zcvf 压缩包 被压缩1被压缩2被压缩N
- -z表示使用gzip,可以不写
zip [-r] 参数1 参数2 参数N

解压
tar -zxvf 被解压的文件 -C 要解压去的地方
- -z表示使用gzip,可以省略
- -C,可以省略,指定要解压去的地方,不写解压到当前目录
unzip [-d] 参数
- unzip test.zip ,将test.zip解压到当前目录
- unzip test.zip -d /home/itheima,将test.zip解压到指定文件夹内
破解root密码
终端输入reboot,在引导页点击字母e,进入内核编辑界面
在linux16参数这行的ro 修改为 rw init=/sysroot/bin/sh,然后ctrl+X运行,进入急救模式
chroot /sysroot
LANG=en_US_utf-8
passwd
#输入密码
touch /.autorelabel
exit
reboot
用设定的密码登陆即可
Web服务器
1,准备
关闭SElinux
#临时关闭SELinux
setenforce 0
getenforce
显示Permissive是关闭成功,Enforcing是没关闭
关闭防火墙
systemctl stop firewalld //临时关闭
systemctl disable firewalld //禁止开机启动
systemctl status firewalld //查询防火墙状态
2,安装
前提:装好光盘,挂载到/media,并配置好yum库。
Vmware上装载CentOS7的光盘ios文件
lsblk //验证装载 默认sr0 在/run/home/username
mount /dev/sr0 /media //挂载到/media目录中
配置yum库
#yum库在/etc/yum.report.d/中
cd /etc/yum.report.d/
mkdir dir1
mv C* dir1/
配置文件的撰写
vim local.repo
#内容
[local]
name=local
baseurl=file:///media
enabled=1
gpgcheck=0
验证yum库配置
yum clean all
yum reportlist
//显示检索到的文件数量就是正常的
安装httpd(Apache)
yum install httpd
systemctl start httpd //启动httpd命令
systemctl restart httpd //重启httpd命令
systemctl status httpd //查看httpd状态
systemctl stop httpd //关闭httpd
systemctl enable httpd //开机自启
systemctl disable httpd //开机不启动
httpd的网页都存放在/var/www/html/中
安装php php-mysql
yum install php php-mysql
进入/var/www/html/目录中创建test.php
<?php phpinfo();?>
保存后,重启httpd服务,通过http:localhost/test.php访问
3,用户网页实现
因为httpd的默认配置是不允许用户实现网页,所以需要修改httpd配置文件。
vim /etc/httpd/conf.d/userdir.conf
需要注释掉UserDir disabled
取消注释掉UserDir public_name
创建用户
useradd username //创建用户
passwd username //为创建的用户设置密码
或者进入已有的用户
su - username
mkdir public_html
cd public_html
vim index.html
#内容
<html>
<head>Web</head>
<title>我的第一个网页</title>
<body>
<h1>I Love Linux</h1>
<p>It is my blog</p>
</body>
</html>
创建好后需要给用户和文件夹权限,其中用户赋予711,文件赋予755.
回到root用户配置
su -
chmod 711 /home/username
chmod 755 /home/username/public_html
systemctl restart httpd
访问http://localhost/~username访问






这太行了
٩(ˊᗜˋ*)و
在多点在详细点
这里只是基础命令,后面会加新内容