Ubuntu命令大全
ericLi
|
1#
ericLi 发表于 2008-12-22 16:17
Ubuntu命令大全
查看软件xxx安装内容
dpkg -L xxx 查找软件 apt-cache search 正则表达式 查找文件属于哪个包 dpkg -S filename apt-file search filename 查询软件xxx依赖哪些包 apt-cache depends xxx 查询软件xxx被哪些包依赖 apt-cache rdepends xxx 增加一个光盘源 sudo apt-cdrom add 系统升级 sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade 清除所以删除包的残余配置文件 dpkg -l |grep ^rc|awk '{print $2}' |tr ["\n"] [" "]|sudo xargs dpkg -P - 编译时缺少h文件的自动处理 sudo auto-apt run ./configure 查看安装软件时下载包的临时存放目录 ls /var/cache/apt/archives 备份当前系统安装的所有包的列表 dpkg --get-selections | grep -v deinstall > ~/somefile 从上面备份的安装包的列表文件恢复所有包 dpkg --set-selections < ~/somefile sudo dselect 清理旧版本的软件缓存 sudo apt-get autoclean 清理所有软件缓存 sudo apt-get clean 删除系统不再使用的孤立软件 sudo apt-get autoremove 查看包在服务器上面的地址 apt-get -qq --print-uris install ssh | cut -d\' -f2 系统 查看内核 uname -a 查看Ubuntu版本 cat /etc/issue 查看内核加载的模块 lsmod 查看PCI设备 lspci 查看USB设备 lsusb 查看网卡状态 sudo ethtool eth0 查看CPU信息 cat /proc/cpuinfo 显示当前硬件信息 lshw 硬盘 查看硬盘的分区 sudo fdisk -l 查看IDE硬盘信息 sudo hdparm -i /dev/hda 查看STAT硬盘信息 sudo hdparm -I /dev/sda 或 sudo apt-get install blktool sudo blktool /dev/sda id 查看硬盘剩余空间 df -h df -H 查看目录占用空间 du -hs 目录名 优盘没法卸载 sync fuser -km /media/usbdisk 内存 查看当前的内存使用情况 free -m 进程 查看当前有哪些进程 ps -A 中止一个进程 kill 进程号(就是ps -A中的第一列的数字) 或者 killall 进程名 强制中止一个进程(在上面进程中止不成功的时候使用) kill -9 进程号 或者 killall -9 进程名 图形方式中止一个程序 xkill 出现骷髅标志的鼠标,点击需要中止的程序即可 查看当前进程的实时状况 top 查看进程打开的文件 lsof -p ADSL 配置 ADSL sudo pppoeconf ADSL手工拨号 sudo pon dsl-provider 激活 ADSL sudo /etc/ppp/pppoe_on_boot 断开 ADSL sudo poff 查看拨号日志 sudo plog 如何设置动态域名 #首先去 http://www.3322.org 申请一个动态域名 #然后修改 /etc/ppp/ip-up 增加拨号时更新域名指令 sudo vim /etc/ppp/ip-up #在最后增加如下行 w3m -no-cookie -dump 'http://username:password@members.3322.org/dyndns/update?system=dyndns&hostname=yourdns.3322.org' 网络 根据IP查网卡地址 arping IP地址 查看当前IP地址 ifconfig eth0 |awk '/inet/ {split($2,x,":");print x[2]}' 查看当前外网的IP地址 w3m -no-cookie -dump www.ip138.com|grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' w3m -no-cookie -dump www.123cha.com|grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' w3m -no-cookie -dump ip.loveroot.com|grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' 查看当前监听80端口的程序 lsof -i :80 查看当前网卡的物理地址 arp -a | awk '{print $4}' ifconfig eth0 | head -1 | awk '{print $5}' 立即让网络支持nat sudo echo 1 > /proc/sys/net/ipv4/ip_forward sudo iptables -t nat -I POSTROUTING -j MASQUERADE 查看路由信息 netstat -rn sudo route -n 手工增加删除一条路由 sudo route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 sudo route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 修改网卡MAC地址的方法 sudo ifconfig eth0 down #关闭网卡 sudo ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE #然后改地址 sudo ifconfig eth0 up #然后启动网卡 统计当前IP连接的个数 netstat -na|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r -n netstat -na|grep SYN|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r -n 统计当前20000个IP包中大于100个IP包的IP地址 tcpdump -tnn -c 20000 -i eth0 | awk -F "." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr | awk ' $1 > 100 ' 屏蔽IPV6 echo "blacklist ipv6" | sudo tee /etc/modprobe.d/blacklist-ipv6 服务 添加一个服务 sudo update-rc.d 服务名 defaults 99 删除一个服务 sudo update-rc.d 服务名 remove 临时重启一个服务 /etc/init.d/服务名 restart 临时关闭一个服务 /etc/init.d/服务名 stop 临时启动一个服务 /etc/init.d/服务名 start 设置 配置默认Java使用哪个 sudo update-alternatives --config java 修改用户资料 sudo chfn userid 给apt设置代理 export http_proxy=http://xx.xx.xx.xx:xxx 修改系统登录信息 sudo vim /etc/motd 中文 转换文件名由GBK为UTF8 sudo apt-get install convmv convmv -r -f cp936 -t utf8 --notest --nosmart * 批量转换src目录下的所有文件内容由GBK到UTF8 find src -type d -exec mkdir -p utf8/{} \; find src -type f -exec iconv -f GBK -t UTF-8 {} -o utf8/{} \; mv utf8/* src rm -fr utf8 转换文件内容由GBK到UTF8 iconv -f gbk -t utf8 $i > newfile 转换 mp3 标签编码 sudo apt-get install python-mutagen find . -iname “*.mp3” -execdir mid3iconv -e GBK {} \; 控制台下显示中文 sudo apt-get install zhcon 使用时,输入zhcon即可 文件 快速查找某个文件 whereis filename find 目录 -name 文件名 查看文件类型 file filename 显示xxx文件倒数6行的内容 tail -n 6 xxx 让tail不停地读地最新的内容 tail -n 10 -f /var/log/apache2/access.log 查看文件中间的第五行(含)到第10行(含)的内容 sed -n '5,10p' /var/log/apache2/access.log 查找包含xxx字符串的文件 grep -l -r xxx . 查找关于xxx的命令 apropos xxx man -k xxx 通过ssh传输文件 scp -rp /path/filename username@remoteIP:/path #将本地文件拷贝到服务器上 scp -rp username@remoteIP:/path/filename /path #将远程文件从服务器下载到本地 查看某个文件被哪些应用程序读写 lsof 文件名 把所有文件的后辍由rm改为rmvb rename 's/.rm$/.rmvb/' * 把所有文件名中的大写改为小写 rename 'tr/A-Z/a-z/' * 删除特殊文件名的文件,如文件名:--help.txt rm -- --help.txt 或者 rm ./--help.txt 查看当前目录的子目录 ls -d */. 或 echo */. 将当前目录下最近30天访问过的文件移动到上级back目录 find . -type f -atime -30 -exec mv {} ../back \; 将当前目录下最近2小时到8小时之内的文件显示出来 find . -mmin +120 -mmin -480 -exec more {} \; 删除修改时间在30天之前的所有文件 find . -type f -mtime +30 -mtime -3600 -exec rm {} \; 查找guest用户的以avi或者rm结尾的文件并删除掉 find . -name '*.avi' -o -name '*.rm' -user 'guest' -exec rm {} \; 查找的不以java和xml结尾,并7天没有使用的文件删除掉 find . ! -name *.java ! -name ‘*.xml’ -atime +7 -exec rm {} \; 统计当前文件个数 ls /usr/bin|wc -w 统计当前目录个数 ls -l /usr/bin|grep ^d|wc -l 显示当前目录下2006-01-01的文件名 ls -l |grep 2006-01-01 |awk '{print $8}' 压缩 解压缩 xxx.tar.gz tar -zxvf xxx.tar.gz 解压缩 xxx.tar.bz2 tar -jxvf xxx.tar.bz2 压缩aaa bbb目录为xxx.tar.gz tar -zcvf xxx.tar.gz aaa bbb 压缩aaa bbb目录为xxx.tar.bz2 tar -jcvf xxx.tar.bz2 aaa bbb Nautilus 显示隐藏文件 Ctrl+h 显示地址栏 Ctrl+l 特殊 URI 地址 * computer:/// - 全部挂载的设备和网络 * network:/// - 浏览可用的网络 * burn:/// - 一个刻录 CDs/DVDs 的数据虚拟目录 * smb:/// - 可用的 windows/samba 网络资源 * x-nautilus-desktop:/// - 桌面项目和图标 * file:/// - 本地文件 * trash:/// - 本地回收站目录 * ftp:// - FTP 文件夹 * ssh:// - SSH 文件夹 * fonts:/// - 字体文件夹,可将字 1 文件管理 # ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件 文件管理 # ls ls -l或ll 列出当前目录下文件的详细信息 文件管理 # pwd pwd 查看当前所在目录的绝对路经 文件管理 # cd cd .. 回当前目录的上一级目录 文件管理 # cd cd - 回上一次所在的目录 文件管理 # cd cd ~ 或 cd 回当前用户的宿主目录 文件管理 # cd cd ~用户名 回指定用户的宿主目录 2 文件管理 # mkdir mkdir 目录名 创建一个目录 文件管理 # mkdir mkdir –p 递归式去创建一些嵌套目录 文件管理 # rmdir Rmdir 空目录名 删除一个空目录 3 文件管理 # rm rm 文件名 文件名 删除一个文件或多个文件 文件管理 # rm rm -rf 非空目录名 递归删除一个非空目录下的一切,不让提式-f 4 文件管理 # cat cat文件名 一屏查看文件内容 5 文件管理 # more more文件名 分页查看文件内容 6 文件管理 # less less 文件名 可控分页查看文件内容 7 文件管理 # grep grep字符 文件名 根据字符匹配来查看文件部分内容 8 文件管理 # mv mv 路经/文件 /经/文件 移动相对路经下的文件到绝对路经下 文件管理 # mv mv 文件名 新名称 在当前目录下改名 9 文件管理 # cp cp /路经/文件 ./ 移动绝对路经下的文件到当前目录下 10 文件管理 # find find 路经 -name “字符串” 查找路经所在范围内满足字符串匹配的文件和目录 11 文件管理 # ln ln 源文件 链接名 创建当前目录源文件的硬链接 ln /home/test /usr/test1 在/usr下建立/home/test的硬链接 12 文件管理 # ln Ln -s a b 创建当前目录下a的符号链接b 13 文件管理 # touch touch file1 file2 创建两个空文件 14 磁盘管理 # df df 用于报告文件系统的总容量,使用量,剩余容量。 15 磁盘管理 # du du -b /home 查看目前/HOME目录的容量(k)及子目录的容量(k)。 16 磁盘管理 # fdisk fdisk -l 查看系统分区信息 17 磁盘管理 # fdisk fdisk /dev/sdb 为一块新的SCSI硬盘进行分区 18 磁盘管理 # mkfs.ext3 Mkfs.ext3 /dev/sdb1 为第一块SCSI硬盘的第一主分区格式化成 ext3的文件系统 mkfs.ext2 Mkfs.ext2/dev/sdb2 格式化成ext2文件系统 19 磁盘管理 # mount mount -t 文件系统类型 设备路经 访问路经 磁盘管理 # 文件系统类型 ISO9660 光驱文件系统 vfat Fat文件系统(windows) 挂载光驱 # mount –t iso9660 /dev/cdrom /mnt/cdrom 挂载FAT # mount –t vfat /dev/hda5 /mnt/cdrom 挂第一个ide的第五个逻辑分区 17 磁盘管理 # Umount /mnt/cdrom 卸载/mnt/cdrom为空 18 文件权限 # chmod chmod u+s file 为file的属主加上特殊权限 chmod g+r file 为file的属组加上读权限 chmod o+w file 为file的其它用户加上写权限 chmod a-x file 为file的所有用户减去执行权限 chmod 765 file 为file的属主设为完全权限,属组设成读写权,其它用户具有读和执心权限 19 文件权限 # chown chown root /home 把/home的属主改成root用户 20 文件权限 # chgrp chgrp root /home 把/home的属组改成root组 21 打印管理 # redhat-config-printer-tui 进入安装打印机界面 22 打印管理 # lp lp –d hptr file 打印file到hptr的打印机上 23 打印管理 # lpq Lpq –P 打印机名 查看打印机的状态 24 打印管理 # lprm Lprm –P 打印机名 a 删除打印机内的打印作业 25 打印管理 # disable Disable –r “changing paper” HPtr 禁用打印机并提示原因 26 打印管理 # enable Enable HPtr 重新启用被禁用的 27 用户管理 # useradd Useradd 创建一个新的用户 28 用户管理 # groupadd Groupadd 组名 创建一个新的组 29 用户管理 # passwd Passwd 用户名 为用户创建密码 30 用户管理 # Passwd -d Passwd -d用户名 删除用户密码也能登陆 31 用户管理 # Passwd -l Passwd -l用户名 锁定账号密码 32 用户管理 # Passwd -u Passwd -u用户名 解锁账号密码 33 用户管理 # Passwd -S Passwd -S用户名 查询账号密码 34 用户管理 # Usermod -l Usermod -l 新用户名 老用户名 为用户改名 35 用户管理 # Usermod -L Usermod -L 要锁定用户名 锁定用户登陆 36 用户管理 # Usermod -U Usermod –U解锁用户名 解锁用户登陆 37 用户管理 # Usermod -u Usermod –u 501用户名 改变用户UID 38 用户管理 # Userdel Userdel–r 用户名 删除用户一切 39 用户管理 # Groupmod -n Groupmod –n新用户名 老用户名 为组改名 40 用户管理 # Groupmod -g Groupmod –g 501 组名 改变组GID 41 用户管理 # groupdel Groupdel组名 先应删它的用户 删除组 42 用户管理 # gpasswd -a gpasswd -a 用户名 组名 增加用户到组 43 用户管理 # Id id 用户名 查用户信息 44 软件管理 # rpm -qa rpm –qa | less 查询已安装RPM 45 软件管理 # rpm –qa | grep ftp 查询指定RPM 46 软件管理 # rpm -q rpm -q 已安装的RPM包 查是否安装 47 软件管理 # rpm -q telnet-server 查看telnet服务器包 48 软件管理 # rpm -qi rpm –qi 软件包名称 查看软件的描述信息 49 软件管理 # rpm -ql rpm –ql软件包名称 查询软件包的文件列表 50 软件管理 # rpm -qf rpm –qf软件包名称 查询某个文件所属的软件包 51 软件管理 # rpm -qp rpm –qp软件包全名 查询未安装的软件包信息 52 软件管理 # rpm -e rpm –e 软件包名称 删除具体的软件包 53 软件管理 # rpm -U rpm –Uvh软件包全名 升级软件包并显示过程 54 软件管理 # rpm -ivh rpm –ivh 软件包全名 安装软件包并显示过程 55 软件管理 # rpm -V rpm –V软件包名称 验证软件包的大小,类型等 56 软件管理 # tar -c 创建包 –x 释放包 -v 显示命令过程 –z 代表压缩包 57 软件管理 # tar -cf tar –cvf benet.tar /home/benet 把/home/benet目录打包 58 软件管理 # tar -czf tar –zcvf benet.tar.gz /mnt 把目录打包并压缩 59 软件管理 # tar –tf tar –tf benet.tar 看非压缩包的文件列表 60 软件管理 # tar –tzf tar –tf benet.tar.gz 看压缩包的文件列表 61 软件管理 # tar –xf tar –xf benet.tar 非压缩包的文件恢复 62 软件管理 # tar –zxvf tar –zxvf benet.tar.gz 压缩包的文件解压恢复 63 软件管理 # tar -jxvf tar –jxvf benet.tar.bz2 64 软件管理 # diff diff file1 file2 > 补丁名.patch 为新旧文件生成补丁文件 65 软件管理 # diff diff file1 file2 比较两个文件的区别 66 软件管理 # Patch Patch file补丁名.patch 打补丁 67 软件管理 # ./configure --prefix=/usr/local/ 编译前配置 68 软件管理 # make 编译 69 软件管理 # make install 安装编译好的源码包 70 启动管理 # reboot Init 6 重启LINUX系统 71 启动管理 # Halt Init 0 Shutdown –h now 关闭LINUX系统 72 启动管理 # runlevel 显示系统运行级 73 启动管理 # Init [0123456] 改变系统运行级,7种 74 启动管理 # Chkconfig –-list [服务名称] 查看服务的状态 75 启动管理 # Chkconfig –-level <运行级> <服务名> on|off|set 设置服务的启动状态 76 启动管理 # Chkconfig <服务名> on|off|set 设置非独立服务启状态 77 进程管理 # Top动态 Ps-aux静态 进程树pstree 查看系统进程 78 进程管理 # 程序名 & 后台运行程序 79 进程管理 # fg 把后台运行的进程调回前台 80 进程管理 # bg 把前台运行进程调到后台 81 进程管理 # renice Renice +1 180 把180号进程的优先级加1 82 进程管理 # kill Kill PID 终止某个PID进程 83 进程管理 # at at 5pm + 3 days /bin/ls 指定三天后下午5:00执行/bin/ls 84 进程管理 # crontab Crontab -e 用VI的形式来编辑自动周期性任务 85 进程管理 # crontab Crontab -l 查看自动周期性任务 86 进程管理 # crontab Crontab -r 删除自动周期性任务 87 进程管理 # crond Service crond 马上启动自动周期性服务 Service crond <启动|停止|重启|状态> 实现磁盘配额 (注安装LINUX时建立/home分区) 目标:对用户zhao在/home目录上实现soft limit为5k,hard limit 为10k的磁盘配额 实现步骤: 1. 修改包含/home的行, #vi /etc/fstab, 改为:defaults,usrquota。也就是增加usrquota项。然后保存退出。 2、卸载/home目录 #umount /home 3. 挂接/home目录 #mount /home 4、增加用户zhao #useradd zhao 5、修改密码 #passwd zhao 6、生成关于/home目录的quota信息 # quotacheck -cmug /home #quotacheck -vu /home 7、查看所有用户的信息 #repquota -au 8、设置配额 #edquota -u zhao 将soft 和hard 分别改为5和10 9、保存并退出 #wq! 10、修改时间 #edquota -t 11、 #wq! 12.开启/home上的磁盘配额功能 #quotaon /home 13.查询配额 #quota -u zhao |