一.目录
/bin(*) 常用指令目录
/sbin super user bin 系统管理员使用的系统管理程序
/dev 管理设备
/home(*) 存放普通用户主目录
/root(*) 系统管理员目录
/lib 系统开机所需最基本的动态连接共享库
/etc(*) 所有系统管理员需要的配置文件和子目录 my.conf
/usr(*) 用户的程序和文件存在目录
/boot(*) 启动linux的核心文件 包括连接文件和镜像
/tmp 临时文件目录
/media(*) 系统识别外接设备
/mnt(*) 临时挂载别的文件系统目录
/opt 安装软件目录
/var(*) 存放不断扩充的东西 习惯放日志文件
/usr/local(*) 另一个给主机安装软件的目录 一般通过编译源码方式安装程序
二.实操
1.vi和vim
三种模式
-
正常模式 vi+文件
-
插入模式 i
-
命令行模式 esc -> :wq! q!
快捷方式
-
拷贝当前行 正常模式下 yy or 5yy拷贝当前行下5行 粘贴p
-
删除当前行 正常模式下 dd or 5dd
-
查找关键词 命令模式下 /关键字 回车 n查找下一个
-
设置文件行号 命令模式下 :set nu(开) :set nonu(关)
-
文件底部 G 最末,gg最首
-
撤回 正常模式下 u
-
光标跳转到哪一行 :set nu 正常模式 页数 shift g
2.关机&重启命令
shutdown
shutdown -h now :立即关机
shutdown -h 1 : 1分钟后关机
shutdown -r now 重启
halt 等价于关机
reboot 重启系统
syn 把内存数据同步到磁盘(重要!!!关机重启前建议先执行)
logout 注销
3.用户管理&用户组
用户
-
useradd 用户名 添加用户和用户名的家目录
-
useradd -d 目录 用户名 在指定目录下创建用户
-
useradd -g 组名 用户名 创建用户并指定到用户组
-
passwd 用户名 设置密码
-
userdel 用户名 删除用户及保留家目录
-
userdel -r 用户名 删除用户及目录
-
id 用户名 查询用户信息
-
su 用户名 切换用户(权限高账号到权限低账号不需要密码)
-
exit 返回原来用户
用户组
-
groupadd 组名 添加组
-
groupdel 组名 删除组
-
usermod -g 用户组 用户名 修改用户所在的用户组
用户和用户组关系
etc/passwd文件
结构:账号:密码:用户id:组id:用户的目录:shell
etc/shadow文件
口令文件
etc/group组配置文件
结构:组名:口令:组id:组成员
三.实用指令
init 运行级别
例:密码丢失??? or 运行级别被人修改成0 开机后就立即关机???
1.电脑启动引导页 按enter
2.输入e
3.选择第二个(编辑内核) 输入e
4.输入 1 (单用户模式) 回车键
5.输入b 进入单用户模式(单用户模式不需要密码)
6.passwd 用户 修改密码
帮助指令
-
man 命令
-
help 命令
-
看不懂英文咋办???网上搜索
文件目录类指令
-
-
ls 当前目录下所有文件
-
mkdir 目录 创建目录( -p多级目录)
-
rmdir 目录 删除空目录(-rf删除非空目录)
-
touch 文件 创建空文件
-
rm 文件 删除文件(-r递归删除 -f强删)
-
cp source dest 拷贝文件(-r 递归拷贝文件)
-
mv old new 移动文件或重命名
-
cat 文件名 查看文件内容(只读)(-n显示行号)
-
more 文件名 全屏按页显示内容
-
less 文件名 分屏查看文件内容
-
-
>> 文件名 追加,追加再文件最后一行
-
echo 输出内容到控制台
-
head 显示文件前10行(-n 行数 指定显示行数)
-
tail 显示文件后10行(-n 行数 指定显示行数,-f 实时显示文件内容,用于查看日志变化)
-
ln -s 原目录或文件 软连接 软连接/符号连接(rm -rf 删除软连接)
-
history 查看执行过的历史命令(history 数字 最近几个指令)
-
!数字 历史编号为数字的命令
时间日期
-
date "+%Y %m %d" 显示当前日期
-
date -s "2020-09-30" 设置系统时间
-
cal 当前的日历(cal 年 显示一年日历)
搜索查找
-
find 【搜索范围】【选项】 文件名 查找目录下根据条件查找文件
-
find / -name 文件 根据名字查找
-
find / -user 文件 根据用户查找
-
find / -size +20M 根据文件大小查找
- find / -type f -size +1G linux如何查看系统占用磁盘空间最大的文件及让文件按大小排序
-
-
locate 基于数据库查看(先执行updatedb,再执行该命令)
-
grep和管道符| grep过滤查找 管道符将前一个命令结果传给后面命令 (-n 显示行号。-i 忽略大小写)
-
cat 文件名 | grep -n 查找内容
压缩和解压
-
gzip 目标文件 压缩文件 ——原文件会被删除
-
gunzip 文件 解压——原文件被删除
-
zip 文件 压缩(-r 递归压缩 -d指定压缩路径)
-
unzip 文件 解压
-
tar 【选项】 文件 内容 打包指令(-c 生产tar打包文件 -v 显示详细信息 -f指定压缩文件名 -z打包同时压缩 -x解包)
-
tar -zcvf *.tar.gz 文件1 文件2 压缩
-
tar -zxvf *.tar.gz -C 目录
文件上传下载
#scp 【本地文件路径】 【服务器用户名】@【服务器ip】:【服务器文件存放路径】 scp local_folder remote_username@remote_ip:remote_folder
#scp 【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】【本地文件的路径】 scp -r remote_username@remote_ip:remote_folder local_folder
1.权限介绍
执行命令 ls -ahl
例 :-rw- r-- r-- 1 sun root 6 9月 19:22 *.txt
-【文件类型】
-
- 普通文件
-
d 目录
-
l 软连接文件
-
c 字符设备【键盘,鼠标】
-
b 块文件,硬盘
rw-【文件所有者权限】
-
r 读
-
w 写
-
x 执行
-
- 无
r--【文件所在组权限】
-
r 读
-
w 写
-
x 执行
-
- 无
r--【文件其他组权限】
-
r 读
-
w 写
-
x 执行
-
- 无
1 【目录个数】
-
文件的话默认1
-
目录的话看子目录个数
sun 【文件所有者】
root 【文件所在组】
6 【文件的大小】
-
文件的话表示大小
-
目录的话默认4096
9月 19:22 【文件最后修改时间】
2.修改权限
第一种方式:chmod
u: 所有者 g: 所在组 o: 其他组 a:所有人
-
chmod u=rwx,g=rx,o=x 文件名
-
chmod o+x 文件名
-
chmod a-w 文件名
第二种方式:数字变更(推荐)
规则:r=4 w=2 x=1 rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件名 = chmod 751 文件名
3.修改文件所有者
-
chown 所有者 file
-
chown 所有者:所有组 file (-R 递归修改)
-
chgrp 所有组 file
-
crontab -e 编辑任务
-
crontab -l 查看任务
-
crontab -r 终止所有任务
-
service crontab restart 重启任务调度
六. 磁盘
df -l or -h 查看磁盘使用情况
du 【指令】 /目录 查看指定目录占有情况
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
-max-depth=1 子目录深度
-c 列出明细同时增加汇总值
例: du -sh * |sort -nr 按从大到小顺序查看当前目录下文件的大小情况
ls -l 目录 |grep “文件类型(-文件 d目录)” wc -l 查看目录下文件个数
七.网络
-
ifconfig 查看网络和网关
-
ping 域名/Ip 测试网络是否通
-
telnet ip port 查看某机器某端口是否可访问
-
vi /etc/sysconfig/network-scripts/ifcfg-eth0 指定IP并可连接到外网(修改完重启网络)
ONBOOT=yes 启动配置
BOOTPROTO=static 静态获取
IPADDR=192.168.184.11 指定Ip
GATEWAY=192.168.184.2 网关
DNS1=192.168.184.2 dns,和网关保持一致
八.进程管理
ps -a 显示当前终端所有进程信息
ps -u 以用户格式显示进程信息
ps -x 显示后台进程运行参数
kill 【选项 -9 强制杀掉】 进程号 杀掉进程
service 服务名 【start】【stop】【restart】【reload
】【status】
注:CentOS7.0后不再使用service 而是用system
例:防火墙
查看 service iptables status or service firewalld status
临时关闭 service iptables stop
ls -l /etc/init.d 列出系统有哪些服务
chkconfig 给每个服务的各个运行级别设置启动/关闭
1)chkconfig --list|grep xxx 查看服务
2)chkconfig 服务名 -- list 查看指定服务
3)chkconfig --level 5 服务名 on/off 给某个服务设置指令级别
网络监控
top 【选项】 查看执行的进程
1.案例:查看指定用户
top-> 回车键-> 输入u ->输入用户
2.案例:终止指定进程
top-> 回车键-> 输入k-> 回车-> 输入结束的进程ID
3.案例:指定系统更新时间10s 默认3s
top -d 10
netstat【选项】 查看系统网络
netstat -anp | more 查看所有网络
九.其他实用命令
rpm包的简单指令
rpm -qa |grep 软件包名 查看系统是否有某个软件包
rpm -q 软件包名 查看软件包是否安装
rpm -qi 软件包名 查看软件包详细信息
rpm -qf 文件 查看文件属于哪个软件包
rpm -ql 软件包名 查看软件包下的文件路径
rpm -e 软件包名 卸载软件
rpm -ivh 软件包路径 安装软件(i安装v提示h进度条)
yum的简单指令
yum install 软件名 下载软件,会下载依赖包
awk命令
awk '/关键字/' 文件名 搜索某个文件中含有关键字的行
awk 'BEGIN(IGNORECASE=1) /关键字/' 文件名 忽略大小写搜索文件中含有的关键字
awk ‘$1 ~ /关键字/ {print $1,$2}’ 文件名 搜索文件中第一列包含关键字 并打印出第一列和第二列
awk -F, '{print $1,$2}' 文件名 搜索文件按逗号进行分割打印第一列和第二列
awk -va=1 '{print $1,$1+a}' 文件名 取出文件中第一列并把第一列 加上变量a进行打印
awk -f xxx.awk 文件名 将文件按照awk脚本执行
sar命令
1.CPU利用率
sar -p (查看全天)
sar -u 1 10 (1:每隔一秒,10:写入10次)
2.内存利用率
sar -r (查看全天)
sar -r 1 10 (1:每隔一秒,10:写入10次)
3.磁盘I/O
sar -d (查看全天)
sar -d 1 2 (1:每隔一秒,2:写入2次)
4.网络流量
sar -n DEV (查看全天)
sar -n DEV 1 2 (1:每隔一秒,2:写入2次)
大文件查询(常用,核心)
1.sed -n ‘5,10p’ filename 查看文件第5-10行内容(可以搭配 > 文件名 将查询结果导出到某个文件)
2.grep (可以搭配 > 文件名 将查询结果导出到某个文件)
grep -C 5 字符 filename 显示file文件中匹配字符串那行以及上下5行
grep -B 5 字符 filename 显示及前5行
grep -A 5 字符 filename 显示及后5行
3.tail(可以搭配 > 文件名 将查询结果导出到某个文件)
从第3000行开始,显示1000行。即显示3000~3999行
cat filename | tail -n +3000 | head -n 1000
显示1000行到3000行
cat filename| head -n 3000 | tail -n +1000
持续更新中。。。