• Linux-常用命令


    Linux系统

    系统目录结构

    1. 一切皆文件
    2. 根目录 / 所有文件在根目录之下

    image-20200902102020093

    目录解释

    目录名 解释
    /home 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的
    /opt 这是给主机额外安装软件所摆放的目录(默认是空的)开发环境丢到这
    /etc 放所有的系统管理所需要的配置文件和子目录 (各种配置文件往这丢)
    /root 该目录为系统管理员(超级权限者)的用户主目录
    /usr 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录
    /tmp 这个目录是用来存放一些临时文件的,用完即丢。(可以放安装包)
    /var 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下,包括各种日志文件
    /sbin s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序
    /bin Binary的缩写,存放着最常用的命令
    /boot 存放启动所需的核心文件(连接文件、镜像文件)不要动!
    /lib 动态连接共享库,其作用类似于Windows里的DLL文件 不要动!
    /lost+found 当系统非法关机后,存放临时文件。(默认为空)不要动!
    /dev Device(设备)的缩写, 存放的是Linux的外部设备,设备也视为文件
    /mnt 为了让用户临时挂载别的文件系统的,如将光驱挂载在/mnt/上,即可查看光驱里的内容
    /media linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下
    /proc 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息
    /srv 该目录存放一些服务启动之后需要提取的数据
    /sys 这是linux2.6内核的一个很大的变化,该目录下安装了2.6内核中新出现的一个文件系统sysfs
    /usr/bin 系统用户使用的应用程序
    /usr/sbin 超级用户使用的比较高级的管理程序和系统守护程序
    /usr/src 内核源代码默认的放置目录
    /run 是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除
    /www 存放服务器网站相关的资源

    常用的基本命令

    开关机

    开关机

    sync #将数据从内存同步到硬盘,防止数据丢失
    
    shutdown # 关机命令,用man shutdown查看参数
    
    shutdown –h 10 # 在10分钟后关机
    shutdown –h now # 立马关机
    shutdown –h 20:25 # 系统会在今天20:25关机
    shutdown –h +10 # 再加十分钟
    
    reboot # 就是重启,等同于 shutdown –r now
    shutdown –r now # 系统立马重启
    shutdown –r +10 # 系统十分钟后重启
    
    # 强制关机! 最好不要这么玩
    init 0
    halt
    poweroff
    

    目录管理

    绝对路径:在硬盘上真正的路径

    Linux下的绝对路径写法,由根目录 / 写起,例如: /usr/share/doc 这个目录

    相对路径:相对与某个基准目录的路径

    相对路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd ../man


    切换目录-cd

    cd # 切换目录的命令
    ./ # 当前目录下
    cd .. # 返回上一级目录
    cd 目录名 # 目录名有绝对路径和相对路径两种写法 
    cd ~ # 用户目录,超级用户是在/root 普通用户在/home/用户名
    

    列出目录-ls

    ls # 显示目录下的文件列表
    # 相关参数
    -a # all,查看全部文件(包括隐藏文件)
    -l # 列出文件的详细信息
    # 多个参数可组合使用,如 
    ls -al # 显示当前目录下所有文件的所有信息 
    # ll 是ls -l的缩写
    ls 目录名 # 显示目标目录文件
    

    显示当前用户所在的目录-pwd

    pwd #显示当前用户所在的目录
    

    创建目录-mkdir

    # 注意ls显示的文件夹(目录)和文件颜色不一样
    mkdir name # 创建以name命名的目录
    -p # 可以创建多层级的目录
    mkdir -p a/b/c 
    

    删除目录-rmdir

    rmdir name # 删除name目录,name为空文件夹
    rmdir -p a/b/c # 删除整个a目录!级联删除
    rmdir  a/b/c # 删除c目录,a 和 b 还在
    

    复制目录-cp

    cp [源文件] [目的文件]
    # 重复操作时会提示是否覆盖(y/n)
    -r # 递归复制目录
    

    移除文件/目录-rm

    -r # 递归删除目录
    -f # 忽略警告,强制删除
    -i # 交互,询问是否删除
    rm -rf / # 删库跑路TvT
    # 常用的是:rm -rf [目标]
    

    image-20200904094042215

    移动(剪切)目录-mv

    mv [源文件] [目的文件]
    -f # 强制移动
    -u # 存在重复时,只替换修改过的
    # 原地移动可达到重命名的效果
    

    基本属性

    Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。

    为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。

    在Linux中我们可以使用 ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组

    image-20200904101125129

    在Linux中第一个字符代表这个文件是目录、文件或链接文件等等:

    • d:目录
    • -:文件
    • l:链接文档 ( link file )
    • b:可随机存取装置
    • c: 一次性读取装置

    接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。

    • r:可读
    • w:可写
    • x:可执行
    • -:无权限

    image-20200904101645657

    修改文件属性

    1. change+group 修改组的命令 - chgrp

      chgrp [-R] 属组名 文件名  # -R是递归
      
    2. change+own修改主人的命令 - chown

      chown [–R] 属主名 文件名
      chown [-R] 属主名:属组名 文件名 # 通知还可以改组的
      
    3. change+mode改变文件的存取模式 -chmod

      chmod [-R] xyz 文件或目录 #xyz可以数字表示
      chmod 770 filename # 得到 『rwxrwx---』
      # 数字表示时,r=4,w=2,x=1 所以7由rwx相加得到
      

    文件内容

    常用 cat -n filename

    全部掌握!

    Linux系统中使用以下命令来查看文件的内容:

    • cat 由第一行开始显示文件内容
    • tac 从最后一行开始显示,可以看出 tac 是 cat 的倒著写!
    • nl 显示的时候,顺道输出行号!
    • more 一页一页的显示文件内容
    • less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
    • head 只看头几行
    • tail 只看尾巴几行
    • 你可以使用 man [命令]来查看各个命令的使用文档,如 :man cp。

    cat 由第一行开始显示文件全部内容

    选项与参数:
    -A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
    -b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
    -n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
    -v :列出一些看不出来的特殊字符
    -E :将结尾的断行字节 $ 显示出来;
    -T :将 [tab] 按键以 ^I 显示出来;

    tac与cat命令刚好相反,文件内容从最后一行开始显示,可以看出 tac 是 cat 的倒着写!

    nl 显示行号

    nl [参数] 文件

    选项与参数:
    -b :指定行号指定的方式,主要有两种:
    -b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
    -b t :如果有空行,空的那一行不要列出行号(默认值);
    -n :列出行号表示的方法,主要有三种:
    -n ln :行号在荧幕的最左方显示;
    -n rn :行号在自己栏位的最右方显示,且不加 0 ;
    -n rz :行号在自己栏位的最右方显示,且加 0 ;
    -w :行号栏位的占用的位数。

    more 一页一页翻动

    more 文件

    在 more 这个程序的运行过程中,以下按键作用:

    • 空格键 (space):代表向下翻一页;
    • Enter :代表向下翻『一行』;
    • /字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
    • :f :立刻显示出档名以及目前显示的行数;
    • q :代表立刻离开 more ,不再显示该文件内容。
    • b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。

    less

    less 与 more 类似,但使用 less 可以随意浏览文件,

    而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

    less [参数] 文件

    按键自己摸索

    head 只看前n行

    head [-n number] 文件 -n 后面接数字,代表显示几行的意思!

    tail 倒着看后n行

    同上

    其他命令

    • 创建文件:touch 文件名
    • 打印字符串:echo “内容”

    链接(了解)

    Linux 链接分两种

    • 硬链接(Hard Link):可以理解为同步备份
      • 删除源文件,硬链接仍然可用
      • ln [目标文件] [软链接地址]
    • 软链接(Symbolic Link):类似Window下的快捷方式
      • 删除源文件后软链接失效
      • ln -s [目标文件] [软链接地址]

    使用实例如下:

    image-20200904161807142

    说明:首先创建了文件1,然后文件2创建硬链接,文件3创建软链接。

    查看文件,可能会觉得硬链接和复制文件很像,就是拷贝一份!其实可没那么简单。

    之后的操作:在修改文件1内容时,有链接关系的文件都会同时更新。

    在删除源文件1之后,硬链接不受影响,仍然可用。而软链接报红,无法使用。

    最后可通过 ln -snf [目标文件] [软链接地址]修改软链接。

  • 相关阅读:
    async&await的前世今生
    如何使用cocos2dx-jsbinding 来处理分辨率适配
    cocos2d-x jsbinding 资源下载实现
    cocos2d-x jsbinding 在线更新策略设计
    xml2js
    快速入门cocos2d-x jsbinding
    cocos2d-x 工程目录结构说明
    Javascript 开发IDE
    认识cocos2d-x jsbinding
    MySQL 灵异事件一则 -- desc报语法错误
  • 原文地址:https://www.cnblogs.com/1101-/p/13614635.html
Copyright © 2020-2023  润新知