Linux终端命令行和网络服务器的命令

基础

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 /varjournalctl --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账户

  1. 菜鸟-linux命令

  2. https://blog.csdn.net/java_dotar_01/article/details/76942563

  3. https://blog.csdn.net/alfredseng/article/details/68951220
    参考:
    Linux系统误操作之-文件权限介绍和恢复分享
    linux chown命令解除文件夹的root权限限制

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容