Linux相关基础知识
网络相关
1:查看防火状态
systemctl status firewalld
service iptables status
2:暂时关闭防火墙
systemctl stop firewalld
service iptables stop
3:永久关闭防火墙
systemctl disable firewalld
chkconfig iptables off
4:重启防火墙
systemctl enable firewalld
service iptables restart
5:永久关闭后重启
chkconfig iptables on
6.ifconfig/ipconfig 查看当前所有的网络连接
7. vim /etc/sysconfig/network-scripts/ifcfg-网络名称 修改网络的配置
文件内容说明:
TYPE=Ethernet 接口类型,常见的有ETHERNET(以太网)、Bridge(桥接接口)
BOOTPROTO=dhcp 激活此接口使用什么协议来配置接口属性:dhcp(动态ip),static(静态ip),none(多网口时使用)
DEFROUTE=yes
PEERDNS=yes 如果BOOTPROTO的值为“dhcp”,是否允许dhcp
DNS1:第一DNS服务器指向;若/etc/resolve的配置文件也有,则此处优先
DNS2:备用DNS服务器指向;
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes 是否初始化IPV6,如果不需要设置ipv6,可以把带有ipv6的去掉
IPV6_AUTOCONF=yes 自动配置ipv6
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33 网卡的名称
UUID=0ea5507b-feab-4d8a-b582-e1874ca0bb97 此设备的唯一标识
DEVICE=ens33 此配置文件对应的设备名称
ONBOOT=yes 操作系统启动时,在系统引导过程中,是否激活此接口
IPADDR: 指明IP地址;
NETMASK:子网掩码;CentOS 7支持使用PREFIX以长度方式指明子网掩码;
GATEWAY:默认网关;
USERCTL:是否允许普通用户控制此设备;
8.service network restart 重启网络
9.ifconfig eth0 查看eth0 配置是否正常
10.mii-tool 检查网卡是否启用
11.ifconfig eth0 up 启动eth0网卡
12.ifconfig eth0 down 关闭eth0网卡
8.service NetworkManager stop 关闭网络管理
9.service network status 检查网络服务状态
10.service network statrt 启动网络服务
11.需要对域名进行解析,修改/etc/hosts文件
添加格式如下:
ip地址 域名
修改主机名称
1.临时修改主机名称
hostname 主机名称
2.永久修改主机名称
vi /etc/sysconfig/network
修改文件的内容如下:
NETWORKING=yes
HOSTNAME=hadoop001
在修改完之后,可以使用hostname(或者uname -a)进行验证,是否修改成功
Vim操作
1.创建文件
touch test.txt
vim/vi test.txt
2.文件的操作
i 进入insert模式,可以对文件进行增加删除
gg(:0/:1) 文件的最开头
shift + G (:$ 回车)文件末尾
shift + $ 到本行结尾
1$ 当前行的结尾 2$下一行的结尾
shift + ^ 到本行的开头
ESC 切换模式
q 推出 q!强制退出 wq保存并退出 w!强制写
dd 删除一行 ndd删除从当前行的连续几行
/ 查找相应的关键字
yy:复制当前行
nyy:n表示大于1的数字,复制n行
p 粘贴至游标后(下)
P 粘贴至游标前(上)
:u 撤销上一个命令
:s/str1/str2/ 替换当前行第一个 str1 为 str2
:s/str1/str2/g 替换当前行中所有 str1 为 str2
:m,ns/str1/str2/ 替换第 n 行开始到最后一行中每一行的第一个 str1 为 str2
:m,ns/str1/str2/g 替换第 n 行开始到最后一行中所有的 str1 为 str2
:set nu 设置行号
:set nonu 取消行号
将内容写入文件中
echo > file.txt 直接覆盖文件内容
echo >> file.txt 在文件后面中追加内容
echo "file" 输出 file
echo > file.txt 将一个空字符写入到这个文件中
cat /dev/null > file.txt 将文件中的内容清空
查看文件内容
cat test.txt 查看全部内容
tac 从最后一行倒序显示内容,并将所有内容输出
more 根据窗口大小,一页一页的现实文件内容
less 和more类似,但其优点可以往前翻页,而且进行可以搜索字符
head 只显示头几行
tail 只显示最后几行
nl 类似于cat -n,显示时输出行号
tailf 类似于tail -f
环境变量
1.别名 alias
系统会将常用的命令进行关联啦,如 ls -l => ll
如果使用别名的话,可以临时使用配置 alias cdrz='cd /root/yishengxiaoyao'
如果想要这个永久生效的话,需要在 /etc/profile里面设置
2.环境变量
全局环境变量:/etc/profile
在修改文件之后,需要使用source /etc/profile
如果想要修改个人的环境变量的话,需要修改
家目录/.bash_profile 或者 家目录/.bashrc
如果需要生效这个文件可以,可以使用source来生效,其他的配置文件可以使用source来生效
切换用户
1.su
su yishengxiaoyao 切换到当前目录的另外一个用户
su - yishengxiaoyao 切换到另外一个目录的家目录
查看历史记录
1.history
查看使用的命令,默认为存储1000条
使用!5 执行历史命令文件中的第5行命令
进程和端口
1.ps -ef|grep 服务 或者 使用 ps -aux|grep 服务
-A 列出所有的行程
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
au(x) 输出格式 :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 行程拥有者
PID: pid
%CPU: 占用的 CPU 使用率
%MEM: 占用的记忆体使用率
VSZ: 占用的虚拟记忆体大小
RSS: 占用的记忆体大小
TTY: 终端的次要装置号码 (minor device number of tty)
STAT: 该行程的状态:
D: 不可中断的静止 (通悸□□缜b进行 I/O 动作)
R: 正在执行中
S: 静止状态
T: 暂停执行
Z: 不存在但暂时无法消除
W: 没有足够的记忆体分页可分配
<: 高优先序的行程
N: 低优先序的行程
L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
START: 行程开始时间
TIME: 执行的时间
COMMAND:所执行的指令
端口号
netstat -nlp | grep 端口号
可以使用 lsof :端口号 查看端口号是否被占用
查找命令
find / -name "tomcat*" 进行全局搜索 需要有权限
locate java 查找java命令 通过环境变量查找
which java 查找java命令 通过环境变量查找
下载文件
1.wget 在后面输入下载路径
rpm
1.rpm -ivh your-package.rpm 安装软件
2.rpm -e proftpd-1.2.8-1 卸载软件
在安装或者卸载软件依赖时,需要使用 --nodeps参数
3.rpm -qa 将列出所有安装过的包
4.rpm -ql 包名 安装的位置 可以使用which来查找
5.一个rpm包中包含那些文件。
一个没有安装过的软件包,使用rpm -qlp ****.rpm
一个已经安装过的软件包,还可以使用rpm -ql ****.rpm
6.如何获取关于一个软件包的版本,用途等相关信息?
一个没有安装过的软件包,使用rpm -qip ****.rpm
一个已经安装过的软件包,还可以使用rpm -qi ****.rpm
yum
自动搜索最快镜像插件:yum install yum-fastestmirror
安装yum图形窗口插件:yum install yumex
查看可能批量安装的列表:yum grouplist
1.安装
yum install #全部安装
yum install package1 #安装指定的安装包package1
yum groupinsall group1 #安装程序组group1
2.更新和升级
yum update #全部更新
yum update package1 #更新指定程序包package1
yum check-update #检查可更新的程序
yum upgrade package1 #升级指定程序包package1
yum groupupdate group1 #升级程序组group1
3.查找和显示
yum info package1 #显示安装包信息package1
yum list #显示所有已经安装和可以安装的程序包
yum list package1 #显示指定程序包安装情况package1
yum groupinfo group1 #显示程序组group1信息yum search string 根据关键字string查找安装包
4.删除程序
yum remove package1 #删除程序包package1
yum groupremove group1 #删除程序组group1
yum deplist package1 #查看程序package1依赖情况
5.清除缓存
yum clean packages #清除缓存目录下的软件包
yum clean headers #清除缓存目录下的 headers
yum clean oldheaders #清除缓存目录下旧的 headers
yum -y install httpd 在安装httpd的时候,直接安装,不需要询问
压缩
1.tar -czvf test.tar.gz test/ 将test文件夹压缩为test.tar.gz
2.tar -zxvf test.tar.gz 解压test.tar.gz这个压缩文件
3.unzip test.zip 解压zip压缩包
4.zip test.zip test/ 将test文件夹进行压缩
磁盘
查看磁盘空间可以使用 df -h
查看文件的大小可以使用 du -h
内存大小可以使用 free -m
负载大小使用 uptime
查看每个进程的资源使用量使用top
screen
screen -S yourname -> 新建一个叫yourname的session
screen -ls -> 列出当前所有的session
screen -r yourname -> 回到yourname这个session
screen -d yourname -> 远程detach某个session
screen -d -r yourname -> 结束当前session并回到yourname这个session
用户组
whoami 查看当前登录用户名
增加用户:useradd -d /usr/username -m username
为用户增加密码:passwd username
新建工作组:groupadd groupname
将用户添加进工作组:usermod -G groupname username
删除用户:userdel username
查看用户相关的命令 ll /usr/sbin/user*
查看用户组相关命令 ll /usr/sbin/group*
存放用户信息:
/etc/passwd 在这个文件中存放着用户的家目录,是否可以登陆:将/home/yishengxiaoyao 修改为/tmp,/bin/bash 改为 /bin/false或者nologin
/etc/shadow
存放组信息:
/etc/group
/etc/gshadow
如果想要知道用户属于的组,可以使用id 用户名 命令查看
查看命令帮助
1.man vim
2.vim --help
修改用户密码
passwd xiaoyao
文件权限
1.常用的linux文件权限:
444 -r--r--r--
600 -rw-------
644 -rw-r--r--
666 -rw-rw-rw-
700 -rwx------
744 -rwxr--r--
755 -rwxr-xr-x
777 -rwxrwxrwx
注:使用ll命令查看文件/文件夹属性时候,一共有10列,第一个小格表示是文件夹或者连接等等
d表示文件夹,l表示连接文件,-表示文件
2.用户分组权限概念
从左至右:
1-3位数字代表文件所有者的权限
4-6位数字代表同组用户的权限
7-9数字代表其他用户的权限
3.数字概念解析
读(r)=4
写(w)=2
执行(x)=1
读+写+执行=4+2+1=7
通过4、2、1的组合,得到以下几种权限:
0(没有权限)
4(读取权限)
5(4+1 | 读取+执行)
6(4+2 | 读取+写入)
7(4+2+1 | 读取+写入+执行)
4.rwx字符的概念
以755为例
1-3位7等于4+2+1,rwx,所有者具有读取、写入、执行权限
4-6位5等于4+1+0,r-x,同组用户具有读取、执行权限但没有写入权限
7-9位5,同上,也是r-x,其他用户具有读取、执行权限但没有写入权限
5.对ugoa的理解
ugoa简写的含义:
u user(文件的所有者)
g group(与文件相关联的组)
o other(所有其他用户)
a all(ugo的所有用户)
操作运算符:
operator 含义
+ 为指定的用户类型添加权限
- 为指定的用户类型删除权限
= 设定或重置指定用户类型的权限
chmod 777 file 所有人都可以对文件进行读写操作
chmod +x file.sh 这个文件可以执行
chmod u+x file.sh 当前用户添加执行权限
chmod g+x file.sh 这个组可以添加执行权限
chmod o+x file.sh 其他用户有执行权限
chmod -R 777 file 所有人对这个文件夹中的所有文件都可以操作
6.chown
chown xiaoyao:xiaoyao(用户:用户组) file 修改文件的用户与用户组
chown -R xiaoyao:xiaoyao(用户:用户组) file 修改文件的用户与用户组,进行递归操作子文件