zoukankan      html  css  js  c++  java
  • linux常用命令

    1、 cd命令

      a) cd .. 切换到上一层目录
      b) cd ./ 切换到当前目录下某个目录
      c) cd – 切换到上一个所在目录
      d) cd ../../ 切换到上上级目录
      e) cd /usr 切换到指定目录
      f) cd 切换到用户主目录

    2、 ls ll
      a) ls –l 等于 ll 命令

    3、 mdkir rmdir
      a) mkdir abc 创建abc文件夹(目录)
      b) rmdir abc 删除abc目录(如果abc目录下有子目录或者文件不能删除)
      c) Mv test/test1 修改test为test1

    4、 浏览文件
      a) cat 输出文件所有内容
      b) more 查看更多内容,
        i. 退出:按q键,
        ii. 空格:查询下一屏内容
      c) less 用法和more类似,不同的是less可以通过PgUp、PgOn键来控制。
      d) Touch 创建一个空文件 文件以-开头,文件夹以d开头
      e) Cat 查看文件
      f) Echo 打印 echo ‘aa’ > aaa 打印aa到aaa, 一个>为覆盖,>>为追加
      g) Vi 对文件修改 按a或者i编辑,esc退出编辑,shif加冒号,保存退出
      h) Ctrl+c无论什么状态都能退出
      i) 左边Tail -F aaa 克隆一个窗口,往aaa里追加数据,左边能收到
      j) Pwd 显示当前的目录

    5、带表头查看进程

      a) ps -ef|head -1;ps -ef|grep ebuy

        其中各列的内容意思如下
        UID    //用户ID、但输出的是用户名 
        PID    //进程的ID 
        PPID    //父进程ID 
        C      //进程占用CPU的百分比 
        STIME  //进程启动到现在的时间 
        TTY    //该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。 
        CMD    //命令的名称和参数

      b) ps aux|head -1;ps aux|grep ebuy

        同ps -ef 不同的有列有
          USER      //用户名 
          %CPU      //进程占用的CPU百分比 
          %MEM      //占用内存的百分比 
          VSZ      //该进程使用的虚拟內存量(KB) 
          RSS      //该进程占用的固定內存量(KB)(驻留中页的数量) 
          STAT      //进程的状态 
          START    //该进程被触发启动时间 
          TIME      //该进程实际使用CPU运行的时间

    6、less

      less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

      -b 《缓冲区大小》 设置缓冲区的大小
      -e 当文件显示结束后,自动离开
      -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
      -g 只标志最后搜索的关键词
      -i 忽略搜索时的大小写
      -m 显示类似more命令的百分比
      -N 显示每行的行号
      -o 《文件名》 将less 输出的内容在指定文件中保存起来
      -Q 不使用警告音
      -s 显示连续空行为一行
      -S 行过长时间将超出部分舍弃
      -x 《数字》 将“tab”键显示为规定的数字空格
      /字符串:向下搜索“字符串”的功能
      ?字符串:向上搜索“字符串”的功能
      n:重复前一个搜索(与 / 或 ? 有关)  
      N:反向重复前一个搜索(与 / 或 ? 有关)
      b 向后翻一页
      d 向后翻半页
      h 显示帮助界面
      Q 退出less 命令
      u 向前滚动半页
      y 向前滚动一行
      空格键 滚动一行
      回车键 滚动一页
      [pagedown]: 向下翻动一页
      [pageup]: 向上翻动一页

    7、less 版 tail -f
      在 Linux 动态查看日志文件常用的命令非 tail -f 莫属,其实 less 也能完成这项工作,使用 F 命令。
      使用 less file-name 打开日志文件,执行命令 F,可以实现类似 tail -f 的效果。
      定位到日志文件的最后一行:shift+g移动到最后一行
      下面总结一些vi 退出命令,学习!
      进入编辑模式,按 o 进行编辑
      编辑结束,按ESC 键 跳到命令模式,然后输入退出命令:
      :w保存文件但不退出vi 编辑
      :w! 强制保存,不退出vi 编辑
      :w file将修改另存到file中,不退出vi 编辑

      :wq保存文件并退出vi 编辑
      :wq!强制保存文件并退出vi 编辑
      q:不保存文件并退出vi 编辑
      :q!不保存文件并强制退出vi 编辑
      :e!放弃所有修改,从上次保存文件开始在编辑

      在命令模式下敲斜杆( / )这时在状态栏(也就是屏幕左下脚)就出现了 “/” 然后输入你要查找的关键字敲回车就可以了。
      如果你要继续查找此关键字,敲字符 n 就可以继续查找了。

    8、关机与重启命令

    重启命令:
    1、reboot
    2、shutdown -r now 立刻重启(root用户使用)
    3、shutdown -r 10 过10分钟自动重启(root用户使用)
    4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)
    如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启

    关机命令:

    1、halt 立刻关机
    2、poweroff 立刻关机
    3、shutdown -h now 立刻关机(root用户使用)
    4、shutdown -h 10 10分钟后自动关机
    如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启

    9、系统信息
    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

    10、关闭防火墙

    关闭防火墙命令:systemctl stop firewalld.service

    开启防火墙:systemctl start firewalld.service

    关闭开机自启动:systemctl disable firewalld.service

    开启开机启动:systemctl enable firewalld.service

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

    12、挂载一个文件系统
    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网络共享

    13、磁盘空间
    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='${Installed-Size;10}t${Package}n' | sort -k1,1n 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)

    14、用户和群组
    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 登陆进一个新的群组以改变新创建文件的预设群组

    15、文件的权限 - 使用 "+" 设置权限,使用 "-" 用于取消
    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 位


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

    17、打包和压缩文件
    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格式压缩包

    unzip xxx.zip -d /home/es/ik  解压到指定目录


    18、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 包

    19、补充命令

    清除缓存:
    1:echo 3 > /proc/sys/vm/drop_caches

    ps aux --sort -rss   带pid查看内存使用情况

    uname -a 显示系统及版本的所有信息

    mkdir -p dir3/dir4 在当前目录下创建2级目录dir3和其子目录dir4

    vi 编辑器 dd 删除一行
    p 复制一行

    chown -R root t1.txt 修改文件所属主root

    chgrp mysql t1.txt 修改文件所属组为mysql

    tail -n 6 /etc/passwd 查看最后6行

    useradd -d /rose -g group -G root -u 505 rose 创建rose用户,指定家目录在/rose下,加入到group组,同时附加到root组,并设置UID号为505
    userdel -r user1 删除用户登陆目录及目录下的文件(类似于windows的删除用户选择是否删除用户的文档)

    usermod 修改用户命令

    usermod -d /home/rose -g group0 -G group1 -u 600 rose 将rose用户的家目录,主组和附加组以及UID值更改
    usermod -L rose 锁定rose用户
    usermod -U rose 解除rose用户的锁定
    id user1 查看user1的信息
    last -n 5 | awk '{print $1}' 显示最近登录的5个账户
    远程拷贝:scp -r 1.txt root@node1:/opt

  • 相关阅读:
    WEB前端开发规范文档
    MySQL笔记系列:数据库概述
    MySQL笔记系列:MySQL架构
    Centos6.4中Apache,MySQL,PHP 的安装
    Linux面试总结分享
    NFS网络文件共享服务介绍及案例
    Linux命令(7):cp
    Linux命令(6):cat
    Linux命令(5):vi
    Linux命令(4):touch
  • 原文地址:https://www.cnblogs.com/longyao/p/11732222.html
Copyright © 2011-2022 走看看