查看内置命令
- enable
禁止使用某个命令
-enable -n cd
启动内置命令(默认启动的)
- enable cd
一、文件目录类
1.ls命令
-l 长格式显示文件信息
-d 显示目录本身信息
-a 显示全部文件,包括隐藏文件
-A 显示除了.或着..以外的文件,包括隐藏文件
-t 按修改时间进行排序
2.pwd指令
pwd 显示当前所在绝对目录
3.cd指令
cd /目录 绝对切换目录
cd ../目录 相对切换目录
cd ~ 或 cd 回到家目录
cd .. 回到上级目录
4.mkdir指令
mkdir /a/b 在a目录下创建b目录
mkdir -p /a/b/c 在a目录下创建多级目录 /b/c
5.rmdir指令
rmdir /a/b 删除a目录下的空目录b
rm -rf /a/b 删除a目录下的非空目录b
6.touch指令
touch <文件名.扩展名> 创建空文件
touch <文件名.扩展名> <文件名.扩展名> 创建多个空文件
7.cp指令
cp <文件名.扩展名> <目标目录> 将文件复制到目标目录
cp -r <sourceFile> <destFile> 将源目录复制到目标目录
\cp 强制覆盖,不提示
8. rm指令
rm -r 递归删除文件夹
rm -f 强制删除不提示
9.mv指令
mv <oldFileName> <newFileName> 重命名
mv <oldFileLocal> <newFileName> 移动文件
10.cat指令
cat -n <file> 查看文件内容,并显示行号
cat -n <file> | more 查看文件内容,并显示行号,分页显示,按空格查看文件内容下一页
more指令 分屏查看文件内容,ctrl+b上一页,ctrl+f下一页
less指令 分屏查看文件内容,仅加载查看内容,用于查看大文件
11.>重定向与>>追加指令
ls -l <fileLocal> > a.txt 将ls-l指令显示的内容写入到a.txt文件中,如果没有a.txt文件,则自动创建,如果已经有 a.txt 文件,则覆盖文件内容
ls -l <fileLocal> >> a.txt 将 ls -l指令显示的内容追加写入到a.文件中,追加内容在原文件内容后面
cat <flie1> > <file2> 将 file1 文件内容覆盖到 file2 文件中
cat <flie1> >> <file2> 将 file1 文件内容追加写入到 file2 文件中
echo <文本内容> > <file> 将文本内容覆盖写入到file 中
echo <文本内容> >> <file> 将文本内容追加写入到file 中
12.echo指令
echo $PATH 输出 $PATH 环境变量
echo <文本内容> 输出 文本内容
13.head指令
head <file> 默认显示文件前10行内容
head -n <行数> <file> 显示指定行数的文件内容
14.tail指令
tail <file> 默认显示文件尾部10行内容
tail -n <行数> <file> 显示指定行数的文件尾部内容
tail -f <file> 实时追踪显示文件更新内容
15.ln指令
ln -s <指向目录> <软连接名> 创建指定目录的软连接(快捷方式)
rm -rf <软连接名> 删除软连接
16.history指令
history 10 查看历史最后使用的10行指令
!<指令编号> 执行历史编号指令
二、时间日期类
1.date指令
date 显示当前时间
date "+%Y" 显示年
date "+%m" 显示月
date "+%d" 显示日
date "+%Y %m %d %H %M %S" 显示年月日时分秒
date -s "2020-11-11 11:11:11" 设置时间
cal指令
cal 显示当月日历
cal 2020 显示2020年整年日历
三、搜索查找类指令
1.find指令
find <搜索范围> <选项>
find <搜索范围> -name <关键词> 按名称在规定目录范围内查找文件
find <搜索范围> -user <关键词> 按文件拥有者在规定目录范围内查找文件,支持通配符
find <搜索范围> -size +/-/=<文件大小>M/k 按文件大小在规定目录内查找文件,支持通配符
find /home -size +20M 在 /home 内查找大于
2.locate指令
利用事先建立的文件路径数据库,快速查询文件所属目录
在使用前需要使用 updatedb 创建 loacte 数据库,同时需要定期手动更新数据库
locate <关键词>
3. "|"管道符号
表示将前一个命令的处理结果传递给后一个命令进行处理
4.grep指令
查找文件中的内容
grep <选项> <查找内容> <源文件> 查找文件中的内容,区分大小写
cat <文件> | grep -n <查找内容> 查找文件中的内容,并显示匹配行和行号,区分大小写
cat <文件> | grep -ni <查找内容> 查找文件中的内容,并显示匹配行和行号,不区分大小写
四、压缩与解压缩
gizp指令
用于压缩文件,gz
gzip 文件名 将文件压缩成 .gz 包,并删除源文件
gunzip指令
用于解压缩文件,gz
gunzip 文件名 解压缩 .gz 包
zip指令
用于压缩文件,zip
zip -r 压缩文件名 目录 压缩整个目录为 zip 包
unzip指令
用于解压缩文件,zip
unzip -d 解压目录 文件名 将文件解压到指定目录
tar指令
压缩或解压文件,tar.gz
tar <选项> 包名 打包内容
tar
五、nginx的目录结构
声明:
Linux有且仅有一个根目录
Linux各个目录均已规划好,不要乱存放文件
Linux是以文件的形式来管理设备的,因此,Linux世界里一切皆为文件
通过训练,脑海中形成目录树
/ 根目录
/bin 用于从存放常用指令
/sbin 用于存放管理员所用的系统管理程序
/home 存放普通用户的主目录
/root 超级管理者的主目录
/lib 动态链接共享库,类似于dll
/lost+found 用于存放非法关机后的文件
/etc 系统管理所需要的配置文件及其子目录
/usr 应用程序安装目录
/usr/local 用于存放以编译形式安装的程序
/boot 存放Linux的启动文件及镜像
/proc 系统内存映射目录(勿动)
/srv 存放系统启动后所需要的数据(勿动)
/sys 内核文件系统(勿动)
/temp 临时文件存放目录
/dev 类似win的设备管理器
/media 外部硬件存储设备挂载目录
/mnt 用于临时挂载其他文件系统
/opt 用于存放安装包
/var 用于存放不断扩充或被修改的文件,以及各种日志文件
/selinux 安全系统
六、远程登录
所需软件:xshell(远程登录)、xftp(文件上传下载)
被控制端需要开启 sshd 服务(setup-系统设置)
xftp 乱码解决方法:修改属性 UTF8 后刷新
ssh : IP、端口:22
sftp : IP、端口:22
七、vi 和 vim 编辑器
说明:vim 是 vi 的增强版,可用用于程序编辑
模式:
正常模式:打开文档默认进入的模式,此模式下可以使用快捷键
常用快捷键:
yy 复制当前行
5yy 复制当前行向下的5行
p 粘贴
dd 删除当前行
5dd 删除当前行向下的5行
/关键词 查找关键词,n 下一项
:set nu 设置行号
:set nonu 取消行号
G 最末行
gg 最顶行
u 撤销
行数 shift+g 跳转到指定行
插入模式/编辑模式:按 i I o O a A r R ,即可进入,一般用 i 进入
命令行模式:此模式下可以进行保存退出等操作,按 Esc 进入。
常用命令:wq保存退出 :q不保存退出 :q!强制退出
八、关机&重启命令
shutdown
shutdown -h now 立即关机
shutdown -h1 1分钟后关机
shutsown -r now 立即重启
halt 关机
reboot 重启
sync 把内存数据同步到磁盘
logout 注销用户
九、用户管理
说明
关键词:用户、组、home目录
用户目录:/home/用户名
用户至少要属于一个组
添加用户
命令:
useradd <用户名> 添加一个名为“用户名”的用户,同时创建一个名为“用户名”的用户组,并将 “用户名”用户归属到“用户名” 组内
useradd -d <指定目录> <用户名> 创建用户,并指定用户家目录
useradd -g <用户组名> <用户名> 创建用户,并指定用户组归属
passwd <用户名> 修改用户密码
删除用户
命令:
userdel <用户名> 删除用户,但保留家目录
userdel -r <用户名> 删除用户及其家目录
注意:删除用户时,一般保留其家目录
查询用户信息
命令:
id <用户名> 查询用户信息
说明: uid(用户id)、gid(组 )、组名
切换用户
命令:
su - <用户名> 切换到 “用户名” 用户
需要退回原来用户时用exit命令
查看当前用户/登录用户
命令:
whoami/who an i
十、用户组管理
新建组
命令:
groupadd <用户组名>
删除组
命令:
groupdel <用户组名>
修改用户组的组归属
命令:
usermod <用户组名> <用户名> 修改 “用户名” 用户所属组为 “用户组名” 组
组管理
ls -ahl 查看 文件/目录 所有者及其所在组
chown <用户名> <文件名> 更改文件所有者
chgrp <组名> <文件名> 更改文件所在组
usermode -g <组名> <用户名> 改变用户所在组
usermode -d <目录名> <用户名> 改变该用户登录的初始目录
十一、权限管理
符合释义
示例
-rw-r--r--. 1
- rw- r-- r--. 1 分为五部分
符合权限释义
rwx作用到文件
r 4 代表可读
w 2 代表可写
x 1 代表可被执行
rwx作用到目录
r 4 代表可读,ls查看目录内容
w 2 代表可写,可修改、创建、删除、重命名目录
x 1 代表可被执行,可进入该目录
第一部分字符的释义
-普通文件
d目录
l软连接
c字符设备(鼠标、键盘)
b块文件(硬盘)
第二部分字符的释义
表示文件所有者的用户权限
第三部分字符的释义
表示文件所在组的用户权限
第四部分字符的释义
表示文件其他组的用户权限
第五部分字符的释义
表示文件夹的子目录数
目录的大小统一为4096
修改权限-chmod
通过字母变更权限
符号释义
u所有者
g所有组
o其他人
a所有人(ugo的总和)
chmod u=rwx,g=rx,o=x <文件目录名> 给所有者 rwx 权限,给所有组 rx 权限,给其他人 x 权限
chmod o+w <文件目录名> 给其他人加 w 权限
chmod a-x <文件目录名> 给所有人减 x 权限
通过数字变更权限
规则
r=4,w=2,x=1
chmod 777 <文件所在目录或文件目录>
修改文件所有者或所有组
chown <newowner> <file> 改变文件的所有者
chown <newowner:newgroup> <file> 改变文件的所有者及所在组
chgrp <newgroup> file 修改文件所在组
-R 递归应用到文件子目录及子文件
2.磁盘情况查询
df -h 磁盘使用情况查询
du -h 目录 查看指定目录的磁盘占用情况
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
-c 列出明细的同时,增加汇总值
--max-depth=1 子目录深度
例:查询 /opt 目录磁盘占用情况,深度为1
du -ach --max-depth=1 /opt
ls -l /home | grep "^-" | wc -l 统计 /home 目录下的文件个数
指令释义
ls -l \home 列出 /home 目录下的所有文件及目录
grep "^-" 保留所列出文件及目录列表中的文件,"^-"代表文件,"^d"代表目录
wc -l 统计个数
ls -l /home | grep "^d" | wc -l 统计 /home 目录下的目录个数
指令释义
ls -l \home 列出 /home 目录下的所有文件及目录
grep "^d" 保留所列出文件及目录列表中的目录,"^-"代表文件,"^d"代表目录
wc -l 统计个数
ls -lR /home | grep "^-" | wc -l 统计 /home 目录下的文件个数,包括子文件夹
指令释义
ls -lR \home 列出 /home 目录及其子目录下的所有文件及目录
grep "^-" 保留所列出文件及目录列表中的文件,"^-"代表文件,"^d"代表目录
wc -l 统计个数
ls -lR /home | grep "^d" | wc -l 统计 /home 目录下的目录个数,包括子文件夹
指令释义
ls -lR \home 列出 /home 目录及其子目录下的所有文件及目录
grep "^d" 保留所列出文件及目录列表中的目录,"^-"代表文件,"^d"代表目录
wc -l 统计个数
tree 以树状显示目录结构
yum install tree 安装 tree 指令
3.网络配置
ifconfig 查看网络状态
ifconfig windows下查看网络状态
ping <域名> 测试网络连通性
vim /etc/sysconfig/network-scripts/ifcfg-eth0 配置第一块网卡的静态 IP
onboot=yes
bootproto=static
ipaddr=想修改的ip
dns和网关保持一致即可
service network restart 重启网络(用 reboot 重启机器也可以)
十二、进程管理
常识
每一个进程都会对应一个父进程,而这个父进程可以复制多个子进程
进程分为前台进程和后台进程(守护进程),前台进程:用户正在屏幕上可操作的进程,后台进程:屏幕上无法看到,只在后台进行的进程
一般系统进程为后台进程,直到关机才结束运行
普通查看进程
ps -a 显示当前终端所的所有进程信息
ps -u 以用户的格式显示进程信息
ps -x 显示后台运行参数
ps -aux 以上参数一同显示
字段及符号说明
PID 进程识别号,进程 ID
TTY 终端机号
TIME 此进程使用 cpu 的时间
COMMAND 进程执行时的命令行
MEM 内存占用百分比
VSZ 虚拟内存占用情况
RSS 物理内存占用情况
STAT 进程状态
s 休眠
r 运行
START 启动时间
ps -aux | grep <过滤关键词> 查看指定进程
ps -aux | grep sshd 查看有关键词 sshd 的进程
ps -ef 查看父进程
PPID 父进程 ID
树状形式查看进程信息
pstree -p 显示进程的 PID
pstree -u 显示进程的所属用户
终止进程
kill <选项> <进程号> 终止进程
-9 强制终止进程
killall <进程名称> 终止进程,支持通配符
十三、服务管理
临时设置服务(重启后会恢复到最初状态)
service 服务名 <start/stop/restart/reload/status> 启动、终止、重启、重载、状态服务
systemctl 服务名 <start/stop/restart/reload/status> 启动、终止、重启、重载、状态服务
telnet <IP> <PORT> 用 windows 测试服务端口
开机自动启动服务设置
setup 进入系统服务设置,查看服务以及更改服务自启动设置
ls -l /etc/init.d 列出系统服务及服务名
设置每个服务的各个运行级别自启动/关闭
chkconfig --list | grep <服务名> 查看服务
chkconfig <服务名> --list 指定查看某个服务的各个状态
chkconfig --level 5 <服务名> on/off 设置某个服务的某个运行级别自启动/关闭
十四、动态进程监控
top -d 指定 top 命令每隔几秒更新默认是 3 秒
top -d1 每隔 1 秒更新
top -i 使 top 不显示任何闲置或者僵死的进程
top -p 通过指定进程监控 ID 来仅仅监控某一项进程
top界面命令
u 查看特定用户的资源使用情况
k 杀死特定进程
p 以 CPU 使用排序
m 以内存使用排序
n 以 PID 排序
q 退出 top
十五、监控网络服务状态
netstat -an 按一定顺序排列输出网络服务状态
netstat -p 显示那个进程正在调用
netstat -anp 一般情况下使用此指令
ping <IP> 检测主机连通情况
RPM 包
rpm 包基本格式
name.rpm rpm 安装包基本格式
rpm -qa | grep xx 查询已安装的 rpm 包列表
rpm -qi <包名> 查询包名信息
rpm -q <包名> 查询软件是否安装
rpm -ql <包名> 查询软件包安装到哪里去了
rpm -qf 文件全名路径 查询文件所属的软件包
rpm 卸载
rpm -e <软件名> 卸载 rpm 软件
rpm -e --nodeps <软件名> 强制卸载 rpm 软件
rpm 安装
rpm -ivh <rpm包路径名称>
i 安装
v 提示
h 进度条
十六、yum
介绍
是一个 SHELL 前端软件包管理器,基于 RPM 包管理,能够从指定的服务器上下载并安装 YUM 包
特性:自动处理依赖性关系,一次性安装所有依赖安装包
yum list | grep ** 查询云服务器是否有 ** 包
yum install ** 下载并安装 ** 包