Ubuntuskill.docx
《Ubuntuskill.docx》由会员分享,可在线阅读,更多相关《Ubuntuskill.docx(35页珍藏版)》请在冰豆网上搜索。
Ubuntuskill
前言
下面的命令大都需要在控制台/终端/shell下输入。
控制台,终端,和shell意味着同样一件事-一个命令行界面,他可以用来控制系统。
打开一个控制台:
应用程序-->附件-->终端
任何一个使用'sudo'作为前缀的命令都需要拥有管理员(或root)访问权限。
所以你会被提示输入你自己的密码。
安装升级
查看软件xxx安装内容dpkg-Lxxx
查找软件库中的软件
apt-cachesearch正则表达式或aptitudesearch软件包
显示系统安装包的统计信息apt-cachestats
显示系统全部可用包的名称apt-cachepkgnames
显示包的信息apt-cacheshowk3b
查找文件属于哪个包apt-filesearchfilename
查看已经安装了哪些包dpkg-l
查询软件xxx依赖哪些包apt-cachedependsxxx
查询软件xxx被哪些包依赖apt-cacherdependsxxx
增加一个光盘源sudoapt-cdromadd
系统更新
sudoapt-getupdate(这一步更新包列表)
sudoapt-getdist-upgrade(这一步安装所有可用更新)
或者
sudoapt-getupgrade(这一步安装应用程序更新,不安装新内核等)
清除所有已删除包的残馀配置文件
dpkg-l|grep^rc|awk'{print$2}'|sudoxargsdpkg-P
编译时缺少h文件的自动处理
sudoauto-aptrun./configure
查看安装软件时下载包的临时存放目录
ls/var/cache/apt/archives
备份当前系统安装的所有包的列表
dpkg--get-selections|grep-vdeinstall>~/somefile
从上面备份的安装包的列表文件恢复所有包
dpkg--set-selections<~/somefile
sudodselect
清理旧版本的软件缓存sudoapt-getautoclean
清理所有软件缓存sudoapt-getclean
删除系统不再使用的孤立软件sudoapt-getautoremove
查看包在服务器上面的地址
apt-get-qq--print-urisinstallssh|cut-d\'-f2
彻底删除Gnome
sudoapt-get--purgeremoveliborbit2
彻底删除KDE
sudoapt-get--purgeremovelibqt3-mtlibqtcore4
一键安装LAMP服务
sudotaskselinstalllamp-server
删除旧内核
sudoaptitudepurge~ilinux-image-.*\(\!
`uname-r`\)
导入ppa源的key值
#W:
GPG签名验证错误:
jauntyRelease:
由于没有公钥,下列签名无法进行验证:
NO_PUBKEY5126890CDCC7AFE0
sudoapt-keyadv--recv-keys--keyserver5126890CDCC7AFE0#5126890CDCC7AFE0替换为你需要导入的Key值
增加一个ppa源
sudoadd-apt-repositoryppa:
user/ppa-name
#使用ppa的地址替换ppa:
user/ppa-name
系统升级
1.这里指的是版本间的升级,例如9.04=>10.04。
2.使用该升级方式通常需要使用backports源。
sudoapt-getupdate
sudoapt-getinstallupdate-manager-core
sudodo-release-upgrade
系统
查看内核uname-a
查看系统是32位还是64位
#查看long的位数,返回32或64getconfLONG_BIT
#查看文件信息,包含32-bit就是32位,包含64-bit就是64位
file/sbin/init
查看Ubuntu版本
cat/etc/issue或cat/etc/lsb-release或lsb_release-dsc
查看内核加载的模块lsmod
查看PCI设备lspci
查看USB设备lsusb
#加参数-v可以显示USB设备的描述表(descriptors)
lsusb-v
查看网卡状态
sudoapt-getinstallethtool
sudoethtooleth0
激活网卡的Wake-on-LAN
sudoapt-getinstallwakeonlan
或sudoethtool-seth0wolg
查看CPU信息cat/proc/cpuinfo
显示当前硬件信息sudolshw
获取CPU序列号或者主板序列号
#CPUIDsudodmidecode-t4|grepID
#SerialNumbersudodmidecode|grepSerial
#CPUsudodmidecode-t4
#BIOSsudodmidecode-t0
#主板:
sudodmidecode-t2
#OEM:
sudodmidecode-t11
显示当前内存大小free-m|grep"Mem"|awk'{print$2}'
查看硬盘温度
sudoapt-getinstallhddtemp
sudohddtemp/dev/sda
显示系统运行时间uptime
查看系统限制ulimit-a
查看内核限制ipcs-l
查看当前屏幕分辨率xrandr
硬盘
查看硬盘的分区sudofdisk-l
硬盘分区#危险!
小心操作。
sudofdisk/dev/sda
硬盘格式化
#危险!
将第一个分区格式化为ext3分区,mkfs.reiserfsmkfs.xfsmkfs.vfat
sudomkfs.ext3/dev/sda1
硬盘检查
#危险!
检查第一个分区,请不要检查已经挂载的分区,否则容易丢失和损坏数据
sudofsck/dev/sda1
分区挂载
sudomount-t文件系统类型设备路经访问路经
#常用文件类型如下:
iso9660光驱文件系统,vfatfat/fat32分区,ntfsntfs分区,smbfswindows网络共享目录,reiserfs、ext3、xfsLinux分区
#如果中文名无法显示尝试在最後增加-onls=utf8或-oiocharset=utf8
#如果需要挂载後,普通用户也可以使用,在-o的参数後面增加,umask=022如:
-onls=utf8,umask=022
分区卸载sudoumount目录名或设备名
只读挂载ntfs分区
sudomount-tntfs-onls=utf8,umask=0/dev/sdb1/mnt/c
可写挂载ntfs分区
sudomount-tntfs-3g-olocale=zh_CN.utf8,umask=0/dev/sdb1/mnt/c
挂载fat32分区
sudomount-tvfat-oiocharset=utf8,umask=0/dev/sda1/mnt/c
挂载共享文件
sudomount-tsmbfs-ousername=xxx,password=xxx,iocharset=utf8//192.168.1.1/share/mnt/share
挂载ISO文件
sudomount-tiso9660-oloop,utf8xxx.iso/mnt/iso
查看IDE硬盘信息sudohdparm-i/dev/sda
查看软raid阵列信息cat/proc/mdstat
参看硬raid阵列信息
dmesg|grep-iraid
cat/proc/scsi/scsi
查看SATA硬盘信息
sudohdparm-I/dev/sda
或
sudoapt-getinstallblktool
sudoblktool/dev/sdaid
查看硬盘剩余空间df
用法:
df[选项]...[文件]...显示每个<文件>所在的文件系统的信息,默认是显示所有文件系统。
长选项必须用的参数在使用短选项时也是必需的。
-a,--all包括大小为0个块的文件系统
-B,--block-size=大小块以指定<大小>的字节为单位
-h,--human-readable以容易理解的格式印出文件系统大小
-H,--si类似-h,但取1000的次方而不是1024
-i,--inodes显示inode信息而非块使用量
-k即--block-size=1K
-l,--local只显示本机的文件系统
--no-sync取得使用量数据前不进行同步动作(默认)
-P,--portability使用POSIX兼容的输出格式
--sync取得使用量数据前先进行同步动作
-t,--type=类型只印出指定文件系统为指定<类型>的信息
-T,--print-type印出文件系统类型
-x,--exclude-type=类型只印出文件系统不是指定<类型>信息
-v(忽略)
--help显示此帮助信息并离开
--version显示版本信息并离开
查看目录占用空间du-hs目录名
U盘没法卸载
sync
fuser-km/media/usbdisk
使用文件来增加交换空间
#创建一个512M的交换文件/swapfile
sudoddif=/dev/zeroof=/swapfilebs=1Mcount=512
sudomkswap/swapfile
sudoswapon/swapfile
#sudovim/etc/fstab#加到fstab文件中让系统引导时自动启动
/swapfileswapswapdefaults00
查看硬盘当前读写情况
#首先安装sysstat包
sudoapt-getinstallsysstat
#每2秒刷新一次
sudoiostat-x2
进程
查看当前的内存使用情况
free
usage:
free[-b|-k|-m|-g][-l][-o][-t][-sdelay][-ccount][-V]
-b,-k,-m,-gshowoutputinbytes,KB,MB,orGB
-lshowdetailedlowandhighmemorystatistics
-ouseoldformat(no-/+buffers/cacheline)
-tdisplaytotalforRAM+swap
-supdateevery[delay]seconds
-cupdate[count]times
-Vdisplayversioninformationandexit
连续监视内存使用情况
watch-dfree#使用Ctrl+c退出
动态显示进程执行情况top
top指令运行时输入H或?
打开帮助窗口,输入Q退出指令。
查看当前有哪些进程ps-AFL
查看进程的启动时间ps-A-opid,stime,etime,args
查看目前登入用户运行的程序w
查看当前用户程序实际内存占用,并排序
ps-u$USER-opid,rss,cmd--sort-rss
统计程序的内存耗用
ps-eofname,rss|awk'{arr[$1]+=$2}END{for(iinarr){printi,arr[i]}}'|sort-k2-nr
按内存从大到小排列进程
ps-eo"%C :
%p :
%z :
%a"|sort-k5-nr
按cpu利用率从大到小排列进程
ps-eo"%C :
%p :
%z :
%a"|sort-nr
查看当前进程树pstree
中止一个进程
kill进程号(就是ps-A中的第一列的数字)或者killall进程名
强制中止一个进程(在上面进程中止不成功的时候使用)
kill-9进程号或者killall-9进程名
图形方式中止一个程序
xkill出现骷髅标志的鼠标,点击需要中止的程序即可
查看进程打开的文件lsof-p进程的pid
显示开启文件abc.txt的进程lsofabc.txt
显示22端口现在运行什么程序lsof-i :
22
显示nsd进程现在打开的文件lsof-cnsd
在後台运行程序,退出登录後,并不结束程序nohup程序&
#查看中间运行情况 tailnohup
在后台运行交互式程序,退出登录后,并不结束程序
sudoapt-getinstallscreen
screenvima.txt
#直接退出后使用
screen-ls#1656.pts-0.ubuntu(Detached)
screen-r1656#恢复
#热键,同时按下Ctrl和a键结束后,再按下功能键
C-a ?
#显示所有键绑定信息
C-aw#显示所有窗口列表
C-aC-a#切换到之前显示的窗口
C-ac#创建一个新的运行shell的窗口并切换到该窗口
C-an#切换到下一个窗口
C-ap#切换到前一个窗口(与C-an相对)
C-a0..9#切换到窗口0..9
C-aa#发送C-a到当前窗口
C-ad#暂时断开screen会话
C-ak#杀掉当前窗口
详细显示程序的运行信息strace-f-F-ooutfile
增加系统最大打开文件个数
#ulimit–SHnsudovim/etc/security/limits.conf
文件尾追加
*hardnofile4096
*softnofile4096
sudovim/etc/pam.d/su
将pam_limits.so这一行注释去掉
重起系统
清除僵尸进程
ps-eal|awk'{if($2=="Z"){print$4}}'|xargssudokill-9
将大于120M内存的php-cgi都杀掉
ps-eopid,fname,rss|grepphp-cgi|grep-vgrep|awk'{if($3>=120000)print$1}'|xargssudokill-9
Linux系统中如何限制用户进程CPU占用率
renice+10`psaux|awk'{if($3>0.8&&id-u$1>500)print$2}'`
#或直接编辑/etc/security/limits.conf文件。
ADSL
配置ADSLsudopppoeconf
ADSL手工拨号sudopondsl-provider
激活ADSLsudo/etc/ppp/pppoe_on_boot
断开ADSLsudopoff
查看拨号日志sudoplog
如何设置动态域名
#首先去http:
//www.3322.org申请一个动态域名
#然後修改/etc/ppp/ip-up增加拨号时更新域名指令
sudovim/etc/ppp/ip-up
#在最後增加如下行
w3m-no-cookie-dump'http:
//username:
password@members.3322.org/dyndns/update?
system=dyndns&hostname=yourdns.3322.org'
网络
根据IP查网卡地址arpingIP地址
根据IP查电脑名nmblookup-AIP地址
查看当前IP地址
ifconfigeth0|awk'/inet/{split($2,x,":
");printx[2]}'
查看当前监听80端口的程序lsof-i :
80
查看当前网卡的物理地址
ifconfigeth0|head-1|awk'{print$5}'
同一个网卡增加第二个IP地址
#在网卡eth0上增加一个1.2.3.4的IP:
sudoifconfigeth0:
01.2.3.4netmask255.255.255.0
#删除增加的IP:
sudoifconfigeth0:
0down
立即让网络支持nat
echo1|sudotee/proc/sys/net/ipv4/ip_forward
sudoiptables-tnat-IPOSTROUTING-jMASQUERADE
查看路由信息netstat–rnsudoroute-n
手工增加一条路由
sudorouteadd-net192.168.0.0netmask255.255.255.0gw172.16.0.1
手工删除一条路由
sudoroutedel-net192.168.0.0netmask255.255.255.0gw172.16.0.1
修改网卡MAC地址的方法
sudoifconfigeth0down#关闭网卡
sudoifconfigeth0hwether00:
AA:
BB:
CC:
DD:
EE#然后改地址
sudoifconfigeth0up#然后启动网卡
永久改地址方法sudogedit/etc/network/interfaces
在ifaceeth0inetstatic后面添加一行:
pre-upifconfigeth0hwether01:
01:
01:
01:
01:
01
配置文件应该像如下
ifaceeth0inetstatic
pre-upifconfigeth0hwether01:
01:
01:
01:
01:
01
address192.168.1.10
netmask255.255.255.0
gateway192.168.1.1
最后是logout或者reboot
屏蔽IPV6
echo"blacklistipv6"|sudotee/etc/modprobe.d/blacklist-ipv6
察看当前网络连接状况以及程序sudonetstat-atnp
查看网络连接状态
netstat-n|awk'/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}'
查看当前系统所有的监听端口nc-zvlocalhost1-65535
查看网络的当前流量
#安装ethstatus软件sudoapt-getinstallethstatus
#查看ADSL的速度sudoethstatus-ippp0
#查看网卡的速度sudoethstatus-ieth0
#或安装bwm-ngsudoapt-getinstallbwm-ng
#查看当前网络流量bwm-ng
查看域名的注册备案情况whois
查看到某一个域名的路由情况tracepath
重新从服务器获得IP地址sudodhclient
从当前页面开始镜像整个网站到本地
wget-r-p-np-k
·-r:
在本机建立服务器端目录结构;
·-p:
下载显示HTML文件的所有图片;
·-np:
只下载目标站点指定目录及其子目录的内容;
·-k:
转换非相对链接为相对链接。
如何多线程下载
sudoapt-getinstallaxel
axel-n5http:
//xxx.xxx.xxx.xxx/xxx.zip
或者
lftp-c"pget-n5http:
//xxx.xxx.xxx.xxx/xxx.zip“
如何查看HTTP头
w3m-dump_head
或curl--head
快速使用http方式共享目录
#进入需要共享的目录后运行:
python-mSimpleHTTPServer
#其它电脑使用http:
//ip:
8000来访问
#自定义端口为8080:
python-mSimpleHTTPServer8080
SSH远程端口转发
ssh-v-CNgD7070username@sshhostipaddress
监控网络所有的tcp数据
sudoapt-getinstallsnort#安装snort入侵检测程序
sudosnort-vde
监控TCP/UDP连接的流量
sudoapt-getinstalliftopsudoiftop
#或sudoapt-getinstalliptrafsudoiptraf
iptables
防止外网用内网IP欺骗
#eth0为外网网卡
sudoiptables-tnat-APREROUTING-ieth0-s10.0.0.0/8-jDROP
sudoiptables-tnat-APREROUTING-ieth0-s172.16.0.0/12-jDROP
sudoiptables-tnat-APREROUTING-ieth0-s192.168.0.0/16-jDROP
查看nat规则sudoiptables-tnat-L
查看filter规则sudoiptables-L-n
取消nat规则sudoiptables-tnat-F
取消filter规则sudo