Linux常用命令大全(非常全!!!)

原创
小哥 2年前 (2022-12-19) 阅读数 45 #大杂烩

Linux常用命令(非常完整!!!)

最近和Linux处理它感觉很好。我想Linux相比windows更麻烦的是,许多事情必须由命令控制。当然,这也是很多人喜欢的。linux原因相对简短但有力。我将列出我学到的命令,仅供您参考:

系统信息
arch 显示计算机的处理器体系结构
uname -m 显示计算机的处理器体系结构
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统组件 - (SMBIOS / DMI)
hdparm -i /dev/hda 列出磁盘的架构特征
hdparm -tT /dev/sda 在磁盘上执行测试读取操作
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示中断
cat /proc/meminfo 验证内存使用情况
cat /proc/swaps 显示哪些swap被使用
cat /proc/version 显示内核的版本
cat /proc/net/dev 显示网络适配器和统计信息
cat /proc/mounts 显示装载文件系统
lspci -tv 罗列 PCI 设备
lsusb -tv 显示 USB 设备
date 显示系统日期
cal 2007 显示2007年度日历表
date 041217002007.00 设置日期和时间 - 月日时间年.秒
clock -w 保存时间更改 BIOS

  • 关机 (系统关闭、重新启动和注销 )
    shutdown -h now 关闭系统
    init 0 关闭系统
    telinit 0 关闭系统
    shutdown -h hours:minutes & 在计划时间关闭系统。
    shutdown -c 取消在计划时间关闭系统。
    shutdown -r now 重启
    reboot 重启
    logout 注销
    文件和目录**
    cd /home 进入 ‘/ home’ 目录’
    cd … 返回上一个目录
    cd …/… 返回上两级目录
    cd 输入个人主目录
    cd ~user1 输入个人主目录
    cd - 返回最后一个目录
    pwd 显示工作路径
    ls 查看目录中的文件
    ls -F 查看目录中的文件
    ls -l 显示文件和目录的详细信息
    ls -a 显示隐藏文件
    ls
    [0-9] 显示包含数字的文件名和目录名
    tree 显示从根目录开始文件和目录的树结构
    lstree 显示从根目录开始文件和目录的树结构
    mkdir dir1 创建一个名为 ‘dir1’ 的目录’
    mkdir dir1 dir2 同时创建两个目录
    mkdir -p /tmp/dir1/dir2 创建目录树
    rm -f file1 删除名为 ‘file1’ 的文件’
    rmdir dir1 删除名为 ‘dir1’ 的目录’
    rm -rf dir1 删除名为 ‘dir1’ 目录并同时删除其内容
    rm -rf dir1 dir2 删除两个目录及其内容
    mv dir1 new_dir 重命名/移动 一个目录
    cp file1 file2 复制文件
    cp dir/
    . 将目录中的所有文件复制到当前工作目录
    cp -a /tmp/dir1 . 将目录复制到当前工作目录
    cp -a dir1 dir2 复制目录
    ln -s file1 lnk1 创建指向文件或目录的软链接
    ln file1 lnk1 创建指向文件或目录的物理链接
    touch -t 0712250000 file1 修改文件或目录的时间戳 - (YYMMDDhhmm)
    file file1 outputs the mime type of the file as text
    iconv -l 列出已知编码
    iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding.
    find . -maxdepth 1 -name .jpg -print -exec convert “{}” -resize 80x60 “thumbs/{}” ; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)
    文件搜索
    find / -name file1 从 ‘/’ 开始搜索根文件系统中文件和目录
    find / -user user1 搜索属于用户 ‘user1’ 文件和目录
    find /home/user1 -name .bin 在目录 ‘/ home/user1’ 搜索.bin’ 文件结尾
    find /usr/bin -type f -atime +100 在过去搜索100执行天内未使用的文件
    find /usr/bin -type f -mtime -10 搜索在10天内创建或修改的文件
    find / -name
    .rpm -exec chmod 755 ‘{}’ ; 搜索以 ‘.rpm’ 文件结尾并定义其权限
    find / -xdev -name .rpm 搜索以 ‘.rpm’ 文件结尾,忽略光驱、捷盘等可移动设备
    locate
    .ps 寻找以 ‘.ps’ 文件结尾 - 先运行 ‘updatedb’ 命令
    whereis halt 显示二进制、源或man的位置
    which halt 显示二进制文件或可执行文件的完整路径
    装载文件系统
    mount /dev/hda2 /mnt/hda2 装载ahda2的盘 - 确定目录 ‘/ mnt/hda2’ 已经存在
    umount /dev/hda2 卸载名为hda2的盘 - 从装载点开始 ‘/ mnt/hda2’ 退出
    fuser -km /mnt/hda2 设备忙时强制卸载
    umount -n /mnt/hda2 在不写入的情况下运行卸载操作 /etc/mtab 文件- 当文件为只读或磁盘已满时有用
    mount /dev/fd0 /mnt/floppy 安装软盘
    mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom
    mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom
    mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom
    mount -o loop file.iso /mnt/cdrom 装载文件或ISO镜像文件
    mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统
    mount /dev/sda1 /mnt/usbdisk 挂载一个usb 闪存磁盘或闪存设备
    mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享
    磁盘空间
    df -h 显示已装载分区的列表
    ls -lSr |more 按大小排列文件和目录
    du -sh dir1 估算目录 ‘dir1’ 磁盘空间已在使用
    du -sk * | sort -rn 按容量大小依次显示文件和目录的大小
    rpm -q -a --qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n 显示已安装的rpm包装使用的空间 (fedora, redhat类系统)
    dpkg-query -W -f=‘ I n s t a l l e d − S i z e ; 10 t {Installed-Size;10}t I n s t a l l e d − S i z e ; 1 0 t {Package}n’ | sort -k1,1n 根据大小安装的显示器deb包装使用的空间 (ubuntu, debian类系统)
    用户和组
    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 创建归属 “admin” 用户组的用户
    useradd user1 创建新用户
    userdel -r user1 删除用户 ( ‘-r’ 排除主目录)
    usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性
    passwd 修改口令
    passwd user1 更改用户密码 (只允许root执行)
    chage -E 2005-12-31 user1 设置用户密码的过期日期
    pwck 检查 ‘/etc/passwd’ 文件格式和语法修复以及用户的存在
    grpck 检查 ‘/etc/passwd’ 文件格式和语法修复以及现有组
    newgrp group_name 登录到新组以更改新创建文件的默认组
    文件的权限 - 使用 “+” 设置权限,使用 “-” 用于取消
    ls -lh 显示权限
    ls /tmp | pr -T5 -W KaTeX parse error: Expected group after ^ at position 5073: …tring2" sed /^̲ /d’ example.txt 从example.txt删除文件中的所有空行
    sed ‘/
    #/d; /^ KaTeX parse error: Double superscript at position 76: …tr [:lower:] ̲[:upper:] 上下合并。。。 //’ example.txt 删除每行的最后一个空格字符
    sed -e ‘s/stringa1//g’ example.txt 仅从文档中删除单词 “string1” 剩下的都留着
    sed -n ‘1,5p;5q’ example.txt 从第一行到5行内容
    sed -n ‘5p;5q’ example.txt 查看第5行
    sed -e s/00 /0/g’ example.txt 用单个零替换多个零
    cat -n file1 标记文件中的行数
    cat example.txt | 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 取两个文件的交点(仅保留两个文件中存在的文件)
    comm -1 file1 file2 比较两个文件的内容仅删除 ‘file1’ 包含的内容
    comm -2 file1 file2 比较两个文件的内容仅删除 ‘file2’ 包含的内容
    comm -3 file1 file2 比较两个文件的内容仅删除两个文件共有的部分
    字符设置和文件格式转换
    dos2unix filedos.txt fileunix.txt 更改文本文件的格式MSDOS转换成UNIX
    unix2dos fileunix.txt filedos.txt 更改文本文件的格式UNIX转换成MSDOS
    recode …HTML < page.txt > page.html 将文本文件转换为html
    recode -l | more 显示所有允许的转换格式
    文件系统分析
    badblocks -v /dev/hda1 检查磁盘hda1坏磁块打开
    fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统完整性
    fsck.ext2 /dev/hda1 修复/检查hda1磁盘上ext2文件系统完整性
    e2fsck /dev/hda1 修复/检查hda1磁盘上ext2文件系统完整性
    e2fsck -j /dev/hda1 修复/检查hda1磁盘上ext3文件系统完整性
    fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统完整性
    fsck.vfat /dev/hda1 修复/检查hda1磁盘上fat文件系统完整性
    fsck.msdos /dev/hda1 修复/检查hda1磁盘上dos文件系统完整性
    dosfsck /dev/hda1 修复/检查hda1磁盘上dos文件系统完整性
    初始化文件系统
    mkfs /dev/hda1 在hda1分区创建文件系统
    mke2fs /dev/hda1 在hda1要创建的分区linux ext2文件系统
    mke2fs -j /dev/hda1 在hda1要创建的分区linux ext3(日志型)文件系统
    mkfs -t vfat 32 -F /dev/hda1 创建一个 FAT32 文件系统
    fdformat -n /dev/fd0 格式化软盘
    mkswap /dev/hda3 创建一个swap文件系统
    SWAP文件系统
    mkswap /dev/hda3 创建一个swap文件系统
    swapon /dev/hda3 启用新的swap文件系统
    swapon /dev/hda2 /dev/hdb3 启用两个swap分区
    备份
    dump -0aj -f /tmp/home0.bak /home 制作一个 ‘/home’ 目录的完整备份
    dump -1aj -f /tmp/home0.bak /home 制作一个 ‘/home’ 目录的交互式备份
    restore -if /tmp/home0.bak 恢复交互式备份
    rsync -rogpav --delete /home /tmp 同步两侧的目录
    rsync -rogpav -e ssh --delete /home ip_address:/tmp 通过SSH通道rsync
    rsync -az -e ssh --delete ip_addr:/home/public /home/local 通过ssh并压缩以将远程目录同步到本地目录
    rsync -az -e ssh --delete /home/local ip_addr:/home/public 通过ssh和zip将本地目录同步到远程目录
    dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’ 通过ssh在远程主机上执行本地磁盘的单个备份
    dd if=/dev/sda of=/tmp/file1 将磁盘内容备份到文件
    tar -Puf backup.tar /home/user 执行一对 ‘/home/user’ 目录的交互式备份操作
    ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’ 通过ssh在远程目录中复制目录内容
    ( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’ 通过ssh在远程目录中复制本地目录
    tar cf - . | (cd /tmp/backup ; tar xf - ) 本地将目录复制到其他位置,保留原始权限和链接
    find /home/user1 -name
    .txt’ | xargs cp -av --target-directory=/home/backup/ --parents 查找并从目录中复制所有 ‘.txt’ 文件结尾到另一个目录
    find /var/log -name ‘*.log’ | tar cv --files-from=- | bzip2 > log.tar.bz2 查找全部 ‘.log’ 文件结尾并做成一个bzip包
    dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一个将 MBR (Master Boot Record)将内容复制到软盘的操作
    dd if=/dev/fd0 of=/dev/hda bs=512 count=1 从已保存到软盘的备份还原MBR内容
    光盘
    cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force 清空可重写光盘的内容
    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 挂载一个ISO镜像文件
    cd-paranoia -B 从一个CDCD录制音频曲目 wav 文件中
    cd-paranoia – “-3” 从一个CDCD录制音频曲目 wav 文件(参数-3)
    cdrecord --scanbus 扫描总线以识别scsi通道
    dd if=/dev/hdc | md5sum 验证设备的md5sum代码,例如 CD
    网络 - (以太网和WIFI无线
    ifconfig eth0 显示以太网卡的配置
    ifup eth0 启用一个 ‘eth0’ 网络设备
    ifdown eth0 禁用一个 ‘eth0’ 网络设备
    ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址
    ifconfig eth0 promisc 设置 ‘eth0’ 进入混杂模式以嗅探数据包 (sniffing)
    dhclient eth0 以dhcp模式启用 ‘eth0’
    route -n show routing table
    route add -net 0/0 gw IP_Gateway configura default gateway
    route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure static route to reach network ‘192.168.0.0/16’
    route del 0/0 gw IP_gateway remove static route
    echo “1” > /proc/sys/net/ipv4/ip_forward activate ip routing
    hostname show hostname of system
    host www.example.com lookup hostname to resolve name to ip address and viceversa
    nslookup www.example.com lookup hostname to resolve name to ip address and viceversa
    ip link show show link status of all interfaces
    mii-tool eth0 show link status of ‘eth0’
    ethtool eth0 show statistics of network card ‘eth0’
    netstat -tup show all active network connections and their PID
    netstat -tupl show all network services listening on the system and their PID
    tcpdump tcp port 80 show all HTTP traffic
    iwlist scan show wireless networks
    iwconfig eth1 show configuration of a wireless network card
    hostname show hostname
    host www.example.com lookup hostname to resolve name to ip address and viceversa
    nslookup www.example.com lookup hostname to resolve name to ip address and viceversa
    whois www.example.com lookup on Whois database

JPS工具

jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示所有电流java进程pid命令简单实用,非常适合linux/unix当前平台的简单视图java这个过程的一些简单案例。

​ 我想很多人都用过它。unix系统里的ps命令,此命令主要用于显示当前系统进程、哪些进程及其 id。 jps 同样,它的功能是显示当前系统java过程及其id不,我们可以仔细看一下,看看我们到底开始了多少次。java过程(因为每个java该程序将有一个独占java虚拟机实例)及其进程编号(为以下程序做准备),并且可以通过opt查看这些进程的详细启动参数。

如何使用:点击当前命令行。 jps(需要JAVA_HOME如果没有,则将程序目录更改为类型) 。

jps存放在JAVA_HOME/bin/jps为方便起见,请使用JAVA_HOME/bin/加入到Path.

$> jps
23991 Jps
23789 BossMain
23651 Resin

更常用的参数:

-q 只显示pid,不显示class名称,jar文件名和传递main 方法的参数
$> jps -q
28680
23789
23651

-m 输出已通过main 方法,嵌入jvm上可能是null

$> jps -m
28715 Jps -m
23789 BossMain
23651 Resin -socketwait 32768 -stdout /data/aoxj/resin/log/stdout.log -stderr /data/aoxj/resin/log/stderr.log

-l 输出应用程序main class的完整package名 或者 应用程序的jar文件完整路径名

$> jps -l
28729 sun.tools.jps.Jps
23789 com.asiainfo.aimc.bossbi.BossMain
23651 com.caucho.server.resin.Resin

-v 输出已通过JVM的参数

$> jps -v
23789 BossMain
28802 Jps -Denv.class.path=/data/aoxj/bossbi/twsecurity/java/trustwork140.jar:/data/aoxj/bossbi/twsecurity/java/:/data/aoxj/bossbi/twsecurity/java/twcmcc.jar:/data/aoxj/jdk15/lib/rt.jar:/data/aoxj/jd

k15/lib/tools.jar -Dapplication.home=/data/aoxj/jdk15 -Xms8m
23651 Resin -Xss1m -Dresin.home=/data/aoxj/resin -Dserver.root=/data/aoxj/resin -Djava.util.logging.manager=com.caucho.log.LogManagerImpl -

Djavax.management.builder.initial=com.caucho.jmx.MBeanServerBuilderImpl

sudo jps最完整的进程数

jps 192.168.0.77

列出远程服务器192.168.0.77所有的机器。jvm示例,使用rmi协议,默认连接端口为1099

(前提是远程服务器提供jstatd服务)

注:jps命令中有一个非常糟糕的地方,它似乎只显示当前用户的java进程,以显示其他用户或只能使用unix/linux的ps命令。

GO TOP INDEX ^
Microsoft Windows networks (SAMBA)
nbtscan ip_addr netbios name resolution
nmblookup -A ip_addr netbios name resolution
smbclient -L ip_addr/hostname show remote shares of a windows host
smbget -Rr smb://ip_addr/share like wget can download files from a host windows via smb
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share mount a windows network share

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门