Linux常用命令
2023-12-26 19:01:25 38 举报
AI智能生成
Linux常用命令
作者其他创作
大纲/内容
服务与进程
服务与进程
Linux 系统的运行级别
七种不同的运行级别
系统运行级别之间的切换
查看系统的当前运行级别:runlevel 查看系统启动时的运行级别:ll /etc/systemd/system/default.target
系统运行级别之间的切换
使用 init 命令进行切换
关闭 Ctrl+Alt+Del 键的功能
字符界面按 Ctrl+Alt+Del 键系统会自动重启,为避免误操作带来的损失,需要禁用此功能
使用 systemctl 管理服务
服务的启动与停止
命令格式:systemctl 选项 服务名 选项说明: start:启动;stop:停止;restart:重启;status:服务状态 服务名:一般以“.service”结尾,输入服务名时了可省略
设置服务的自启动状态
①使用 ntsysv 命令设置服务的自启动 命令格式:ntsysv [--back][--level] 选项说明:back,在互动界面不显示 cancel;level,在指定的运行级别中设置服务的自启动。 ②使用 systemctl 命令设置服务的自启动 查看服务的自启动状态:systemctl is-enabled [服务名称] 开启服务的自启动:systemctl enable 服务名称 关闭服务的自启动:systemctl disable 服务名称
查看所有的服务
命令格式:systemctl [选项] [–type=TYPE] [–all] 选项说明: (1) list-units:依据 unit 列出所有启动的 unit。加上–all 会列出没启动的 unit; (2) list-unit-files:依据/usr/lib/systemd/system/ 内的启动文件,列出启动文件列表
进程的延迟与周期调度
进程的概念
进程的查看:ps 命令
查看各进程继承关系的命令:pstree
进程的终止
进程的调度
软件安装与包管理工具的使用
软件安装与包管理工具
RPM 包管理工具的使用
RPM 工具的使用
RPM 主要有5种基本功能:查询、安装、升级、刷新、卸载
查询
软件包的查询功能主要由-q选项完成 rpm -q
安装
#rpm -ivh telnet-server-0.17-59.el7.x86_64.rpm
刷新
#rpm -Fvh telnet-server-0.17-59.el7.x86_64.rpm
卸载
#rpm -e telnet-server
常见问题
使用 RPM 管理 telnet-server 软件包
在服务器端安装 telnet-server 和 xinetd,启动相应的服务。
在服务器端开启防火墙(图形界面与命令)
在客户端访问(默认不允许 root 用户 telnet 登录)
YUM 工具的使用
设置本地 YUM 源
YUM 工具主要有查询、安装、升级、刷新、卸载软件包等功能。 命令格式:yum [选项] [指令] [软件包]
TAR 包管理工具简介
网络连接
网络连接
主机名的配置
使用 hostname 命令临时设置主机名
命令格式:hostname [新主机名]
永久设置主机名
命令格式:hostnamectl set-hostname 新主机名
网卡信息的配置
网卡配置文件
ifcfg-ens33
配置网卡信息
直接修改网卡配置文件
ifconfig 命令
网卡常用命令
常用网络调试命令与故障排查
.ping 命令:测试网络中是否畅通以及网络质量。
netstat 命令:显示网络连接、路由表、正在监听的端口等信息。
子主题
traceroute 命令:路由跟踪。
nslookup 命令:检测指定的 DNS 服务器工作是否正常
quota磁盘配额管理
quota 磁盘配额管理
磁盘配额的概念
设置磁盘配置
先将其挂载到“/data”目录下,然后在文件系统中实现磁盘配额
启用 quota 磁盘配额
生成配额文件
编辑用户的配额设置
编辑组的配额设置
激活磁盘配额
验证并查看磁盘配额
关闭磁盘配额
利用 quotaoff -vug 命令关闭磁盘配额
LVM卷管理
LVM卷管理
LVM概念
LVM可以实现对磁盘的动态管理,在磁盘不用重新分区的情况下动态调整文件系统的大小,利用LVM管理的文件系统可以跨越磁盘。
LVM的管理命令
功能 物理卷管理 卷组管理 逻辑卷管理
scan 扫描 pvscan vgscan lvscan
Create 建立 pvcreate vgcreate lvcreate
Display 显示 pvdisplay vgdisplay lvdisplay
Remove 删除 pvremove vgremove lvremove
Reduce 缩减 vgreduce lvreduce
Extend 扩展 vgextend lvextend
scan 扫描 pvscan vgscan lvscan
Create 建立 pvcreate vgcreate lvcreate
Display 显示 pvdisplay vgdisplay lvdisplay
Remove 删除 pvremove vgremove lvremove
Reduce 缩减 vgreduce lvreduce
Extend 扩展 vgextend lvextend
1、创建磁盘分区
fdisk /dev/stb
2、创建物理卷PV
pvcreate /dev/sdb1 /dev/sdb5
3、创建卷组VG
vgcreate wgroup /dev/sdb1 /dev/sdb5
4、创建逻辑卷
lvcreate -L 容量大小 -n 逻辑卷名 卷组名
5、创建并挂载文件系统
mkfs -t ext4 /dev/wgroup/ftp
然后创建挂载目录点,将逻辑卷挂载
mkdir /var/ftp
挂载:mount /dev/wgroup/ftp /mnt/ftp
修改/etc/fstab文件,实现永久挂载
vim /etc/fstab
然后创建挂载目录点,将逻辑卷挂载
mkdir /var/ftp
挂载:mount /dev/wgroup/ftp /mnt/ftp
修改/etc/fstab文件,实现永久挂载
vim /etc/fstab
6、扩展逻辑空间
最后将第三块硬盘/dev/sdc加入到逻辑卷中。
先将硬盘分成一个分区/dev/sdc1,并将分区标记修改为8e
然后将分区转换为物理卷:pvcreate /dev/sdc1
将物理卷/dev/sdc1添加到卷组wgroup中:vgextend wgroup /dev/sdc1
扩展逻辑卷的空间:lvextend -L +10G /dev/wgroup/ftp
执行resize2fs命令重设文件系统的大小:resize2fs /dev/wgroup/ftp
再次查看文件系统/var/ftp的空间大小,可以看到已经变成了29GB: df -hT
先将硬盘分成一个分区/dev/sdc1,并将分区标记修改为8e
然后将分区转换为物理卷:pvcreate /dev/sdc1
将物理卷/dev/sdc1添加到卷组wgroup中:vgextend wgroup /dev/sdc1
扩展逻辑卷的空间:lvextend -L +10G /dev/wgroup/ftp
执行resize2fs命令重设文件系统的大小:resize2fs /dev/wgroup/ftp
再次查看文件系统/var/ftp的空间大小,可以看到已经变成了29GB: df -hT
7、逻辑空间删减
磁盘分区与文件系统挂载
磁盘在Linux系统的表示方法
挂载点
磁盘分区
分区 :fdisk 磁盘绝对路径
格式化磁盘文件系统格式:mkfs -t 文件格式 磁盘绝对路径
用户与用户组
用户
新建用户
useradd 用户名
查看系统中有哪些用户
cat /etc/passwd
查看用户属于哪些用户组
groups 用户名
为用户设置密码
passwd 用户名
查看用户是否设置密码
cat /etc/shadow | grep 用户名
将用户加入组
gpaaswd -a 用户名 组名
将用户从组中删除
gpasswd -d 用户名 组名
将用户设置为组长
gpasswd -A 用户名 组名
将用户临时加入到某个用户组中
进入用户 newgrp 用户组
用户配置文件
用户配置文件/etc/passwd
用户密码配置文件/etc/shadow
用户组配置文件
用户组配置文件/etc/group
用户组密码配置文件/etc/gshadow
用户组
新建组
groupadd 组名
查看系统中的组名
cat /etc/group
为用户组设置密码
gpasswd 用户组
修改组名
group-n 新组名
连接文件
软连接
ln -s 连接文件名 软连接文件名
硬连接
ln 连接源文件 硬连接文件名
用户管理
用 useradd 命令创建用户
-d 指定用户主目录
-g 指定用户组
-m 若主目录不存在,则创建
-s 指定登录时使用的 Shell 类型,默认为/bin/bash,如果为 /bin/nologin 就是虚拟用户
-c 设置对该账号的注释说明文字
-r 创建系统账号(用户 ID 小于 1000,从 999 起按照递减的顺序创建), 默认不创建对应的主目录
-u 手工指定新用户的 ID 值,该值必须唯一,且大于 999。
-M 不创建主目录
用 passwd 命令管理用户登录密码
-l 锁定用户密码
-u 解锁用户密码
-S 查询用户密码状态
-d 删除用户密码
用 usermod 命令修改用户属性
-l 修改用户名
-c 修改用户描述信息
-d 修改主目录
-s 修改用户登录的 shell 类型
用于修改用户口令有效期限的 chage 命令
-m 密码可更改的最小天数。为零时代表任何时候都可以更改密码
-W 用户密码到期前,提前收到警告信息的天数
-M 密码保持有效的最大天数
-E 账号到期的日期。过了这天,此账号将不可用
-d 上一次更改的日期
-I 停滞时期。如果一个密码已过期这些天,那么此账号将不可用
-l 列出当前的设置。由非特权用户来确定他们的密码或账号何时过期
修改用户注释信息的 chfn 命令
-f 设置真实姓名。
-h 设置家中的电话号码。
-o 设置办公室的地址。
-p 设置办公室的电话号码。
用户别名
定义别名
alias 别名='命令行'
删除别名
unalias 别名
查看系统别名
alias
sudo
sudo配置
查看sudo软件包:# rpm -qi sudo
用vim编辑sudoers的模板配置文件:# vim /etc/sudoers
给普通用户配置权限
用户名 ALL=(ALL) NOPASSWD: ALL
远程访问及控制
VSFTP服务器
VSFTP服务器
FTP:文件传输协议
工作模式[客户端/服务器],FTP服务的端口号:tcp/21、tcp/20
FTP主动模式
FTP被动模式
FTP服务器简介
FTP服务器的安装
使用默认yum源安装vsftpd软件包
#yum install vsftpd ftp
2、启动服务并设置开机自启
#systemctl start vsftpd.service 启动服务
#systemctl enable vsftpd.service 开机自启
#systemctl enable vsftpd.service 开机自启
设置防火墙与selinux机制
#firewall-cmd --permanent --zone=public --add-service=ftp
#firewall-cmd --reload
#systemctl stop firewalld
#setenforce 0
#firewall-cmd --reload
#systemctl stop firewalld
#setenforce 0
访问ftp服务器
Linux系统中使用ftp命令进行访问:
在windows客户端访问ftp服务器:软件
在windows客户端访问ftp服务器:软件
三种用户访问ftp
匿名用户访问FTP
默认允许匿名用户与系统用户访问ftp,访问的默认目录是:/var/ftp
ftp的配置文件是:/etc/vsftpd/vsftpd.conf
设置匿名用户登录ftp时不输入密码
设置匿名用户上传、新建、删除文件
设置文件权限
设置匿名用户上传或新建文件的权限
设置不允许系统用户登录,只能匿名用户登录
设置匿名用户访问ftp的默认目录
配置系统用户访问FTP
系统用户默认访问主目录,具有上传、下载、新建、删除的权限,还可以切换到的系统其他目录
设置系统用户只能访问自己的主目录并具有所有权限,不允许切换到系统的其他目录
设置系统用户访问指定目录,不允许切换到系统的其他目录,并具上传、下载、新建、删除的权限
基于本地用户的访问控制
Vsftpd日志管理
Vsftp软件搭建的FTP服务器的日志文件
日志文件输出格式
配置虚拟用户访问FTP
安装Vsftpd虚拟用户需要用到的软件及认证模块
创建虚拟用户临时文件/etc/vsftpd/ftpusers.txt
生成Vsftpd虚拟用户数据库认证文件,设置权限为600
配置PAM认证文件:vim /etc/pam.d/vsftpd.vu
创建一个系统用户,用于虚拟用户映射
修改配置文件:#vim /etc/vsftpd/vsftpd.conf
分别为虚拟用户创建私有的虚拟目录与独立的配置文件
文件权限
文件属性
修改文件的权限:chmod
字母方式修改权限
chmod u +或-权限 :修改所有者权限
chmod g+或-权限 :修改所属组权限
chmod o +或-权限 :修改其他用户权限
chmod a+或-权限 :修改所有用户权限
数字方式修改权限
chom 权限之和
修改文件的所有者与所属组:chown
改所有者 :chown 所有者 文件名
改所属组 :chown :所属组 文件名
同时修改: chown 所有者:所属组 文件名
特殊权限
ACL:访问控制
创建ACL规则 setfacl -m u:用户名:权限 文件名
查看ACL规则 :getfacl 文件名
删除一条规则 :setfacl -x u:用户名 文件名
删除所有规则 :setfacl -b 文件名
SBIT:粘滞位权限(强制位权限)
chmod o+t 文件名 :针对其他用户,只能删除自己的文件,不能删除其他的用户的文件
SGID:
chmod g+s 文件名 ::针对其他用户设置,以所属组的身份去执行
SUID
chmod u+s 文件名 : 以文件所有者的身份执行文件,只针对可执行文件。
查找命令
find 命令:搜索文件与目录
-name 按名称查找,允许使用通配符。
-type 按文件类型查找文件类型包括:普通文件(f)、目录(d)、块设备 文件(b)、字符设备文件(c)
-user 按文件所有者查找,根据文件是否属于某个目标用户进行查找
-size 按文件大小查找,使用“+”、“-”号设置超过或小于指定的大小 作为查找条件。常用的容量单位包括 k(注意是小写)、M、G
grep 命令:查找文件内容
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
其他辅助命令
查看历史命令:history
history [n] n 为数字,列出最近的 n 条命令
! number 执行第几条命令
!! 执行上一条
! command 从最近的命令查到以 command 开头的命令执行
.help 命令:只能查看内部命令的帮助信息
man 命令:查看命令的帮助手册
输入输出重定向
输出重定向:>或>>
“>”后面指定的文件如果不存在,将先建立该文件,再保存命令结果到文件中(会覆盖原来额内容)
">”后面指定的文件如果存在,将先清空文件的内容,再保存命令结果到文件中(会覆盖原来额内容)
">>”可以将命令结果重定向并追加到指定文件的末尾保存,而不覆盖文件中原有的内容
输入重定向:<或<<
"<<"可以将命令结果重定向并追加到指定文件的末尾保存,而不覆盖文件中原有的内容
"<"后面指定的文件如果存在,将先清空文件的内容,再保存命令结果到文件中(会覆盖原来额内容)
“<”后面指定的文件如果不存在,将先建立该文件,再保存命令结果到文件中(会覆盖原来额内容)
错误重定向:2>或2>>
管道符 |
管道符用于将“|”左边命令的执行结果作为“|”右边命令的输入。
文件内容查看命令
显示文件的内容
cat
文件名 :一次性显示完成,然后退出
-n 文件名 :一次性显示完成,带行号,然后退出
more :分页显示,显示完成后退出
less:分页显示,完成后不退出,用pgup,pgon,上下键观看,退出按q键
head :默认查看文件头10行
tail :默认查看文件后10行
文件内容统计 wc
-l 统计行数
-w 统计单词数
-c 统计字节数
常用 shell 命令
文件管理命令 ls
-a 显示所有文件,包括隐藏文件(以.号开头的文件)。
-l 以长格式(内容更详细)显示文件或目录的详细信息。
-h 以 K、M、G 等单位显示文件大小( 默认为字节),提高可读性
-ld 文件名 :查看该文件本身详细信息
通配符
“?”可以匹配文件名中的一个任意字符
“*”可以匹配文件名中的任意多个字符
正则表达式
^ 表示以什么字符开头
$ 表示以什么字符结尾
“^$”表示空行
创建目录(就是新建文件夹):要考虑权限问题 mkdir
文件名 :直接创建文件夹(目录)
-p /mnt/A/B/C :在mnt目录下创建一个目录结构
新建文件
touch 文件名
删除目录或文件
删除空目录
rmdir 空目录名
rmdir - p /media/cdrom/aa 连续删除空目录
删除文件 rm
文件名 :删除改文件(有提示)
-r 目录名(文件夹名) :删除目录(有提示)
-f :(消除提示信息)
复制文件或目录
cp 源文件 目标文件(可改名)
cp -R 源目录 目标目录
移动(剪切--粘贴)文件或目录
mv 源文件 目标文件 (可改名)
mv 原文件名 新文件名 :文件重命名
文件和目录的基本概念
Linux 的目录结构
Linux 系统的优势
多用户多任务的系统 安全性更高 开源免费
Linux系统的特点
将所有的目录和文件数据组织为一个树型的目录结构,整个系统中 只存在一个根目录,所有的分区、目录、文件都在同一个根目录下面。
命令提示符
[root@localhost~]#
root:当前登录的用户名
localhost:本机的主机名
~:用户当前所在目录
~代表家目录 root 用户的家目录是:/root ;普通用户的家目录是:/home
#:当前登录的用户为管理员用户
$:当前登录的用户为普通用户
用户
su 用户名 : 切换用户
由 root 用户切换到普通用户不需要输入密码 由普通用户切换到其他用户就必须输入密码
users 查看当前有哪些用户登录
exit :退出当前用户登录
tty :查看当前登录的终端
who :查看登录用户的详细用户
显示当前目录所在的完整路径
pwd
目录切换命令
cd
cd /etc 切换到/etc/目录
cd .. 返回上一级目录
cd 返回家目录
绝对路径和相对路径
相对路径:是当前目录下的某个文件或路径
绝对路径:是指目录或文件的完整路径
命令行编辑的几个辅助操作
Tab 键:自动补齐
分号“;”:在同一行中输入多个命令,中间用;隔开
反斜杠“\”:在一行命令后加上\,表示另起一行继续输入
上下方向键:找出曾经执行过的历史命令
history:查看历史命令
Ctrl+U:清空至行首
Ctrl+K:清空至行尾
Ctrl+L:清屏
Ctrl+C:终止命令的执行
关机命令:shutdown
[-t] 在改变到其它 runlevel 之前﹐告诉 init 多久以后关机。
[-r] 重启计算器。
[-k] 并不真正关机﹐只是送警告信号给每位登录者〔login〕
[-h] 关机后关闭电源〔halt〕。
[-n] 不用 init﹐而是自己来关机。不鼓励使用这个选项﹐而且该选项所产生的后 果往往不总是你所预期得到的。
[-c] cancel current process 取消目前正在执行的关机程序。所以这个选项当然 没有时间参数﹐但是可以输入一个用来解释的讯息﹐而这信息将会送到每位使用者。
[-f] 在重启计算器〔reboot〕时忽略 fsck。
[-F] 在重启计算器〔reboot〕时强迫 fsck。
[-time] 设定关机〔shutdown〕前的时间
samba服务
samba服务器的搭建
首先:在服务端安装samba服务
其次:配置samba服务(共享文件的路径、访问权限)
最后:做测试
samba具体操作步骤
第一步:准备软件仓库:yum安装(本地源)
第二步:安装samba服务----yum install samba samba-client
samba :服务端程序
samba-client:客户端程序
第三步:配置samba服务
第四步:启动服务(重启服务)【每次修改完配置文件后都需要重启才生效】
服务名称:smb.service nmb.service
重启服务:systemctl restart smb nmb
第五步:关闭防火墙和selinux配置
systemctl stop firewalld 关闭防火墙
setenforce 0 关闭selinux
第六步:新建samba用户并设置密码
useradd -s /bin/nologin smbsuer1 新建一个不能登录到系统的用户
mbpasswd -a smbsuer1 将用户设置为samba用户
第七步:测试
1.在Linux客户端测试:
查报服务器有哪些共享文件:smbclient -L ens33地址
访问服务器的共享文件:smbclient -U smbsuer1 //ens33地址/共享文件名
2.在windows客户端测试
在资源管理器中输入:\\Linux地址\共享文件名
补充:访问权限受两个地方影响
文件本身的权限
配置文件中的共享权限:
0 条评论
下一页