精华内容
下载资源
问答
  • Linux常用命令大全(非常全!!!)

    万次阅读 多人点赞 2018-10-20 18:30:20
    Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解...

    最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的命令列举一下,仅供大家参考:

    系统信息

    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

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

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

    文件和目录

    cd /home 进入 ‘/ home’ 目录’
    cd … 返回上一级目录
    cd …/… 返回上两级目录
    cd 进入个人的主目录
    cd ~user1 进入个人的主目录
    cd - 返回上次所在的目录
    pwd 显示工作路径
    ls 查看目录中的文件
    ls -F 查看目录中的文件
    ls -l 显示文件和目录的详细资料
    ls -a 显示隐藏文件
    ls [0-9] 显示包含数字的文件名和目录名
    tree 显示文件和目录由根目录开始的树形结构(1)
    lstree 显示文件和目录由根目录开始的树形结构(2)
    mkdir dir1 创建一个叫做 ‘dir1’ 的目录’
    mkdir dir1 dir2 同时创建两个目录
    mkdir -p /tmp/dir1/dir2 创建一个目录树
    rm -f file1 删除一个叫做 ‘file1’ 的文件’
    rmdir dir1 删除一个叫做 ‘dir1’ 的目录’
    rm -rf dir1 删除一个叫做 ‘dir1’ 的目录并同时删除其内容
    rm -rf dir1 dir2 同时删除两个目录及它们的内容
    mv dir1 new_dir 重命名/移动 一个目录
    cp file1 file2 复制一个文件
    cp dir/* . 复制一个目录下的所有文件到当前工作目录
    cp -a /tmp/dir1 . 复制一个目录到当前工作目录
    cp -a dir1 dir2 复制一个目录
    ln -s file1 lnk1 创建一个指向文件或目录的软链接
    ln file1 lnk1 创建一个指向文件或目录的物理链接
    touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)
    file file1 outputs the mime type of the file as text
    iconv -l 列出已知的编码
    iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding.
    find . -maxdepth 1 -name *.jpg -print -exec convert “{}” -resize 80x60 “thumbs/{}” ; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)

    文件搜索

    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 显示一个二进制文件或可执行文件的完整路径

    这里对FIND搜索命令进行一个详细的解析

    find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。

    下面介绍一些关于使用find命令查找文件的命令格式和示例:

    1.格式:

    find +目录 +条件 +条件值

    如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件,

    并且将查找到的子目录和文件全部进行显示,如图,在/root下的子目录和文件全部显示出来(截取部分):在这里插入图片描述
    2.find命令查找文件相关细分条件,条件越多,查找越准确

    2.1.根据文件格式进行查找:

    在/home下查找所有以 .txt 结尾的文件: find /home -name “*.txt" :
    在这里插入图片描述
    在当前目录及子目录下查找所有以 .txt 和 .pdf 结尾的文件,-o 的意思为或者,本机没有.pdf 格式的文件:

    当前目录及子目录下查找所有以.txt和.pdf结尾的文件

    来自: http://man.linuxde.net/find
    当前目录及子目录下查找所有以.txt和.pdf结尾的文件

    来自: http://man.linuxde.net/find
    在这里插入图片描述

    在/home下查找不是以 .txt 结尾的文件:find /home ! -name “.txt” !表示否定 (文件太多,截取部分):在这里插入图片描述

    2.2.根据文件类型进行查找:

    -type 为类型参数
    f 表示文件
    d 表示目录
    c 表示字符设备
    b 表示块设备
    s 表示套接字
    l 表示链接
    查找/mnt下的子目录:find /mnt -type d :
    在这里插入图片描述

    查找/mnt下的文件:find /mnt -type f :

    在这里插入图片描述

    2.3.根据文件目录层数查找:

    find --maxdepth+层数 按最大层数查找
    –mindepth+层数 按最小层数查找
    find /home -maxdepth 2 -type f 查找/hoem下目录最大层数为2层的文件:
    在这里插入图片描述

    2.4.按文件大小进行查找:

    -size为文件大小单元
    -size -n:指小于nk
    -size +n:指大于nk
    -size n :指等于nk
    find /mnt -type f -size -100 在/mnt目录下查找小于100K的文件:
    在这里插入图片描述

    2.5.根据文件权限进行查找:

    -perm 文件权限指数
    find /mnt -type f -perm 660 在/mnt下查找权限为660的文件:
    在这里插入图片描述

    这里对Linux的grep文本搜索命令进行一个详细的解析:

    搜索isPlay,引号加不加单引号双引号都可以:grep -rn “isPlay”

    搜索isPlay,忽略大小写:grep -rn -i “isPlay”

    搜索isPlay,增加通配符(点号和*号配合使用):grep -rn is.*lay

    搜索isPlay,在指定的目录下搜索: grep -rn isPlay frameworks/base/media/

    搜索isPlay,开启logcat并在指定目录下过滤isPlay:

    adb logcat | grep -rn isPlay /work/android_8.1/packages/testapps/MediaTest/

    清除缓冲区log :adb logcat -c

    Grep选项:

    • : 表示当前目录所有文件,也可以是某个文件名
      -r 是递归查找
      -n 是显示行号
      -R 查找所有文件包含子目录
      -i 忽略大小写

    命令行参数:
    grep -i pattern files :不区分大小写地搜索。默认情况区分大小写
    grep -l pattern files :只列出匹配的文件名,不列出路径
    grep -L pattern files :列出不匹配的文件名
    grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’)
    grep -C number pattern files :匹配的上下文分别显示[number]行
    grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行
    grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行

    用于搜索的特殊符号: < 和 > 分别标注单词的开始与结尾。
    例如: grep man * 会匹配 ‘Batman’、‘manic’、‘man’等 grep ‘<man’ * 匹配‘manic’和‘man’,但不是‘Batman’
    grep ‘<man>’ 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。
    ‘^’:指匹配的字符串在行首
    ‘$’:指匹配的字符串在行尾


    这里对Linux下使用git命令做一个详细的解析:

    提交代码:
    (1)git pull aosp main/svw_cns3.0_dev
    (2)git add xxx
    (3)git commit -m “[MediaTest]Repair click events without noise and related problems”
    (4)git push aosp HEAD:refs/for/main/svw_cns3.0_dev

    删除文件:git rm xxx。

    查看git log中某一次具体提交的内容:先git log查commit的id,然后git log commit的id -p -1。

    git回退到上一个版本:git reset --hard HEAD^。 回退到上上个版本:git reset --hard HEAD^^。

    git删除上次提交中的某个文件(Android.mk~)再重新提交:

    1. rm -rf NetworkConnectionsTest/Android.mk~

    2. git status

    3. git rm NetworkConnectionsTest/Android.mk~

    4. git commit --amend

    5. git push aosp HEAD:refs/for/main/svw_cns3.0_dev


    挂载一个文件系统

    mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 ‘/ mnt/hda2’ 已经存在
    umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 ‘/ mnt/hda2’ 退出
    fuser -km /mnt/hda2 当设备繁忙时强制卸载
    umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用
    mount /dev/fd0 /mnt/floppy 挂载一个软盘
    mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom
    mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom
    mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom
    mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件
    mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统
    mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备
    mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享

    怎么查看(包括没有挂载的)硬盘使用情况

    第一种方法:使用df-h命令,这个命令比较常用,大家都很熟悉。问题是这种方法,有时候挂载点和挂载的卷不在同一行,使用脚本分析需要一点技巧的。
    第二种方法:使用mount命令,mount -l,这种方法的缺陷在于没有卷的大小,但是挂载点和挂载的卷在同一行。
    第三种方法:查看文件/etc/mtab。原理是,每新挂载一个卷基本上都会更新这个文件的,那么自然可以通过这个文件来查看挂载点和挂职的卷。这种方法比mount -l稍微清晰了一点,但是,有时候是不可靠的。

    /etc/fstab和/etc/mtab的区别

    /etc/fstab文件的作用:

    记录了计算机上硬盘分区的相关信息,启动 Linux 的时候,检查分区的 fsck 命令,和挂载分区的 mount 命令,都需要 fstab 中的信息,来正确的检查和挂载硬盘。

    /etc/mtab文件的作用:

    先看它的英文是:
    This changes continuously as the file /proc/mount changes. In other words, when filesystems are mounted and unmounted, the change is immediately reflected in this file.

    记载的是现在系统已经装载的文件系统,包括操作系统建立的虚拟文件等;而/etc/fstab是系统准备装载的。 每当 mount 挂载分区、umount 卸载分区,都会动态更新 mtab,mtab 总是保持着当前系统中已挂载的分区信息,fdisk、df 这类程序,必须要读取 mtab 文件,才能获得当前系统中的分区挂载情况。当然我们自己还可以通过读取/proc/mount也可以来获取当前挂载信息

    磁盘空间

    df -h 显示已经挂载的分区列表
    ls -lSr |more 以尺寸大小排列文件和目录
    du -sh dir1 估算目录 ‘dir1’ 已经使用的磁盘空间’
    du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小
    rpm -q -a --qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)
    dpkg-query -W -f=’InstalledSize;10t{Installed-Size;10}t{Package}n’ | sort -k1,1n 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)

    用户和群组

    groupadd group_name 创建一个新用户组
    groupdel group_name 删除一个用户组
    groupmod -n new_group_name old_group_name 重命名一个用户组
    useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 “admin” 用户组的用户
    useradd user1 创建一个新用户
    userdel -r user1 删除一个用户 ( ‘-r’ 排除主目录)
    usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性
    passwd 修改口令
    passwd user1 修改一个用户的口令 (只允许root执行)
    chage -E 2005-12-31 user1 设置用户口令的失效期限
    pwck 检查 ‘/etc/passwd’ 的文件格式和语法修正以及存在的用户
    grpck 检查 ‘/etc/passwd’ 的文件格式和语法修正以及存在的群组
    newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组

    文件的权限 - 使用 “+” 设置权限,使用 “-” 用于取消
    ls -lh 显示权限
    ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示
    chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限
    chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限
    chown user1 file1 改变一个文件的所有人属性
    chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性
    chgrp group1 file1 改变文件的群组
    chown user1:group1 file1 改变一个文件的所有人和群组属性
    find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件
    chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限
    chmod u-s /bin/file1 禁用一个二进制文件的 SUID位
    chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的
    chmod g-s /home/public 禁用一个目录的 SGID 位
    chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件
    chmod o-t /home/public 禁用一个目录的 STIKY 位

    文件的特殊属性 - 使用 “+” 设置权限,使用 “-” 用于取消
    chattr +a file1 只允许以追加方式读写文件
    chattr +c file1 允许这个文件能被内核自动压缩/解压
    chattr +d file1 在进行文件系统备份时,dump程序将忽略这个文件
    chattr +i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接
    chattr +s file1 允许一个文件被安全地删除
    chattr +S file1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘
    chattr +u file1 若文件被删除,系统会允许你在以后恢复这个被删除的文件
    lsattr 显示特殊的属性

    打包和压缩文件

    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 -jxvf archive.tar.bz2 解压一个bzip2格式的压缩包
    tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包
    tar -zxvf archive.tar.gz 解压一个gzip格式的压缩包
    zip file1.zip file1 创建一个zip格式的压缩包
    zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包
    unzip file1.zip 解压一个zip格式压缩包

    这里对压缩文档和解压文档做个详细的介绍:

    tar -zcvf /home/xahot.tar.gz /xahot
    tar -zcvf 打包后生成的文件名全路径 要打包的目录
    例子:把/xahot文件夹打包后生成一个/home/xahot.tar.gz的文件。
    zip 压缩方法:

    压缩当前的文件夹 zip -r ./xahot.zip ./* -r表示递归
    zip [参数] [打包后的文件名] [打包的目录路径]
    解压 unzip xahot.zip 不解释
    linux zip命令的基本用法是:

    linux zip命令参数列表:

    -a 将文件转成ASCII模式
    -F 尝试修复损坏的压缩文件
    -h 显示帮助界面
    -m 将文件压缩之后,删除源文件

    -n 特定字符串 不压缩具有特定字尾字符串的文件
    -o 将压缩文件内的所有文件的最新变动时间设为压缩时候的时间
    -q 安静模式,在压缩的时候不显示指令的执行过程
    -r 将指定的目录下的所有子目录以及文件一起处理
    -S 包含系统文件和隐含文件(S是大写)
    -t 日期 把压缩文件的最后修改日期设为指定的日期,日期格式为mmddyyyy

    举例:

    将/home/wwwroot/xahot/ 这个目录下所有文件和文件夹打包为当前目录下的xahot.zip

    zip –q –r xahot.zip /home/wwwroot/xahot

    上面的命令操作是将绝对地址的文件及文件夹进行压缩.以下给出压缩相对路径目录

    比如目前在Bliux这个目录下,执行以下操作可以达到以上同样的效果.

    zip –q –r xahot.zip xahot

    比如现在我的xahot目录下,我操作的zip压缩命令是

    zip –q –r xahot.zip *

    以上是在安静模式下进行的,而且包含系统文件和隐含文件
    //
    unzip语 法:

    unzip [-cflptuvz][-agCjLMnoqsVX][-P <密码>][.zip文件][文件][-d <目 录>][-x <文件>] 或 unzip [-Z]

    补充说明:unzip为.zip压缩文件的解压缩程序。

    unzip参 数:
    -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。
    -f 更新现有的文件。
    -l 显示压缩文件内所包含的文件。
    -p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
    -t 检查压缩文件是否正确。
    -u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
    -v 执行是时显示详细的信息。
    -z 仅显示压缩文件的备注文字。
    -a 对文本文件进行必要的字符转换。
    -b 不要对文本文件进行字符转换。
    -C 压缩文件中的文件名称区分大小写。
    -j 不处理压缩文件中原有的目录路径。
    -L 将压缩文件中的全部文件名改为小写。
    -M 将输出结果送到more程序处理。
    -n 解压缩时不要覆盖原有的文件。
    -o 不必先询问用户,unzip执行后覆盖原有文件。
    -P<密码> 使用zip的密码选项。
    -q 执行时不显示任何信息。
    -s 将文件名中的空白字符转换为底线字符。
    -V 保留VMS的文件版本信息。
    -X 解压缩时同时回存文件原来的UID/GID。
    [.zip文件] 指定.zip压缩文件。
    [文件] 指定要处理.zip压缩文件中的哪些文件。
    -d<目录> 指定文件解压缩后所要存储的目录。
    -x<文件> 指定不要处理.zip压缩文件中的哪些文件。
    -Z unzip -Z等于执行zipinfo指令

    举例:

    将/home/wwwroot/xahot.zip解压到当前目录

    unzip xahot.zip

    如果出现这个提示:
    -bash: zip: command not found 不能执行ZIP压缩,是因为没有安装ZIP,
    运行下这条安装命令即可 yum install zip

    ==============================================================

    tar -cvf /usr/local/auto_bak/test.tar /usr/local/test 仅打包,不压缩

    tar -zcvf /usr/local/auto_bak/test.tar.gz /usr/local/test 打包后,以gzip压缩 在参数f后面的压缩文件名是自己取的,习惯上用tar来做,如果加z参数,则以tar.gz 或tgz来代表gzip压缩过的tar file文件
    解压操作:
    #tar -zxvf /usr/local/test.tar.gz
    tar 解压缩命令详解
    -c: 建立压缩档案

    -x:解压
    -t:查看内容
    -r:向压缩归档文件末尾追加文件
    -u:更新原压缩包中的文件

    这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

    -z:有gzip属性的
    -j:有bz2属性的
    -Z:有compress属性的
    -v:显示所有过程
    -O:将文件解开到标准输出

    下面的参数-f是必须的

    -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

    *tar -cf all.tar .jpg
    这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

    *#tar -rf all.tar .gif
    这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

    # tar -uf all.tar logo.gif
    这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

    # tar -tf all.tar
    这条命令是列出all.tar包中所有文件,-t是列出文件的意思

    tar -xf all.tar
    这条命令是解出all.tar包中所有文件,-x是解开的意思

    压缩

    tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg

    tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一 个gzip压缩过的包,命名为jpg.tar.gz

    tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

    tar –cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

    rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux

    zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux

    解压

    tar –xvf file.tar //解压 tar包

    tar -xzvf file.tar.gz //解压tar.gz

    tar -xjvf file.tar.bz2 //解压 tar.bz2

    tar –xZvf file.tar.Z //解压tar.Z

    unrar e file.rar //解压rar

    unzip file.zip //解压zip

    总结
    (1)、.tar 用 tar –xvf 解压
    (2)、
    .gz 用 gzip -d或者gunzip 解压
    (3)、.tar.gz和.tgz 用 tar –xzf 解压
    (4)、.bz2 用 bzip2 -d或者用bunzip2 解压
    (5)、
    .tar.bz2用tar –xjf 解压
    (6)、.Z 用 uncompress 解压
    (7)、
    .tar.Z 用tar –xZf 解压
    (8)、.rar 用 unrar e解压
    (9)、
    .zip 用 unzip 解压

    RPM 包 - (Fedora, Redhat及类似系统)

    rpm -ivh package.rpm 安装一个rpm包
    rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告
    rpm -U package.rpm 更新一个rpm包但不改变其配置文件
    rpm -F package.rpm 更新一个确定已经安装的rpm包
    rpm -e package_name.rpm 删除一个rpm包
    rpm -qa 显示系统中所有已经安装的rpm包
    rpm -qa | grep httpd 显示所有名称中包含 “httpd” 字样的rpm包
    rpm -qi package_name 获取一个已安装包的特殊信息
    rpm -qg “System Environment/Daemons” 显示一个组件的rpm包
    rpm -ql package_name 显示一个已经安装的rpm包提供的文件列表
    rpm -qc package_name 显示一个已经安装的rpm包提供的配置文件列表
    rpm -q package_name --whatrequires 显示与一个rpm包存在依赖关系的列表
    rpm -q package_name --whatprovides 显示一个rpm包所占的体积
    rpm -q package_name --scripts 显示在安装/删除期间所执行的脚本l
    rpm -q package_name --changelog 显示一个rpm包的修改历史
    rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供
    rpm -qp package.rpm -l 显示由一个尚未安装的rpm包提供的文件列表
    rpm --import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书
    rpm --checksig package.rpm 确认一个rpm包的完整性
    rpm -qa gpg-pubkey 确认已安装的所有rpm包的完整性
    rpm -V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间
    rpm -Va 检查系统中所有已安装的rpm包- 小心使用
    rpm -Vp package.rpm 确认一个rpm包还未安装
    rpm2cpio package.rpm | cpio --extract --make-directories bin 从一个rpm包运行可执行文件
    rpm -ivh /usr/src/redhat/RPMS/arch/package.rpm 从一个rpm源码安装一个构建好的包
    rpmbuild --rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包

    YUM 软件包升级器 - (Fedora, RedHat及类似系统)

    yum install package_name 下载并安装一个rpm包
    yum localinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系
    yum update package_name.rpm 更新当前系统中所有安装的rpm包
    yum update package_name 更新一个rpm包
    yum remove package_name 删除一个rpm包
    yum list 列出当前系统中安装的所有包
    yum search package_name 在rpm仓库中搜寻软件包
    yum clean packages 清理rpm缓存删除下载的包
    yum clean headers 删除所有头文件
    yum clean all 删除所有缓存的包和头文件

    DEB 包 (Debian, Ubuntu 以及类似系统)

    dpkg -i package.deb 安装/更新一个 deb 包
    dpkg -r package_name 从系统删除一个 deb 包
    dpkg -l 显示系统中所有已经安装的 deb 包
    dpkg -l | grep httpd 显示所有名称中包含 “httpd” 字样的deb包
    dpkg -s package_name 获得已经安装在系统中一个特殊包的信息
    dpkg -L package_name 显示系统中已经安装的一个deb包所提供的文件列表
    dpkg --contents package.deb 显示尚未安装的一个包所提供的文件列表
    dpkg -S /bin/ping 确认所给的文件由哪个deb包提供

    APT 软件工具 (Debian, Ubuntu 以及类似系统)

    apt-get install package_name 安装/更新一个 deb 包
    apt-cdrom install package_name 从光盘安装/更新一个 deb 包
    apt-get update 升级列表中的软件包
    apt-get upgrade 升级所有已安装的软件
    apt-get remove package_name 从系统删除一个deb包
    apt-get check 确认依赖的软件仓库正确
    apt-get clean 从下载的软件包中清理缓存
    apt-cache search searched-package 返回包含所要搜索字符串的软件包名称

    查看文件内容

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

    文本处理

    cat file1 file2 … | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT
    cat file1 | command( sed, grep, awk, grep, etc…) > result.txt 合并一个文件的详细说明文本,并将简介写入一个新文件中
    cat file1 | command( sed, grep, awk, grep, etc…) >> result.txt 合并一个文件的详细说明文本,并将简介写入一个已有的文件中
    grep Aug /var/log/messages 在文件 '/var/log/messages’中查找关键词"Aug"
    grep ^Aug /var/log/messages 在文件 '/var/log/messages’中查找以"Aug"开始的词汇
    grep [0-9] /var/log/messages 选择 ‘/var/log/messages’ 文件中所有包含数字的行
    grep Aug -R /var/log/* 在目录 ‘/var/log’ 及随后的目录中搜索字符串"Aug"
    sed ‘s/stringa1/stringa2/g’ example.txt 将example.txt文件中的 “string1” 替换成 “string2”
    sed ‘/^KaTeX parse error: Expected 'EOF', got '#' at position 49: …所有空白行 sed '/ *#̲/d; /^/d’ example.txt 从example.txt文件中删除所有注释和空白行
    echo ‘esempio’ | tr ‘[:lower:]’ ‘[:upper:]’ 合并上下单元格内容
    sed -e ‘1d’ result.txt 从文件example.txt 中排除第一行
    sed -n ‘/stringa1/p’ 查看只包含词汇 “string1"的行
    sed -e ‘s/ $//’ example.txt 删除每一行最后的空白字符
    sed -e ‘s/stringa1//g’ example.txt 从文档中只删除词汇 “string1” 并保留剩余全部
    sed -n ‘1,5p;5q’ example.txt 查看从第一行到第5行内容
    sed -n ‘5p;5q’ example.txt 查看第5行
    sed -e 's/00
    /0/g’ example.txt 用单个零替换多个零
    cat -n file1 标示文件的行数
    cat example.txt | awk ‘NR%2==1’ 删除example.txt文件中的所有偶数行
    echo a b c | awk ‘{print $1}’ 查看一行第一栏
    echo a b c | awk ‘{print $1,$3}’ 查看一行的第一和第三栏
    paste file1 file2 合并两个文件或两栏的内容
    paste -d ‘+’ file1 file2 合并两个文件或两栏的内容,中间用”+"区分
    sort file1 file2 排序两个文件的内容
    sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)
    sort file1 file2 | uniq -u 删除交集,留下其他的行
    sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件)
    comm -1 file1 file2 比较两个文件的内容只删除 ‘file1’ 所包含的内容
    comm -2 file1 file2 比较两个文件的内容只删除 ‘file2’ 所包含的内容
    comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分

    字符设置和文件格式转换

    dos2unix filedos.txt fileunix.txt 将一个文本文件的格式从MSDOS转换成UNIX
    unix2dos fileunix.txt filedos.txt 将一个文本文件的格式从UNIX转换成MSDOS
    recode …HTML < page.txt > page.html 将一个文本文件转换成html
    recode -l | more 显示所有允许的转换格式

    文件系统分析

    badblocks -v /dev/hda1 检查磁盘hda1上的坏磁块
    fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性
    fsck.ext2 /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性
    e2fsck /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性
    e2fsck -j /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性
    fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性
    fsck.vfat /dev/hda1 修复/检查hda1磁盘上fat文件系统的完整性
    fsck.msdos /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性
    dosfsck /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性

    初始化一个文件系统

    mkfs /dev/hda1 在hda1分区创建一个文件系统
    mke2fs /dev/hda1 在hda1分区创建一个linux ext2的文件系统
    mke2fs -j /dev/hda1 在hda1分区创建一个linux ext3(日志型)的文件系统
    mkfs -t vfat 32 -F /dev/hda1 创建一个 FAT32 文件系统
    fdformat -n /dev/fd0 格式化一个软盘
    mkswap /dev/hda3 创建一个swap文件系统

    磁盘配额

    [root@localhost /]# quotacheck -avug
    输入quotaon -avgu:启动磁盘配额
    [root@localhost test]# edquota -u quota1 -->修改针对quota1用户的配置 
    [root@localhost test]# edquota -g myquota -->修改针对myquota组的配置

    SWAP文件系统

    mkswap /dev/hda3 创建一个swap文件系统
    swapon /dev/hda3 启用一个新的swap文件系统
    swapon /dev/hda2 /dev/hdb3 启用两个swap分区

    备份

    dump -0aj -f /tmp/home0.bak /home 制作一个 ‘/home’ 目录的完整备份
    dump -1aj -f /tmp/home0.bak /home 制作一个 ‘/home’ 目录的交互式备份
    restore -if /tmp/home0.bak 还原一个交互式备份
    rsync -rogpav --delete /home /tmp 同步两边的目录
    rsync -rogpav -e ssh --delete /home ip_address:/tmp 通过SSH通道rsync
    rsync -az -e ssh --delete ip_addr:/home/public /home/local 通过ssh和压缩将一个远程目录同步到本地目录
    rsync -az -e ssh --delete /home/local ip_addr:/home/public 通过ssh和压缩将本地目录同步到远程目录
    dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’ 通过ssh在远程主机上执行一次备份本地磁盘的操作
    dd if=/dev/sda of=/tmp/file1 备份磁盘内容到一个文件
    tar -Puf backup.tar /home/user 执行一次对 ‘/home/user’ 目录的交互式备份操作
    ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’ 通过ssh在远程目录中复制一个目录内容
    ( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’ 通过ssh在远程目录中复制一个本地目录
    tar cf - . | (cd /tmp/backup ; tar xf - ) 本地将一个目录复制到另一个地方,保留原有权限及链接
    find /home/user1 -name ‘.txt’ | xargs cp -av --target-directory=/home/backup/ --parents 从一个目录查找并复制所有以 ‘.txt’ 结尾的文件到另一个目录
    find /var/log -name '
    .log’ | tar cv --files-from=- | bzip2 > log.tar.bz2 查找所有以 ‘.log’ 结尾的文件并做成一个bzip包
    dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一个将 MBR (Master Boot Record)内容复制到软盘的动作
    dd if=/dev/fd0 of=/dev/hda bs=512 count=1 从已经保存到软盘的备份中恢复MBR内容

    光盘

    cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force 清空一个可复写的光盘内容
    mkisofs /dev/cdrom > cd.iso 在磁盘上创建一个光盘的iso镜像文件
    mkisofs /dev/cdrom | gzip > cd_iso.gz 在磁盘上创建一个压缩了的光盘iso镜像文件
    mkisofs -J -allow-leading-dots -R -V “Label CD” -iso-level 4 -o ./cd.iso data_cd 创建一个目录的iso镜像文件
    cdrecord -v dev=/dev/cdrom cd.iso 刻录一个ISO镜像文件
    gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - 刻录一个压缩了的ISO镜像文件
    mount -o loop cd.iso /mnt/iso 挂载一个ISO镜像文件
    cd-paranoia -B 从一个CD光盘转录音轨到 wav 文件中
    cd-paranoia – “-3” 从一个CD光盘转录音轨到 wav 文件中(参数-3)
    cdrecord --scanbus 扫描总线以识别scsi通道
    dd if=/dev/hdc | md5sum 校验一个设备的md5sum编码,例如一张 CD

    网络 - (以太网和WIFI无线)

    ifconfig eth0 显示一个以太网卡的配置
    ifup eth0 启用一个 ‘eth0’ 网络设备
    ifdown eth0 禁用一个 ‘eth0’ 网络设备
    ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址
    ifconfig eth0 promisc 设置 ‘eth0’ 成混杂模式以嗅探数据包 (sniffing)
    dhclient eth0 以dhcp模式启用 ‘eth0’
    route -n show routing table
    route add -net 0/0 gw IP_Gateway configura default gateway
    route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure static route to reach network ‘192.168.0.0/16’
    route del 0/0 gw IP_gateway remove static route
    echo “1” > /proc/sys/net/ipv4/ip_forward activate ip routing
    hostname show hostname of system
    host www.example.com lookup hostname to resolve name to ip address and viceversa(1)
    nslookup www.example.com lookup hostname to resolve name to ip address and viceversa(2)
    ip link show show link status of all interfaces
    mii-tool eth0 show link status of ‘eth0’
    ethtool eth0 show statistics of network card ‘eth0’
    netstat -tup show all active network connections and their PID
    netstat -tupl show all network services listening on the system and their PID
    tcpdump tcp port 80 show all HTTP traffic
    iwlist scan show wireless networks
    iwconfig eth1 show configuration of a wireless network card
    hostname show hostname
    host www.example.com lookup hostname to resolve name to ip address and viceversa
    nslookup www.example.com lookup hostname to resolve name to ip address and viceversa
    whois www.example.com lookup on Whois database

    JPS工具

    jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。

    我想很多人都是用过unix系统里的ps命令,这个命令主要是用来显示当前系统的进程情况,有哪些进程,及其 id。 jps 也是一样,它的作用是显示当前系统的java进程情况,及其id号。我们可以通过它来查看我们到底启动了几个java进程(因为每一个java程序都会独占一个java虚拟机实例),和他们的进程号(为下面几个程序做准备),并可通过opt来查看这些进程的详细启动参数。

    使用方法:在当前命令行下打 jps(需要JAVA_HOME,没有的话,到改程序的目录下打) 。

    jps存放在JAVA_HOME/bin/jps,使用时为了方便请将JAVA_HOME/bin/加入到Path.

    $> jps
    23991 Jps
    23789 BossMain
    23651 Resin

    比较常用的参数:

    -q 只显示pid,不显示class名称,jar文件名和传递给main 方法的参数
    $> jps -q
    28680
    23789
    23651

    -m 输出传递给main 方法的参数,在嵌入式jvm上可能是null

    $> jps -m
    28715 Jps -m
    23789 BossMain
    23651 Resin -socketwait 32768 -stdout /data/aoxj/resin/log/stdout.log -stderr /data/aoxj/resin/log/stderr.log

    -l 输出应用程序main class的完整package名 或者 应用程序的jar文件完整路径名

    $> jps -l
    28729 sun.tools.jps.Jps
    23789 com.asiainfo.aimc.bossbi.BossMain
    23651 com.caucho.server.resin.Resin

    -v 输出传递给JVM的参数

    $> jps -v
    23789 BossMain
    28802 Jps -Denv.class.path=/data/aoxj/bossbi/twsecurity/java/trustwork140.jar:/data/aoxj/bossbi/twsecurity/java/:/data/aoxj/bossbi/twsecurity/java/twcmcc.jar:/data/aoxj/jdk15/lib/rt.jar:/data/aoxj/jd

    k15/lib/tools.jar -Dapplication.home=/data/aoxj/jdk15 -Xms8m
    23651 Resin -Xss1m -Dresin.home=/data/aoxj/resin -Dserver.root=/data/aoxj/resin -Djava.util.logging.manager=com.caucho.log.LogManagerImpl -

    Djavax.management.builder.initial=com.caucho.jmx.MBeanServerBuilderImpl

    sudo jps看到的进程数量最全

    jps 192.168.0.77

    列出远程服务器192.168.0.77机器所有的jvm实例,采用rmi协议,默认连接端口为1099

    (前提是远程服务器提供jstatd服务)

    注:jps命令有个地方很不好,似乎只能显示当前用户的java进程,要显示其他用户的还是只能用unix/linux的ps命令。

    人一定要靠自己,要知道比你优秀的人都在努力,你还有什么理由想着不去努力呢!!!!

    展开全文
  • 10分钟让你掌握Linux常用命令

    万次阅读 多人点赞 2019-09-25 15:38:04
    1、目录操作。2、文件操作。3、文件内容操作。4、压缩和解压缩。5、日志查看。6、Linux下文件的详细信息。7、常用的docker容器的命令。8、其他命令

    1、常用Linux命令
    2、windows下CMD常用命令



    一、目录操作

    pwd				查看当前工作目录
    clear 			清除屏幕
    cd ~			当前用户目录
    cd /			根目录
    cd -			上一次访问的目录
    cd ..			上一级目录
    

    查看目录内信息

    ll				查看当前目录下内容(LL的小写)
    

    创建目录

    mkdir aaa		在当前目录下创建aaa目录,相对路径;
    mkdir ./bbb		在当前目录下创建bbb目录,相对路径;
    mkdir /ccc		在根目录下创建ccc目录,绝对路径;
    

    递归创建目录(会创建里面没有的目录文件夹)

    mkdir -p temp/nginx 
    

    搜索命令

    find / -name 'b'		查询根目录下(包括子目录),名以b的目录和文件;
    find / -name 'b*'		查询根目录下(包括子目录),名以b开头的目录和文件; 
    

    重命名

    mv 原先目录 文件的名称   mv tomcat001 tomcat 
    

    剪切命令(有目录剪切到制定目录下,没有的话剪切为指定目录)

    mv	/aaa /bbb			将根目录下的aaa目录,移动到bbb目录下,在bbb,麚也叫aaa目录;
    mv	bbb usr/bbb			将当前目录下的bbbb目录,移动到usr目录下,并且修改名称为bbb;
    

    复制目录

    cp -r /aaa /bbb			将/目录下的aaa目录复制到/bbb目录下,在/bbb目录下的名称为aaa
    cp -r /aaa /bbb/aaa		将/目录下的aa目录复制到/bbb目录下,且修改名为aaa;
    

    强制式删除指定目录

    rm -rf /bbb			强制删除/目录下的bbb目录。如果bbb目录中还有子目录,也会被强制删除,不会提示;
    

    删除目录

    rm -r /bbb			普通删除。会询问你是否删除每一个文件
    

    二、文件操作

    删除

    rm -r a.java		删除当前目录下的a.java文件(每次回询问是否删除y:同意)
    

    强制删除

    rm -rf a.java		强制删除当前目录下的a.java文件
    rm -rf ./a*			强制删除当前目录下以a开头的所有文件;
    rm -rf ./*			强制删除当前目录下所有文件(慎用);
    

    创建文件

    touch testFile
    

    递归删除.pyc格式的文件

    find . -name '*.pyc' -exec rm -rf {} \;
    

    打印当前文件夹下指定大小的文件

    find . -name "*" -size 145800c -print
    

    递归删除指定大小的文件(145800)

    find . -name "*" -size 145800c -exec rm -rf {} \;
    

    递归删除指定大小的文件,并打印出来

    find . -name "*" -size 145800c -print -exec rm -rf {} \;
    
    • "." 表示从当前目录开始递归查找
    • “ -name '*.exe' "根据名称来查找,要查找所有以.exe结尾的文件夹或者文件
    • " -type f "查找的类型为文件
    • "-print" 输出查找的文件目录名
    • -size 145800c 指定文件的大小
    • -exec rm -rf {} \; 递归删除(前面查询出来的结果)

    三、文件内容操作(查看日志,更改配置文件

    修改文件内容

    vim a.java   	进入一般模式
    i(按键)   		进入插入模式(编辑模式)
    ESC(按键)  		退出
    :wq 			保存退出(shift+:调起输入框)
    :q!			不保存退出(shift+:调起输入框)(内容更改)
    :q				不保存退出(shift+:调起输入框)(没有内容更改)
    

    文件内容的查看

    cat a.java		查看a.java文件的最后一页内容;
    more a.java		从第一页开始查看a.java文件内容,按回车键一行一行进行查看,
                        按空格键一页一页进行查看,q退出;
    less a.java		从第一页开始查看a.java文件内容,按回车键一行一行的看,
                        按空格键一页一页的看,支持使用PageDown和PageUp翻页,q退出;
    

    总结下more 和 less的区别:

    1. less可以按键盘上下方向键显示上下内容,more不能通过上下方向键控制显示
    2. less不必读整个文件,加载速度会比more更快
    3. less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容.
    4. 由于more不能后退.

    实时查看文件后几行(实时查看日志)

    tail -f a.java			查看a.java文件的后10行内容;
    

    前后几行查看

    head a.java				查看a.java文件的前10行内容;
    tail -f a.java			查看a.java文件的后10行内容;
    head -n 7 a.java		查看a.java文件的前7行内容;
    tail -n 7 a.java		查看a.java文件的后7行内容;
    

    文件内部搜索指定的内容

    grep under 123.txt			在123.txt文件中搜索under字符串,大小写敏感,显示行;
    grep -n under 123.txt		在123.txt文件中搜索under字符串,大小写敏感,显示行及行号;
    grep -v under 123.txt		在123.txt文件中搜索under字符串,大小写敏感,显示没搜索到的行;
    grep -i under 123.txt		在123.txt文件中搜索under字符串,大小写敏感,显示行;
    grep -ni under 123.txt		在123.txt文件中搜索under字符串,大小写敏感,显示行及行号;
    

    终止当前操作

    Ctrl+cCtrl+z都是中断命令,但是作用却不一样。

    ctrl+z
    ctrl+c
    

    Ctrl+Z就扮演了类似的角色,将任务中断,但是任务并没有结束,在进程中只是维持挂起的状态,用户可以使用fg/bg操作前台或后台的任务,fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台执行。
    Ctrl+C也扮演类似的角色,强制中断程序的执行。

    重定向功能
    可以使用 > 或 < 将命令的输出的命令重定向到test.txt文件中(没有则创建一个)

    echo 'Hello World' > /root/test.txt
    

    四、系统日志位置

    cat /etc/redhat-release		查看操作系统版本
    /var/log/message			系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
    /var/log/message			系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 
    /var/log/secure				与安全相关的日志信息 
    /var/log/maillog			与邮件相关的日志信息 
    /var/log/cron				与定时任务相关的日志信息 
    /var/log/spooler			与UUCP和news设备相关的日志信息 
    /var/log/boot.log			守护进程启动和停止相关的日志消息 
    

    查看某文件下的用户操作日志
    到达操作的目录下,执行下面的程序:

    cat .bash_history
    

    五、创建与删除软连接

    1、创建软连接

    ln -s /usr/local/app /data
    
    注意:创建软连接时,data目录后不加 / (加上后是查找其下一级目录);

    在这里插入图片描述
    2、删除软连接

    rm -rf /data
    

    注意:取消软连接最后没有/,rm -rf 软连接。加上/是删除文件夹;

    在这里插入图片描述

    六、压缩和解压缩

    tar

    tar -zcvf start.tar.gz a.java b.java	将当前目录下a.java、b.java打包
    tar -zcvf start.tar.gz ./*				将当前目录下的所欲文件打包压缩成haha.tar.gz文件
    
    tar -xvf start.tar.gz				解压start.tar.gz压缩包,到当前文件夹下;
    tar -xvf start.tar.gz -C usr/local(C为大写,中间无空格)
    									解压start.tar.gz压缩包,到/usr/local目录下;
    

    unzip

    unzip file1.zip  				解压一个zip格式压缩包
    zip lib.zip tomcat.jar			将单个文件压缩(lib.zip)
    zip -r lib.zip lib/				将目录进行压缩(lib.zip)
    zip -r lib.zip tomcat-embed.jar xml-aps.jar		将多个文件压缩为zip文件(lib.zip)	
    

    english.zip包,解压到指定目录下/usr/app/

    unzip -d /usr/app/com.lydms.english.zip
    

    七、Linux下文件的详细信息

     R:Read  w:write  x: execute执行
    -rw-r--r-- 1 root root  34942 Jan 19  2018 bootstrap.jar
    前三位代表当前用户对文件权限:可以读/可以写/不能执行
    中间三位代表当前组的其他用户对当前文件的操作权限:可以读/不能写/不能执行
    后三位其他用户对当前文件权限:可以读/不能写/不能执行
    

    文件

    更改文件的权限

    chmod u+x web.xml (---x------)		为文件拥有者(user)添加执行权限;
    chmod g+x web.xml (------x---)		为文件拥有者所在组(group)添加执行权限;
    chmod 111 web.xml  (---x--x--x)	为所有用户分类,添加可执行权限;
    chmod 222 web.xml (--w--w--w-)		为所有用户分类,添加可写入权限;	
    chmod 444 web.xml (-r--r--r--)		为所有用户分类,添加可读取权限;
    

    八、常用的docker容器的命令:

    1、下载镜像
    Linux服务器下载安装包镜像命令

    wget https://mirrors.huaweicloud.com/elasticsearch/7.8.0/elasticsearch-7.8.0-windows-x86_64.zip
    

    华为开源镜像站

    https://mirrors.huaweicloud.com/
    

    2、常用命令

    #1、查看docker中下载好的镜像:
    docker images
     #2、查询需要的容器名称:
    docker search mysql
    #3、将需要的docker容器下载运行到本地(名称、端口号、msyql密码、ID):
    docker run -di --name=first -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root 26d26dsfsd31a
    #4、查看运行的docker容器:
    docker ps
    #5、查看所有的docker容器(包括未运行的):
    docker ps -a
    #6、停止当前运行的docker容器:
    docker stop first
    #7、启动docker容器:
    docker start first
    #8、重启docker容器:
    docker restart first
    #9、删除docker容器:
    docker rm first
    

    九、运维常用命令

    1、查看服务器端口号是否可用

    查看服务器是否可用

    ping 49.32.587.164
    

    查看服务器指定端口是否可用

    telnet 49.32.587.164 8093
    

    Telnet安装

    这是我写过的一个Linux安装Telnet的文章。

    https://blog.csdn.net/lydms/article/details/113698856
    

    1、shutdown(关闭计算机)

    shutdown是最常用也是最安全的关机和重启命令,它会在关机之前调用fsck检查磁盘,其中-h和-r是最常用的参数:

    -h:停止系统服务并关机  
    -r: 停止系统服务后重启  
    

    案例:

    shutdown -h now  --立即关机  
    shutdown -h 10:53  --10:53关机,如果该时间小于当前时间,则到隔天  
    shutdown -h +10  --10分钟后自动关机  
    shutdown -r now  --立即重启  
    shutdown -r +30 'The System Will Reboot in 30 Mins'   --30分钟后重启并并发送通知给其它在线用户  
    

    2、查看处于各种连接状态数量(ESTABLISHEDCLOSE_WAITTIME_WAIT)

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

    在这里插入图片描述
    查看处于ESTABLISHED状态连接

    netstat -nt | awk '{if($NF=="ESTABLISHED"){wait[$5]++}}END{for(i in wait) print i,wait[i]}'
    

    查看处于CLOSE_WAIT状态连接

    netstat -nt | awk '{if($NF=="CLOSE_WAIT"){wait[$5]++}}END{for(i in wait) print i,wait[i]}'
    

    查看处于TIME_WAIT状态连接

    netstat -nt | awk '{if($NF=="TIME_WAIT"){wait[$5]++}}END{for(i in wait) print i,wait[i]}'
    

    3、ping命令
    对 www.lydms.com 发送 4 个 ping 包, 检查与其是否联通

    ping -c 4 www.lydms.com
    

    4、netstat 命令
    netstat 命令用于显示各种网络相关信息,如网络连接, 路由表, 接口状态等等;
    列出所有处于监听状态的tcp端口:

    netstat -lt
    

    查看所有的端口信息, 包括 PID 和进程名称

    netstat -tulpn
    

    5、查看当前端口号占用情况
    1.用于查看某一端口的占用情况

    lsof -i:8080
    

    2.显示tcp,udp的端口和进程等相关情况

    netstat -tunlp
    

    3.指定端口号的进程情况

    netstat -tunlp|grep 8080
    

    4.查看PID进程信息

    ps -aux |grep 28990
    

    根据PID,查看JVM中各线程信息('0x9eb’为nid值)

    jstack 2246|grep '0x9eb' -A 50
    

    6、ps 命令
    过滤得到当前系统中的 ssh 进程信息

    ps aux | grep 'ssh'
    

    7、管道命令
    简单来说, Linux 中管道的作用是将上一个命令的输出作为下一个命令的输入, 像 pipe 一样将各个命令串联起来执行, 管道的操作符是 |
    管道命令查看当前运行的程序中,名称为java的程序

    ps -ef|grep java
    

    查看/etc/passwd文件中的root内容

    cat /etc/passwd | grep 'root'
    

    查看当前系统的ip连接(Windows和Linux通用)

    netstat -an
    

    将sh test.sh任务放到后台,并将打印的日志输出到nohup.out文件中,终端不再能够接收任何输入(标准输入)

    nohup sh test.sh  &
    

    将sh test.sh任务放到后台,并将打印的日志输出到nohup.out文件中,终端能够接收任何输入

    nohup sh test.sh  &
    

    8、添加Host地址
    打开配置文件

    vim /etc/hosts
    

    在打开的文件中添加

    49.235.32.164 www.lydms.com
    

    保存文件后,重启网络

    /etc/init.d/network restart
    

    重新加载成功:
    在这里插入图片描述

    十、yum常用命令

    yum install iptables-services		下载并安装iptables
    yum list					列出当前系统中安装的所有包
    yum search package_name		在rpm仓库中搜寻软件包
    yum update package_name.rpm		更新当前系统中所有安装的rpm包
    yum update package_name		更新一个rpm包
    yum remove package_name		删除一个rpm包
    yum clean all				删除所有缓存的包和头文件
    

    十一、其他命令

    查看占用资源

    ps -au		占用的资源是从进程启动开始,计算的平均占用资源,比如cpu等
    top			实时占用的资源;
    

    查看当前目录所占存储

    du -lh			查看当前文件下各文件夹占用存储空间
    du -sh			查看当前文件夹所占存储空间
    du --max-depth=<目录层数> 	超过指定层数的目录后,予以忽略。
    du --max-depth=1 			只查看当前目录下文件占用的存储空间
    

    管道命令:
    根据项目查看进程,更加PID查看项目,以及项目路径

    ps -ef 						查看所有的进程
    ps -ef | grep mysql			查看mysql相关的进程
    

    通过进程PID查看所占用的端口号

    netstat -nap |grep 进程ID(PID)
    

    查看Linux下系统存储使用率

    df -h			查看系统硬盘使用情况
    

    杀死进程(根据PID)

    kill -9 2630		进程pid
    

    关闭防火墙

    service iptables stop      临时关闭防火墙
    chkconfig iptables off     防火墙开启不启动
    service iptables status    查看防火墙状态
    

    开机启动选项

    msconfig					查看开机启动选项
    chkconfig					查看开机启动服务列表
    

    查看MySQL服务的程序的状态

    service mysql start        开启MySQL    
    service mysql status       查看MySQL的状态    
    service mysql stop         关闭MySQL    
    

    十二、Linux内核优化

    打开配置文件

    vim /etc/sysctl.conf
    

    加载新的配置(需开启防火墙iptables,否则会报错)

    sysctl -p
    

    收藏的详情地址

    https://www.cnblogs.com/lldsn/p/10489593.html
    

    十三、用户权限操作

    1、添加用户

    添加用户sum:

    useradd –d /usr/sum -m sum
    

    关于useradd的某些参数:

    -u: 指定 UID,这个 UID 必须是大于等于500,并没有其他用户占用的 UID

    -g: 指定默认组,可以是 GID 或者 GROUPNAME,同样也必须真实存在

    -G: 指定额外组

    -c: 指定用户的注释信息

    -d: 指定用户的家目录

    已创建的用户sum设置密码

    passwd sum
    

    新建的用户在面显示

    cat /etc/passwd
    

    反反复复

    删除用户sum

    userdel sum
    

    删除用户文件夹

    rm -rf /usr/sum
    

    切换下刚才添加的用户

    su sum
    

    回到root用户

    exit
    

    2、添加组

    添加用户组

    groupadd groupname
    

    删除用户组

    groupdel groupname
    

    可以看到自己的分组和分组id

    cat /etc/group
    

    sum: x:1000:1000:: /usr/sum :/bin/bash
    sum: x:0:1000:: /usr/sum :/bin/bash

    十四、TOP

    实时占用的资源:

    top
    

    在这里插入图片描述

    top命令执行结果分为两个区域:统计信息区进程信息区

    1、统计信息区

    TOP:任务队列信息,与uptime命令执行结果相同.

    • 15:33:39:系统时间
    • up 5:40:主机已运行时间
    • 2 users:用户连接数(不是用户数,who命令)
    • load average: 1.09, 1.04, 0.98:系统平均负载,统计最近1,5,15分钟的系统平均负载

    Tasks:进程信息

    • 123 total:进程总数
    • 3 running:正在运行的进程数
    • 120 sleeping:睡眠的进程数
    • 0 stopped:停止的进程数
    • 0 zombie:僵尸进程数

    %CPU(s):CPU信息(当有多个CPU时,这些内容可能会超过两行)

    • 42.1 us:用户空间所占CPU百分比
    • 2.0 sy:内核空间占用CPU百分比
    • 0.0 ni:用户进程空间内改变过优先级的进程占用CPU百分比
    • 49.2 id:空闲CPU百分比
    • 0.0 wa:等待输入输出的CPU时间百分比
    • 6.0 hi:硬件CPU终端占用百分比
    • 0.7 si:软中断占用百分比
    • 0.0 st:虚拟机占用百分比

    KiB Mem:内存信息(与第五行的信息类似与free命令类似)

    • 3780.9 total:物理内存总量
    • 727.4 free:已使用的内存总量
    • 668.8 used:空闲的内存总量(free + userd = total)
    • 2384.7 buff/cache:用作内核缓存的内存量

    KiB:swap信息

    • 2048.0 total:交换分区总量
    • 2046.0 free:已使用的交换分区总量
    • 2.0 used:空闲交换分区总量
    • 859.6 avail:缓冲的交换区总量,内存中的内容被换出到交换区,然后又被换入到内存,但是使用过的交换区没有被覆盖,交换区的这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。

    2、进程信息区

    • PID:进程id

    • USER:进程所有者的用户名

    • PR:优先级

    • NI:nice值。负值表示高优先级,正值表示低优先级

    • RES:进程使用的、未被换出的物理内存的大小

    • %CPU:上次更新到现在的CPU时间占用百分比

    • %MEM:进程使用的物理内存百分比

    • TIME+:进程所使用的CPU时间总计,单位1/100秒

    • COMMAND:命令名/行

    • PPID:父进程id

    • RUSER:Real user name(看了好多,都是这样写,也不知道和user有什么区别,欢迎补充此处)

    • UID:进程所有者的id

    • VIRT:进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

    • GROUP:进程所有者的组名

    • TTY:启动进程的终端名。不是从终端启动的进程则显示为?

    • NI:nice值。负值表示高优先级,正值表示低优先级

    • P:最后使用的CPU,仅在多CPU环境下有意义

    • TIME:进程使用的CPU时间总计,单位秒

    • SWAP:进程使用的虚拟内存中被被换出的大小

    • CODE:可执行代码占用的物理内存大小

    • DATA:可执行代码以外的部分(数据段+栈)占用的物理内存大小

    • SHR:共享内存大小

    • nFLT:页面错误次数

    • nDRT:最后一次写入到现在,被修改过的页面数

    • S:进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)

    • WCHAN:若该进程在睡眠,则显示睡眠中的系统函数名

    • Flags:任务标志

    展开全文
  • linux基本命令大全

    万次阅读 多人点赞 2018-07-07 18:05:27
    基本命令 关机:shutdown -h halt init 0 poweroff 重启:shutdown -r reboot init 6 pwd:查看工作目录 ls:查看指定目录的内容 -l:列表显示 -a:显示所有,包括隐藏文件 -h:人性化的显示 -d:只显示目录,不查看...

    基本命令
    关机:shutdown -h halt init 0 poweroff
    重启:shutdown -r reboot init 6
    pwd:查看工作目录
    ls:查看指定目录的内容
    -l:列表显示
    -a:显示所有,包括隐藏文件
    -h:人性化的显示
    -d:只显示目录,不查看内容
    cd:切换工作目录
    .:当前目录
    ..:上一级目录
    ~:用户家目录
    -:上次切过来的目录
    目录结构:
    linux目录与win完全不同,是从'/'开始的,只有他没有上一级目录,因此也叫根目录
    详细介绍:
    /bin:大部分的系统命令
    /boot:启动相关目录
    /dev:设备文件目录,linux下一切设备皆文件
    /etc:配置文件目录
    /home:普通用户的家目录,一个用户对应一个文件夹
    /lib:库文件
    /lib64:64位库文件
    /lost+found:系统异常时临时保存数据,用于恢复等操作
    /media:媒体目录
    /mnt:挂载目录,通用挂载点
    /opt:安装系统非必须软件目录
    /proc:虚拟文件系统,会映射硬件信息
    /root:root用户的家目录
    /sbin:超级用户才能执行的命令目录
    /selinux:linux一套安全机制,非常复杂,通常不用
    /srv:存放本机或本机服务器的数据或服务
    /sys:类似于/proc,也是虚拟文件系统,可以映射系统信息
    /tmp:临时文件,可能随时销毁
    /usr:存放用户安装的应用程序
    /var:系统产生的不可自动销毁的文件,如:日志、缓存等
    1、vim终端编辑器
    介绍:vim是对vi的扩展,被誉为终端编辑器之神
    安装:yum install -y vim
    工作模式:正常模式、插入模式、编辑模式
    正常模式:使用vim打开文件时的默认模式
    vim filename 打开文件,若文件不存在则新建
    esc:切换到正常模式
    shift + zz:保存退出
    常用操作:
    vim filename +n 打开文件,定位到第n行
    vim filename + 打开文件,定位到末尾
    gg 定位到首行
    G 定位到尾行
    ngg 定位到第n行
    ^ 定位到行首
    $ 定位到行尾
    yy 复制光标所在行
    p 粘贴
    nyy 复制光标开始的n行
    dd 删除光标所在行
    ndd 删除光标开始的n行
    u 撤销操作
    ctrl + r 反撤销操作 
    插入模式:就是可以编辑文件内容的模式,在正常模式下输入以下字符进入:
    i:在光标处插入
    I:在行首插入
    a:在光标下一个字符处插入
    A:在行尾插入
    o:下光标下一行插入空行
    O:下光标上一行插入空行
    s:删除光标所在字符并插入
    S:删除光标所在行并插入
    编辑模式:是对整个文件进行的操作,如:保存,退出
    在正常模式下输入':'即可进入编辑模式
    :w 保存
    :q 退出
    :wq 保存退出,等价于 shift + zz
    :x 保存退出,等价于:wq
    :q! 强制退出
    :set nu 显示行号
    :set nonu 隐藏行号
    :行号 定位到指定行号
    /内容 查找指定内容,n下翻,N上翻
    :%s/原内容/新内容 使用新内容替换原内容,全部替换
    :m,ns/原内容/新内容 使用新内容替换原内容,替换m到n行
    友情提醒:若非正常关闭vim,则会生成临时文件(隐藏的),需要删除
    2、文件及文件夹
    touch:创建普通文件
    rm:删除文件,-f表示强制删除,-r表示递归删除
    cp:拷贝文件,若目标目录写上文件名可以顺便把名字改了,-r可以操作目录
    mv:移动文件,若目标目录写上文件名可以顺便把名字改了
    mkdir:创建文件夹,-p创建中间目录
    rmdir:删除文件夹,只能删除空目录
    3、查看文件
    cat:从上到下查看文件,全部内容
    tac:从下到上查看文件,全部内容
    head:查看开头的指定行内容,默认10行,head -3 1.txt
    tail:查看末尾的指定行内容,默认10行,tail -5 1.txt
    more:逐渐查看文件,回车下翻一行,空格下翻一屏,看到结尾会自动结束,q退出查看
    less:逐渐查看文件,回车下翻一行,空格下翻一屏,看到结尾不会自动结束,可以上下翻
    nl:功能同cat,会多显示行号
    wc:统计文件信息,显示结果:行数 | 单词数 | 字节数
    说明:more/less更多用法是结合管道使用,ls /etc | more
    4、用户及用户组
    whoami:查看当前用户
    useradd:创建用户
    -d:指定家目录
    -u:指定用户id(uid)
    -g:指定所属组id(gid)
    -s:指定shell解释器

        说明:uid和gid要使用大于500的数字,小于500的被系统占用
    passwd:设置指定用户的密码,若不指定设置当前用户的密码
    userdel:删除用户,-rf删除用户相关目录,否则需要手动删除
    groupadd:创建用户组
    groupdel:删除用户组
    gpasswd:将用户添加到某个组,从某个组删除
            gpasswd -a test hello   将test用户添加到hello组
            gpasswd -d test hello   将test用户从hello组中删除
    chgrp:改变文件所属组,chgrp hello 1.txt
    chown:改变文件拥有者[及组],chown root[:root] 1.txt
    chsh:修改用户的shell解释器,chsh test -s /sbin/nologin
    su -  : 切换到指定用户,若不加'-',只会切换目录及用户身份,不会切换执行环境
            若不指定用户。默认切换到root用户
    涉及文件:
        /etc/passwd:存放用户信息
        /etc/group:存放用户组信息
        /etc/shadow:存放用户密码
    用户身份:
        #:root用户
        $:普通用户

    5、文件权限管理
    说明:在linux下,文件的权限有:所有者、所属组、其它的区分
    权限:权限有:读(r)、写(w)、执行(x),ls -l即可查看
    rwxr-xr--
    修改:使用chmod命令修改文件的权限
    格式:chmod [身份] [修改] [权限] 文件
    身份:
    u:用户
    g:组
    o:其它
    a:所有身份
    修改:
    +:添加
    -:去掉
    =:设置
    权限:
    r:读
    w:写
    x:执行
    简洁写法:chmod 0755 1.txt
    所有者可读可写可执行、所属组可读可执行、其它可读可执行 
    6、软硬链接文件
    说明:ls -l 结果的第一列就是文件类型
    类型:
    -:普通文件
    d:目录文件
    l:软链接
    命令:ln [-s] 原文件 目标文件
    分类:软链接、硬链接(很少用到)
    创建:不加参数-s创建的链接就是硬链接,添加-s参数创建的就是软链接
    例子:ln -s 1.txt 2.txt
    7、文件查找
    tree:查看目录结构,-L指定层级深度,tree / -L 2
    find:查找文件
    -name:指定名字,find / -name 1.txt
    -type:指定类型,(b/c/d/p/l)
    -size:指定大小,单位K/M/G,+表示大于,-表示小于,find / -size +1G
    -perm:指定权限
    -user:指定用户
    -group:指定组
    -maxdepth:指定最大层级深度
    whereis:查找程序,不要使用find(效率太低)
    which:专门用来查找命令
    alias:给某个命令起别名,alias ls='ls --color=auto'
    unalias:取消别名
    grep:正则匹配查找
    -i:忽略大小写
    -n:显示行号
    例子:
    grep root /etc/passwd 在 /etc/passwd文件中查找包含root的行
    ls /bin | grep '^m' 查找/bin目录下以m开头的文件

    其它:
    命令 [选项] [参数]
    出问题查看帮助文档
    1、内部帮助文档:命令 --help/-h
    2、外部帮助文档:man 命令

     


     

    前端每日一题,带你走入高级前端之路!每天早上9点左右更新题目及前一天的答案!

    github地址:https://github.com/qappleh/Web-Daily-Question/

     

    推荐web程序员必备微信号 

    深圳湾码农

    微信号:ydhlwnxs

    推荐理由:web开发人员都在关注的公众号,在多学一点知识,就可以少写一行代码!专注于技术资源分享,经验交流,最新技术解读,另有海量免费电子书以及成套学习资源,关注深圳湾码农,做技术得先驱者。

     ▼长按下方↓↓↓二维码识别关注

    展开全文
  • linux常用命令

    千次阅读 多人点赞 2016-12-22 11:24:58
    linux常用命令

    tar解压/压缩

    常用参数:

    -c: 建立压缩档案
    -x:解压
    -t:查看内容
    -r:向压缩归档文件末尾追加文件
    -u:更新原压缩包中的文件

    这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。

    下面的参数是根据需要在压缩或解压档案时可选的。

    -z:有gzip属性的
    -j:有bz2属性的
    -Z:有compress属性的
    -v:显示所有过程
    -O:将文件解开到标准输出

     

    下面的参数-f是必须的

    -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

     

    # tar -cf all.tar *.jpg
    这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

    # tar -rfall.tar *.gif
    这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。


    # tar -uf all.tar logo.gif
    这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

    # tar -tf all.tar
    这条命令是列出all.tar包中所有文件,-t是列出文件的意思

    # tar -xf all.tar
    这条命令是解出all.tar包中所有文件,-t是解开的意思

    压缩

    tar -cvfjpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg

    tar -czfjpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

    tar -cjfjpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

    tar -cZfjpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

    rar ajpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux

    zipjpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux

    解压

    tar -xvffile.tar //解压 tar包

    tar -xzvffile.tar.gz //解压tar.gz

    tar -xjvffile.tar.bz2 //解压 tar.bz2

    tar -xZvffile.tar.Z //解压tar.Z

    unrar efile.rar //解压rar

    unzipfile.zip //解压zip

    总结

    1、*.tar 用 tar -xvf 解压

    2、*.gz 用 gzip -d或者gunzip 解压

    3、*.tar.gz和*.tgz 用 tar -xzf 解压

    4、*.bz2 用 bzip2 -d或者用bunzip2 解压

    5、*.tar.bz2用tar -xjf 解压

    6、*.Z 用 uncompress 解压

    7、*.tar.Z 用tar -xZf 解压

    8、*.rar 用 unrar e解压

    9、*.zip 用 unzip 解压

     

    du命令

    命令功能说明:统计目录(或文件)所占磁盘空间的大小。

    常用参数:

    -a或-all  为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。
    -b或-bytes 显示目录或文件大小时,以byte为单位。
    -c或–total 除了显示目录或文件的大小外,同时也显示所有目录或文件的总和。
    -D或–dereference-args 显示指定符号连接的源文件大小。
    -h或–human-readable以K,M,G为单位,提高信息的可读性。
    -H或–si 与-h参数相同,但是K,M,G是以1000为换算单位,而不是以1024为换算单位。
    -k或–kilobytes以1024bytes为单位。
    -l或–count-links重复计算硬件连接的文件。
    -L<符号连接>或–dereference<符号连接> 显示选项中所指定符号连接的源文件大小。
    -m或–megabytes以1MB为单位。
    -s或–summarize 仅显示总计,即当前目录的大小。
    -S或–separate-dirs 显示每个目录的大小时,并不含其子目录的大小。
    -x或–one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
    -X<文件>或–exclude-from=<文件> 在<文件>指定目录或文件。
    –exclude=<目录或文件> 略过指定的目录或文件。
    –max-depth=<目录层数> 超过指定层数的目录后,予以忽略。
    –help 显示帮助。
    –version 显示版本信息。

    实例:

    1> 要显示一个目录树及其每个子树的磁盘使用情况
    du /home/linux
    这在/home/linux目录及其每个子目录中显示了磁盘块数。
    2> 要通过以1024字节为单位显示一个目录树及其每个子树的磁盘使用情况
    du -k /home/linux
    这在/home/linux目录及其每个子目录中显示了 1024 字节磁盘块数。
    3> 以MB为单位显示一个目录树及其每个子树的磁盘使用情况
    du -m /home/linux
    这在/home/linux目录及其每个子目录中显示了 MB 磁盘块数。
    4> 以GB为单位显示一个目录树及其每个子树的磁盘使用情况
    du -g /home/linux
    这在/home/linux目录及其每个子目录中显示了 GB 磁盘块数。
    5>查看当前目录下所有目录以及子目录的大小:
    du -h .
    “.”
    代表当前目录下。也可以换成一个明确的路径
    -h表示用K、M、G的人性化形式显示
    6>查看当前目录下user目录的大小,并不想看其他目录以及其子目录:
    du -sh user
    -s表示总结的意思,即只列出一个总结的值
    du -h –max-depth=0 user
    –max-depth
    =n表示只深入到第n层目录,此处设置为0,即表示不深入到子目录。
    7>列出user目录及其子目录下所有目录和文件的大小:
    du -ah user
    -a
    表示包括目录和文件
    8>列出当前目录中的目录名不包括xyz字符串的目录的大小:
    du -h –exclude=’*xyz*’
    9>
    想在一个屏幕下列出更多的关于user目录及子目录大小的信息:
    du -0h user
    -0
    (杠零)表示每列出一个目录的信息,不换行,而是直接输出下一个目录的信息。
    10>只显示一个目录树的全部磁盘使用情况

    du -s /home/linux 

     

    在查看目录的使用情形时,我们可以将输出结果导到 sort 指令进行排序,以了解哪个档案用了最多的空间: 

    du /etc | sort -nr | more

    df命令

    用于显示磁盘分区上的可使用的磁盘空间,默认显示单位为KB

     

    常用参数:

    a:显示全部的档案系统和各分割区的磁盘使用情形
    i
    :显示i -nodes的使用量
    k
    :大小用k来表示 (默认值)
    t
    :显示某一个档案系统的所有分割区磁盘使用量

    x
    :显示不是某一个档案系统的所有分割区磁盘使用量
    T
    :显示每个分割区所属的档案系统名称

    实例:

    1、查看系统磁盘设备,默认是KB为单位:

    [root@localhost wht]# df

    Filesystem    1K-blocks     Used Available Use%Mounted on

    /dev/sda2       18175756  9643208  7602604  56% /

    tmpfs            515208      228    514980  1% /dev/shm

    /dev/sda1        289293    34622    239311 13% /boot

    .host:/        12583714428773848  97063296  23% /mnt/hgfs

     

    2使用-h选项以KB以上的单位来显示,可读性高:

    [root@localhost wht]# df -h

    Filesystem      Size  Used Avail Use% Mounted on

    /dev/sda2        18G  9.2G 7.3G  56% /

    tmpfs           504M  228K 503M   1% /dev/shm

    /dev/sda1       283M   34M 234M  13% /boot

    .host:/         121G   28G  93G  23% /mnt/hgfs

     

    3、查看全部文件系统:

    [root@localhost wht]# df -a

    Filesystem      1K-blocks     Used Available Use%Mounted on

    /dev/sda2        18175756  9643208   7602604 56% /

    proc                    0        0         0   - /proc

    sysfs                   0        0         0   - /sys

    devpts                   0        0         0   - /dev/pts

    tmpfs              515208      228    514980  1% /dev/shm

    /dev/sda1          289293    34622    239311 13% /boot

    none                    0        0         0   - /proc/sys/fs/binfmt_misc

    .host:/          12583714428773848  97063296  23% /mnt/hgfs

    vmware-vmblock          0        0         0   - /var/run/vmblock-fuse

    sunrpc                  0        0         0   - /var/lib/nfs/rpc_pipefs

    nfsd                    0        0         0   - /proc/fs/nfsd

    gvfs-fuse-daemon        0        0         0   - /root/.gvfs

     

    4、查看inode

    [root@localhost wht]# df -i

    Filesystem      Inodes IUsed  IFree IUse% Mounted on

    /dev/sda2      1163264 277017 886247   24% /

    tmpfs           128802      6 128796    1% /dev/shm

    /dev/sda1        76912     38 76874    1% /boot

    .host:/              0      0     0     - /mnt/hgfs

     

    find命令

    查找

     

      使用格式    find  [指定查找目录]  [查找规则]  [查找完后执行的action]

     

     [指定查找目录]

    例如:

    这里要注意的是目录之间要用空格分开

     

     [查找规则] 

    (1)根据文件名查找

     #  -name       //根据文件名查找(精确查找)

     #  -iname       //根据文件名查找,但是不区分大小写 

     

    这里另外介绍下文件名通配的知识 

    *表示  通配任意的字符

     ?表示  通配任意的单个字符

    [ ] 表示 通配括号里面的任意一个字符

    2)根据文件所属用户和组来查找文件

    # -user //根据属主来查找文件

    # -group //根据属组来查找文件 

    3)根据uid  gid来查找用户

    #find  /tmp  -uid  500  //查找uid500 的文件

    #find  /tmp  -gid  1000// 查找gid1000的文件

    4-a  and  -o  and  –not的使用

    # -a 连接两个不同的条件(两个条件必须同时满足)

     

    #-o 连接两个不同的条件(两个条件满足其一即可)

    #-not 对条件取反的

      

    (5)根据文件时间戳的相关属性来查找文件

     我们可以使用stat命令来查看一个文件的时间信息 如下:

     

    #-atime

    #-mtime

    #-ctime

    #-amin

    #-mmin

    #-cmin

     

    所以这里atime,mtime,ctime就是分别对应的“最近一次访问时间”“最近一次内容修改时间”“最近一次属性修改时间”,这里的atime的单位指的是“天”,amin的单位是分钟  

     

    #find  /tmp  –atime  +5           //表示查找在五天内没有访问过的文件

     #find  /tmp  -atime  -5            //表示查找在五天内访问过的文件

              

    (6)根据文件类型来查找文件

     -type

     f     // 普通文件

     d     //目录文件

     l     //链接文件

    b     //块设备文件

     c     //字符设备文件

     p     //管道文件

    s     //socket文件

     

     

    7)根据大小来查找文件

    -size

     

    #find  /tmp  -size   2M           //查找在/tmp 目录下等于2M的文件

     #find  /tmp  -size  +2M           //查找在/tmp 目录下大于2M的文件

     #find  /tmp  -size  -2M           //查找在/tmp 目录下小于2M的文件

     

     

    8)根据文件权限查找文件

    -perm

     

     #find  /tmp  -perm  755           //查找在/tmp目录下权限是755的文件

     #find  /tmp  -perm  +222          //表示只要有一类用户(属主,属组,其他)的匹配写权限就行

      #find  /tmp  -perm  -222          //表示必须所有类别用户都满足有写权限

     

    9-nouser  and  -nogroup

    #find  /  -nogroup –a–nouser       //在整个系统中查找既没有属主又没有属组的文件(这样的文件通常是很危险的,作为系统工程师的我们应该及时清除掉)

     

     [查找完执行的action]

     

     #-print                                //默认情况下的动作

     #-ls                                    //查找到后用ls 显示出来

    #-ok  [commend]               //查找后执行命令的时候询问用户是否要执行

     # -exec[commend]             //查找后执行命令的时候不询问用户,直接执行

     

    这里要注意{}的使用:替代查找到的文件

     

     

     #find  /tmp  -atime  +30  –execrm –rf  {}  \ #删除查找到的超过30天没有访问过文件

      我们也可以使用xargs来对查找到的文件进一步操作

        

    alias命令

    功能说明:设置指令的别名。

    语  法:alias[别名]=[指令名称]

    参  数 :若不加任何参数,则列出目前所有的别名设置。

    如果你想给每一位用户都生效的别名,请把alias la='ls -al' 一行加在/etc/bashrc最后面,bashrc是环境变量的配置文件/etc/bashrc~/.bashrc 区别就在于一个是设置给全系统一个是设置给单用户使用.

     

     

    ps命令

    功能说明:查看当前进程状态。

     

    参数:

    -A :所有的进程均显示出来,与 -e 具有同样的效用;

    -a :显示现行终端机下的所有进程,包括其他用户的进程;

    -u :以用户为主的进程状态;

    x :通常与 a 这个参数一起使用,可列出较完整信息。

    输出格式规划:

    l :较长、较详细的将该 PID 的的信息列出;

    j :工作的格式 (jobs format)

    -f :做一个更为完整的输出。

    特别说明:

    由于 ps 能够支持的系统类型相当的多,所以他的参数多的离谱!

    而且有没有加上 - 差很多!详细的用法应该要参考 man ps 喔!

    1、不加参数执行ps命令

    [root@localhostwht]# ps

      PID TTY          TIME CMD

    13424pts/3    00:00:00 ps

    31391pts/3    00:00:00 bash

    [root@localhostwht]#

     

    PID: 运行着的命令(CMD)的进程编号
    TTY:
    命令所运行的位置(终端)
    TIME:
    运行着的该命令所占用的CPU处理时间
    CMD:
    该进程所运行的命令

     

    2、显示所有当前进程

    使用 -a 参数。-a 代表 all。同时加上x参数会显示没有控制终端的进程。

    [root@localhost wht]# ps –ax

    这个命令的结果或许会很长。为了便于查看,可以结合less命令和管道来使用。

     

    3、根据用户过滤进程

    在需要查看特定用户进程的情况下,我们可以使用 -u 参数。比如我们要查看用户'pungki'的进程,可以通过下面的命令:

    [root@localhost wht]# ps -u pungki

    4、通过cpu和内存使用来过滤进程

    也许你希望把结果按照 CPU 或者内存用量来筛选,这样你就找到哪个进程占用了你的资源。要做到这一点,我们可以使用 aux 参数,来显示全面的信息:

     

    [root@localhost wht]# ps -aux | less

     

    当结果很长时,我们可以使用管道和less命令来筛选。

    默认的结果集是未排好序的。可以通过 --sort命令来排序。

    根据 CPU 使用来升序排序

     

    [root@localhost wht]# ps -aux --sort -pcpu| less

     

    根据内存使用来升序排序

     

    [root@localhost wht]# ps -aux --sort -pmem| less

     

    我们也可以将它们合并到一个命令,并通过管道显示前10个结果:

     

    [root@localhost wht]# ps -aux --sort-pcpu,+pmem | head -n 10

     

    5、通过进程名和PID过滤

    使用 -C 参数,后面跟你要找的进程的名字。比如想显示一个名为getty的进程的信息,就可以使用下面的命令:

     

    [root@localhost wht]# ps -C getty

     

    如果想要看到更多的细节,我们可以使用-f参数来查看格式化的信息列表:

     

    [root@localhost wht]# ps -f -C getty

     

    6、根据线程来过滤进程

    如果我们想知道特定进程的线程,可以使用-L 参数,后面加上特定的PID

     

    [root@localhost wht]# ps -L 1213

     

    7、树形显示进程

    有时候我们希望以树形结构显示进程,可以使用 -axjf 参数。

     

    [root@localhost wht]# ps -axjf

     

    或者可以使用另一个命令。

     

    [root@localhost wht]# pstree

     

    8、显示安全信息

    如果想要查看现在有谁登入了你的服务器。可以使用ps命令加上相关参数:

     

    [root@localhost wht]# ps -eo pid,user,args

     

    参数 -e 显示所有进程信息,-o 参数控制输出。Pid,User Args参数显示PID,运行应用的用户和该应用。

     

    能够与-e 参数一起使用的关键字是args, cmd, comm, command, fname, ucmd, ucomm, lstart,bsdstart start

     

    9. 格式化输出root用户(真实的或有效的UID)创建的进程

    系统管理员想要查看由root用户运行的进程和这个进程的其他相关信息时,可以通过下面的命令:

     

    [root@localhost wht]# ps -U root -u root u

     

    -U 参数按真实用户ID(RUID)筛选进程,它会从用户列表中选择真实用户名或 ID。真实用户即实际创建该进程的用户。

    -u 参数用来筛选有效用户IDEUID)。

    最后的u参数用来决定以针对用户的格式输出,由User, PID, %CPU, %MEM, VSZ, RSS, TTY, STAT, START, TIME COMMAND这几列组成。

     

    10. 使用PS实时监控进程状态

    ps 命令会显示你系统当前的进程状态,但是这个结果是静态的。

    当有一种情况,我们需要像上面第四点中提到的通过CPU和内存的使用率来筛选进程,并且我们希望结果能够每秒刷新一次。为此,我们可以将ps命令和watch命令结合起来。

     

    [root@localhost wht]# watch -n 1 ‘ps -aux--sort -pmem, -pcpu’

     

     如果输出太长,我们也可以限制它,比如前20条,我们可以使用head命令来做到。

     

    [root@localhost wht]# watch -n 1 ‘ps -aux--sort -pmem, -pcpu | head 20’

     

    这里的动态查看并不像top或者htop命令一样。但是使用ps的好处是你能够定义显示的字段,你能够选择你想查看的字段。

    举个例子,如果你只需要看名为'pungki'用户的信息,你可以使用下面的命令:

     

    [root@localhost wht]# watch -n 1 ‘ps -aux-U pungki u --sort -pmem, -pcpu | head 20’

     

    mount命令

    功能说明:挂载

    格式:mount [-参数] [设备名称] [挂载点]

    参数:

    -a 安装在/etc/fstab文件中类出的所有文件系统。

    -f 伪装mount,作出检查设备和目录的样子,但并不真正挂载文件系统。

    -n 不把安装记录在/etc/mtab 文件中。

    -r 讲文件系统安装为只读。

    -v 详细显示安装信息。

    -w 将文件系统安装为可写,为命令默认情况。

    -t 指定设备的文件系统类型,常见的有:
    ext2 linux目前常用的文件系统

    msdos MS-DOS的fat,就是
    fat16
    vfat windows98常用的
    fat32
    nfs 网络文件系统

    iso9660 CD-ROM光盘标准文件系统

    ntfs windows NT/2000/XP的文件系统

    auto 自动检测文件系统

    -o 指定挂载文件系统时的选项,有些也可写到在/etc/fstab中。常用的有:
    defaults 使用所有选项的默认值(auto、nouser、rw、suid)

    auto/noauto 允许/不允许以 –a选项进行安装
    dev/nodev 对/不对文件系统上的特殊设备进行解释
    exec/noexec 允许/不允许执行二进制代码
    suid/nosuid 确认/不确认suid和sgid位
    user /nouser 允许/不允许一般用户挂载
    codepage=XXX 代码页
    iocharset=XXX 字符集

    ro 以只读方式挂载

    rw 以读写方式挂载

    remount 重新安装已经安装了的文件系统

    loop 挂载回旋设备

     

    需要注意的是,挂载点必须是一个已经存在的目录,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用,umount以后会恢复正常。使用多个-o参数的时候,-o 只用一次,参数之间用半角逗号隔开:

    CODE:
    # mount –o remount,rw /
    例如要挂载windows下文件系统为FAT32的D盘,一般而言在Linux下这个分区对应/dev/hda5,根据具体的分区情况会有不同,这里就以hda5来举例说明:
    CODE:
    # mkdir /mnt/hda5 //
    创建hda5的目录作为挂载点,位置和目录名可自定义//
    # mount -t vfat /dev/hda5 /mnt/hda5
    一般而言,Linux会自动探测分区的文件系统,除非让你指定时,否则-t vfat 可以省掉。

    CODE:
    # mount /dev/hda5 /mnt/hda5
    这样就可以进入/mnt/hda5目录去访问分区中的资源了。
    3. 为什么mount上分区后显示不了中文文件为问号/乱码?

    显示问号表明你的系统中没有可识别使用的中文字体,请先安装中文字体。确保你的系统已经可以很好的显示中文。显示为乱码一般是mount默认使用的文件系统编码和文件系统中文件的实际编码不一致造成的。要想正常显示中文文件,mount时需要用到 -o 参数里的codepage和iocharset选项。codepage指定文件系统的代码页,简体中文中文代码是936;iocharset指定字符集,简体中文一般用cp936或gb2312。
    CODE:
    # mount –o iocharset=gb2312 codepage=936 /dev/hda5 /mnt/hda5
    一般来说 mount –o iocharset=cp936/dev/hda5 /mnt/hda5 就可以解决问题了。
    如果这样做了以后还有问题,请尝试UTF-8编码:
    CODE:
    # mount –o iocharset=utf8 /dev/hda5 /mnt/hda5
    4.
    为什么mount上去以后分区普通用户不可写?
    mount时加上 –o umask=000 即可:
    CODE:
    # mount –o umask=000, iocharset=cp936 /dev/hda5 /mnt/hda5
    5.
    为什么mount上去后的分区中的文件都变成短文件名了?
    这是文件系统挂错的原因,将FAT32挂载成FAT16时就会出现这种情况,先umount,然后用 –t vfat 重新挂载即可解决问题。
    CODE:
    # mount –t vat /dev/hda5 /mnt/hda5
    6.
    为什么不能mount ntfs分区?
    这是内核不支持NTFS文件系统的原因,请重新编译内核或者安装内核的NTFS文件系统支持包,以使得内核有NTFS文件系统的支持。
    7. 如何挂载U盘和mp3?
    如果计算机没有其它SCSI设备和usb外设的情况下,插入的U盘的设备路径是 /dev/sda1,用命令:
    CODE:
    # mkdir /mnt/u
    # mount /dev/sda1 /mnt/u
    挂载即可。
    8. 可以直接使用iso文件吗?
    可以,就是mount的这一选项使得Linux下有免费虚拟光驱的说法,具体用法是:
    CODE:
    # mkdir /mnt/iso
    # mount –o loop linux.iso /mnt/iso
    当然,挂载以后挂载点/mnt/iso也是只读的。
    9. 我怎么不可以mount iso文件?

    一般而言,大多数的发行版使用的内核均已将loop设备的支持编译进去了,但是也有没有的情况,所以请确保系统所使用的内核支持loop设备。
    第二种情况是iso文件被放置到了NTFS或其它只读文件系统中了。挂载loop 设备必须要求挂载到一个可写的分区中,目前Linux内核对NTFS文件系统的写支持非常有限,请将iso文件复制到其它可写文件系统中后再挂载。
    10. 如何挂载光驱和软驱
    一般来说CDROM的设备文件是/dev/hdc,软驱的设备名是/dev/fd0
    CODE:
    # mkdir /mnt/cdrom
    # mount /dev/hdc /mnt/cdrom //挂载光驱
    //
    # mkdir /mnt/floppy
    # mount /dev/fd0 /mnt/floppy //挂载软驱
    //
    11. 为何挂载的CD-ROM不能显示中文文件?

    使用 –o iocharset=cp936 选项一般能解决问题,否则使用utf-8编码。
    CODE:
    # mount –o iocharset=cp936 /dev/hdc /mnt/cdrom
    12.
    如何开机自动挂载分区?
    每次挂载都要输入那么长的命令的确是繁琐了些,只要将分区信息写到/etc/fstab文件中即可实现系统启动的自动挂载,例如对于/dev/hda5的自动挂载添加如下的行即可:
    CODE:
    /dev/hda5 /mnt/hda5 vfat defaults,iocharset=cp936, rw 0 0
    13.
    如何挂载samba 分区?
    CODE:
    # mkdir /mnt/share
    # mount -t smbfs -o username=root,password=abc,codepage=936,iocharset=gb2312//192.168.1.100/share/mnt/share
    如果中文显示不正常请尝试UTF-8编码。当然可以写到fstab中实现自动挂载。
    14. mount --bind是什么意思?
    mount --bind 是将一个目录中的内容挂载到另一个目录上,用法是
    CODE:
    # mount --bind olddir newdir
    这个命令使得自己搭建的FTP要共享某个目录的时候变得特别方便。如果要取消mount用命令:
    CODE:
    # mount --move olddir newdir
    即可。
    如果mount --bind 也想写入fstab中的话格式如下:
    CODE:
    olddir newdir none bind 0 0
    15. umount
    基本用法是?
    譬如 /dev/hda5 已经挂载在/mnt/hda5上,用一下三条命令均可卸载挂载的文件系统
    CODE:
    # umount /dev/hda5
    # umount /mnt/hda5
    # umount /dev/hda5 /mnt/hda5
    16.
    为什么umount的时候老显示 device busy?
    这是因为有程序正在访问这个设备,最简单的办法就是让访问该设备的程序退出以后再umount。可能有时候用户搞不清除究竟是什么程序在访问设备,如果用户不急着umount,则可以用:
    CODE:
    # umount -l /mnt/hda5
    来卸载设备。选项 –l 并不是马上umount,而是在该目录空闲后再umount。还可以先用命令 ps aux 来查看占用设备的程序PID,然后用命令kill来杀死占用设备的进程,这样就umount的非常放心了。

    方法一:
    fuser -m -v /nfs_old/
    用户 进程号 权限 命令
    /nfs_old/: root 2699 ..c.. bash
    root 2999 ..c.. su
    如上所示,有两个进程占用了,将其kill掉,再重新取消挂载。
    kill -9 2699 2999
    umount /nfs_old/

    方法二:
    umount -l /nfs_old/

    方法三:
    fuser -km /nfs_old/

    stat命令

    功能说明:Linux stat命令用于显示inode内容。stat以文字的格式来显示inode的内容。

     

    [root@localhost wht]# stat appweb

      File: `appweb'

      Size: 4096        Blocks:8          IO Block: 4096   directory

    Device: 802h/2050d          Inode:284454      Links: 2

    Access: (0755/drwxr-xr-x) Uid: (    0/    root)  Gid: (    0/    root)

    Access: 2016-12-21 08:45:12.912696059 +0800

    Modify: 2016-11-25 10:48:37.266999615 +0800

    Change: 2016-11-25 10:48:40.456063999 +0800

     

    说明:Access访问时间。Modify修改时间。Change状态改动时间。可以stat*查看这个目录所有文件的状态。

     

    1、访问时间,读一次这个文件的内容,这个时间就会更新。比如对这个文件运用morecat等命令。lsstat命令都不会修改文件的访问时间。
    2
    、修改时间,修改时间是文件内容最后一次被修改时间。比如:vi后保存文件。ls -l列出的时间就是这个时间。
    3
    、状态改动时间。是该文件的i节点最后一次被修改的时间,通过chmodchown命令修改一次文件属性,这个时间就会更新。

    另个除了可以通过stat来查看文件的mtime,ctime,atime等属性,也可以通过ls命令来查看,具体如下:

    ls -lc filename 列出文件的ctime (最后更改时间)

    ls -lu filename 列出文件的atime(最后存取时间)

    ls -l filename 列出文件的 mtime(最后修改时间)

    linuxstat函数中,用st_atime表示文件数据最近的存取时间(last accessedtime);用st_mtime表示文件数据最近的修改时间(last modifiedtime);使用st_ctime表示文件i节点数据最近的修改时间(last i-node's status changedtime)

    字段说明例子 ls(-l)
    st_atime
    文件数据的最后存取时间 read -u
    st_mtime
    文件数据的最后修改时间 write 缺省
    st_ctime
    文件数据的最后更改时间 chown,chmod -c

    linux系统中,系统把文件内容数据与i节点数据是分别存放的,i节点数据存放了文件权限与文件属主之类的数据。

     

     

    展开全文
  • LINUX常用命令

    千次阅读 多人点赞 2019-06-04 21:40:33
    Linux常用命令 Linux常用命令 su 作用:切换用户身份 文件处理命令 文件或目录的CRUD cd 英文:change directory 命令路径:内部命令 执行权限:所有用户 作用: 切换目录 语法:cd [目录] / 切换到根目录 … 回到上...
  • Linux常用命令介绍

    万次阅读 2016-06-10 20:32:20
    在使用Linux操作系统的过程中,我们经常要用到一些特殊的命令,不仅显示了技术的高超,而且在效率方面当然要比图像化界面高很多,下面我总结了一些常见的Linux命令,供以后学习使用,使用命令时,在命令后面加参数...
  • Linux常用命令

    千次阅读 2021-01-22 00:25:41
    Linux常用命令 在经过一天的学习之后,当然少不了对知识的总结, 以下便是我对今天我所学习的内容进行一个概要素的总结吧。 学习目标 说出Linux下的目录结构和常见的目录的的作用 熟练使用Linux下的相对路径和绝对...
  • LinuxLinux常用命令精讲

    千次阅读 2020-07-18 14:49:29
    Linux常用命令ShellLinux命令的分类Linux命令行的格式编辑Linux命令行获得命令帮助的方法 简介:我们在玩Linux都是在玩/etc/下的配置文件,哪如何掌握编辑这个配置文件呢? 这个时候需要vi编辑器! 作为以一个初级的...
  • Linux文件操作高频使用命令

    万次阅读 多人点赞 2019-08-28 16:47:38
    文章目录0.新建操作:1.查看操作2.删除操作3.复制操作4.移动操作:5.重命名操作:6.... 0.新建操作: ...mkdir abc #新建一个文件夹 ...cat|head|tail命令 cat abc.txt #查看abc的内容 head -5 abc.txt #...
  • linux基础命令!

    千次阅读 2021-04-28 17:20:50
    linux命令linux命令的分类内部命令与外部命令linux命令的格式相关命令操作编辑linux命令行切换工作目录 cd设置别名 alias统计目录及文件空间占用情况 du创建新目录 mkdir创建文件连接 ln复制文件或目录 cp移动文件或...
  • Linux 常用命令

    万次阅读 2018-10-11 21:08:11
    Linux 常用命令 Linux 刚出世时没有什么图形界面,所有的操作全靠命令完成,就如同电视里的黑客那样,充满了神秘与晦涩。近几年来,尽管 Linux 发展得非常迅速,图形界面越来越友好,但是在真正的开发过程中,Linux...
  • Linux基础之linux常用命令(含命令的部分选项)

    千次阅读 多人点赞 2020-11-18 20:19:29
    目录一、linux简介1)linux的特殊程序----Shell2)linux命令的分类3)linux命令行格式4)编辑linux命令行的辅助操作5)命令帮助 一、linux简介 1)linux的特殊程序----Shell shell是linux系统中运行的一种特殊程序 ...
  • linux 常用命令

    千次阅读 多人点赞 2014-01-15 17:49:32
    程序员必知必会----linux常用命令之一【基础命令】 程序员必知必会----linux常用命令之二【vim】 程序员必知必会----linux常用命令之三【用户管理】 程序员必知必会----linux常用命令之四【软件包管理】 ...
  • LINUX ulimit命令

    万次阅读 2011-04-19 07:24:00
    LINUX ulimit命令
  • Linux SHELL if 命令参数说明 * –b 当file存在并且是块文件时返回真 * -c 当file存在并且是字符文件时返回真 * -d 当pathname存在并且是一个目录时返回真 * -e 当pathname指定的文件或目录存在时返回真 * -f 当...
  • 1.前序 下面的命令为一切基础常用...2.常用Linux命令介绍 1.pwd:打印出当前目录路径 2.ls:(list简写) 用来显示目标列表;参数选项:-a 列出全部档案,包括隐藏的;-l 显示档案详情;-d 仅显示指定目录,如ls -...
  • Linux学习】Linux free 命令学习

    千次阅读 2018-11-20 15:23:43
    一、学习这个命令的背景 因为最近Gitlab服务器占用内存很多,也在下面的这篇博客里面写了怎么减少Gitlab占用的内存问题。 +【Git学习】解决GitLab内存消耗大的问题 但是一开始并没有很清楚的...linux的内核版本号...
  • (三)Linux学习笔记-Linux常用命令-搜索命令搜索命令which(显示命令所在目录)find(查找文件或目录)locate(在文件索引中查找文件)updatedb(更新文件索引数据块)grep(在文件中搜索匹配字符串) 以下为Red ...
  • Linux ping 命令

    千次阅读 2019-04-04 09:43:17
     Linux系统的ping命令是常用的网络命令,它通常用来检测与目标主机的连通性,经常说"ping以下机器,看是否开着,不能打开网页时候,可以ping 一下网关,它是通过发送ICMP ECHO__REQUEST数据包到网络主机。...
  • linux test命令

    2018-10-26 09:39:56
    shell Test 命令 shell 中test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三方面的测试。 数值测试 参数 说明 -eq 等于为真 -ne 不等于为真 -gt 大于为真 -lt 小于为真 -ge 大于...
  • Linux服务器命令

    千次阅读 2018-10-31 23:55:07
    find 搜索范围 -size +163840 -a/-o -size -204800【查找(-a=大于80M小于100M的文件,-o=两个条件满足一个即可)】 find 搜索范围 -user 用户名【根据用户名搜索文件,搜索范围=/home】 find 搜索范围 -group 所属组...
  • Linux常用命令合集

    千次阅读 多人点赞 2018-08-16 12:41:46
    一、文件处理命令 1.cd切换目录 cd 目录名称 cd ~ 切换到家目录 cd / 切换到根目录 cd - 切换到上一次操作的目录 cd ..或cd ../ 切换到上级目录 cd .或cd ./ 切换到当前目录 2.ls显示当前目录下面...
  • Linux常用命令汇总及示例

    万次阅读 多人点赞 2018-12-05 19:44:34
    一、认识Linux系统及基础命令 1 构成 2 重要的二级目录 3 基础命令 二、文件管理命令Linux中没有后缀之分 1 增:mkdir touch 2 删、清空 3 改:vim 3.1 命令模式:刚刚打开时进入命令模式 3.2 插入...
  • Linux常见命令

    千次阅读 2018-10-26 11:17:29
    基本命令 关机:shutdown -h halt init 0 poweroff 重启:shutdown -r reboot init 6 pwd:查看工作目录 ls:查看指定目录的内容 -l:列表显示 -a:显示所有,包括隐藏文件 -h:人性化的显示 -d:只显示目录,不查看...
  • linux 查找命令

    千次阅读 2021-01-26 15:26:04
    CentOS Linux学习笔记总结(八十六)-CentOS Linux系统的查找命令find find命令是用于在指定目录下查找文件,并可以对查找到的文件进行指定的操作。它的查找是从指定目录开始,并向下递归搜索它的所有各个子目录,查...
  • Linux基本命令

    千次阅读 2020-03-13 11:34:16
    1.文件管理 ls -adlh /etc 显示目录文件 -a 显示全部文件(....2.目录处理命令 mkdir 创建目录(文件夹) mkdir -p /simple/sh 递归创建(在未创建的目录下创建目录) cd 切换目录 pwd 显示当前目录 cd...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 115,139
精华内容 46,055
关键字:

linux小于命令

linux 订阅