`
yelinsen05
  • 浏览: 494091 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Ubuntu shell 使用命令大全

阅读更多
前言

下面的命令大都需要在 控制台 / 终端 / shell 下输入。

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

打开一个控制台:

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

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

安装升级
查看软件xxx安装内容

dpkg -L xxx

查找软件库中的软件

apt-cache search 正则表达式

aptitude search 软件包

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

apt-cache stats

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

apt-cache pkgnames

显示包的信息

apt-cache show k3b

查找文件属于哪个包

apt-file search filename

查看已经安装了哪些包

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 $2}' |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 a list of dpkg debug flag values;
    Type dpkg --force-help for a list 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 a lot 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 < ~/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

    彻底删除Gnome

    apt-get --purge remove liborbit2

    彻底删除KDE

    apt-get --purge remove libqt3-mt libqtcore4

    系统
    查看内核

    uname -a

    查看Ubuntu版本

    cat /etc/issue
    或 cat /etc/lsb-release
    或 lsb_release –d –s –c

    查看内核加载的模块

    lsmod

    查看PCI设备

    lspci

    查看USB设备

    lsusb

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

    查看网卡状态

    sudo ethtool eth0

    查看CPU信息

    cat /proc/cpuinfo

    显示当前硬件信息

    sudo lshw

    显示当前内存大小

    free -m |grep "Mem" | awk '{print $2}'

    查看硬盘温度

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

    显示系统运行时间

    $ uptime
    11:47:04 up 85 days,  2:10,  1 user,  load average: 2.40, 2.18, 2.34

    硬盘
    查看硬盘的分区

    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的交换文件 /swapfile
    sudo dd if=/dev/zero of=/swapfile bs=1M count=512
    sudo mkswap /swapfile
    sudo swapon /swapfile
    #sudo vim /etc/fstab #加到fstab文件中让系统引导时自动启动
    /swapfile swap swap defaults 0 0

    查看硬盘当前读写情况

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

    进程
    查看当前的内存使用情况

    free

    usage: 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

    统计程序的内存耗用

    ps -eo fname,rss|awk '{arr[$1]+=$2} 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

    详细显示程序的运行信息

    strace -f -F -o outfile <cmd>

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

    echo 4096 > /proc/sys/fs/file-max
    #或者
    ulimit -n 4096

    清除僵死进程

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





    分享到:
    评论

    相关推荐

    Global site tag (gtag.js) - Google Analytics