美文网首页Linux
ubuntu常用命令及部分快捷键

ubuntu常用命令及部分快捷键

作者: LOOK_LOOK | 来源:发表于2017-04-14 08:58 被阅读415次

    转自别人的博客,但原文地址找不到了。
    ---------------------------内容较多,页内查找请按Ctrl+F-----------------------------------

    查看系统和硬件相关信息的命令简介

    查看内核/操作系统/CPU信息

    # uname -a
    # head -n 1 /etc/issue # 查看操作系统版本

    # cat /etc/redhat-release # 查看操作系统版本(redhat,centos,fedora)

    # cat /proc/cpuinfo # 查看CPU信息

    # hostname # 查看计算机名

    # lspci -tv# 列出所有PCI设备

    # lsusb -tv# 列出所有USB设备

    # lsmod# 列出加载的内核模块

    # env # 查看环境变量资源

    # free -m# 查看内存使用量和交换区使用量

    # df -h # 查看各分区使用情况

    # du -sh <目录名> # 查看指定目录的大小

    # grep MemTotal /proc/meminfo # 查看内存总量

    # grep MemFree /proc/meminfo # 查看空闲内存量

    # uptime # 查看系统运行时间、用户数、负载

    # cat /proc/loadavg # 查看系统负载磁盘和分区

    # mount | column -t# 查看挂接的分区状态

    # fdisk -l # 查看所有分区

    # swapon -s # 查看所有交换分区

    # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)

    # dmesg | grep IDE # 查看启动时IDE设备检测状况网络

    # ifconfig # 查看所有网络接口的属性

    # iptables -L # 查看防火墙设置

    # route -n # 查看路由表

    # netstat -lntp # 查看所有监听端口

    # netstat -antp # 查看所有已经建立的连接

    # netstat -s # 查看网络统计信息进程

    # ps -ef # 查看所有进程

    # top # 实时显示进程状态用户

    # w # 查看活动用户

    # id <用户名> # 查看指定用户信息

    # last # 查看用户登录日志

    # cut -d: -f1 /etc/passwd # 查看系统所有用户

    # cut -d: -f1 /etc/group # 查看系统所有组

    # crontab -l # 查看当前用户的计划任务服务

    # chkconfig –list # 列出所有系统服务

    # chkconfig –list | grep on # 列出所有启动的系统服务程序

    # rpm -qa # 查看所有安装的软件包

    VI模式切换和退出

    进入vi编辑文件内容:

    vi 文件名

    vi 目录/文件名

    vi进入编辑模式:

    Shift+字母i

    从编辑模式返回命令模式:

    ESC

    从命令模式vi退出:

    :w 保存文件但不退出vi

    :w file 将修改另外保存到file中,不退出vi

    :w! 强制保存,不推出vi

    :wq 保存文件并退出vi

    :wq! 强制保存文件,并退出vi

    :q 不保存文件,退出vi

    :q! 不保存文件,强制退出vi

    :e! 放弃所有修改,从上次保存文件开始再编辑

    注意:千万别将英文冒号”:”敲成中文冒号”:”。

    VI前进后退操作

    在vi中按u可以撤销一次操作

    u 撤销上一步的操作

    Ctrl+r 恢复上一步被撤销的操作

    注意:

    如果你输入“u”两次,你的文本恢复原样,那应该是你的Vim被配置在Vi兼容模式了。

    重做

    如果你撤销得太多,你可以输入CTRL-R(redo)回退前一个命令。换句话说,它撤销一个撤销。要看执行的例子,输入CTRL-R两次。字符A和它后面的空格就出现了:

    young intelligent turtle

    有一个特殊版本的撤销命令:“U”(行撤销)。行撤销命令撤销所有在前一个编辑行

    上的操作。 输入这些命令两次取消前一个“U”:

    A very intelligent turtle

    xxxx 删除very

    A intelligent turtle

    xxxxxx 删除turtle

    A intelligent

    用“U”恢复行

    A very intelligent turtle

    用“u”撤销“U”

    A intelligent

    “U”命令自己改变自己,“u”命令撤销操作,CTRL-R命令重做操作。这有点乱,但不用

    担心,用“u”和CTRL-R命令你可以切换到任何状态。

    流行的文本编辑器通常都有前进和后退功能,可以在文件中曾经浏览过的位置之间来回移动。在 vim 中使用 Ctrl-O 执行后退,使用 Ctrl-I 执行前进。

    相关帮助: :help CTRL-O :help CTRL-I :help jump-motions

    VI查找内容

    使用vi编辑器编辑长文件时,常常是头昏眼花,也找不到需要更改的内容。

    这时,使用查找功能尤为重要。

    方法如下:

    1、命令模式下输入“/字符串”,例如“/Section 3”。

    2、如果查找下一个,按“n”即可。

    要自当前光标位置向上搜索,请使用以下命令:

    /pattern Enter

    其中,pattern表示要搜索的特定字符序列。

    要自当前光标位置向下搜索,请使用以下命令:

    ?pattern Enter

    Linux文件权限介绍

    r:read就是读权限 –数字4表示

    w:write就是写权限 –数字2表示

    x:excute就是执行权限 –数字1表示

    权限表示一共需要占9个字符的:— — —

    前三个字符表示用户权限,中间三个表示用户所在的组权限,最后三个表示其他用户权限

    例子:rw-r–r–

    rw-是说用户有读、写权,没有运行权,接着的r–表示用户组只有读权限,没有写入、运行权,最后的r–指其他用户只有读权限,没有写入、运行权。

    用数字表示就是644。

    例子:777

    777就是rwxrwxrwx,意思是用户、用户组和其他用户都有最高权限。
    Linux下scp的用法

    scp命令

    scp就是secure copy,一个在linux下用来进行远程拷贝文件的命令。

    有时我们需要获得远程服务器上的某个文件,该服务器既没有配置ftp服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过简单的scp命令便可达到目的。

    将本机文件复制到远程服务器上

    scp /home/administrator/news.txt root@192.168.6.129:/etc/squid

    /home/administrator/ 本地文件的绝对路径

    news.txt 要复制到服务器上的本地文件

    root 通过root用户登录到远程服务器(也可以使用其他拥有同等权限的用户)

    192.168.6.129 远程服务器的ip地址(也可以使用域名或机器名)

    /etc/squid 将本地文件复制到位于远程服务器上的路径

    将远程服务器上的文件复制到本机

    scp remote@www.abc.com:/usr/local/sin.sh /home/administrator

    remote 通过remote用户登录到远程服务器(也可以使用其他拥有同等权限的用户)

    www.abc.com 远程服务器的域名(当然也可以使用该服务器ip地址)

    /usr/local/sin.sh 欲复制到本机的位于远程服务器上的文件

    /home/administrator 将远程文件复制到本地的绝对路径

    注意两点:

    1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:

    scp -p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator

    2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。

    压缩和解压

    zip命令

    解压1:unzip FileName.zip

    解压2:unzip FileName.zip -d TargetDir

    压缩1:zip -r TargetDir/FileName.zip DirName

    压缩2:zip -r TargetDir/FileName.zip DirName/*

    压缩3:zip -r TargetDir/FileName.zip File1 File2 File3

    注意,zip解压适用于解压jar文件

    tar命令

    解包:tar zxvf FileName.tar

    打包:tar czvf FileName.tar DirName

    .tar.gz 和 .tgz

    解压:tar zxvf FileName.tar.gz

    压缩:tar zcvf FileName.tar.gz DirName

    .tar.bz

    解压:tar jxvf FileName.tar.bz

    .tar.bz2

    解压:tar jxvf FileName.tar.bz2

    压缩:tar jcvf FileName.tar.bz2 DirName

    .tar.Z

    解压:tar Zxvf FileName.tar.Z

    压缩:tar Zcvf FileName.tar.Z DirName

    gz命令

    解压1:gunzip FileName.gz

    解压2:gzip -d FileName.gz

    压缩:gzip FileName

    bz2命令

    解压1:bzip2 -d FileName.bz2

    解压2:bunzip2 FileName.bz2

    压缩: bzip2 -z FileName

    bz命令

    解压1:bzip2 -d FileName.bz

    解压2:bunzip2 FileName.bz

    Z命令

    解压:uncompress FileName.Z

    压缩:compress FileName

    7z命令(如果没有7z命令请先执行“yum install p7zip”)

    解压:7z x FileName.7z -o/home/zhichao

    //注意,x参数解压会自动生成与压缩文件名相同的目录,-o表示输出目录,其与目录路径之间没有空格,上面命令会解压FileName.7z到home/zhichao/FileName目录中。

    压缩:7z a FileName.7z DirName

    grep命令

    grep命令使用正则表达式检索符合条件的内容,一般与其他命令组合使用。

    格式:

    grep 参数 条件

    参数:

    -a --text #不要忽略二进制的数据。
    
    -A<显示行数> --after-context=<显示行数> #除了显示符合范本样式的那一列之外,并显示该行之后的内容。
    
    -b --byte-offset #在显示符合样式的那一行之前,标示出该行第一个字符的编号。
    
    -B<显示行数> --before-context=<显示行数> #除了显示符合样式的那一行之外,并显示该行之前的内容。
    
    -c --count #计算符合样式的列数。
    
    -C<显示行数> --context=<显示行数>或-<显示行数> #除了显示符合样式的那一行之外,并显示该行之前后的内容。
    
    -d <动作> --directories=<动作> #当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
    
    -e<范本样式> --regexp=<范本样式> #指定字符串做为查找文件内容的样式。
    
    -E --extended-regexp #将样式为延伸的普通表示法来使用。
    
    -f<规则文件> --file=<规则文件> #指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
    
    -F --fixed-regexp #将样式视为固定字符串的列表。
    
    -G --basic-regexp #将样式视为普通的表示法来使用。
    
    -h --no-filename #在显示符合样式的那一行之前,不标示该行所属的文件名称。
    
    -H --with-filename #在显示符合样式的那一行之前,表示该行所属的文件名称。
    
    -i --ignore-case #忽略字符大小写的差别。
    
    -l --file-with-matches #列出文件内容符合指定的样式的文件名称。
    
    -L --files-without-match #列出文件内容不符合指定的样式的文件名称。
    
    -n --line-number #在显示符合样式的那一行之前,标示出该行的列数编号。
    
    -q --quiet或--silent #不显示任何信息。
    
    -r --recursive #此参数的效果和指定“-d recurse”参数相同。
    
    -s --no-messages #不显示错误信息。
    
    -v --revert-match #显示不包含匹配文本的所有行。
    
    -V --version #显示版本信息。
    
    -w --word-regexp #只显示全字符合的列。
    
    -x --line-regexp #只显示全列符合的列。
    
    -y #此参数的效果和指定“-i”参数相同。
    

    示例:

    从文件info.txt中读取关键词system进行搜索

    cat /home/usr/download/info.txt | grep -f system

    从文件info.txt中读取关键词system进行搜索并显示行号

    cat /home/usr/download/info.txt | grep -nf system

    cat命令

    cat命令用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。

    格式:

    cat 参数 文件

    参数:

    -A, --show-all  等价于 -vET
    
    -b, --number-nonblank 对非空输出行编号
    
    -e   等价于 -vE
    
    -E, --show-ends  在每行结束处显示 $
    
    -n, --number 对输出的所有行编号,由1开始对所有输出的行数编号
    
    -s, --squeeze-blank 有连续两行以上的空白行,就代换为一行的空白行
    
    -t   与 -vT 等价
    
    -T, --show-tabs  将跳格字符显示为 ^I
    
    -u   (被忽略)
    
    -v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
    

    示例:

    把 log.php 的文件内容加上行号后输出到new_log.php这个文件中

    cat -n /data/www/project/log.php /data/www/project/new_log.php

    ps命令

    ps命令是process status的缩写,顾名思义就是查看系统中所有进程状态状态。

    ps命令查看的程序状态并不是动态连续的,如果想对进程实施监控,请用top命令。

    如果直接用ps命令,会显示所有进程的状态,通常结合grep命令查看某进程的状态。

    格式:

    ps 参数

    参数:

    a 显示所有进程
    
    -a 显示同一终端下的所有程序
    
    -A 显示所有进程
    
    c 显示进程的真实名称
    
    -N 反向选择
    
    -e 等于“-A”
    
    e 显示环境变量
    
    f 显示程序间的关系
    
    -H 显示树状结构
    
    r 显示当前终端的进程
    
    T 显示当前终端的所有程序
    
    u 指定用户的所有进程
    
    -au 显示较详细的资讯
    
    -aux 显示所有包含其他使用者的行程
    

    示例:

    显示java相关程序

    ps aux|grep java

    显示httpd相关程序

    ps aux|grep httpd

    查看正在使用8080端口的程序

    ps -ef|grep 8080

    fuser 命令

    fuser用于查找正在使用指定的某个文件、挂载点、网络端口的进程的详细信息。

    格式:

    fuser 参数 文件或挂载点或网络端口

    参数:

    a 显示所有命令行中指定的文件,默认情况下被访问的文件才会被显示。
    
    -c 和-m一样,用于POSIX兼容。
    
    -d 暗示使用了 -c 和 -x 标志。关于任何与文件系统(自父目录删除的)无链接的打开文件的报告。当与 -V 标志一起使用时,它也会报告被删除文件的节点号和大小。
    
    -f 仅对文件的打开实例报告。
    
    -i 杀掉进程之前询问用户,如果没有-k这个选项会被忽略。
    
    -k 杀掉访问文件的进程。如果没有指定-signal就会发送SIGKILL信号。
    
    -l 列出所有已知的信号名称。
    
    -m name 指定一个挂载文件系统上的文件或者被挂载的块设备(名称name)。这样所有访问这个文件或者文件系统的进程都会被列出来。如果指定的是一个目录会自动转换成,并使用所有挂载在那个目录下面的文件系统。
    
    -n space 指定一个不同的命名空间(space).这里支持不同的空间文件(文件名,此处默认)、tcp(本地tcp端口)、udp(本地udp端口)。对于端口, 可以指定端口号或者名称,如果不会引起歧义那么可以使用简单表示的形式,例如:name/space (即形如:80/tcp之类的表示)。
    
    -s 静默模式,这时候-u,-v会被忽略。-a不能和-s一起使用。
    
    -signal 使用指定的信号,而不是用SIGKILL来杀掉进程。可以通过名称或者号码来表示信号(例如-HUP,-1),这个选项要和-k一起使用,否则会被忽略。
    
    -u 在每个PID后面添加进程拥有者的用户名称。
    
    -v 详细模式。输出似ps命令的输出,包含PID,USER,COMMAND等许多域,如果是内核访问的那么PID为kernel. -V 输出版本号。
    
    -x 与 -c 或 -f 连用,报告除标准 fuser 输出以外的可执行的和可载入的对象。
    
    -4 使用IPV4套接字,不能和-6一起应用,只在-n的tcp和udp的命名存在时不被忽略。
    
    -6 使用IPV6套接字,不能和-4一起应用,只在-n的tcp和udp的命名存在时不被忽略。
    

    示例:

    查看和关闭正在使用readme.txt文件的程序

    fuser -m -v readme.txt

    fuser -m -k readme.txt

    查看和关闭正在使用80端口的程序

    fuser -n -v tcp 80

    fuser -n -k tcp 80

    chown命令

    chown命令将指定文件或文件夹的拥有者改为指定的用户或组,用户可以是用户名或者用户ID,组可以是组名或者组ID,文件是以空格分开的要改变权限的文件列表,支持通配符。

    格式:

    chown 参数 用户 文件

    参数:

    -c 显示更改的部分的信息
    
    -f 忽略错误信息
    
    -h 修复符号链接
    
    -R 处理指定目录以及其子目录下的所有文件
    
    -v 显示详细的处理信息
    
    -deference 作用于符号链接的指向,而不是链接文件本身
    

    示例:

    将目录/data/www/project/下的所有文件和目录的拥有者都修改为apache账户。

    chown -R apache.apache /data/www/project/

    chmod命令

    chmod命令用于改变linux系统文件或目录的访问权限,用它控制文件或目录的访问权限。

    Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。

    格式:

    chmod 参数 权限模式 文件

    参数

    -c 当发生改变时,报告处理信息
    
    -f 错误信息不输出
    
    -R 处理指定目录以及其子目录下的所有文件
    
    -v 运行时显示详细处理信息
    

    示例:

    将目录/data/www/project/下的所有文件和目录的访问权限修改为“当前用户、当前用户组和其他用户都可读可写可执行”的权限。

    chown -R 777 /data/www/project/

    kill命令

    kill命令用于关闭指定进程。

    格式:

    kill 参数 信号 进程ID

    参数:

    -s 指定发送信号
    
    -l 根据信号名显示信号编号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
    
    -a 当处理当前进程时,不限制命令名和进程号的对应关系
    
    -p 指定kill 命令只打印相关进程的进程号,而不发送任何信号
    
    -u 指定用户
    

    信号:

    信号名 信号编号 信号含义

    HUP 1 终端断线

    INT 2 中断

    QUIT 3 退出

    TERM 15 终止

    KILL 9 强制终止

    CONT 18 继续(与STOP相反)

    STOP 19 暂停(

    示例:

    显示信号KILL的信号编号

    kill -l KILL

    关闭apache用户下所有进程

    kill -u apache.apache

    强制关闭进程ID为1937的进程,参数s可以省略。

    kill -s 9 1937

    kill -9 1937

    top命令

    top命令查看系统中各个进程的资源占用状况,默认使用cpu占用来排序显示,top命令显示的结果是实时的。

    格式:

    top 参数

    参数:

    -b 批处理
    
    -c 显示完整的治命令
    
    -i<时间> 设置间隔时间
    
    -I 忽略失效过程
    
    -p<进程号> 指定进程
    
    -n<次数> 循环显示的次数
    
    -s 保密模式
    
    -S 累积模式
    
    -u<用户名> 指定用户名
    

    示例:

    查看所有程序资源占用状况

    top

    查看apache用户所有程序资源占用状况

    top -u apache.apache

    find命令

    在指定目录中查找指定条件的文件或文件夹。

    格式:

    find 目录路径 选项 查找条件

    选项:

    -name 按照文件名查找文件。
    
    -perm 按照文件权限来查找文件。
    
    -prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。
    
    -user 按照文件属主来查找文件。
    
    -group 按照文件所属的组来查找文件。
    
    -mtime -n +n 按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。
    
    -nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
    
    -nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。
    
    -newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件。
    
    -type<类型参数> 查找某一类型的文件,诸如:
    
    b - 块设备文件。
    
    d - 目录。
    
    c - 字符设备文件。
    
    p - 管道文件。
    
    l - 符号链接文件。
    
    f - 普通文件。
    
    -size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
    
    -fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。
    
    -mount:在查找文件时不跨越文件系统mount点。
    
    -follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。
    
    -cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。
    
    -amin n 查找系统中最后N分钟访问的文件
    
    -atime n 查找系统中最后n*24小时访问的文件
    
    -cmin n 查找系统中最后N分钟被改变文件状态的文件
    
    -ctime n 查找系统中最后n*24小时被改变文件状态的文件
    
    -mmin n 查找系统中最后N分钟被改变文件数据的文件
    
    -mtime n 查找系统中最后n*24小时被改变文件数据的文件
    

    示例:

    查找 “/”目录(Linux系统根目录)下名称为httpd.conf的文件

    find / -name httpd.conf

    查找 “/data/www/project/”目录下所有php文件

    find /data/www/project -name *.php

    查找 “.”目录(当前目录)下权限为777的文件

    find . -perm 777

    查找 “/”目录下48小时内修改过的文件

    find / -atime -2

    查找 “/”目录下所有文件夹

    find / -type d

    查找 “/”目录下大于1kb的文件

    find / -size +1000c

    whereis命令

    whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、说明文件(参数-m)和源代码文件(参数-s),如果省略参数,则返回所有信息。

    和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高。

    但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。

    whereis常用于查找安装程序的安装目录。

    格式:

    whereis 参数 程序名

    参数:

    -b 定位可执行文件。
    
    -m 定位帮助文件。
    
    -s 定位源代码文件。
    
    -u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
    
    -B 指定搜索可执行文件的路径。
    
    -M 指定搜索帮助文件的路径。
    
    -S 指定搜索源代码文件的路径。
    

    示例:

    查找mysql安装目录

    whereis mysql

    ls命令

    ls命令用来查看目标目录中所有的子目录和文件信息。

    格式:

    ls 参数 目录名

    参数:

    -a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件
    
    -A 同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)。
    
    -c 配合 -lt:根据 ctime 排序及显示 ctime (文件状态最后更改的时间)配合 -l:显示 ctime 但根据名称排序否则:根据 ctime 排序
    
    -C 每栏由上至下列出项目
    
    –color[=WHEN] 控制是否使用色彩分辨文件。WHEN 可以是'never'、'always'或'auto'其中之一
    
    -d, –directory 将目录象文件一样显示,而不是显示其下的文件。
    
    -D, –dired 产生适合 Emacs 的 dired 模式使用的结果
    
    -f 对输出的文件不进行排序,-aU 选项生效,-lst 选项失效
    
    -g 类似 -l,但不列出所有者
    
    -G, –no-group 不列出任何有关组的信息
    
    -h, –human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)
    
    –si 类似 -h,但文件大小取 1000 的次方而不是 1024
    
    -H, –dereference-command-line 使用命令列中的符号链接指示的真正目的地
    
    –indicator-style=方式 指定在每个项目名称后加上指示符号<方式>:none (默认),classify (-F),file-type (-p)
    
    -i, –inode 印出每个文件的 inode 号
    
    -I, –ignore=样式 不印出任何符合 shell 万用字符<样式>的项目
    
    -k 即 –block-size=1K,以 k 字节的形式表示文件的大小。
    
    -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。
    
    -L, –dereference 当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息
    
    -m 所有项目以逗号分隔,并填满整行行宽
    
    -o 类似 -l,显示文件的除组信息外的详细信息。
    
    -r, –reverse 依相反次序排列
    
    -R, –recursive 同时列出所有子目录层
    
    -s, –size 以块大小为单位列出所有文件的大小
    
    -S 根据文件大小排序
    
    –sort=WORD 以下是可选用的 WORD 和它们代表的相应选项:
    
    extension -X status -c
    
    none -U time -t
    
    size -S atime -u
    
    time -t access -u
    
    version -v use -u
    
    -t 以文件修改时间排序
    
    -u 配合 -lt:显示访问时间而且依访问时间排序
    
    配合 -l:显示访问时间但根据名称排序
    
    否则:根据访问时间排序
    
    -U 不进行排序;依文件系统原有的次序列出项目
    
    -v 根据版本进行排序
    
    -w, –width=COLS 自行指定屏幕宽度而不使用目前的数值
    
    -x 逐行列出项目而不是逐栏列出
    
    -X 根据扩展名排序
    
    -1 每行只列出一个文件
    
    –help 显示此帮助信息并离开
    
    –version 显示版本信息并离开
    

    示例:

    显示当前目录下所有文件和子目录(包括隐藏文件和隐藏目录)的详细信息

    ls -a -l

    显示”/data/www/project”目录下所有文件和子目录(不包括隐藏文件和隐藏目录)的详细信息

    ls -l /data/www/project

    显示”/data/www/project”目录下所有文件和子目录(包括隐藏文件和隐藏目录)的名称

    ls -a /data/www/project

    sudo命令

    sudo命令是个管理员分配给一些linux用户执行一些没有权限的命令。

    如果发现执行linux命令提示没有权限什么balabala的,不管什么命令,前面先加上sudo试试。

    格式:无需了解

    参数:无需了解

    示例:

    sudo yum install xxxx

    sudo svn up xxxx

    sudo rm -r xxxx

    tail命令

    tail命令用于显示指定文件的末尾内容,并且使用-f参数可以查看即时的文件内容,常用查看日志文件。

    格式:

    tail 参数 文件

    参数:

    -f 循环读取
    
    -q 不显示处理信息
    
    -v 显示详细的处理信息
    
    -c<数目> 显示的字节数
    
    -n<行数> 显示行数
    
    --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.
    
    -q, --quiet, --silent 从不输出给出文件名的首部
    
    -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
    

    示例:

    及时显示/data/www/project目录下log.php文件的末尾内容

    tail -f /data/www/project/log.php

    及时显示/data/www/project目录下log.php文件的500行末尾内容

    tail -f -n 500 /data/www/project/log.php

    cp命令

    cp命令用于复制文件或目录。

    格式:

    cp 参数 原文件或原目录 目标文件或目录

    参数:

    -a或--archive 等于-dR或-dpR
    
    --backup 为每个已存在的目标文件创建备份
    
    -b 类似--backup但不接受参数
    
    --copy-contents 在递归处理是复制特殊文件内容
    
    -d或--no-dereference或--preserve=links 若源文件为连接文件属性,则复制连接文件指向的文件而非复制文件本身
    
    -s或--symbolic-link 对源文件建立符号链接,而非复制文件
    
    -f或--force 强制操作,如果目标文件无法打开则将其移除并重试(当-n选项存在时则不需再选此项)
    
    -i或--interactive 覆盖前询问(使前面的-n选项失效)
    
    -H 跟随源文件中的命令行符号链接
    
    -l或--link 链接文件而不复制
    
    -L或--dereference 总是跟随符号链接
    
    -n或--no-clobber 不要覆盖已存在的文件(使前面的-i选项失效)
    
    -P或----parents 保留源文件或目录的路径,此路径可以是绝对路径或相对路径,且目的目录必须已经存在
    
    -p等于--preserve 保留源文件或目录的属性,包括所有者、所属组、权限与时间
    
    --preserve[=属性列表 保持指定的属性(默认:模式,所有权,时间戳),如果可能保持附加属性:环境、链接等
    
    -R或-r或--recursive 递归处理,复制目录及目录内的所有项目
    
    -u或--update 使用这项参数之后,只会在源文件的修改时间(Modification Time)较目的文件更新时,或是名称相互对应的目的文件并不存在,才复制文件
    
    -v或--verbose 显示执行过程
    
    -x或--one-file-system 复制的文件或目录存放的文件系统,必须与cp指令执行时所处的文件系统相同,否则不复制,亦不处理位于其他分区的文件
    

    示例:

    强行复制文件index.html到目录/data/www/project

    cp -f -v /home/usr/download/index.html /data/www/project

    同:cp -fv /home/usr/download/index.html /data/www/project

    rm命令

    rm命令和cp命令类似。

    示例:

    删除download目录

    rm -rf /home/usr/download

    删除download目录下的所有文件和子目录,但保留download目录

    rm -rf /home/usr/download/*

    mv命令

    mv命令和cp命令类似。

    示例:

    移动download目录中的所有子目录和文件到/data/www/project 目录,但保留download目录

    mv -rf /home/usr/download/* /data/www/project

    rpm命令

    rpm是RedHat Package Manager(RedHat软件包管理工具)的简称。

    .rpm执行安装包分为二进制包(Binary)以及源代码包(Source)两种,二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译、安装。源代码包经常以src.rpm作为后缀名。

    常用参数:

    -ivh:安装显示安装进度–install–verbose–hash
    
    -Uvh:升级软件包–Update;
    
    -qpl:列出RPM软件包内的文件信息[Query Package list];
    
    -qpi:列出RPM软件包的描述信息[Query Package install package(s)];
    
    -qf:查找指定文件属于哪个RPM软件包[Query File];
    
    -Va:校验所有的RPM软件包,查找丢失的文件[View Lost];
    
    -e:删除包
    
    -q samba :查询程序是否安装
    

    常用命令:

    install/upgrade/remove:安装/更新/卸载

    yum命令

    Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

    常用参数:

    -e 静默执行
    
    -t 忽略错误
    
    -R[分钟] 设置等待时间
    
    -y 自动应答yes
    
    –skip-broken 忽略依赖问题
    
    –nogpgcheck 忽略GPG验证
    

    全部命令:

    check-update 检查可更新的包

    clearn 清除全部

    clean packages 清除临时包文件(/var/cache/yum 下文件)

    clearn headers 清除rpm头文件

    clean oldheaders 清除旧的rpm头文件

    deplist 列出包的依赖

    list 可安装和可更新的RPM包

    list installed 已安装的包

    list extras 已安装且不在资源库的包

    info 可安装和可更新的RPM包 信息

    info installed 已安装包的信息(-qa 参数相似)

    install[RPM包] 安装包

    localinstall 安装本地的 RPM包

    update[RPM包] 更新包

    upgrade 升级系统

    search[关键词] 搜索包

    provides[关键词] 搜索特定包文件名

    reinstall[RPM包] 重新安装包

    repolist 显示资源库的配置

    resolvedep 指定依赖

    remove[RPM包] 卸载包

    如果要安装指定版本或指定插件,则需要详细文件名称:

    [zhichao@localhost ~]$ sudo yum list java*

    java-1.8.0-openjdk.x86_64 1:1.8.0.45-36.b13.fc22 @System

    java-1.8.0-openjdk-devel.x86_64 1:1.8.0.45-36.b13.fc22 @System

    java-1.8.0-openjdk-headless.x86_64 1:1.8.0.45-36.b13.fc22 @System

    sudo yum install java-1.8.0-openjdk-devel.x86_64

    apt-get命令

    apt-get(全称Advanced Package Tool)的作用同于yum,不过使用该命令的操作系统为Ubuntu和Debian。

    经过修改后可以使用apt-rpm处理红帽的Package Manager(RPM)文件。

    常用命令:

    apt-get install packagename

    安装一个新软件包

    apt-get remove packagename

    卸载一个已安装的软件包(保留配置文档)

    apt-get remove –purge packagename

    卸载一个已安装的软件包(删除配置文档)

    apt-get autoremove packagename

    删除包及其依赖的软件包

    apt-get autoremove –purge packagname

    删除包及其依赖的软件包+配置文件,比上面的要删除的彻底一点

    dpkg –force-all –purge packagename

    有些软件很难卸载,而且还阻止了别的软件的应用,就能够用这个,但是有点冒险。

    dnf命令

    dnf是fedora22新的用于替换yum和rpm的命令。

    在使用yum时,会提示过时,但仍然可用。

    详细了解请看一下这篇文章:http://www.linuxidc.com/Linux/2015-06/118751.htm

    systemctl命令

    在cenos7和fedora22中,systemctl替换了service命令。

    写法从以前的:service start mysqld

    变成了:systemctl start mysqld.service

    详细了解请看一下这篇文章:http://www.linuxidc.com/Linux/2015-07/120833.htm

    或者:

    https://wiki.archlinux.org/index.php/Systemd_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

    pwd命令

    pwd命令可以获取当前目录的全路径。

    示例:

    $ pwd

    /home/zhichao/下载

    终端下的快捷键

    Ctrl+a:光标回到命令行首。 (a:ahead)

    Ctrl+e:光标回到命令行尾。 (e:end)

    Ctrl+b:光标向行首移动一个字符。 (b:backwards)

    Ctrl+f:光标向行尾移动一个字符。 (f:forwards)

    Ctrl+w: 删除光标处到行首的字符。

    Ctrl+k:删除光标处到行尾的字符。

    Ctrl+u:删除整个命令行文本字符。

    Ctrl+h:向行首删除一个字符。

    Ctrl+d:向行尾删除一个字符。

    Ctrl+y::粘贴Ctrl+u,Ctrl+k,Ctrl+w删除的文本。

    Ctrl+p: 上一个使用的历史命令。 (或者直接按向上方向键;p:previous)

    Ctrl+n: 下一个使用的历史命令。(或者直接按向下方向键;n:next)

    Ctrl+r:快速检索历史命令。(r:retrieve)。

    Ctrl+t: 交换光标所在字符和其前的字符。

    Ctrl+i:相当于Tab键。

    Ctrl+o:相当于Ctrl+m.

    Ctrl+m:相当Enter键。

    其他控制键:

    Ctrl+s:使终端发呆,静止,可以使快速输出的终端屏幕停下来。

    Ctrl+q:退出Ctrl+s引起的发呆。

    Ctrl+z:使正在运行在终端的任务,运行于后台。 (可用fg恢复)

    Ctrl+c:中断终端中正在执行的任务。

    Ctrl+d: 在空命令行的情况下可以退出终端。

    Ctrl+[ :相当于Esc键。

    Esc键:连续按3次显示所有的支持的终端命令。

    Tab键:命令、文件名等自动补全命令或目录、文件名。

    alt+/:同Tab键

    相关文章

      网友评论

        本文标题:ubuntu常用命令及部分快捷键

        本文链接:https://www.haomeiwen.com/subject/mlfwattx.html