文章目录
ip设置
查看ip
ip addr
ifconfig
编辑配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
service network restart
DNS查看
cat /etc/resolv.conf
网关是否添加
cat /etc/sysconfig/network
连接ip看是否联网
ping 192.168.199.184
ping www.baidu.com
确保DNS可以用
grep hosts /etc/nsswitch.conf
显示当前连接的网
nmcli connection show
将dns配置生效
nmcli con up ens33
linux有几个终端呢?
linux有7个终端
通过ctrl + alt + f1-f7 切换终端
linux文件目录结构
pwd 打印当前工作目录
一切以根'/' 目录开始,linux分隔符是斜杠 '/' ,不同于 window的反斜杠 '\'
/home 普通用户家目录
/home/zrq
/root 超级用户的家目录
/etc 存放软件的配置文件
一般来说,通过yum(pip)自动安装的软件,配置文件一般都在/etc下
/etc/my.conf mysql的配置文件
/etc/redis.conf redis的配置文件
/sbin 存放可执行命令 文件
/bin 存放可执行命令 文件
/usr/local/bin 存放可执行命令 文件
/opt 存放额外安装的软件目录
比如咱们要安装nginx软件,python3软件,正规的存放目录是/opt
/opt/nginx1-12/
/opt/python36/
/tmp 存放临时文件,不重要的文件,文件夹
/var 存放系统日志文件居多,比如存放nginx,python,django等等日志
文件颜色
绿色-可执行 黄色-设备
红色-压缩文件 闪烁红色-链接文件故障
蓝色-目录 白色-文本
浅蓝色-链接文件 灰色-其他文件
linux文件操作
touch 创建普通文本、修改文本时间戳(伪造时间戳)
stat命令
查看文件详细信息,包括修改时间
mkdir 创建文件夹
-p参数 递归创建文件夹
[root@localhost tmp]# mkdir -p /tmp/python/study/future
vi 编辑文本文件,相当于windows下的notepad++
vim 编辑
使用vim打开文件,默认是命令模式,需要输入a / i 进入编辑模式
按下esc键,回到命令模式
w write 写入
q quit 退出
! 强制
输入 :wq! 强制保存退出
:x 保存退出
:q 不保存退出
:q! 不保存强制退出
rm cp mv
rm 用于删除文件 或 文件夹
-r 递归删除非空文件夹
-f 强制删除
-i 需要删除确认
rmdir 删除空目录
cp 复制
move > mv 移动、重命名
mv 旧文件名字 新文件夹名字
mv 文件 文件夹
echo
echo str 输出str
ls 查看文件夹内容
-a 查看隐藏文件夹
-l 列表显示
-h 显示文件大小
find
find 在哪里(目录) 什么类型(文件类型) 叫什么名字(文件名)
参数
-name 按照文件名查找文件
-type 查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
s - socket文件
find /tmp/ -type f -name "study.py"
#找出/tmp所有以 .txt 结尾的文件
find /tmp/ -type f -name "*.txt"
#找到/etc下所有名字以host开头的文件
find /etc -name 'host*'
cat和more
cat 文件 查看文件所有内容
more 文件 一页页看文件,显示百分比
按下空格space是翻页
按下b键是上一页
回车键向下读取内容
head和tail
head显示文件前几行,默认前10行
tail显示文件后几行,默认后10行
#查看前两行
head -2 /tmp/study.txt
#查看后两行
tail -2 /tmp/study.txt
#持续刷新显示
tail -f xx.log
管道
grep [参数] [--color=auto] [字符串] filename
参数详解:
-i : 忽略大小写
-n : 输出行号
-v : 反向选择
--color = auto : 给关键词部分添加颜色
#检查python程序是否启动
ps -ef|grep "python"
du命令用于显示目录或文件的大小。
用法
du 【参数】【文件或目录】
-s 显示总计
-h 以k,M,G为单位显示,可读性强
#什么都不跟,代表显示当前目录所有文件大小
du
#显示/home的总大小
du -sh /home
top
top 命令用于动态地监视进程活动与系统负载等信息
第一行 (uptime)
系统时间 主机运行时间 用户连接数(who) 系统1,5,15分钟的平均负载
第二行:进程信息
进程总数 正在运行的进程数 睡眠的进程数 停止的进程数 僵尸进程数
第三行:cpu信息
1.5 us:用户空间所占CPU百分比
0.9 sy:内核空间占用CPU百分比
0.0 ni:用户进程空间内改变过优先级的进程占用CPU百分比
97.5 id:空闲CPU百分比
0.2 wa:等待输入输出的CPU时间百分比
0.0 hi:硬件CPU中断占用百分比
0.0 si:软中断占用百分比
0.0 st:虚拟机占用百分比
第四行:内存信息(与第五行的信息类似与free命令)
8053444 total:物理内存总量
7779224 used:已使用的内存总量
274220 free:空闲的内存总量(free+used=total)
359212 buffers:用作内核缓存的内存量
第五行:swap信息
8265724 total:交换分区总量
33840 used:已使用的交换分区总量
8231884 free:空闲交换区总量
4358088 cached Mem:缓冲的交换区总量,内存中的内容被换出到交换区,然后又被换入到内存,但是使用过的交换区没有被覆盖,交换区的这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。
用户
#添加用户
useradd study
#设置密码
passwd jianchi
su命令可以切换用户身份的需求,
su - username
#先看下当前用户(我是谁)
whoami
#切换用户
su - study
#退出用户登录
logout
ctrl + d
userdel删除用户
-f 强制删除用户
-r 删除用户以及家目录
userdel -r study
sudo
sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。
sudo 【选项】【参数】
-b:在后台执行指令;
-h:显示帮助;
-H:将HOME环境变量设为新身份的HOME环境变量;
-k:结束密码的有效期限,也就是下次再执行sudo时便需要输入密码;。
-l:列出目前用户可执行与无法执行的指令;
-p:改变询问密码的提示符号;
-s:执行指定的shell;
-u<用户>:以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份;
-v:延长密码有效期限5分钟;
-V :显示版本信息。
普通用户添加sudo权限
visudo 编辑sudoers文件
写入
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
zrq ALL=(ALL) ALL #允许chaoge在任何地方,执行任何命令
文件权限
r-w-x 读-写-执行 4-2-1
修改权限组
chgrp root study.txt
修改所属用户
chown root study.txt
修改权限
chmod [身份] [参数] [文件]
u(user) +(添加)
g(group) -(减去)
o(other) =(赋值)
a(all)
减去属主的写权限
chmod u-w study.txt
软连接
ln -s 目标文件 软连接名
在/home目录中建立软连接,指向/tmp/test.txt文件
cd /home
ln -s /tmp/test.txt my_test
ps
ps 命令用于查看系统中的进程状态,格式为“ps [参数]”。
ps 命令常用参数
-a 显示所有进程
-u 用户以及其他详细信息
-x 显示没有控制终端的进程
kill
kill命令用来删除执行中的程序或工作。kill可将指定的信息送至程序。
参数
-a:当处理当前进程时,不限制命令名和进程号的对应关系;
-l <信息编号>:若不加<信息编号>选项,则-l参数会列出全部的信息名称;
-p:指定kill 命令只打印相关进程的进程号,而不发送任何信号;
-s <信息名称或编号>:指定要送出的信息;
-u:指定用户。
先用ps查找进程,然后用kill杀掉:
ps -ef | grep vim
root 3268 2884 0 16:21 pts/1 00:00:00 vim install.log
root 3370 2822 0 16:21 pts/0 00:00:00 grep vim
kill 3268
通常来讲,复杂软件的服务程序会有多个进程协同为用户提供服务,如果逐个去结束这 些进程会比较麻烦,此时可以使用 killall 命令来批量结束某个服务程序带有的全部进程。
例如nginx启动后有2个进程
killall nginx
DNS配置文件
查看Linux的dns,唯一配置文件
配置文件
cat /etc/resolv.conf
#dns服务器地址
nameserver 119.29.29.29
nameserver 223.5.5.5
计划任务
crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似
语法
crontab (选项)(参数)
-e:编辑该用户的计时器设置;
-l:列出该用户的计时器设置;
-r:删除该用户的计时器设置;
-u<用户名称>:指定要设定计时器的用户名称。
存放定时任务的文件
/var/spool/cron
所有命令一定要用绝对路径来写!
#每小时的3,15分组执行命令
3,15 * * * * 命令
#在上午8-11点的第3和第15分钟执行
3,15 8-11 * * * 命令
#每晚21:30执行命令
30 21 * * * 命令
#没周六、日的1:30执行命令
30 1 * * 6,0 命令
#每周一到周五的凌晨1点,清空/tmp目录的所有文件
0 1 * * 1-5 /usr/bin/rm -rf /tmp/*
#每晚的21:30重启nginx
30 21 * * * /opt/nginx/sbin/nginx -s reload
#每月的1,10,22日的4:45重启nginx
45 4 1,1,10,22 * * /opt/nginx/sbin/nginx -s reload
#每个星期一的上午8点到11点的第3和15分钟执行命令
3,15 8-11 * * 1 command
本地强制dns解析文件/etc/hosts
指定本地解析:
/etc/hosts
主机IP 主机名 主机别名
127.0.0.1 www.study.cn
必须掌握的/etc下的linux目录知识
/etc:
这个目录用来存放所有的系统管理所需要的配置文件和子目录。
复制代码
#网卡配置文件
/etc/sysconfig/network-script/ifcfg-eth0
#修改机器名以及网卡,网管等配置
/etc/sysconfig/network
#linux的dns客户端配置文件,实现域名和ip的互相解析
/etc/resolv.conf
#本地dns解析文件,设定ip和域名的对应解析,开发测试最常用的临时域名解析
/etc/hosts/
#系统全局环境变量永久生效的配置文件,如PATH等
/etc/profile
#用户的环境变量
~/.bash_profile
~/.bashrc
#存放可执行程序的目录,大多是系统管理命令
/usr/sbin
#存放用户自编译安装软件的目录 > 等同于C:\Program files (windows)
/usr/local
#关于处理器的信息,还可以top指令查看
/proc/cpuinfo
#查看内存信息,还可以free -m
/proc/meminfo