目录
- bin:存放二进制可执行文件。存放了普通用户和管理员都可以执行的命令。
- boot:存放系统引导时使用的各种文件。
- proc:虚拟文件系统,是系统内存的映射。可直接访问这个目录来获取系统信息。
- dev:存放设备文件。
- etc:存放系统和程序的配置文件。
- home:存放系统用户的文件。
- lib:存放程序运行所需的共享库和内核模块。
- opt:额外安装的可选应用程序包所放置的位置。
- root:超级用户目录。
- sbin:存放二进制可执行文件,只有 root 用户才能访问。
- tmp:存放临时文件。对所有用户都是可读可写可执行。增加删除此目录下的文件都没有任何关系,重启之后还是会恢复原来的样子。
- usr:存放系统应用程序。比较重要的目录/usr/local 本地系统管理员软件安装目录(安装系统级的应用)。这是最庞大的目录,要用到的应用程序和文件几乎都在这个目录。
- var:存放运行时需要改变数据的文件,例如日志文件或邮件。
一、常用系统工作命令(cento os)
1. 输出字符串、变量取值后的值
echo hello #输出hello
echo $SHELL #输出当前环境变量
2. 显示或设置系统时间与日期
date #输出当前日期时间
date "+%Y-%m-%d" #输出 年-月-日这种形式的日期
date "+%Y-%m-%d %H:%M:%S" #输出 年-月-日 时:分:秒这种形式的时间日期
date "+%j" #输出今天是今年的第几天
3. 设置系统时间
timedatectl status #当前状态
timedatectl list-timezones #查看timezone列表
timedatectl set-timezone Asia/Shanghai #改变时区为上海
4. 重启系统
reboot
5. 关机
poweroff
shutdown now
6. 在终端下载网络文件
wget
-b 加域名 #后台下载模式
-P(大写) 加域名 #下载到指定目录
-t 加域名 #最大尝试次数
-c 加域名 #断点续传
-p 加域名 #下载页面里所有资源
-r 加域名 #递归下载
进入某目录中不知道位置可通过pwd
查看当前位置
7. 查看系统中进程状态
ps
-a #显示所有进程
-u #用户以及其他详细信息
-x #显示没有控制终端的进程
USER:进程所有者
PID:进程id
%CPU:运算器占用率
%MEM:内存占用率
VSZ:虚拟内存占用率
RSS:占用的固定内存量
TTY:所在的终端
STAT:进程状态:R:运行(进程正在运行,运行列队正在等待或排队当中) S:中断(进程正在休眠中,当触发某条件后可能恢复运行可能结束;<:高优先级,N:低优先级,L:被锁进内存,s:包含子进程,I:多进程)D:不可中断 Z:僵死(进程已经结束,但是进程的描述符依然存在直到父进程退出后才释放)T:停止(收到停止信号后停止运行)
START
TIME COMMAND
8. 树形图的形式显示进程之间关系
pstree
9. 动态监视进程活动
top
top - 00:20:23 代表系统时间
up 1:00 代表运行时间
3 users 代表登录的终端数
load average: 0.23(一分钟内), 0.17(五分钟内), 0.10 (十五分钟内)代表系统的负载适中就好
10. 指定查询某个进程服务
pidof
得到进程号,可杀死进程
kill 64643 #杀死进程号64643代表的进程
kill all sshd #代表杀死全部进程
二、系统状态检测命令
1. 检查IP
ifconfig #既能得到IP信息还能得到网卡信息
IP a #只能得到IP信息
想查询某一个网卡信息
ifconfig 网卡名
2. 查看系统内核版本与系统架构
uname
-a
3. 查看系统负载信息
uptime
4. 显示当前系统内存使用量
free
free -h #显示以Gb的单位
5. 查看当前登录主机的用户终端信息
who
两个远程登陆一个是操作界面,一个是下载文件的界面
6. 调取主机的被访问记录
last #查看账号有无异常登陆情况
7. 测试主机间的连通性
ping
-c #总共发送的次数
-I #指定网卡的名称
-i #每次ping的时间间隔
-W #最长等待时间
8. 路由追踪
tracepath
9. 网络连接
netstat #用来显示网络接口、路由表、接口状态等信息
-r #显示网关
-a #显示所有网络连接
-p #显示正在使用的socket信息
-t #显示tcp协议连接状态
-n #使用IP地址,不适用域名
route -n #显示路由表
10. 显示执行过的历史命令
history
修改
vim/etc/profile
找到histsize进行修改,修改完后输入:wq进行保存,重启后生效
三、查找定位文件命令
1. 显示用户当前所处的工作目录
pwd
2. 用于切换当前的工作路径
cd
目录 #进入目录
.. #退出目录
- #退回上次目录
/ #回到根目录
~ #进入家目录
3. 显示目录中的文件信息
ls #相当于exe,程序
-a #显示隐藏文件(以.开头的文件)
-l #显示文件权限和属性
4. 以树形的方式显示目录
tree
/目录名#以树形显示该目录下的目录文件
5. 按照指定的条件来查找文件所对应的位置
find 目录
-name #匹配名称
-perm #匹配权限
-user #匹配所有者
-group #匹配组
-exec....{}\;
touch 文件.txt #创建空白文件
find / - name zc*.txt -exec cp -a {} /root \;
find / - name zc*.txt:找根目录下的所有文件名有zc的文件
-exec:表示执行后面跟着命令
cp 是-exec后跟着的命令(复制)
man 命令 #查看命令
-a:表示复制时,尽可能保持文件的结构和属性
{}:表示找到的东西
/root:根目录下的root用户的家目录
6. 按照名称的快速索引搜索文件
locate
将所有目录里的所有文件生成一个数据库,通过搜索数据库快速定位想要查找的文件,使用这个命令前需要更新updatedb,更新后在根目录中使用locate查找文件
7. 按照名称快速搜索二进制程序
whereis
其中
是ls和cp的帮助文档的位置
8. 按照名称快速搜索二进制程序
which
四、文本文件编辑命令
1. 查看纯文本文件
cat
-n #查看纯文本时会有行号
2. 查看纯文本文件
more
适用于查看文本较多的
3. 查看纯文本文件前n行
head -n 数字 文件
4. 查看纯文本文件后n行
tail -n 数字 文件
Linux中安装软件后重启服务:systemctl restart,开机自启:systemctl enable,取消开机自启:systemctl disable,检查状态:systemctl status
阿帕奇中有一个日志文件进入/var/log/httpd/里后ls有一个access_log(访问日志)
实时查看阿帕奇访问日志
tail -f access_log
5. 替换文本内容
tr
新建文本文档并插入数据
vim 文档名.txt
插入数据后ctrl+c再输入:wq进行保存
cat xj.txt #查看文档内容
cat xj.txt | tr [a-z] [A-Z] #将小写a-z替换为大写的A-Z
6. 统计指定文本的行数
wc
-l 文档 #只显示行数
-w 文档 #只显示单词数
-c 文档 #只显示字节数
统计了Linux中一共多少用户
wc -l /etc/passwd
统计了Linux中一共多少用户时不能登陆的
cat /etc/passwd|grep nologin|wc -l #结果不太准确还有一些用户不能登录不是nologin
cat /etc/passwd:查看/etc/passwd内容;grep nologin:过滤出nologin;wc -l:统计个数;“|”管道符:前面的输出作为后面的输入
cat /etc/passwd|grep -v /bin/bash|wc -l
grep -v:反向过滤
grep -v /bin/bash:过滤出不是/bin/bash的用户
7. 查看文件的具体存储细节和时间信息
stat
stat xj.txt
8. 过滤
grep
-c #仅显示找到的行数
-i #忽略大小写
-n #显示行号
-v #反向选择
9. 按列提取
cut
cut -d ; -f 1 /etc/passwd #以分号分割用户名在第几列-f后就跟几
-b:仅显示行中指定直接范围的内容;
-c:仅显示行中指定范围的字符;
-d:指定字段的分隔符,默认的字段分隔符为“TAB”;
-f:显示指定字段的内容;
-n:与“-b”选项连用,不分割多字节字符;
--complement:补足被选择的字节、字符或字段;
--out-delimiter= 字段分隔符:指定输出内容是的字段分割符;
--help:显示指令的帮助信息;
--version:显示指令的版本信息。
10. 比较多个文件之间的差异
diff
可以将/etc/passwd中的passwd复制进家目录
cp /etc/passwd ~
如果有人入侵系统新建了一个用户,可以将/etc/passwd和家目录中的passwd进行比较,查看是否被入侵
diff /etc/passwd passwd
11. 去掉重复行
uniq
-c, --count # 在每行开头增加重复次数。
-d, --repeated # 所有邻近的重复行只被打印一次。
-f<栏位>或--skip-fields=<栏位> #忽略比较指定的栏位。
-s<字符位置>或--skip-chars=<字符位置> #忽略比较指定的字符。
-u或——unique #仅显示出一次的行列。
-w<字符位置>或--check-chars=<字符位置> #指定要比较的字符。
uniq只能去除文本中连续的重复行
五、文件操作命令
1. 创建空白文件/设置文件时间
touch
-a #修改读取时间
-m #修改修改时间
-d #同时以上两种
2. 创建空白目录
mkdir
创建n多目录,多级创建
midir -p b/c/d/e
3. 复制文件或目录
cp
-p #保留原始文件的属性
-r #递归持续复制
-i #若目标文件存在则询问是否覆盖
-a #相当于-pdr
4. 剪切、重命名文件
mv
5. 删除文件或目录
rm
-f #强制执行
-i #删除前询问
-r #删除目录并且删除目录中的目录即递归删除此目录中内容
-v #显示删除过程
rm -rf www.sxpc.edu.cn
6. 按照指定大小的数据块个数来复制或转换文件
dd
if 输出的文件名称
count 块的数量
bs 块的大小
7. 查看文件类型
file
8. 对文件进行打包压缩或解压
tar
-c #创建压缩文件
-x #解开压缩文件
-t #查看压缩文件里面有哪些文件
-z #Gzip压缩格式
-j #bzip压缩格式
-v #显示过程
-f #目标文件名称
添加:
关闭防火墙1
systemctl stop firewalld.service //关闭防火墙程序
systemctl disable firewalld.service//关闭开机自启动
关闭防火墙2
firewall-cmd --set-default-zone=trusted//并没有关闭防火墙但是此时开启的防火墙形同虚设
关闭虚拟化
systemctl stop libvirtd.service //关闭虚拟化程序
systemctl disable libvirtd.service//关闭开机自启动
文件颜色含义
绝对路径:
以/打头,任何目录下都可进入想进的目录。
相对路径:
不以/打头的都不是绝对路径,不能再任何目录下进入想进的目录。
提示符:
[root@localhost~]#
[当前用户 分隔符 主机名 家目录]#
**#
**管理员用户权限
**$
**普通用户权限
清屏
clear
-v #显示过程
-f #目标文件名称
[外链图片转存中...(img-Fb4lipTX-1692196899030)]
# 添加:
**关闭防火墙1**
```shell
systemctl stop firewalld.service //关闭防火墙程序
systemctl disable firewalld.service//关闭开机自启动
关闭防火墙2
firewall-cmd --set-default-zone=trusted//并没有关闭防火墙但是此时开启的防火墙形同虚设
关闭虚拟化
systemctl stop libvirtd.service //关闭虚拟化程序
systemctl disable libvirtd.service//关闭开机自启动
文件颜色含义
[外链图片转存中…(img-FrpQ6Fzd-1692196899031)]
绝对路径:
以/打头,任何目录下都可进入想进的目录。
相对路径:
不以/打头的都不是绝对路径,不能再任何目录下进入想进的目录。
提示符:
[root@localhost~]#
[当前用户 分隔符 主机名 家目录]#
**#
**管理员用户权限
**$
**普通用户权限
清屏
clear
CTRL+L