Linux
1、目录结构
/ #根目录
/bin #存放必要的命令
/boot #存放内核以及启动所需的文件
/dev #存放设备文件
/etc #存放系统配置文件
/home #普通用户的宿主目录,用户数据存放在其主目录中
/lib #存放必要的运行库
/mnt #存放临时的映射文件系统,通常用来挂载使用
/proc #存放储存进程和系统信息
/root #超级用户主目录
/sbin #存放系统管理程序
/tmp #存放临时文件
/usr #存放应用程序,命令程序文件、程序库、手册和其他文档
/var #系统默认日志存放目录
2、常用命令
$代表普通用户 #代表root用户
| 管道符,用于把|前的输出作为后面命令的输入
> 追加并覆盖
>>追加不覆盖
su #切换root用户
cd /home #进入/home目录
cd / #进入/目录
cd ../ #进入上一级目录
cd ./ #进入当前目录
ls ./ #查看当前所有文件和目录
ls -a #查看所有文件,包括隐藏文件
ls -l #查看所有文件,包括隐藏文件的用户和权限
pwd #显示当前所在的目录
mkdir test #在当前目录创建test目录
mkdir -p test/txt/1 #创建多级目录
rmdir test #删除空目录test
rmdir -p test/txt/1 #同时删除多级目录
rm -rf test #强制删除目录test(-r:递归;-f:强制)
cp an.cfg /tmp/ #拷贝an.cfg文件到tmp目录
cp -r /root/ /tmp/ #拷贝root目录到tmp目录下
mv test.txt 1.txt #将test.txt文件重命名为1.txt
mv 1.txt /root #将1.txt文件移动到root目录
mv -f #强制
mv -u #只替换已经更新过的文件
touch test.txt #创建文件,如果文件存在,则修改当前文件时间
useradd wugk #创建用户wugk
userdel wugk #删除用户wugk
groupadd wugk1 #创建组wugk1
groupdel wugk1 #删除组wugk1
find / -name "1.txt" #在/目录下查找1.txt文件
cat test.txt #查看test.txt文件
tac test.txt #倒序查看test.txt文件
nl test.txt #查看test.txt并显示行号
more /etc/passwd #分页查看文件(空格翻页;回车下一行)
less /etc/passwd #分页查看文件(空格翻页;回车下一行;↑向上移动;↓向下移动;q退出;/向下查找;?向上查找;n寻找下一个,N寻找上一个)
head -n 20 /etc/passwd #查看前20行内容
tail -n 20 /etc/passwd #查看后20行内容
echo ok #回显,输出ok
echo ok >test.txt #用ok覆盖test.txt内容
echo ok >>test.txt #把ok追加到test.txt下后面
sync #把数据从内存同步到硬盘中
shutdown #关机指令
shutdown -h 10 #10分钟后关机
shutdown -h now #立马关机
shutdown -h 20:25 #今天20:25关机
shutdown -h +10 #10分钟后关机
shutdown -r now #立马重启
shutdown -r +10 #10分钟后重启
reboot #立马重启
halt #立马关机
3、用户权限
- 可读®、可写(w)、可执行(x)、无权限(-)
- -rw-r–r--
- 第一位表示文件类型,-表示文件;d表示目录;l表示链接;b可存储设备;c一次性读取设备;后面每3位为一组
- 第一组:2-4位表示文件所有者的权限,即用户user权限,简称u
- 第二组:5-7位表示文件所有者所属组成员的权限,group权限,简称g
- 第三组:8-10位表示所有者所属组之外的用户的权限,other权限,简称o
- r用4表示,w用2表示,x用1表示
- -rw-r–r--
- 644
ls -l anaconda-ks.cfg #查看anaconda-ks.cfg文件的用户权限
chgrp -R aubin test #将test目录的组改为aubin
chown -R abc:abc test.txt #将test目录的用户改为aubin
chown -R abc:abc test.txt #改变test.txt文件的所在组和用户
chmod o+w test.txt #为test.txt文件的other用户添加可写权限
chmod u=rwx,g=rwx,o=rwx test.txt #为test.txt文件的不同用户添加可读可写可执行权限
chmod 676 test.txt #为test.txt文件的不同用户添加不同权限
4、网络配置
- cd /etc/sysconfig/network-scripts/ 网卡信息目录
- ifcfg-ens33 网卡信息
修改ip地址(ifcfg-ens33)
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=3589a435-f30e-426a-be4d-9695b48b13f6
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.160
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114
DNS2=219.147.1.66
ifconfig #查看当前ip
/etc/init.d/network restart #重启network服务
systemctl restart network #重启network服务
5、链接
Linux的链接分为两种:硬链接、软连接
硬链接:A—B,假设B是A的硬链接,那么他们两个指向了同一个文件!允许一个文件拥有多个路径,源文件删除,硬链接也会存在,用户可以通过这种机制建立硬链接到一些重要文件上,防止误删!
软连接:就是类似Windows下的快捷方式,删除源文件,软连接也访问不了
touch f1 #创建f1文件
ln f1 f2 #为f1创建硬链接f2
ln -s f1 f3 #为f1创建软链接f3
6、Vim编辑器
vi test.txt #编辑test.txt文件;如果文件不存在就创建文件
vim test.txt #与vi一样
i #进入输入模式(在光标之前开始编辑)
a #进入输入模式(在光标之后开始编辑)
o #进入输入模式(在光标所在行之后添加新的一行,并在该行开始编辑)
esc #命令行模式(按键esc)
:wq #保存退出
:q! #不保存强制退出
:set nu #设置行号
:set nonu #取消行号
/a #从光标向下搜索a
?a #从光标向上搜索a
7、账号管理
useradd wugk #创建用户wugk
useradd -m dong #创建用户dong并创建主目录
useradd -G dong dong2 #创建dong2用户分配给组dong
userdel -r wugk #删除用户wugk并删除主目录
usermod -d ./2 dong2 #修改用户目录
su #切换root用户;$代表普通用户;#代表root用户
su dong #切换dong用户
hostname #查看主机名
hostname dong #将主机名需要改为dong(需要重新连接)
passwd dong #为dong用户修改密码
passwd -l dong #锁定dong用户
passwd -d dong #锁定dong用户
8、用户组管理
组ID信息在/etc/group中
groupadd wugk1 #创建组wugk1
groupadd -g 520 dong520 #创建组dong520指定id520
groupmod -g 520 dong2 #修改dong2的id为520
groupmod -n new520 dong2#修改dong2的名字为new520
groupdel wugk1 #删除组wugk1
9、文件查看
/etc/passwd
dong:x:1001:777::/home/dong:/bin/bash
dong #用户名
x #口令(不可见)
1001 #用户id
777 #组id
/home/dong #主目录
/bin/bash #登录的shell
/etc/group
所有的组信息
/etc/shadow
存放加密的密码
10、磁盘管理
df(列出文件系统整体的磁盘使用量)
df #查看所有的磁盘使用量
df -h #查看所有的磁盘使用量,单位为M,G
du(检查当前磁盘空间使用量)
du #查看当前磁盘的各自文件的使用量
du -a #查看所有文件的各自使用量,包括子文件夹和隐藏文件
du -sm /* #检查根目录下所有目录所占用的用量
11、挂载
mount /dev/dong /mnt/dong #把dev下的dong挂载到mnt下的dong中
umount -f /mnt/dong #强制卸载mnt下的dong
12、进程管理
ps #查看当前系统中正在执行的各种进程信息
ps -a #查看当前终端运行的所有进程信息
ps -u #以用户的信息显示程序
ps -x #显示后台运行进程的参数
ps -aux|grep aubin #查询所有的进程并过滤aubin
ps -ef|grep root #查看父进程中带有root的信息
kill -9 2424 #强制结束id为2424的进程
pstree -p #以树的形式显示进程,并显示父id
pstree -u #以树的形式显示进程,并显示用户组
13、JDK安装
三种安装:rpm、解压缩、yum在线安装
rpm
rpm -qa|grep jdk #检测JDK文件
rpm -e --nodeps java-.. #删除所有java开头的文件
rpm -ivh /tmp/jdk-8u221-linux-x64.rpm #rpm安装JDK8
vim /etc/profile #配置环境变量,在末尾添加
export JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
export CLASSPATH=.:$JAVA_HIOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile #是配置文件生效
systemctl status firewalld #查看firewalld服务状态
service firewalld start #开启firewalld的service服务
service firewalld restart #重启firewalld的service服务
service firewalld stop #关闭firewalld的service服务
firewall-cmd --list-ports #查看防火墙开启的端口信息
firewall-cmd --list-all #查看防火墙所有信息
firewall-cmd --zone=public --add-port=8080/tcp --permanent #开启8080端口
解压缩
tar -zxvf apache-tomcat-9.0.37.tar.gz #解压.tar.gz文件
./startup.sh #直接运行startup.sh
yum
安装docker
yum -y install gcc #在线安装gcc
yum remove gcc #卸载gcc
yum install -y yum-utils device-mapper-persistent-data lvm2 #安装yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo #安装镜像
yum makecache fast #更新软件
yum install -y docker-ce docker-ce-cli containerd.io #安装docker
systemctl start docker #启动docker