Linux常用命令大全(非常全!!!)
原创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
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除