基本命令
uname -m
显示机器的处理器架构uname -r
显示正在使用的内核版本dmidecode -q
显示硬件系统部件hdparm -tT /dev/sda
在磁盘上执行测试性读取操作系统信息arch
显示机器的处理器架构uname -m
显示机器的处理器架构hdparm -i /dev/hda
罗列一个磁盘的架构特性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
关闭系统(1)init 0
关闭系统(2)telinit 0
关闭系统(3)shutdown -h hours:minutes &
按预定时间关闭系统shutdown -c
取消按预定时间关闭系统shutdown -r now
重启(1)reboot
重启(2)logout
注销
文件搜索
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
挂载一个叫做hda2的盘 - 确定目录 '/ 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或dvdrommount /dev/hdc /mnt/cdrecorder
挂载一个cdrw或dvdrommount /dev/hdb /mnt/cdrecorder
挂载一个cdrw或dvdrommount -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
以容量大小为依据依次显示文件和目录的大小
打包和压缩文件
bunzip2 file1.bz2
解压一个叫做 'file1.bz2'的文件bzip2 file1
压缩一个叫做 'file1' 的文件gunzip file1.gz
解压一个叫做 'file1.gz'的文件gzip file1
压缩一个叫做 'file1'的文件gzip -9 file1
最大程度压缩rar a file1.rar test_file
创建一个叫做 'file1.rar' 的包rar a file1.rar file1 file2 dir1
同时压缩 'file1', 'file2' 以及目录 'dir1'rar x file1.rar
解压rar包unrar x file1.rar
解压rar包tar -cvf archive.tar file1
创建一个非压缩的 tarballtar -cvf archive.tar file1 file2 dir1
创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件tar -tf archive.tar
显示一个包中的内容tar -xvf archive.tar
释放一个包tar -xvf archive.tar -C /tmp
将压缩包释放到 /tmp目录下tar -cvfj archive.tar.bz2 dir1
创建一个bzip2格式的压缩包tar -xvfj archive.tar.bz2
解压一个bzip2格式的压缩包tar -cvfz archive.tar.gz dir1
创建一个gzip格式的压缩包tar -xvfz archive.tar.gz
解压一个gzip格式的压缩包zip file1.zip file1
创建一个zip格式的压缩包zip -r file1.zip file1 file2 dir1
将几个文件和目录同时压缩成一个zip格式的压缩包unzip file1.zip
解压一个zip格式压缩包
查看文件内容
cat file1
从第一个字节开始正向查看文件的内容tac file1
从最后一行开始反向查看一个文件的内容more file1
查看一个长文件的内容less file1
类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作head -2 file1
查看一个文件的前两行tail -2 file1
查看一个文件的最后两行tail -f /var/log/messages
实时查看被添加到一个文件中的内容
文本处理
cat file1 file2 ... | command <> file1_in.txt_or_file1_out.txt
使用PIPE, STDIN和STDOUT进行文本操作的通用语法cat file1 | command( sed, grep, awk, grep, etc...) > result.txt
合并一个文件的详细说明文本,并将简介写入一个新文件中cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt
合并一个文件的详细说明文本,并将简介写入一个已有的文件中grep Aug /var/log/messages
在文件 '/var/log/messages'中查找关键词"Aug"grep ^Aug /var/log/messages
在文件 '/var/log/messages'中查找以"Aug"开始的词汇grep [0-9] /var/log/messages
选择 '/var/log/messages' 文件中所有包含数字的行grep Aug -R /var/log/*
在目录 '/var/log' 及随后的目录中搜索字符串"Aug"sed 's/stringa1/stringa2/g' example.txt
将example.txt文件中的 "string1" 替换成 "string2"sed '/^$/d' example.txt 从example.txt
文件中删除所有空白行sed '/ *#/d; /^$/d' example.txt
从example.txt文件中删除所有注释和空白行echo 'esempio' | tr '[:lower:]' '[:upper:]'
合并上下单元格内容sed -e '1d' result.txt
从文件example.txt 中排除第一行sed -n '/stringa1/p'
查看只包含词汇 "string1"的行sed -e 's/ *$//' 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
比较两个文件的内容只删除两个文件共有的部分
文件系统
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文件系统
网络
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
展示路由表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
配置静态路由到达网络“192.168.0.0/16”route del 0/0 gw
IP网关删除静态路由echo "1" > /proc/sys/net/ipv4/ip_forward
激活路由ethtool eth0
显示网卡“eth0”的统计信息netstat -tup
显示所有活跃的网络连接及其PIDnetstat -tupl
显示在系统上侦听的所有网络服务及其PIDtcpdump tcp port 80
显示所有HTTP流量
其他
export TERM=linux -
把TERM的环境变量设置为linux,对于Linux的终端显示非常有用export LD_LIBRARY_PATH=. - LD_LIBRARY_PATH
是一个环境变量,它告诉动态链接器(dynamic linker)在哪里寻找共享库(shared library)文件。例如,如果将 export LD_LIBRARY_PATH=. 添加到环境变量中,那么动态链接器将在当前目录中搜索共享库文件。