基础
1·通用[1]
目录与文件
‘命令’ >‘文件名’ 将命令输出的内容保存到文件
du -sh /usr/* 显示某目录中文件或文件夹所占空间
cat 滚动显示,一次性将文件内容全部输出
more 分屏显示,分页查看
less 分屏显示,使用光标向上或者向下移动下一行
cp 复制
mv 文件移 动
rm 文件删除
mkdir 新建目录
rmdir 删除目录
cd 改变目录
pwd 当前目录
ls 列出目录
chmod 改变权限
ln 文件链接
touch 改变文件时间, 如果指定的文件不存在,则将创建一个新的空白文件
find 查找文件
grep 表达式查找
根目录内容:
/bin 系统命令
/etc 系统管理配置文件
/lib 函数库数据库命令
/mnt 挂载目录
/tmp 临时文件
/usr 程序存放
/home 用户目录
/proc 虚拟内存目录
用户和组
useradd "用户名" 添加用户
passwd 配置密码
userdel "用户名" 删除用户
su 切换用户(例如切换到root用户)
3个重要配置文件:
/etc/passwd
储存用户名和密码,对所有用户可见 。Manjaro改存用户信息
/etc/shadow
储存用户名和密码,只对root可见,目前常用
/etc/group
用户组文件,同时赋予多个用户相同的文件访问权限,一个用户可以同属多个组
文件权限解读
任务管理
ps -e 查看所有在运行的任务,简略信息
ps -ef 在运行任务的详细信息
ps -e | grep ssh 查看程序名中含有ssh的任务
2·不同发行版的差异
服务
用于httpd、named、dhcpd之类的守护进程
Arch/Redhat:
systemctl -a 列表查看所有服务
systemctl -l 列表查看活动服务
systemctl status ××× 查看服务状态
启动/开机自启/重启服务:
systemctl start ×××
systemctl enable ×××
systemctl restart ×××Debian:
启动、重启、停止服务,有通过命令和通过文件两种方式
service ××× start
service ××× restart
service ××× stop
sudo /etc/init.d/××× start
sudo /etc/init.d/××× restart
sudo /etc/init.d/××× stop
查看服务状态
service ××× status
包管理
arch系:
pacman -Ss keyword 在仓库中搜索含关键字的包
pacman -Su 升级所有已安装的软件包
pacman -Sy 从服务器下载新的软件包数据库 (-yy 强制更新软件包数据库)
sudo pacman -Qs 查看已安装软件
sudo pacman -U [包文件位置] 从本地的软件包安装(通常为 .pkg.tar.xz 格式)
sudo pacman -R $(pacman -Qdtq) 清除系统中无用的单个包
sudo pacman -Rs 同时卸此软件的依赖,如果其他软件不需要的话
sudo pacman -Rc 删除指定软件包和所有依赖这个软件包的程序
sudo pacman -Rsc 同时有以上s和c的功能
sudo pacman -Sc 清除指定的已下载的安装包缓存
sudo pacman -Scc 清除所有已下载的安装包缓存
yay -Rns 删除包
yay -Qi 检查安装的版本
yay -Ps 打印系统统计信息
debian系:
apt update 更新仓库列表
apt upgrade 用新的仓库列表更新软件
apt install 安装新的软件
日志
查看日志文件
du -t 100M /var
或journalctl --disk-usage
删除指定大小日志文件
sudo journalctl --vacuum-size=50M
网络
此部分不一定与现版本相同,请查证后使用。
网络配置文件
位置 | 功能 | 其他可能位置 |
---|---|---|
/etc/sysconfig/network | 服务器网络配置 | /etc/systemd/network |
/etc/hostname | 系统的主机名和完整域名 | |
/etc/hosts | IP和主机名的映射,别名 | |
/etc/host.conf | 主机名解析顺序 | |
/etc/resolv.conf | dns客户机配置 | |
/etc/services | 服务名和端口号映射 | |
/etc/rc.d/init.d/network | 网络配置脚本开进初始化配置 | |
/etc/gateways | 路由表文件 |
旧版Linux网络命令
(与windows类似,但新版linux大都不再支持)
命令 | 参数 | 功能 |
---|---|---|
ifconfig | 查看网络接口(网卡) | |
up | 启动 | |
down | 关闭 | |
eth0 | 配置eth0 | |
route | 配置路由器 | |
add | 添加路由 | |
del | 删除路由 | |
gw | 添加网关 | |
ping | 网络测试 | |
-a | 主机名和IP做解析 | |
-t | 不停地ping | |
-n | 数字 ping某个次数 | |
-l | 自定义包大小 | |
netstat | 网络状态 | |
-r | 查询路由表 | |
-a | 查询所有信息 | |
-n | 以数字形式呈现 |
服务器工具
1. DNS服务器BIND:
位置 | 功能 |
---|---|
/etc/named.conf | 主配置文件 |
/var/named/wl.com.bd | 正向区域文件 |
/var/named/192.168.100.bd | 反向区域文件 |
/etc/resolve.conf | 客户端配置文件 |
2. DHCP服务器
主配置文件路径:/etc/dhcpd.conf
主配置文件片段:
选项和参数 | 解释和含义 |
---|---|
ddns-update-style | 设置dhcp互动更新模式,包括none、interim、ad-hoc |
subnet | 描述该子网的地址 |
routers | 设定默认网关 |
subnet-mask | 指明子网掩码 |
domain-name | 指明DNS名字 |
domain-name-servers | 指明DNS服务器地址 |
range | 提供动态分配IP的范围 |
default-lease-time | 默认租约时间 |
max-lease-time | 最大租约时间 |
host | 定义保留主机(IP-MAC绑定) |
hardware | 指定网卡接口类型和MAC地址 |
host-name | 指定主机名称 |
server-name | DHCP服务器名称 |
broadcast-address | 设定广播地址 |
MAC-IP的绑定:
host ns {
hardware ethernet 00:50:56:C0:00:01;
fixed-address 192.168.100.100;
}
客户端验证DHCP的功能:
windows命令 | 功能 |
---|---|
ipconfig /all | 自动获得IP |
ipconfig /release | 释放IP地址 |
ipconfig /renew | 重新得到新的IP |
3. shh远程连接
3.1. 安装ssh
大部分Linux都自带shh了,所以先用ssh -V
检查一下是否已经存在了。若系统没有自带ssh或者自带的不好用,再考虑下面的安装。
如果你用的是redhat系linux发行版,那么敲入以下命令:
sudo yum install sshd
# 或者
sudo yum install openssh-server
如果你使用的是debian系的linux发行版,那么敲入以下命令:
sudo apt-get install sshd
# 或者
sudo apt-get install openssh-server
arch系的发行版(注意与其他版本不同):
sudo pacman -Syu openssh # arch, 其中的'yu'表示包更新
如果装完无法启动,那么先进行包更新,再安装openssh。
arch/redhat远程机启动/开机自启/重启服务:
systemctl start sshd.service
systemctl enable sshd.service
systemctl restart sshd.service
debian远程机启动/开机自启/:
# 启动
service ssh start
/etc/init.d/ssh start
# 重启服务
远程机运行了服务,本地机才能连接。
3.2. Linux本地机连接[2]
Linux本地机shh的安装方法是相同的,不过本地机不需要启动ssh服务,只需按照以下命令连接远程机:
ssh “username”@“IP地址”
连接成功后可使用命令行代码控制远程机。
3.3. windows本地机安装putty
putty是windows端连接ssh的优秀工具。
从网上搜索putty并安装,运行程序,输入IP地址,登录服务机帐号。
4. Apache[3]
4.1 安装与启动
更新包,并安装apache:
sudo pacman -Syu apache
apache服务的启动项、手动启动、重启、查看状态、暂时停止:
sudo systemctl enable httpd
sudo systemctl disable httpd
sudo systemctl start httpd
sudo systemctl restart httpd
sudo systemctl status httpd
sudo systemctl stop httpd
4.2 Apache目录和配置文件
位置 | 功能 |
---|---|
/etc/httpd/ | 根目录 |
/etc/httpd/conf/httpd.conf | 主配置文件 |
/var/www/html/ | 文档根目录 |
/etc/init.d/httpd | 启动脚本文件 |
/var/log/httpd/access_log | 访问日志文件 |
/var/log/httpd/error_log | 错误日志文件 |
*.htaccess | 访问权限控制文件 |
/etc/init.d/httpd start | 启动Apache(restart、stop) |
httpd.conf主配置文件部分内容:
设置项 | 说明 |
---|---|
ServerRoot | 设置服务器(Root)根目录 |
ServerAdmin | 设置管理员E-mail地址 |
ServerName | 设置主机名 |
DocumentRoot | 设置网页(文档)根目录 |
Listen | 设置监听的网络端口号 |
DirectoryIndex | 默认的索引页(index)文件 |
访问控制(*.htaccess文件):
允许:Allow from all
拒绝:Deny from 202.96.0.97 202.96.0.98
在网页根目录新建一个索引页文件,在其中写入内容,访问localhost,若正常显示,apache配置成功。
5. 文件共享服务器Samba
配置文件:smb.conf
部分 | 选项和参数 | 解释和定义 |
---|---|---|
[global] | 全局文件设置 | |
workgroup = hackase | 设置工作组名 | |
netbios name = wsljhost | 设置网上邻居显示名 | |
server string = bzserver | 服务器名备注信息 | |
;host allow = 192.168.1. 192.168.2.127. | 限制可访问此服务的IP范围,默认是全部允许的(;注释不生效) | |
interfaces = 192.168.12.2/24 192.168.13.2/24 | 监听某个IP或网段,多网段要列出 | |
log file = /var/log/samba/m.log | 为登录服务器用户建立不同日志文件 | |
max log size = 0 | 日志文件大小,0代表无限制,单位KB | |
security = share | 安全性级别:share、user、server、domain | |
[homes] | 共享目录设置 | |
comment = zhushi | 对共享注释说明 | |
browseable = no | 设定目录是否浏览 | |
writeable = yes | 用户是否有写入权限 | |
path = /home/share | 共享目录路径 | |
guest ok = yes | 是否允许guest账户匿名(guest)访问,等同于public | |
[printers] | 共享打印机设置 | |
path = /var/spool/samba | 打印目录位置 | |
browseable = no | 设定目录是否浏览 | |
writeable = no | 必须设为no | |
guest ok = yes | 是否允许guest账户 |