文本处理
cat file1 file2 ... | command
<> file1_in.txt_or_file1_out.txt general syntax for text manipulation
using PIPE, STDIN and 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 比较两个文件的内容只删除两个文件共有的部分
返回顶部索引 ^
字符设置和文件格式转换
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和压缩将本地目录同步到远程目录
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 从一个CD光盘转录音轨到 wav 文件中
cd-paranoia -- "-3"
从一个CD光盘转录音轨到 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(1)
nslookup www.example.com
lookup hostname to resolve name to ip address and viceversa(2)
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
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