linux常用命令手记-示例版

常用命令

  • 创建文件夹

    mkdir dir1 创建一个叫做 'dir1' 的目录'
    mkdir dir1 dir2 同时创建两个目录
    mkdir -p /tmp/dir1/dir2 创建一个目录树

  • 删除文件及文件夹

    示例:

    //快速删除

    rm -rf a.tar

    //删除文件夹(upload下有文件),报错:rmdir: 删除 "upload/" 失败: 目录非空

    rmdir upload/ 或rmdir upload

    //删除文件夹(upload下有文件),成功

    rm -rf upload/

    rm -f file1 删除一个叫做 'file1' 的文件'
    rmdir dir1 删除一个叫做 'dir1' 的目录'
    rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容
    rm -rf dir1 dir2 同时删除两个目录及它们的内容

  • 重名名/移动目录或文件

    重名名

    //文件重命名,还在当前目录

    mv RuntimeUtil2.java RuntimeUtil.java

    //把当前文件移动上一目录下

    mv RuntimeUtil.java ../ 或 mv RuntimeUtil.java ..

    //把当前文件移动到 当前录下的test目录下

    mv RuntimeUtil.java test/ 或 mv RuntimeUtil.java test

    mv dir1 new_dir 重命名/移动 一个目录

  • 复制

    示例:

    //把当前文件复制到当前目录下的upload文件夹下

    cp RuntimeUtil.java upload/

    //把当前文件复制到当前目录下的upload文件夹下,并且名字改为RuntimeUtil2.java

    cp RuntimeUtil.java upload/RuntimeUtil2.java

    cp file1 file2 复制一个文件
    cp dir/* . 复制一个目录下的所有文件到当前工作目录
    cp -a /tmp/dir1 . 复制一个目录到当前工作目录
    cp -a dir1 dir2 复制一个目录

cp -rf sourcefile targetdir

cp -r -f sourcefile targetdir
-r的意思是递归复制,也就是复制文件夹及其下所有文件。
-f的意思是遇到同名的文件时不提示,直接覆盖。

  • 显示工作路径

    pwd

  • 显示文件目录

    ls 查看目录中的文件
    ls -F 查看目录中的文件
    ls -l 显示文件和目录的详细资料
    ls -a 显示隐藏文件
    ls [0-9] 显示包含数字的文件名和目录名
    tree 显示文件和目录由根目录开始的树形结构(1)
    lstree 显示文件和目录由根目录开始的树形结构(2)

  • 查看文件内容

    cat file1 从第一个字节开始正向查看文件的内容
    tac file1 从最后一行开始反向查看一个文件的内容
    more file1 查看一个长文件的内容
    less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作
    head -2 file1 查看一个文件的前两行
    tail -2 file1 查看一个文件的最后两行
    tail -f /var/log/messages 实时查看被添加到一个文件中的内容

  • 文件搜索

    find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录
    find / -user user1 搜索属于用户 'user1' 的文件和目录
    find /home/user1 -name *.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件
    find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件
    find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件
    find / -name *.rpm -exec chmod 755 '{}' ; 搜索以 '.rpm' 结尾的文件并定义其权限
    find / -xdev -name *.rpm 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备
    locate *.ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令
    whereis halt 显示一个二进制文件、源码或man的位置
    which halt 显示一个二进制文件或可执行文件的完整路径

  • 打包解压

    示例:

    //把当前目录下的upload文件夹打包成 a.tar

    tar -cvf a.tar upload

    //把当前文件a.tar解压到当前目录,解压过后是 upload文件夹,并非是a文件夹下面有upload文件夹

    tar -xvf a.tar

    //把当前文件a.tar解压到当前目录下的upload文件夹

    tar -xvf a.tar -C upload

    bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件
    bzip2 file1 压缩一个叫做 'file1' 的文件
    gunzip file1.gz 解压一个叫做 'file1.gz'的文件
    gzip file1 压缩一个叫做 'file1'的文件
    gzip -9 file1 最大程度压缩
    rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包
    rar a file1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1'
    rar x file1.rar 解压rar包
    unrar x file1.rar 解压rar包
    tar -cvf archive.tar file1 创建一个非压缩的 tarball
    tar -cvf archive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件
    tar -tf archive.tar 显示一个包中的内容
    tar -xvf archive.tar 释放一个包
    tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下
    tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包
    tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包
    tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包
    tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包
    zip file1.zip file1 创建一个zip格式的压缩包
    zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包
    unzip file1.zip 解压一个zip格式压缩包

  • 发包

    示例:

    //把当前机器当前目录下examinationTrainingAdmin.tar文件 发送到mfslogger机器上

    scp examinationTrainingAdmin.tar admin@mfslogger:/home/admin/

    实例1:从远处复制文件到本地目录

    // 从192.168.120.204机器上的/opt/soft/的目录中下载nginx-0.5.38.tar.gz 文件到本地/opt/soft/目录中scp [email protected]:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/

    实例2:从远处目录复制到本地

    //从192.168.120.204机器上的/opt/soft/中下载mongodb 目录到本地的/opt/soft/目录来

    scp -r [email protected]:/opt/soft/mongodb /opt/soft/

    实例3:上传本地文件到远程机器指定目录

    //复制本地opt/soft/目录下的文件nginx-0.5.38.tar.gz 到远程192.168.120.204的opt/soft/scptest目录

    scp /opt/soft/nginx-0.5.38.tar.gz [email protected]:/opt/soft/scptest

    实例4:上传本地目录到远程机器指定目录

    //上传本地目录 /opt/soft/mongodb到远程机器192.168.120.204上/opt/soft/scptest的目录中去

    scp -r /opt/soft/mongodb [email protected]:/opt/soft/scptest

(1) 复制文件:
命令格式:
scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file
第1,2个指定了用户名,命令执行后需要输入用户密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名

(2) 复制目录:
命令格式:
scp -r local_folder remote_username@remote_ip:remote_folder
或者
scp -r local_folder remote_ip:remote_folder
第1个指定了用户名,命令执行后需要输入用户密码;
第2个没有指定用户名,命令执行后需要输入用户名和密码

  • 关机 (系统的关机、重启以及登出 )

    shutdown -h now 关闭系统(1)
    init 0 关闭系统(2)
    telinit 0 关闭系统(3)
    shutdown -h hours:minutes & 按预定时间关闭系统
    shutdown -c 取消按预定时间关闭系统
    shutdown -r now 重启(1)
    reboot 重启(2)
    logout 注销

  • 下载与上传

    安装lrzsz

    yum -y install lrzsz
    

    sz:将选定的文件发送(send)到本地机器

    sz /home/2080/pipeline.war
    

    rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器(receive)
    rz,sz是便是Linux/Unix同Windows进行ZModem文件传输的命令行工具,windows端需要支持 ZModem的 telnet/ssh客户端(比如SecureCRT)

  • 系统信息

    arch 显示机器的处理器架构(1)
    uname -m 显示机器的处理器架构(2)
    uname -r 显示正在使用的内核版本
    dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
    hdparm -i /dev/hda 罗列一个磁盘的架构特性
    hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
    cat /proc/cpuinfo 显示CPU info的信息
    cat /proc/interrupts 显示中断
    cat /proc/meminfo 校验内存使用
    cat /proc/swaps 显示哪些swap被使用
    cat /proc/version 显示内核的版本
    cat /proc/net/dev 显示网络适配器及统计
    cat /proc/mounts 显示已加载的文件系统
    lspci -tv 罗列 PCI 设备
    lsusb -tv 显示 USB 设备
    date 显示系统日期
    cal 2007 显示2007年的日历表
    date 041217002007.00 设置日期和时间 - 月日时分年.秒
    clock -w 将时间修改保存到 BIOS

  • 网络及进程相关

  • 端口

    netstat

示例:netstat -lnp|grep 8888 查看端口为8888的连接

-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。

提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

  • 进程ps

    示例:
    ps -ef|grep 8888 查看端口为8888的进程
    ps -ef|grep java 查看java进程

    ps -ef|grep openoffice 查看openoffice服务进程

​ 参数:

a 显示所有进程

-a 显示同一终端下的所有程序

-A 显示所有进程

c 显示进程的真实名称

-N 反向选择

-e 等于“-A”

e 显示环境变量

f 显示程序间的关系

-H 显示树状结构

r 显示当前终端的进程

T 显示当前终端的所有程序

u 指定用户的所有进程

-au 显示较详细的资讯

-aux 显示所有包含其他使用者的行程

-C<命令> 列出指定命令的状况

--lines<行数> 每页显示的行数

--width<字符数> 每页显示的字符数

--help 显示帮助信息

--version 显示版本显示


你可能感兴趣的:(linux常用命令手记-示例版)