zoukankan      html  css  js  c++  java
  • Linux基础命令总结

      1、pwd  查看当前工作目录

      2、ls [目录] 列出指定目录下的所有文件,使用 ls -l 或者 ll 列出文件详细列表包括权限、大小等文件默认大小以字节B为单位,目录大小为4096B

       ls -lh 人性化显示列表中文件的大小,根据实际文件大小进行适当的单位表示

       ls -i 列出文件的id号,Linux系统内部是通过id号来识别文件的

      3、Linux的7种文件类型:普通文件、目录文件、链接文件、块设备文件、字符设备文件、套接字文件、管道文件

      4、mkdir 建立目录,比如: mkdir abc ,如果需要递归建立多个目录,则使用比如这种形式: mkdir -p /usr/data/abc 

      5、cd 切换工作目录,比如: cd /usr/local ;进入家目录: cd 或者 cd ~ 进入上上层目录: cd ../../ ,进入上一次所在目录: cd - 

      6、rm 删除文件,比如: rm test.py 默认会询问是否删除;不提示删除文件: rm -f abc ;递归删除整个目录: rm -rf testdir/ ;删除目录下所有文件和目录,不包括外层目录本身: rm -rf /tmp/* 

      7、rmdir 删除空目录,比如: rmdir ./test1/ 

      8、cp 复制文件,比如: cp abc.txt /home/abcd.txt 这里复制文件并更改了名称;复制文件不改名: cp base.conf ~/conf/ ;递归复制整个目录: cp -r dir1/ /usr/ 这里没有改名将目录dir1放到了/usr/下;保持所有文件所有属性比如修改时间等完全一致: cp -a dir1/ /usr/local/ 或者 cp -dpr dir1 /usr/local 

      其中参数-p表示连带文件属性,-d表示如果是链接文件则保留链接文件属性,-r是递归

      9、mv 移动文件,比如: mv testdir/ /var/ 这里没有改名,并且复制文件或者目录一律不加-r,重命名文件: mv abc.txt abc.c 

      10、ln 做文件链接,前面是源文件,后面是链接文件

      硬链接(占用硬盘块存储空间,和源文件存储空间一致,相当于一块空间多个入口): ln /usr/abc /tmp/a.test 

      软链接(相当于快捷方式,最常用,文件目录一律写绝对路径): ls -s /usr/bin/python3 /usr/bin/python 

      11、locate 文件搜索,基于本地文件数据库,默认每天更新一次,支持模糊查询,数据库位置:/var/lib/mlocate,搜索配置文件:/etc/updatedb.conf

      在数据库中搜索文件: locate apache   手动更新文件数据库: updatedb 

      12、whereis 命令搜索,列出命令对应的文件路径和帮助文档所在位置,比如: whereis ls 加参数-b只查看源程序位置,-m只查看帮助文档位置

      13、whatis 命令作用,比如: whatis ls 则返回类似 "list directory contents"

      14、which 列出命令位置和附加参数,比如: which ls 则列出 ls 由alias定义相当于命令 ls --color=auto 

      15、find 强大的文件搜索命名,原理是遍历当前文件系统,速度比较慢,影响系统性能

      搜索指定目录下的指定文件: find /usr/ -name files.log ,文件名默认完全匹配,可以使用通配符 * ? []等,比如: find /tmp -name "*.log" 

      搜索没有所属用户的文件,包括垃圾文件、外来文件、内核产生的文件: find / -nouser 

      按照所属用户搜索文件: find /usr -user root 

      按时间搜索,比如搜索10天前内容被修改的文件: find /var/log -mtime +10 参数-mtime是内容修改,-atime代表文件访问时间改变,-ctime代表文件的属性被修改,+10代表10天前,-10代表10天内至现在,10代表距现在前10天当天

      按文件大小搜索,比如搜索文件大小为25k的文件: find /home/user1 -size 25k ,+25k代表大于25k的文件,-25k代表小于25k的文件,这里k必须小写;按MB搜索使用大写的M,按字节搜索必须是小写的b,不加单位代表按硬盘块数量搜索

      按文件inode节点来搜索,比如: find /home -inum 26262 

      逻辑与查询使用-a,比如查询大于20k并且小于50k的文件: find ./ -siez +20k -a -size -50k 逻辑或使用-o,如果逻辑关系使用错误比如大于30k并且小于20k,则系统不会返回任何结果

      查找大于20k小于100k的文件并显示详细信息: find /home -size +20k -a -size -100k -exec ls -lh {} ; 后面的{} ;是固定格式,-exec代表将前面命令的执行结果交给后面去继续执行;比如查找指定文件并删除: find /var/log -nouser -exec rm -rf {} ; 

      16、grep 字符串搜索,比如在文件中查找指定关键字: grep "size" abc.cfg 

        后面加上-i参数是不区分大小写,-v是排除关键字,比如: grep -vi "define" config.h 

        grep常用来在其他命令之后使用管道符搜索用户需要的内容,比如find和grep结合可实现可以实现强大的正则表达式匹配,grep和各种网络命令结合筛选重要信息

      17、man 查看命令帮助,比如: man ls 内容可以使用翻页键,上下键,回车键滚动查看默认级别帮助文档,按q键退出

      查看命令的级别: man -f ls 相当于: whatis ls ,查看级别为1的帮助: man 1 ls 

      查看所有相似命令,遇到命令记不清的情况可以查找,比如: man -k passwd 

      参数帮助使用--help,比如: ls --help 只要安装语言选择中文,那么远程shell一般可以支持中文

      shell内部命令不能通过man或者--help查看帮助,比如cd命令可以通过: help cd 查看帮助

      info命令查看比man更为详细的文档,可以显示多个版本的文档,比如: info ls  使用u键进入上一层,n键进入下一个小节,p键进入上一个小节,q键退出

      18、zip 压缩解压,压缩文件成zip: zip abc.zip abc.mp3 ,压缩目录成zip: zip -r abc.zip ./abc/ 

        解压缩zip包: unzip abc.zip 

      19、tar 打包压缩,释放归档等

        打包.tar.gz或者tgz: tar -zcvf abc.tar.gz /usr/test/ 

        释放.tar.gz或者tgz: tar -zxvf abc.tar.gz  释放到指定目录: tar -zxvf abc.tar.gz -C /home/app 

        只查看包内文件列表并不释放: tar -ztvf abc.tar.gz 

        打包tar.bz或者tar.bz2: tar -jcvf abc.tar.bz2 ./abc/ 

        释放tar.bz2或者tar.bz: tar -jxvf abc.tar.bz2 释放到指定目录使用: tar -jxvf abc.tar.bz2 /tmp/ 

        只查看包内文件列表并不释放: tar -jtvf abc.tar.bz2 

      20、shutdown 关机或者重启

        10分钟后关机: shutdown -h 10 

        10分钟后重启: shutdown -r 10 

        定时关机或者重启: shutdown -r 05:30 & 

        取消定时设置: shutdown -c 

        立即关机或者重启: shutdown -r now 或者 shutdown -r 0 

      对于远程服务器,因为都是通过shell客户端远程控制,所以只建议重启,不建议关机;对于生产过程中的服务器,一定要有序关闭各种正在运行的服务以及后台程序,然后才能进行重启操作

      其他关机命令: poweroff 、 halt 、 init 0 这些命令都可以实现关机操作,但是可能会使系统不正常结束,不建议使用

      其他重启命令: reboot 相当于shutdown关机; init 6 同样不建议使用

      21、init 运行级别调用命令,调用指定的系统级别

       init 0  关机

       init 1  单用户,纯命令行界面,最小服务

       init 2  不完全多用户,不含NFS模式,纯命令行

       init 3  完全多用户,服务正常开启,纯命令行,是我们服务器的默认运行方式

       init 4  未分配

       init 5  图形界面,前提要安装图形界面

       init 6  重启

      查看当前系统运行级别: runlevel 一般是3,配置文件/etc/inittab最后一行指定系统的默认启动级别,一般不要修改

      22、logout 注销当前用户,Linux允许同时登录用户256个,Windows则非常少,所以通过远程管理时,操作完毕务必要执行 logout 正确注销用户,直接管理窗口会占用服务器资源,使用 exit 代表退出当前shell一般情况下会返回状态码0从而也可以注销用户

      23、mount/umount 查看当前挂载的设备: mount ,自动挂载配置文件在/etc/fstab中,可以自行配置,使用命令 mount -a 可以自动挂载配置文件中指定的设备,因为U盘、光盘等设备有可能拔出,所以不建议设置自动挂载,否则系统有可能无法启动

      linux系统默认支持ext3、ext4

      重新挂载分区同时指定特殊选项,如不允许可执行文件执行: mount -o remount,noexec /home/ ,挂载后所有在此分区下执行可执行文件将会提示权限不足,还原挂载可使用: mount -o remount,exec /home/ ,重新挂载分区只是测试使用,不要随便修改选项

      挂载光盘的过程:

      首先建立一个目录作为挂载点: mkdir /mnt/cdrom 

      执行挂载命令: mount -t iso9660 /dev/sr0 /mnt/cdrom 

      卸载光盘的过程:

      首先退出光盘所在的目录,也就是工作目录不能在/mnt/cdrom下

      然后执行命令: umount /mnt/cdrom 或者 umount /dev/sr0 

      挂载FTA32格式的U盘过程如下:

      首先通过 fdisk -l 查看U盘设备位置,比如/dev/sdb1

      提前准备好挂载点, mkdir /mnt/usb 

      执行挂载: mount -t vfat /dev/sdb1 /mnt/usb 由于vfat系统默认支持,所以系统会自己识别,可以简写: mount /dev/sdb1 /mnt/usb 

      卸载U盘过程:

      首先退出/mnt/usb工作目录,

      然后执行: umount /mnt/usb 或者 umount /dev/sdb1 进行卸载

      更常用的是挂载硬盘或者集群中的云盘,过程和上面相同,首先执行分区、格式化然后再执行挂载,过程和之前一样

      注意NTFS格式的磁盘Linux是不支持的,挂载NTFS设备有2种方法一种是重新编译Linux内核,过程比较复杂;另外是从网上下载第三方ntfs-3g组件并安装,然后执行挂载,具体细节前面专门有一篇文章写到

      24、w 查看当前系统运行的时间和已经登录用户的信息列表,包括登录时间,来源IP等

      25、who 和w差不多,显示信息比w少一些

      26、last 查看服务器所有用户的登录历史信息记录以及服务器重启时间;可以用来检测异常登录,对应的数据存放在文件/var/log/wtmp下,wtmp数据文件是二进制文件,不能进行修改

      27、lastlog 查看系统中所有用户最后一次登录信息,判断用户是否登录过,对应数据也是存放在/var/log/wtmp中

     

  • 相关阅读:
    14. Longest Common Prefix
    7. Reverse Integer
    用例图是软件项目成本预估的好帮手
    设计模式之创建性模式
    代码的核心定义文件
    一个项目经理的经验总结
    设计模式之结构型模式
    互联网发展十几年,你错过了哪些创业机会
    产品经理必读:像怀胎一样怀产品,要厚着脸皮听批评
    陌陌估值1亿美元:一个用户10美元,贵吗?
  • 原文地址:https://www.cnblogs.com/freeweb/p/5265119.html
Copyright © 2011-2022 走看看