type
status
date
slug
summary
tags
category
icon
password
Linux是一个程序员必学的服务器系统
Linux操作系统
目录结构
Linux只有一个顶级目录,称之为:根目录
Windows系统由多个顶级目录,即各个盘符
Linux命令基础格式
Command: 命令本身
- options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节
parameter:[可选,非必填]命令的参数,多数用于命令的指向目标等
语法中的[],表示可选的意思
ls命令 罗列出来当前文件夹的内容
单纯ls,表示以平铺形式,列出当前工作目录下的内容
可以先使用pwd来查看当前存在哪个目录中
语法中的选项是可以组合使用的
- ls -l -a
- ls -la
- ls -al
- h 表示以易于阅读的形式,列出文件大小,如K、M、G
- h选项必须要搭配 -l 一起使用
cd命令 切换目录
语法:cd [Linux路径]
cd命令无需选项,只有参数,表示要切换到哪个目录下
cd命令直接执行,不写参数,表示回到用户的HOME目录
通过ls来验证当前的工作目录,其实是不恰当的。
我们可以通过pwd命令,来查看当前所在的工作目录。
pwd命令来自:Print Work Directory
语法:pwd
pwd命令,无选项,无参数,直接输入pwd即可
cd /home/ityueheng/Desktop 绝对路径写法
cd Desktop 相对路径写法
特殊路径符:
- . 表示当前目录,比如 cd ./Desktop 表示切换到当前目录下的Desktop目录内,和cd Desktop效果一致
- .. 表示上一级目录,比如:cd .. 即可切换到上一级目录,cd ../.. 切换到上二级的目录
- ~ 表示HOME目录,比如:cd ~ 即可切换到HOME目录或cd ~/Desktop,切换到HOME内的Desktop目录
mkdir命令 创建文件夹
通过mkdir命令可以创建新的目录(文件夹)
mkdir来自英文:Make Directory
语法:mkdir [-p] Linux路径
参数必填,表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径均可
- p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录
mkdir ityueheng/test 没有ityueheng这个文件夹就会发生报错
而使用-p选项则会吧ityueheng这个文件夹来进行创建出来
touch命令 创建文件
语法:touch Linux路径
cat命令 查看文件内容
语法:cat Linux路径
more命令 查看文件内容
与cat命令不一样的是:
- cat是直接将文件的内容显示出来
- more是支持翻页的
语法:more Linux路径
- 在查看的过程中,通过空格翻页
- 通过q退出查看
cp命令复制文件文件夹
语法:cp [-r] 参数1 参数2
- r选项,可选,用于复制文件夹使用,表示递归
- 参数1,Linux路径,表示被复制的文件或文件夹
- 参数2,Linux路径,表示要复制去的地方
mv表示移动文件或者是文件夹
语法:mv 参数1 参数2
- 参数1,Linux路径,表示被移动的文件或文件夹
- 参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在
rm表示删除文件文件夹
语法:rm [-r -f] 参数1 参数2 ...... 参数N
- 同cp命令一样,-r选项用于删除文件夹
- f表示force,强制删除(不会弹出提示确认信息)
- 普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示
- 所以一般普通用户用不到-f选项
- 参数1、参数2、......、参数N 表示要删除的文件或文件夹路径,按照空格隔开
删除文件夹,必须要加上-r选项才可以
which命令 查找所使用的一系列命令的程序文件存放在哪里
语法:which 要查找的命令
find命令 - 按文件名查找文件
语法:find 起始路径 -name “被查找的文件名“
切换到root用户已获得用户管理员权限
su - root
支持通配符来匹配任意内容(包含空)
find命令 - 按文件大小查找文件
语法:find 起始路径 -size + |-n[KMG]
- +、- 表示大于和小于
- n表示大小数字
- kMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB
示例:
- 查找小于10KB的文件: find / -size -10k
- 查找大于100MB的文件:find / -size +100M
- 查找大于1GB的文件:find / -size +1G
grep命令 从文件中通过关键字过滤文件行
语法:grep [-n] 关键字 文件路径
- 选项-n,可选,表示在结果中显示匹配的行的行号。
- 参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用””将关键字包围起来
- 参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口

wc命令做数量统计
可以通过wc命令统计文件的行数、单词数量等
语法:wc [-c -m -l -w] 文件路径
- 选项,-c,统计bytes数量
- 选项,-m,统计字符数量
- 选项,-l,统计行数
- 选项,-w 统计单词数量
- 参数,文件路径,被统计的文件,可作为内容输入端口
管道符
过滤ls的结果

echo命令 表示在命令行中输出指定内容
语法:echo “输出内容”
- 我们可以通过将命令用反引号(通常也称之为飘号)
将其包围被
包围的内容,会被作为命令执行,而非普通字符

重定向符
tail命令
使用tail命令,可以查看文件尾部的内容,追踪文件的最新更新
语法:tail [-f -num] Linux路径
- 参数,Linux路径,表示被追踪的文件路径
- 选项,-f,表示持续追踪
- 选项,-num,表示,查看尾部多少行,不填默认10行
示例:
Linux用户和权限
无论是windows、macOS、Linux均采用多用户的管理模式进行权限管理
- 在Linux系统中,拥有最大权限的账户为:root(超级管理员)
- 而在前期,我们一直使用的账户就是最普通的用户
普通用户的权限,一般在home目录中是不受限制的
su和exit命令
su命令就是用于账户切换的系统命令,其来源英文单词:Switch User
语法:su [-] 用户名
- 符号是可选的,表示是否在切换用户后加载环境变量(后续讲解),建议带上
- 参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root
- 切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl + d
sudo命令
在我们得知root密码的时候,可以通过su命令切换到root得到最大权限。但是我们不建议长期使用root用户,避免带来系统损坏。
我们可以使用sudo命令,为普通的用户授权,临时以root身份执行
- 切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers
- 在文件的最后添加:
(用户名) ALL=(ALL) NOPASSWD: ALL
- 最后通过wq保存
用户、用户组
Linux系统可以:
- 配置多个用户
- 配置多个用户组
- 用户可以加入多个用户组中
Linux中关于权限的管控级别有2个级别,分别是:
- 针对用户的权限控制
- 针对用户组的权限控制
用户组管理
以下命令需要root用户执行
- 创建用户组
groupadd 用户组名
- 删除用户组
groupdel 用户组名
用户管理
以下命令需要root用户执行
- 创建用户
useradd [-g -d] 用户名
- 选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g
- 选项:-d指定用户HOME路径,不指定,HOME目录默认在:/home/用户名
删除用户
userdel [-r] 用户名
- 选项:-r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录将会保留
查看用户所属的组
id [用户名]
- 参数:用户名,被查看的用户,如果不提供则查看自身
修改用户所属的组
usermod -aG 用户组 用户名,将指定用户加入指定用户组
getent
使用getent命令,可以查看当前系统中的用户
语法:getent passwd
使用getent命令,同样可以查看当前系统中有哪些用户组
语法:getent group
通过ls -l 可以以列表形式查看内容,并显示权限细节

- 序号1,表示文件、文件夹的权限控制信息
- 序号2,表示文件、文件夹所属用户
- 序号3,表示文件、文件夹所属用户组

那么,rwx到底代表什么呢?
- r表示读权限
- w表示写权限
- x表示执行权限
针对文件、文件夹的不同,rwx的含义有细微差别
- r,针对文件可以查看文件内容
- 针对文件夹,可以查看文件夹内容,如ls命令
- w,针对文件表示可以修改此文件
- 针对文件夹,可以在文件夹内:创建、删除、改名等操作
- x,针对文件表示可以将文件作为程序执行
- 针对文件夹,表示可以更改工作目录到此文件夹,即cd进入
chmod命令
修改文件、文件夹的权限信息
⚠️:只有文件、文件夹的所属用户或root用户可以修改
语法:chmod [-R] 权限 文件 文件夹
- 选项:-R,对文件夹内的全部内容应用同样的操作
示例:
- chmod u=rwx,g=rx,o=x hello.txt,将文件权限修改为:rwxr-x--x
- 其中:u表示user所属用户权限,g表示group组权限,o表示other其它用户权限
案例(将hello.txt的权限变成最大)
chmod 777 hello.txt
chown命令
使用chown命令,可以修改文件、文件夹的所属用户和用户组
普通用户无法修改所属为其它用户或组,所以此命令只适用于root用户来执行
语法:chown [-R] [用户] [:] [用户组] 文件或用户组
- 选项,-R,同chmod,对文件夹内全部内容应用相同规则
- 选项,用户,修改所属用户
- 选项,用户组,修改所属用户组:用于分隔用户和用户组
示例:
chown root hello.txt,将hello.txt所属用户修改为root
chown :root hello.txt,将hello.txt所属用户组修改为root
chown root:itheima hello.txt,将hello.txt所属用户修改为root,用户组修改为itheima
chown -R root test,将文件夹test的所属用户修改为root并对文件夹内全部内容应用同样规则
ctrl + c
- 强制停止正在执行的程序
- 命令输入错误
ctrl + d
- 退出账户的登录
- 退出某些特定程序的页面
ps:不能用于退出vi/vim
历史命令搜索(history)
- 可以通过:!命令前缀,自动执行上一次匹配前缀的命令
- 可以通过快捷键:crtl + r,输入内容去匹配历史命令
光标移动快捷键
- ctrl + a跳到命令开头
- ctrl + e,跳到命令结尾
清屏(ctrl + l)or clear
yum命令
yum:RPM包软件管理器,用于自动化安装Linux软件,并可以解决依赖问题
语法:yum [-y] [install | remove | search] 软件名称
- 选项:-y,自动确认,无需手动确认安装或卸载过程
- install:安装
- remove:卸载
- search:搜索
yum命令需要root权限,可以su切换到root,或使用sudo提权
systemctl命令
Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启
能够被systemctl管理的软件,一般也称之为:服务
语法:systemctl start | stop |status | enable |disable服务名
系统内置的服务比较多,比如:
- NetworkManager,主网络服务
- network,副网络服务
- firewalld,防火墙服务
- sshd,ssh服务
ln命令创建软连接
在系统中创建软连接,可以将文件、文件夹链接到其他位置
类似Windows中的《快捷方式》
语法:ln -s参数一 参数二
- s选项,创建软连接
- 参数一:被链接的文件或文件夹
- 参数二:要链接去的目的地
实例:ln -s /etc/yum.conf ~/yum.conf
date命令
通过date命令可以在命令行中查看系统时间
语法:date [-d] [+格式化字符串]
- d 按照给定的字符串显示日期,一般用于日期计算
- 格式化字符串:通过特定的字符串标记,来控制显示的日期格式
使用date命令本体,直接查看时间
自定义式查看
date +%Y-%m-%d
在Linux中修改主机名称
- 可以使用命令:hostname查看主机名
- 使用命令:hostnamectl set-hostname 主机名,修改主机名(需要root)
ipconfig查看本机的ip地址,
- 127.0.0.1这个地址就是指代本机
- 0.0.0.0,特殊的地址,在一些ip限制中,表示所有的IP的意思,如在放行规则设置,表示任意的IP访问。
ping命令 检查指定的网络服务器是否是可联通的状态
语法:ping [-c num] ip或主机名
- 选项:-c,检查的次数,不使用-c选项,将无限次数持续检查
- 参数:ip或主机名,被检查的服务器的ip地址或主机名地址
wget命令
是非交互式的文件下载器,可以在命令行内下载网络文件
语法:wget [-b] url
- 选项:-b,可选,后台下载,会将日志写入到当前工作目录的wget-log文件
- 参数:url,下载链接
curl命令
可以发送http网络请求,可用于:下载文件、获取信息
语法:crul [-O] url
- 选项:-O,用于下载文件,当url是下载链接时,可以使用此选项保存文件
- 参数:url,要发起请求的网络地址
查看端口占用
语法:nmap被查看的IP地址
可以通过netstat -anp | grep 端口号
查看进程
可以通过ps命令查看Linux系统中的进程信息
语法:ps [-e -f]
- 选项:-e,显示出全部的进程
- 选项:-f,已完全格式化的形式展示信息
一般用法:ps -ef
查看指定进程
使用管道符配合grep来进行过滤,如:
ps -ef | grep tail,即可找到准确的tail命令的信息
关闭进程
kill命令来进行杀死进程
语法:kill [-9]进程ID
选项:-9,表示强制关闭进程
查看系统占用资源
使用top命令查看CPU、内存占用情况
磁盘信息监控
- 使用df命令,可以查看硬盘的使用情况
语法:df [-h]
- 作者:听妈妈的话
- 链接:https://tangly1024.com/article/linux
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。