zoukankan      html  css  js  c++  java
  • Linux常用命令总结

     
    第一章:Linux简介
    第一节:linux发展史
    linux内核版本
    linux内核官网:www.kernel.org
    谁都可以下载使用。
     
    linux发行版本(内核一样版本不一样)
    redhat   centos  suse  ubuntu  turbolinux fedora   linux(红旗)  mandriva debian
     
    第二节:开源软件简介(开放源代码)
    开源软件:
    nginx mysql apache
     
     
     
     
     
    第二章:linux常用命令
    linux可以识别命令补全和目录补全
     
    第一节:命令基本格式
    命令格式:命令 【选项】 【参数】
     
    查询目录中内容:ls
    ls 【选项】  【文件或目录】
    命令英文原意:list
    选项   -a   显示所有文件,包括隐藏文件
       -l    显示详细信息(long)  (ls -l 相当于ll)
       -d   查看目录属性(directory)
       -h   人性化显示文件大小 (human)
       -i    显示inode
     
    第二节:文件处理命令(目录,文件,链接)
    建立目录:mkdir -p  【目录名】
    -p 递归创建(parents)
    命令英文原意:make directories
     
    切换所在目录:cd
    命令英文原意:change directory
    cd ~   进入当前目录的家目录
    cd       进入当前目录的家目录
    cd -    进入上一次目录
    cd ..    进入上一级目录
    cd .     进入当前目录(即不变)
     
    相对路径:参照当前目录,进行查找
    绝对路径:从根目录开始指定,一级一级递归查找。在任何目录下,都能进入指定位置。
     
    查询所在目录位置:pwd
    命令英文原意:print working directory
     
    删除空目录:rmdir 
    rmdir 【目录名】
    命令英文原意:remove empty directories
     
    删除文件或目录:rm
    命令英文原意:remove
    选项:
      -i    删除前逐一询问确认(prompt before every removal)
      -r    删除目录(recursive)
     -f    强制(force)
     -v  显示指令执行过程(verbose)
    rm -rf /   相当于linux自杀
     
    复制命令:cp
    cp 【选项】【源文件或目录】【目标目录】
    命令英文原意:copy
    选项:
       -s   复制成为符号链接文件,即快捷方式(symbolic)
       -r   复制目录(recursive)
       -p  连带文件属性复制(preserve)
       -d   若源文件是链接文件,则复制链接属性(no-dereference)
       -a   相当于  -pdr
       -f   强制force
     
    剪切或改名命令:mv
    mv 【原文件或目录】【目标目录】
    命令英文原意:mv
     
     
    Linux常用目录作用
    bin任何用户都可以执行
    sbin超级用户都可以执行
    根目录下的bin和sbin,usr目录下的bin和sbin,这四个目录都是用来保存系统命令的。
    boot  启动命令
    dev    硬件文件
    etc     默认的配置文件
    lib      函数库的保存位置
    home 普通用户的家目录
    root    超级用户的家目录
    media mnt misc空目录,挂载。
    tmp    临时目录
    proc/sys  目录不能直接操作,保存的是内存的过载点,直接写入内存的。
    var系统相关文档内容(可变文档目录)
     
    可以在家目录root(管理员)或 home(普通用户),以及tmp目录下随便放内容。
     
    链接命令:ln(生成链接文件)
    ln  -s【源文件】【目标文件】
    命令英文原意:link
    选项
      -s    创建软链接
     
     
    硬链接特征:
    1,拥有相同的i节点和存储block块,可以看作是同一个文件
    2,可通过i节点识别
    3,不能跨分区
    4,不能针对目录使用
     
     
    软链接特征:(推荐使用)
    1,类似于windows快捷方式
    2,软链接拥有自己的i节点和block块,但是数据块中只保存原文件的文件名和i节点号,并没有实际的文件数据
    3,lrwxrwxrwx  l软链接(软链接文件权限都为777)
    4,修改任意文件,另一个都改变
    5,删除原文件,软链接不能使用
     
     
    第三节:文件搜索命令
    文件搜索命令locate
    locate 文件名
    在后台数据库中按文件名搜索,搜索速度更快
    /var/lib/mlocate(locate命令所搜索的后台数据库)
    updatedb(更新数据库)
     
    打开/etc/updatedb.conf配置文件
    PRUNE_BIND_MOUNTS="yes"    //筛选规则生效
    PRUNEFS                     //不搜索文件系统
    PRUNENAMES=“.git  .hg   .svn“            //  不搜索文件的类型
    PRUNEPATHS="/afs  /media  /net  /sfs  /tmp  /udev   /var/cache   /var/spool/cups   /var/spool/squid   /var/tmp"    //不搜索的路径
     
     
    命令搜索命令whereis与which
    whereis  命令名
    搜索命令所在路径及帮助文档所在位置
    选项:
      -b    只查找可执行文件(binaries)
      -m   只查找帮助文件(manual)
     
    linux很有意思:
       whoami  //显示当前用户
       whatis  命令名  //显示命令的作用 
     
    which  命令名
    搜索命令的别名以及命令所在路径
    (which cd或whereis cd是找不到的,因为cd是shell自带的功能)
     
    文件搜索命令find
    find 【搜索范围】【搜索条件】
     
    find   /   -name    install.log
    #避免大范围搜索,会非常耗费系统资源
    #find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配
     
    ?任意一个字符
    * 任意长度字符
    []任意一个中括号内的字符
     
     
    find   /root   -iname  install.log
    #不区分大小写
    find   /root   -user    root
    #按照所有者搜索
    find   /root   -nouer
    #查找没有所有者的文件
    没有所有者的是垃圾文件(Linux的特殊条件:①内核产生的(proc/sys),②外来文件(U盘)这两种情况不要随意删除),可以删除。。
     
    find    /var/log/    -mtime   +10
    #查找10天前修改的文件
    -10    10天内修改的文件
    10      10天当天修改的文件
    +10   10天前修改的文件
     
    atime   文件访问时间(access)
    ctime   改变文件属性(change)
    mtime  修改文件内容(modify)
     
     
    find   .      -size     25k
    .代表当前目录
    size表示文件大小
     
    -25k,25k,+25k(千字节要小写)
    -25M,25M,+25M(兆字节要大写)
    单位一定要写,默认单位是块。用的是硬盘里的扇区的块,不是分区的块
     
    find   .    -inum   262422
    #查找i节点是262422的文件
     
     
    互补使用
    ls -i    //知道文件名找i节点
    find    //知道i节点找文件名
     
     
    find   /etc   -size  +20k  -a   -size   -50k
    #查找/etc/目录下,大于20kb并且小于50kb的文件
    -a   and    逻辑与 ,两个条件都满足
    -o   or      逻辑或 ,两个调节满足一个即可
     
     
    find  /etc   -size  +20k   -a  -size  -50k   -exec  ls  -lh  {}  ;标准格式
    #查找/etc/目录下,大于20kb并且小于50kb的文件,并显示详细信息
    #-exec/  -ok命令 {};   对搜索结果执行操作
    exec后面的命令对前面的结果进行处理,所以并不是什么命令都可以放在这。
     
     
     
    字符串搜索命令grep(包含匹配)
    grep  【选项】  字符串  文件名
    #在文件当中匹配符合条件的字符串
    选项:
       -i   忽略大小写(ignore case)
       -v   排除指定字符串(invert-match)
     
    find命令与grep命令的区别
    find命令:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符进行匹配,通配符是完全匹配。
    grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配。
     
     
     
    第四节:帮助命令
    帮助命令:man 
    man 命令
    #获取指定命令的帮助
     
    man的级别
    1,查看命令的帮助
    2,查看可被内核调用的函数的帮助
    3,查看函数和函数库的帮助
    4,查看特殊文件的帮助(主要是/dev目录下的文件)
    5,查看配置文件的帮助
    6,查看游戏的帮助
    7,查看其它杂项的帮助
    8,查看系统管理员可用命令的帮助
    9,查看和内核相关文件的帮助
     
    查看命令拥有哪个级别的帮助
    man  -f   命令
    相当于
    whatis   命令
     
    先用whatis看命令有哪几个级别的帮助,再调用相对应的man级别。
    举例:
    man -5 passwd
    man -4 null
    man -8 ifconfig
     
    查看和命令相关的所有帮助
    man -k 命令
    相当于
    apropos  命令
     
     
    选项帮助:help
    命令  --help
     
    shell内部命令帮助
    help  shell内部命令
     
    确定是否是shell内部的命令,用whereis
    whereis ls  可以查到命令所在路径,说明不是shell内部命令
    whereis cd不能查看命令所在路径,说明是shell内部命令
    举例:help cd
     
    详细命令帮助:info
    info  命令
     
     
    第五节 压缩与解压缩命令
    压缩格式:.zip   .gz   .bz2  
    常用:  .tar.gz     .tar.bz2
     
    .zip格式解压缩
    zip  压缩文件名   源文件
    #压缩文件
    zip   -r   压缩文件名   源目录
    #压缩目录
     
    解压
    unzip  压缩文件
     
     
    .gz格式解压缩
    gzip  源文件
    #压缩为.gz格式的压缩文件,源文件会消失
     gzip  -c   源文件> 压缩文件
    #压缩为.gz格式,源文件保留
    gzip -r  目录(gzip不会打包)
    #压缩目录里下的所有子文件,但是不能压缩目录
     
    解压
    gzip  -d  压缩文件
    gunzip  压缩文件
     
     
     
    .bz2格式解压缩(不能解压缩目录)
    bzip2  源文件
    #压缩为.bz2格式的压缩文件,源文件会消失
    bzip2  -k   源文件
    #压缩为.bz2格式,源文件保留
     
    解压
    bzip2  -d  压缩文件
    bunzip2  压缩文件
    -k保留压缩文件
     
     
    打包命令:tar
    tar  -cvf   打包文件名    源文件
    选项:
       -c   打包
       -v   显示过程
       -f    指定打包后的文件名
     
    解打包命令
    tar -xvf   打包文件名
    选项
       -x   解打包
     
     
    .tar.gz压缩格式
    其实.tar.gz格式是先打包为.tar格式,再压缩为.gz格式
    tar  -zcvf   压缩包名   源文件
    选项:
       -z    压缩为.tar.gz格式
     
    解压
    tar  -zxvf   压缩包名
     
     
    .tar.bz2压缩格式
    tar  -jcvf   压缩包名.tar.bz2   源文件
    选项:
       -z    压缩为.tar.bz2格式
     
    解压
    tar  -jxvf   压缩包名.tar.bz2
     
    解压到指定位置
    tar  jxvf  压缩包名.tar.bz2   -C   指定目录
     
    压缩多个文件到指定位置
    tar  -zcvf    绝对路径/压缩包名.tar.gz   多个文件(用空格隔开)
     
    只看文件,不解压。
    tar  -ztvf  压缩包名.tar.gz
     
     
    第六节:关机和重启命令
    shutdown命令
    shutdown   【选项】   时间
      选项:
        -c   取消前一个关机命令
        -h   关机
        -r    重启
     
    halt/poweroff/init 0  都可以关机,但不太安全,知道就好
    reboot/init 6  都可以重启,用reboot较好
     
    系统运行级别
    0   关机
    1   单用户(和windows的安全模式差不多,启动最小程序,主要做系统修复)
    2   不完全多用户,不含NFS服务(NFS服务是linux的文件共享服务)
    3    完全多用户(就是我们现在使用的字符界面)
    4    未分配
    5     图形界面
    6     重启
     
     runlevel可以看到当前处于哪个级别
     
    logout 退出登录
    用远程管理工具管理linux时,没有退出登录问题不大,因为Linux可同时登录用户可达256个,但要是远程管理windows,会造成用户卡着,同时登录用户又比较少,就只能重启服务器。重启服务器给客户端带来很差的用户体验。尽量养成logout的习惯,不要直接关闭。
     
     
     
    第七节:其他常用命令
    挂载命令(相当于windows分配盘符)
     
    mount  查询系统中已经挂载的设备
    mount  -a   将/etc/fstab自动挂载  
    //u盘和光驱不建议做成自动挂载,因为Linux很实诚,如果你忘了放光驱,而Linux自动挂载时没找到光驱文件的话就会导致系统起不来。
     
    mount  【-t   文件系统】【-o   特殊选项】  设备文件名  挂载点
    选项:
    -t 文件系统:加入文件系统类型来指定挂载的类型,可ext3,ext4,iso9660等文件系统
    -o特殊选项:可以指定挂载的额外选项
     
    挂载光盘(sr0):
    ①放光盘
    ②建立挂载点mkdir  /mnt/cdrom
    ③挂载命令mount -t  iso9660  /dev/sr0  /mnt/cdrom/   
    #设备文件名也可以是/dev/cdrom,是软链接,但建议写sr0
    #-t  iso9660也可以省略
    ④读取数据 cd   /mnt/cdrom
     
    卸载命令(一定要记得卸载)
    umount  设备文件名/挂载点   
    #要是碰到设备正忙,可能是因为你占用目录,应该cd退出来
     
    挂载U盘(一般是sdb1)
    ①查看U盘文件设备名fdisk  -l
    ②建立挂载点mkdir  /mnt/usb
    ③挂载命令 mount -t  vfat  /dev/sdb1  /mnt/usb
     
    注意:Linux默认是不支持NTFS文件系统的
     
     
    用户登录查看和用户交互命令
     
    w  查看登录用户信息  ,显示的比较多
    who 查看登录用户信息
    last 查询当前登录和过去登录的用户信息,默认读取 /var/log/wtmp
    #如果用vi  /var/log/wtmp则读取的是乱码,避免人为修改日志文件。毕竟last可以查看用户登录信息,可以判断是否有其他人登录过。
    lastlog查看所有用户最后一次登录时间  默认读取/var/log/lastlog
     
     
     
     
    第三章:Shell基础
     
     
     
    .
     
     
  • 相关阅读:
    光线步进——RayMarching入门
    MATLAB GUI制作快速入门
    Python中用绘图库绘制一条蟒蛇
    node 常见的一些系统问题
    webpack 入门指南
    利用 gulp 来合并seajs 的项目
    移动端 解决自适应 和 多种dpr (device pixel ratio) 的 [淘宝] 解决方案 lib-flexible
    富有哲理的文章
    NodeJS 难点(网络,文件)的 核心 stream 四: writable
    Vue.js 源码学习笔记 -- 分析前准备2 -- Object.defineProperty
  • 原文地址:https://www.cnblogs.com/double891/p/8974848.html
Copyright © 2011-2022 走看看