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

  • 相关阅读:
    LeetCode 242. Valid Anagram (验证变位词)
    LeetCode 205. Isomorphic Strings (同构字符串)
    LeetCode 204. Count Primes (质数的个数)
    LeetCode 202. Happy Number (快乐数字)
    LeetCode 170. Two Sum III
    LeetCode 136. Single Number (落单的数)
    LeetCode 697. Degree of an Array (数组的度)
    LeetCode 695. Max Area of Island (岛的最大区域)
    Spark中的键值对操作
    各种排序算法总结
  • 原文地址:https://www.cnblogs.com/longyao/p/11732222.html
Copyright © 2011-2022 走看看