当前位置: 首页> 讲话发言> 发言稿>

转载Ubuntu命令技巧

发布时间:2020-08-18 12:15:02 浏览数:

 转载 Ubuntu 命令技巧 1

 原文地址:Ubuntu 命令技巧 1 作者:李素校下面的命令大都需要在控制台/终端/shell 下输入。

 控制台,终端,和 shell 意味着同样一件事-一个命令行界面,他可以用来控制系统。

 打开一个控制台:

 应用程序--附件--终端

 任何一个使用"sudo"作为前缀的命令都需要拥有管理员(或 root)访问权限。所以你会被提示输入你自己的密码。

 安装升级

 查看软件 xxx 安装内容

 dpkg-L xxx

 查找软件库中的软件

 apt-cache search 正则表达式或 aptitude search 软件包

 显示系统安装包的统计信息

 apt-cache stats

 显示系统全部可用包的名称

 apt-cache pkgnames

 显示包的信息

 apt-cache show k3b

 查找文件属于哪个包

 apt-

 查看已经安装了哪些包

 dpkg-l

 查询软件 xxx 依赖哪些包

 apt-cache depends xxx

 查询软件 xxx 被哪些包依赖

 apt-cache rdepends xxx

 增加一个光盘源

 sudo apt-cdrom add

 系统更新

 sudo apt-get update(这一步更新包列表)sudo apt-get dist-upgrade(这一步安装所有可用更新)或者 sudo apt-get upgrade(这一步安装应用程序更新,不安装新内核等)

 清除所有已删除包的残馀配置文件

 dpkg-l|grep^rc|awk"{print}"|sudo xargs dpkg-P 如果报如下错误,证明你的系统中没有残留配置文件了,无须担心。

 dpkg:--purge needs at least one package name argument Type dpkg--help for help about installing and deinstalling packages[*];

 Use`dselect"or`aptitude"for user-friendly package management;

 Type dpkg-Dhelp for alist of dpkg debug flag values;

 Type dpkg--force-help for alist of forcing options;

 Type dpkg-deb--help for help about manipulating*.deb files;

 Type dpkg--license for copyright license and lack of warranty(GNU GPL)[*].

 Options marked[*]produce alot of output-pipe it through`less"or`more"!

 编译时缺少 h 文件的自动处理

 sudo auto-apt run./configure

 查看安装软件时下载包的临时存放目录

 ls/var/cache/apt/archives

 备份当前系统安装的所有包的列表

 dpkg--get-selections|grep-v deinstall~/somefile

 从上面备份的安装包的列表文件恢复所有包

 dpkg--set-selections~/some dselect

 清理旧版本的软件缓存

 sudo apt-get autoclean

 清理所有软件缓存

 sudo apt-get clean

 删除系统不再使用的孤立软件

 sudo apt-get autoremove

 查看包在服务器上面的地址

 apt-get-qq--print-uris install ssh|cut-d"-f2

 彻底删除 Gnome apt-get--purge remove liborbit2

 彻底删除 KDE apt-get--purge remove libqt3-mt libqtcore4

 一键安装 LAMP 服务

 sudo tasksel install lamp-server

 删除旧内核

 sudo aptitude purge~ilinux-image-.*(!`uname-r`)

 导入 ppa 源的 key 值

 #W:GPG 签名验证错误:jaunty Release:由于没有公钥,下列签名无法进行验证:NO_PUBKEY 5126890 CDCC7AFE0 sudo apt-key adv--recv-keys--keyserver keyserver.ubuntu.com 5126890 CDCC7AFE0#5126890 CDCC7AFE0 替换为你需要导入的 Key 值

 增加一个 ppa 源

 sudo add-apt-repository ppa:user/ppa-name#使用 ppa 的地址替换ppa:user/ppa-name

 系统升级

 这里指的是版本间的升级,例如 9.04=10.04。使用该升级方式通常需要使能 backports 源。sudo apt-get update sudo apt-get install update-manager-core sudo do-release-upgrade

 系统

 查看内核

 uname-a

 查看系统是 32 位还是 64 位

 #查看 long 的位数,返回 32 或 64 getconf LONG_BIT#查看文件信息,包含 32-bit 就是 32 位,包含 64-bit 就是 64 位

 查看 Ubuntu 版本

 cat/etc/issue 或 cat/etc/lsb-release 或 lsb_release-dsc

 查看内核加载的模块

 lsmod

 查看 PCI 设备

 lspci

 查看 USB 设备

 lsusb#加参数-v 可以显示 USB 设备的描述表(descriptors)lsusb-v

 查看网卡状态

 sudo apt-get install ethtool sudo ethtool eth0

 激活网卡的 Wake-on-LAN sudo apt-get install wakeonlan 或 sudo ethtool-s eth0 wol g

 查看 CPU 信息

 cat/proc/cpuinfo

 显示当前硬件信息

 sudo lshw

 获取 CPU 序列号或者主板序列号

 #CPU ID sudo dmidecode-t 4|grep ID#Serial Number sudo dmidecode|grep Serial#CPU sudo dmidecode-t 4#BIOS sudo dmidecode-t 0#主板:sudo dmidecode-t 2#OEM:sudo dmidecode-t 11

 显示当前内存大小

 free-m|grep"Mem"|awk"{print}"

 查看硬盘温度

 sudo apt-get install hddtemp sudo hddtemp/dev/sda

 显示系统运行时间

 $uptime

 查看系统限制

 $ulimit-a

 查看内核限制

 $ipcs-l

 硬盘

 查看硬盘的分区

 sudo fdisk-l

 硬盘分区

 #危险!小心操作。sudo fdisk/dev/sda

 硬盘格式化

 #危险!将第一个分区格式化为 ext3 分区,mkfs.reiserfs mkfs.xfs mkfs.vfat sudo mkfs.ext3/dev/sda1

 硬盘检查

 #危险!检查第一个分区,请不要检查已经挂载的分区,否则容易丢失和损坏数据 sudo fsck/dev/sda1

 分区挂载

 sudo mount-t 文件系统类型设备路经访问路经#常用文件类型如下:iso9660 光驱文件系统,vfat fat/fat32 分区,ntfs ntfs 分区,smbfs windows

 网络共享目录,reiserfs、ext3、xfs Linux 分区#如果中文名无法显示尝试在最后增加-o nls=utf8 或-o iocharset=utf8#如果需要挂载后,普通用户也可以使用,在-o 的参数后面增加,umask=022 如:-o nls=utf8,umask=022

 分区卸载

 sudo umount 目录名或设备名

 只读挂载 ntfs 分区

 sudo mount-t ntfs-o nls=utf8,umask=0/dev/sdb1/mnt/c

 可写挂载 ntfs 分区

 sudo mount-t ntfs-3g-o locale=zh_CN.utf8,umask=0/dev/sdb1/mnt/c

 挂载 fat32 分区

 sudo mount-t vfat-o iocharset=utf8,umask=0/dev/sda1/mnt/c

 挂载共享文件

 sudo mount-t smbfs-o username=xxx,password=xxx,iocharset=utf8//192.168.1.1/share/mnt/share

 挂载 ISO 文件

 sudo mount-t iso9660-o loop,utf8 xxx.iso/mnt/iso

 查看 IDE 硬盘信息

 sudo hdparm-i/dev/hda

 查看软 raid 阵列信息

 cat/proc/mdstat

 参看硬 raid 阵列信息

 dmesg|grep-i raid cat/proc/scsi/scsi

 查看 SATA 硬盘信息

 sudo hdparm-I/dev/sda 或 sudo apt-get install blktool sudo blktool/dev/sda id

 查看硬盘剩余空间

 df 用法:df[选项].[文件].显示每个文件所在的文件系统的信息,默认是显示所有文件系统。

 长选项必须用的参数在使用短选项时也是必需的。-a,--all 包括大小为 0个块的文件系统-B,--block-size=大小块以指定大小的字节为单位-h,--human-readable 以容易理解的格式印出文件系统大小(例如 1K 234M 2G)-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 目录名

 优盘没法卸载

 sync fuser-km/media/usbdisk

 使用文件来增加交换空间

 #创建一个 512M 的交换文件/s sudo dd if=/dev/zero of=/s bs=1M count=512 sudo mks sudo s vim/etc/fstab#加到 fstab 文件中让系统引导时自动启动/s s defaults 00

 查看硬盘当前读写情况

 #首先安装 sysstat 包 sudo apt-get install sysstat#每 2 秒刷新一次sudo iostat-x 2

 进程

 查看当前的内存使用情况

 freeusage:free[-b|-k|-m|-g][-l][-o][-t][-s delay][-c count][-V]

 -b,-k,-m,-g show output in bytes,KB,MB,or GB-l show detailed low and high memory statistics-o use old format(no-/+buffers/cache line)-

 t display total for RAM+swap-s update every[delay]seconds-c update[count]times-V display version information and exit

 连续监视内存使用情况

 watch-d free#使用 Ctrl+c 退出

 动态显示进程执行情况

 top top 指令运行时输入 H 或?打开帮助窗口,输入 Q 退出指令。

 查看当前有哪些进程

 ps-AFL

 查看目前登入用户运行的程序

 w

 查看当前用户程序实际内存占用,并排序

 ps-u$USER-o pid,rss,cmd--sort-rss

 统计程序的内存耗用

 ps-eo fname,rss|awk"{arr[]+=}END{for(i in arr){print i,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 的进程

 lsof abc.txt

 显示 22 端口现在运行什么程序

 lsof-i:22

 显示 nsd 进程现在打开的文件

 lsof-c nsd

 在后台运行程序,退出登录后,并不结束程序

 nohup 程序&#查看中间运行情况 tail nohup

 在后台运行交互式程序,退出登录后,并不结束程序

 sudo apt-get install screen screen vim a.txt#直接退出后使用screen-ls#1656.pts-0.ubuntu(Detached)screen-r 1656#恢复#热键,同时按下 Ctrl 和 a 键结束后,再按下功能键 C-a?#显示所有键绑定信息 C-a w#显示所有窗口列表 C-a C-a#切换到之前显示的窗口 C-a c#创建一个新的运行 shell 的窗口并切换到该窗口 C-a n#切换到下一个窗口 C-a p#切换到前一个窗口(与 C-a n 相对)C-a 0.9#切换到窗口 0.9 C-a a#发送 C-a 到当前窗口 C-a d#暂时断开 screen 会话 C-a k#杀掉当前窗口

 详细显示程序的运行信息

 strace-f-F-o out

 增加系统最大打开文件个数

 echo 4096/proc/sys/fs/或者 ulimit-n 4096

 清除僵尸进程

 ps-eal|awk"{if(=="Z"){print}}"|xargs sudo kill-9

 将大于 120M 内存的 php-cgi 都杀掉

 ps-eo pid,fname,rss|grep php-cgi|grep-v grep|awk"{if(=120000)print}"|xargs sudo kill-9 Linux 系统中如何限制用户进程 CPU 占用率

 renice+10`ps aux|awk"{if( 0.8&&id-u 500)print}"`#或直接编辑/etc/security/limits.conf 文件。

 ADSL

 配置 ADSL sudo pppoeconf ADSL 手工拨号

 sudo pon dsl-provider

 激活 ADSL sudo/etc/ppp/pppoe_on_boot

 断开 ADSL sudo poff

 查看拨号日志

 sudo plog

 如何设置动态域名

 #首先去申请一个动态域名#然后修改/etc/ppp/ip-up 增加拨号时更新域名指令 sudo vim/etc/ppp/ip-up#在最后增加如下行 w3m-no-cookie-dump"网络

 根据 IP 查网卡地址

 arping IP 地址

 根据 IP 查电脑名

 nmblookup-A IP 地址

 查看当前 IP 地址

 ifconfig eth0|awk"/inet/{split(,x,":");print x[2]}"

 查看当前外网的 IP 地址

 w3m-no-cookie-dump "[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

 查看当前网卡的物理地址

 ifconfig eth0|head-1|awk"{print}"

 同一个网卡增加第二个 IP 地址

 #在网卡 eth0 上增加一个 1.2.3.4 的 IP:sudo ifconfig eth0:0 1.2.3.4 netmask 255.255.255.0#删除增加的 IP:sudo ifconfig eth0:0 down

 立即让网络支持 nat echo 1|sudo tee/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#然后启动网卡永久改地址方法

 sudo gedit/etc/network/interfaces 在 iface eth0 inet static 后面添加一行:

 pre-up ifconfig eth0 hw ether 01:01:01:01:01:01 配置文件应该像如下

 iface eth0 inet static pre-up ifco nfig eth0 hw ether 01:01:01:01:01:01 address 192.168.1.10 netmask 255.255.255.0 gateway 192.168.1.1 最后是 logout 或者 reboot

 统计当前 IP 连接的个数

 netstat-na|grep ESTABLISHED|awk"{print}"|awk-F:"{print}"|sort|uniq-c|sort-r-n netstat-na|grep SYN|awk"{print}"|awk-F:"{print}"|sort|uniq-c|sort-r-n netstat-ntu|awk"{print}"|cut-d:-f1|sort|uniq-c|sort-n

 统计当前所有 IP 包的状态

 netstat-nat|awk"{print awk$NF}"|sort|uniq-c|sort-n

 统计当前 20000 个 IP 包中大于 100 个 IP 包的 IP 地址

 tcpdump-tnn-c 20000-i eth0|awk-F".""{print"."".""."}"|sort|uniq-c|sort-nr|awk" 100"

 屏蔽 IPV6 echo"blacklist ipv6"|sudo tee/etc/modprobe.d/blacklist-ipv6

 察看当前网络连接状况以及程序

 sudo netstat-atnp

 查看网络连接状态

 netstat-n|awk"/^tcp/{++S[$NF]}END{for(a in S)print a,S[a]}"

 查看当前系统所有的监听端口

 nc-zv localhost 1-65535

 查看网络的当前流量

 #安装 ethstatus 软件 sudo apt-get install ethstatus#查看 ADSL 的速度 sudo ethstatus-i ppp0#查看网卡的速度 sudo ethstatus-i eth0#或安装bwm-ng sudo apt-get install bwm-ng#查看当前网络流量 bwm-ng

 查看域名的注册备案情况

 whois baidu.cn

 查看到某一个域名的路由情况

 tracepath baidu.cn

 重新从服务器获得 IP 地址

 sudo dhclient

 从当前页面开始镜像整个网站到本地

 wget-r-p-np-k·-r:在本机建立服务器端目录结构;·-p:下载显示HTML 文件的所有图片;·-np:只下载目标站点指定目录及其子目录的内容;·-k:转换非相对链接为相对链接。

 如何多线程下载

 sudo apt-get install axel axel-n 5 或者 lftp-c"pget-n 5"

 如何查看 HTTP 头

 w3m-dump_head 或 curl--head 快速使用 http 方式共享目录

 #进入需要共享的目录后运行:python-m SimpleHTTPServer#其它电脑使用来访问#自定义端口为 8080:python-m SimpleHTTPServer 8080 SSH 远程端口转发

 ssh-v-CNgD 7070 username@sshhostipaddress

 监控网络所有的 tcp 数据

 sudo apt-get install snort#安装 snort 入侵检测程序 sudo snort-vde iptables

 防止外网用内网 IP 欺骗

 #eth0 为外网网卡 sudo iptables-t nat-A PREROUTING-i eth0-s 10.0.0.0/8-j DROP sudo iptables-t nat-A PREROUTING-i eth0-s 172.16.0.0/12-j DROP sudo iptables-t nat-A PREROUTING-i eth0-s 192.168.0.0/16-j DROP

 查看 nat 规则

 sudo iptables-t nat-L

 查看 filter 规则

 sudo iptables-L-n

 取消 nat 规则

 sudo iptables-t nat-F

 取消 filter 规则

 sudo iptables-F

 阻止一个 IP 连接本机

 #规则位于最后 sudo iptables-t filter-A INPUT-s 192.168.1.125-i eth0-j DROP

 关闭 1234 端口

 sudo iptables-A OUTPUT-p tcp--dport 1234-j DROP

 开启 80 端口

 sudo iptables-A INPUT-p tcp--dport 80-j ACCEPT

 禁止一个 IP 或者一个 IP 段访问服务器端口服务

 #80 端口,规则插入到前面 sudo iptables-t filter-I INPUT-s 192.168.2.0/24-p tcp--dport http-j DROP#21 端口,规则插入到前面 sudo iptables-t filter-I INPUT-s 192.168.1.23-p tcp--dport ftp-j DROP

 安全

 检查本地是否存在安全隐患

 sudo apt-get install rkhunter sudo rkhunter--checkall

 如何安装杀毒软件

 sudo apt-get install clamav clamscan-r~/

 Linux 下可以使用的商业杀毒软件

 卡巴斯基(deb):avast!(免费/deb):小红伞(gz):BitDefender(比特梵德/run):申请比特梵德的 KEY:服务

 添加一个服务

 sudo update-rc.d 服务名 defaults 99

 删除一个服务

 sudo update-rc.d 服务名 remove

 临时重启一个服务

 /etc/init.d/服务名 restart

 临时关闭一个服务

 /etc/init.d/服务名 stop

 临时启动一个服务

 /etc/init.d/服务名 start

 用户管理

 增加用户

 sudo adduser 用户名

 删除用户

 sudo deluser 用户名

 修改当前用户的密码

 passwd

 修改用户密码

 sudo passwd 用户名

 修改用户资料

 sudo chfn userid

 如何禁用/启用某个帐户

 sudo usermod-L 用户名#锁定用户 sudo usermod-U 用户名#解锁或 sudo passwd-l 用户名#锁定用户 sudo passwd-u 用户名#解锁

 增加用户到 admin 组,让其有 sudo 权限

 sudo usermod-G admin-a 用户名

 如何切换到其他帐号(需要该用户的密码)

 su 用户名

 如何切换到 root 帐号

 sudo-s sudo-i sudo su

 设置

 配置默认 Java 使用哪个

 sudo update-alternatives--config java

 给 apt 设置代理

 export http_proxy=修改系统登录信息

 sudo vim/etc/motd

 使用 eclipse 等其他自带 java 编译器的软件,换回 sun 的编译器方法

 对于 Java JDK6(就是 1.6,sun 缩短 Java 的版本名字了):

 sudo update-java-alternatives-s java-6-sun 对于 Java JDK1.5 sudo update-java-alternatives-s java-1.5.0-sun MSN 空间完美搬家到新浪博客!

 特别声明:

 1 :资料来源于互联网,版权归属原作者 2 :资料内容属于网络意见,与本账号立场无关 3 :如有侵权,请告知,立即删除。

上一篇:幼儿园预防流感通知及告家长书

上一篇:给导师写道歉信怎么写

相关范文