博客
关于我
Linux系统常用命令速查手册
阅读量:792 次
发布时间:2023-02-05

本文共 11212 字,大约阅读时间需要 37 分钟。

Linux 系统管理指南

本文提供了从基础到高级操作的Linux系统管理命令指南,涵盖文件系统管理、网络配置、安全工具使用等多个方面内容。

系统信息查询

通过以下命令可以获取Linux系统的详细信息:

# 显示机器的处理器架构arch# 显示机器的处理器架构(另一种方式)uname -m# 显示正在使用的内核版本uname -r# 显示硬件系统部件(SMBIOS / DMI)dmidecode -q# 查看磁盘架构特性hdparm -i /dev/hda# 查看磁盘读取性能hdparm -tT /dev/sda# 查看CPU信息cat /proc/cpuinfo# 查看中断信息cat /proc/interrupts# 查看内存使用情况cat /proc/meminfo# 查看已使用的交换分区cat /proc/swaps# 查看内核版本cat /proc/version# 查看网络设备信息cat /proc/net/dev# 查看已加载的文件系统信息cat /proc/mounts# 查看PCI设备信息lspci -tv# 查看USB设备信息lsusb -tv

日期和时间管理

以下命令可以帮助管理系统日期和时间:

# 查看当前日期cal 2007# 设置日期和时间(示例)date 041217002007.00# 将时间修改保存到BIOSclock -w

系统关机与重启

使用以下命令可以对系统执行关机、重启或注销操作:

# 关闭系统(方法一)shutdown -h now# 关闭系统(方法二)init 0# 关闭系统(方法三)telinit 0# 按预定时间关闭系统shutdown -h hours:minutes# 取消预定时间关闭系统shutdown -c# 重启系统(方法一)shutdown -r now# 重启系统(方法二)reboot# 注销当前用户会话logout

文件和目录操作

以下命令可以帮助管理文件和目录:

# 进入特定目录cd /home# 返回上一级目录cd ..# 返回上两级目录cd ../..# 进入用户主目录cd ~# 进入指定用户主目录(示例)cd ~user1# 返回上一次所在目录cd -# 查看当前工作目录pwd# 查看当前目录内容ls# 查看目录内容(显示文件类型)ls -F# 查看目录内容(详细信息)ls -l# 查看隐藏文件ls -a# 查看包含数字的文件名和目录名ls *[0-9]*# 查看文件和目录树形结构(方法一)tree# 查看文件和目录树形结构(方法二)lstree# 创建新目录(方法一)mkdir dir1# 创建多个目录(同时创建)mkdir dir1 dir2# 创建嵌套目录(方法一)mkdir -p /tmp/dir1/dir2# 删除文件或目录(方法一)rm -f file1# 删除目录及其内容rmdir dir1# 删除目录及其内容(强制删除)rm -rf dir1# 复制文件或目录(方法一)cp file1 file2# 复制目录内容到当前目录cp -a /tmp/dir1 .# 复制指定目录到当前目录cp -a dir1 dir2# 创建文件或目录的符号链接(方法一)ln -s file1 lnk1# 创建文件或目录的物理链接ln file1 lnk1# 修改文件或目录的时间戳touch -t 0712250000 file1# 查看文件的 MIME 类型file file1# 查看文件编码信息iconv -l# 查看文件编码转换iconv -f fromEncoding -t toEncoding inputFile > outputFile

文件搜索

以下命令可以帮助搜索文件和目录:

# 从根目录开始搜索文件和目录find / -name file1# 搜索属于指定用户的文件和目录find /home/user1 -name \*.bin# 搜索特定类型文件且未被访问过的文件find /usr/bin -type f -atime +100# 搜索特定类型文件且最近修改时间在10天内find /usr/bin -type f -mtime -10# 搜索特定文件扩展名并设置权限find / -name \*.rpm -exec chmod 755 '{}' \;# 忽略移动设备搜索特定文件扩展名find / -xdev -name \*.rpm# 寻找特定文件扩展名(需先运行 updatedb)locate \*.ps# 查看特定命令的位置whereis halt# 查看特定命令的绝对路径which halt

挂载文件系统

以下命令可以帮助挂载和卸载文件系统:

# 挂载指定设备到挂载点mount /dev/hda2 /mnt/hda2# 卸载指定设备umount /dev/hda2# 强制卸载繁忙设备fuser -km /mnt/hda2# 不更新 /etc/mtab 文件卸载设备umount -n /mnt/hda2# 挂载软盘或镜像文件mount /dev/fd0 /mnt/floppy# 挂载CD/DVD-ROMmount /dev/cdrom /mnt/cdrom# 挂载CD/DVD-RW或BDmount /dev/hdc /mnt/cdrecorder# 挂载CD/DVD-RW或BD(方法二)mount /dev/hdb /mnt/cdrecorder# 挂载ISO镜像文件(方法一)mount -o loop file.iso /mnt/cdrom# 挂载特定文件系统类型的设备mount -t vfat /dev/hda5 /mnt/hda5# 挂载USB设备mount /dev/sda1 /mnt/usbdisk# 挂载Windows网络共享mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share

磁盘空间管理

以下命令可以帮助管理磁盘空间:

# 查看已挂载的分区列表df -h# 查看文件和目录的尺寸ls -lSr | more# 查看指定目录磁盘使用情况du -sh dir1# 按文件大小排序查看文件和目录du -sk * | sort -rn# 查看已安装软件包的磁盘使用情况(Fedora/RedHat 系统)rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n# 查看已安装软件包的磁盘使用情况(Debian/Ubuntu 系统)dpkg-query -W -f '${Installed-Size;10}t${Package}n' | sort -k1,1n

用户和群组管理

以下命令可以帮助管理用户和群组:

# 创建新用户组groupadd group_name# 删除用户组groupdel group_name# 重命名用户组groupmod -n new_group_name old_group_name# 创建新用户(方法一)useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1# 创建新用户(方法二)useradd user1# 删除用户(方法一)userdel -r user1# 修改用户属性(示例)usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1# 修改用户口令passwd# 修改指定用户口令(仅 root 有权限)passwd user1# 设置用户口令失效期限chage -E 2005-12-31 user1# 检查用户和群组文件格式pwck# 检查用户和群组文件格式grpck# 切换到指定用户群组newgrp group_name

文件权限管理

以下命令可以帮助管理文件和目录的权限:

# 查看文件和目录权限ls -lh# 查看文件和目录权限(分栏显示)ls /tmp | pr -T5 -W$COLUMNS# 设置目录权限(所有人读写执行)chmod ugo+rwx directory1# 删除目录权限(群组和其他人)chmod go-rwx directory1# 改变文件所有人属性chown user1 file1# 改变目录及其子目录文件所有人属性chown -R user1 directory1# 改变文件群组属性chgrp group1 file1# 改变文件所有人和群组属性chown user1:group1 file1# 查看系统中所有设置了 SUID 的文件find / -perm -u+s# 设置文件的 SUID 位(方法一)chmod u+s /bin/file1# 禁用文件的 SUID 位chmod u-s /bin/file1# 设置目录的 SGID 位chmod g+s /home/public# 禁用目录的 SGID 位chmod g-s /home/public# 设置文件的 STIKY 位chmod o+t /home/public# 禁用文件的 STIKY 位chmod o-t /home/public

文件特殊属性管理

以下命令可以帮助管理文件的特殊属性:

# 设置文件为只追加模式chattr +a file1# 设置文件为自动压缩模式chattr +c file1# 设置文件为备份模式chattr +d file1# 设置文件为不可变模式chattr +i file1# 设置文件为安全删除模式chattr +s file1# 设置文件为安全写入模式chattr +S file1# 设置文件为恢复删除模式chattr +u file1# 查看文件特殊属性lsattr

打包与压缩文件

以下命令可以帮助打包和压缩文件:

# 解压 bzip2 文件bunzip2 file1.bz2# 压缩文件为 bzip2 格式bzip2 file1# 解压 gzip 文件gunzip file1.gz# 压缩文件为 gzip 格式gzip file1# 最大程度压缩 gzip 文件gzip -9 file1# 创建 ZIP 包(方法一)zip file1.zip file1# 创建包含多个文件和目录的 ZIP 包zip -r file1.zip file1 file2 dir1# 解压 ZIP 包unzip file1.zip

RPM 包管理(Fedora/RedHat 系统)

以下命令可以帮助管理 RPM 包:

# 安装 RPM 包(方法一)rpm -ivh package.rpm# 安装 RPM 包并忽略依赖关系警告rpm -ivh --nodeeps package.rpm# 更新 RPM 包但不改变配置文件rpm -U package.rpm# 更新特定 RPM 包rpm -F package.rpm# 删除 RPM 包rpm -e package_name.rpm# 查看已安装 RPM 包rpm -qa# 搜索包含指定关键词的 RPM 包rpm -qa | grep httpd# 获取已安装 RPM 包的详细信息rpm -qi package_name# 查看指定组件的 RPM 包rpm -qg "System Environment/Daemons"# 查看已安装 RPM 包提供的文件列表rpm -ql package_name# 查看已安装 RPM 包提供的配置文件列表rpm -qc package_name# 查看 RPM 包的依赖关系rpm -q package_name --whatrequires# 查看 RPM 包的占用空间rpm -q package_name --whatprovides# 查看 RPM 包的脚本rpm -q package_name --scripts# 查看 RPM 包的修改历史rpm -q package_name --changelog# 检查 RPM 包的完整性rpm --checksig package.rpm# 检查已安装 RPM 包的完整性rpm -qa gpg-pubkey# 检查 RPM 包的文件尺寸等信息rpm -V package_name# 检查所有已安装 RPM 包的完整性rpm -Va# 查看尚未安装的 RPM 包rpm -Vp package.rpm

YUM 软件包升级器(Fedora/RedHat 系统)

以下命令可以帮助使用 YUM 升级软件包:

# 下载并安装指定 RPM 包yum install package_name# 从本地仓库安装指定 RPM 包yum localinstall package_name.rpm# 更新系统中所有安装的 RPM 包yum update# 更新特定 RPM 包yum update package_name# 删除指定 RPM 包yum remove package_name# 列出当前系统中安装的所有包yum list# 在 RPM 仓库中搜索软件包yum search package_name# 清理 RPM 缓存yum clean packages# 清理 RPM 头文件yum clean headers# 清理所有 RPM 缓存yum clean all

DEB 包管理(Debian/Ubuntu 系统)

以下命令可以帮助管理 DEB 包:

# 安装或更新 DEB 包dpkg -i package.deb# 从系统中删除 DEB 包dpkg -r package_name# 查看已安装 DEB 包dpkg -l# 搜索包含指定关键词的 DEB 包dpkg -l | grep httpd# 获取已安装 DEB 包的信息dpkg -s package_name# 查看 DEB 包提供的文件列表dpkg --contents package.deb# 查看 DEB 包提供的文件信息dpkg -S /bin/ping

APT 软件工具(Debian/Ubuntu 系统)

以下命令可以帮助使用 APT 升级软件包:

# 升级系统中所有已安装软件包apt-get update# 升级已安装软件包apt-get upgrade# 安装或更新 DEB 包apt-get install package_name# 从光盘安装 DEB 包apt-cdrom install package_name# 从远程仓库安装 DEB 包apt-get install package_name# 删除已安装 DEB 包apt-get remove package_name# 检查依赖关系apt-get check# 清理下载的软件包缓存apt-get clean# 搜索软件包apt-cache search searched-package

查看文件内容

以下命令可以帮助查看文件内容:

# 查看文件内容cat file1# 反向查看文件内容tac file1# 查看文件部分内容more file1# 查看文件部分内容(支持反向操作)less file1# 查看文件前两行head -2 file1# 查看文件最后两行tail -2 file1# 实时查看文件内容(方法一)tail -f /var/log/messages# 实时查看文件内容(方法二)tail -f /var/log/messages

文本处理

以下命令可以帮助处理文本文件:

# 合并文件内容并输出到新文件cat file1 | command > result.txt# 将文本文件合并到已有文件中cat file1 | command >> result.txt# 在文本文件中查找关键词grep Aug /var/log/messages# 在文本文件中查找以关键词开头的行grep ^Aug /var/log/messages# 在文本文件中查找包含数字的行grep [0-9] /var/log/messages# 在指定目录中搜索关键词grep Aug -R /var/log/*# 替换文本中的字符串sed 's/stringa1/stringa2/g' example.txt# 删除文本文件的空白行sed '/^$/d' example.txt# 删除注释和空白行sed '/ *#/d; /^$/d' example.txt# 合并上下单元格内容echo 'esempio' | tr '[:lower:]' '[:upper:]'# 从文件中删除第一行sed -e '1d' result.txt# 查看包含指定关键词的行sed -n '/stringa1/p'# 删除文件最后的空白字符sed -e 's/ *$//' example.txt# 从文档中删除指定关键词sed -e 's/stringa1//g' example.txt# 查看文件中指定行数范围的内容sed -n '1,5p;5q' example.txt# 查看文件的第5行sed -n '5p;5q' example.txt# 替换文件中的多个零为单个零sed -e 's/00*/0/g' example.txt# 查看文件行号cat -n file1# 删除文件中所有偶数行awk 'NR%2==1' example.txt# 查看一行指定栏目的内容echo a b c | awk '{print $1}'# 查看一行指定栏目的内容(多个栏目)echo a b c | awk '{print $1,$3}'# 合并两个文件或栏目的内容paste file1 file2# 合并两个文件或栏目的内容(用 '+' 分隔)paste -d '+' file1 file2# 排序两个文件的内容sort file1 file2# 去重排序两个文件的内容sort file1 file2 | uniq# 去重排序两个文件的内容(只保留交集)sort file1 file2 | uniq -u# 去重排序两个文件的内容(只保留交集)sort file1 file2 | uniq -d# 比较两个文件的内容(只删除 file1 的内容)comm -1 file1 file2# 比较两个文件的内容(只删除 file2 的内容)comm -2 file1 file2# 比较两个文件的内容(只删除共有部分)comm -3 file1 file2

字符设置和文件格式转换

以下命令可以帮助设置字符编码和转换文件格式:

# 将 MSDOS 文本格式转换为 UNIX 格式dos2unix filedos.txt fileunix.txt# 将 UNIX 文本格式转换为 MSDOS 格式unix2dos fileunix.txt filedos.txt# 将文本文件转换为 HTML 格式recode --html page.txt > page.html# 查看可转换的字符编码recode -l# 将文本文件从指定编码转换为目标编码iconv -f fromEncoding -t toEncoding inputFile > outputFile

文件系统分析

以下命令可以帮助分析和修复文件系统:

# 检查磁盘上的坏磁块badblocks -v /dev/hda1# 修复或检查指定分区的文件系统完整性fsck /dev/hda1# 修复或检查 ext2 文件系统fsck.ext2 /dev/hda1# 修复或检查 ext3 文件系统e2fsck /dev/hda1# 修复或检查 ext3 文件系统(方法二)fsck.ext3 /dev/hda1# 修复或检查 FAT 文件系统fsck.vfat /dev/hda1# 修复或检查 MSDOS 文件系统fsck.msdos /dev/hda1# 修复或检查 DOS 文件系统dosfsck /dev/hda1

初始化文件系统

以下命令可以帮助初始化文件系统:

# 创建文件系统(方法一)mkfs /dev/hda1# 创建 ext2 文件系统mke2fs /dev/hda1# 创建 ext3 文件系统(方法一)mke2fs -j /dev/hda1# 创建 FAT32 文件系统mkfs -t vfat 32 -F /dev/hda1# 格式化软盘fdformat -n /dev/fd0# 创建 swap 文件系统mkswap /dev/hda3

SWAP 文件系统

以下命令可以帮助管理 SWAP 文件系统:

# 创建 swap 文件系统mkswap /dev/hda3# 启用 swap 文件系统swapon /dev/hda3# 启用多个 swap 分区swapon /dev/hda2 /dev/hdb3

备份

以下命令可以帮助进行文件备份:

# 制作交互式备份dump -1aj -f /tmp/home0.bak /home# 制作非交互式备份dump -0aj -f /tmp/home0.bak /home# 进行还原操作restore -if /tmp/home0.bak# 使用 rsync 强制同步文件rsync -rogpav --delete /home /tmp# 通过 SSH 远程同步文件rsync -rogpav -e ssh --delete /home ip_address:/tmp# 使用压缩同步文件rsync -az -e ssh --delete /home/local ip_address:/home/public# 通过 SSH 在远程目录同步本地目录rsync -az -e ssh --delete ip_address:/home/local# 复制本地目录到远程目录(方法一)tar cf - . | (cd /tmp/backup ; tar xf - )# 使用 dd 复制磁盘内容到文件dd if=/dev/hda of=/dev/fd0 bs=512 count=1# 从软盘恢复磁盘内容dd if=/dev/fd0 of=/dev/hda bs=512 count=1

光盘操作

以下命令可以帮助管理光盘:

# 清空可复写光盘cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force# 创建光盘 ISO 镜像文件(方法一)mkisofs /dev/cdrom > cd.iso# 创建压缩后的光盘 ISO 镜像文件mkisofs /dev/cdrom | gzip > cd_iso.gz# 创建带有选项的光盘 ISO 镜像文件mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd# 刻录 ISO 镜像文件到光盘(方法一)cdrecord -v dev=/dev/cdrom cd.iso# 刻录压缩后的 ISO 镜像文件到光盘gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom -# 挂载 ISO 镜像文件mount -o loop cd.iso /mnt/iso# 将 CD 转录为 WAV 文件(方法一)cd-paranoia -B# 将 CD 转录为 WAV 文件(方法二)cd-paranoia -- "-3"# 扫描 CD 光驱总线cdrecord --scanbus

网络配置

以下命令可以帮助配置网络:

# 查看网络设备信息ifconfig eth0# 启用网络设备(方法一)ifup eth0# 禁用网络设备ifdown eth0# 设置网络设备 IP 地址和子网掩码ifconfig eth0 192.168.1.1 netmask 255.255.255.0# 设置网络设备混杂模式ifconfig eth0 promisc# 使用 DHCP 启用网络设备dhclient eth0# 查看路由表route -n# 配置静态路由route add -net 0/0 gw IP_Gateway# 配置静态路由到特定网络route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1# 删除静态路由route del 0/0 gw IP_gateway# 查看主机名hostname# 解析主机名或 IP 地址host www.example.com# 查询 DNS 记录nslookup www.example.com# 查看网络接口信息ip link show# 查看网络接口状态mii-tool# 查看网卡配置ethtool# 查看网络统计信息netstat -tupl# 查看网络流量tcpdump tcp port 80

JPS 工具

以下命令可以帮助使用 JPS 工具查看 Java 进程:

# 查看当前 Java 进程信息jps# 查看仅显示 Java 进程的 PIDjps -q# 查看 Java 进程的详细启动参数jps -m# 查看应用程序的完整包名或 JAR 文件路径jps -l# 查看 Java 进程的启动参数jps -v

黑客与网络安全学习

学习路线图

以下是网络安全学习的路线图,帮助您系统地掌握网络安全相关知识:

  • 计算机基础知识

    • 操作系统
    • 网络基础
    • 常用工具
  • 网络安全法规

    • 网络安全法
    • 数据保护法
    • 个人信息保护法
  • 网络安全运营

    • 安全评估
    • 保密与保密评估
    • 安全审计
  • 渗透测试

    • 渗透测试基础
    • 渗透测试工具
    • 渗透测试技巧
  • 漏洞与漏洞利用

    • 漏洞发现
    • 漏洞利用方法
    • 漏洞修复
  • 常见攻击手段

    • SQL注入
    • XSS
    • CSRF
    • SSRF
  • 防护技术

    • 防火墙
    • 入侵检测系统
    • 加密技术
  • 安全工具

    • NMAP
    • SQLMAP
    • Burp Suite
  • 网络安全事件响应

    • 安全事件处理
    • 恶意软件处理
    • 安全日志分析
  • 网络安全人员技能

    • 监控与日志分析
    • 故障排除
    • 安全配置与优化
  • 视频教程

    我提供了覆盖上述每个知识点的视频教程,涵盖网络安全法、网络安全运营、渗透测试基础、漏洞详解、计算机基础知识等内容,共计300多集,适合不同层次的学习者。

    技术文档与电子书

    我整理了200多本电子书,包括我参与的网络安全行动经验、CTF比赛案例、漏洞挖掘技术等内容。由于内容敏感,我无法直接展示,但您可以通过链接获取。

    工具包与面试题

    我整理了包括信息收集工具、Android 黑客工具、自动化工具、网络钓鱼工具等在内的几十款黑客工具,并配套提供案例源码和工具包,供学习和实战使用。

    面试题

    我整理了网络安全方面的面试题,涵盖内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLMAP、NMAP、BP、MSF等内容,帮助您在面试中脱颖而出。

    通过以上学习资源,您可以系统地掌握网络安全知识,并在实际工作中灵活运用。

    转载地址:http://lakfk.baihongyu.com/

    你可能感兴趣的文章
    Linux安装Mysql5.7.23详细教程(CentOS7)
    查看>>
    Linux安装mysql:FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql
    查看>>
    Linux安装Oracle 11g和postgrepSQL数据库(附安装包)
    查看>>
    Linux安装pip没有权限,linux/unix没网环境下安装python、pip以及第三方库
    查看>>
    Linux安装postgresql及基础操作
    查看>>
    linux安装rabbitmq3.7.15教程
    查看>>
    Linux安装Redis 与 Redis基本语法
    查看>>
    Linux安装Redis及配置(超详细)
    查看>>
    Linux安装telnet - telnet不能用!提示:-bash: telnet: command not found
    查看>>
    Linux安装Tomcat
    查看>>
    Linux安装与配置
    查看>>
    Linux安装与配置SSH服务
    查看>>
    Linux安装卸载Mysql数据库
    查看>>
    linux安装卸载软件
    查看>>
    linux安装宋体
    查看>>
    LINUX安装源码软件经典三部曲
    查看>>
    linux安装目录
    查看>>
    Linux定时Job:crontab -e 与 /etc/crontab 的区别
    查看>>
    linux实用命令详解(新建删除复制文件夹,挂载) 转
    查看>>
    linux实验结果的分析与评价,Linux操作系统实验课程探索
    查看>>