• linux下使用“ls -l”或者“ls -al”或者“ll”命令查看文件及目录详情时,shell中会显示出好几列的信息。平时也没怎么注意过,今天忽然心血来潮想了解一下,于是整理了这篇博客,以供参考: 首先给出一张典型的...

    在linux下使用“ls -l”或者“ls -al”或者“ll”命令查看文件及目录详情时,shell中会显示出好几列的信息。平时也没怎么注意过,今天忽然心血来潮想了解一下,于是整理了这篇博客,以供参考:

    首先给出一张典型的显示结果:
    这里写图片描述
    下面对其中的每一列进行详细的分析:

    一、文件类型

    这里写图片描述
    表示该文件的类型:

    • “-”表示普通文件;
    • “d”表示目录;
    • “l”表示链接文件;
    • “p”表示管理文件;
    • “b”表示块设备文件;
    • “c”表示字符设备文件;
    • “s”表示套接字文件;

    二、文件属性

    这里写图片描述
    以back_init文件为例,其属性可分为三段:[rwx][rwx][r-x],其中:

    第一段表示文件创建者/所有者对该文件所具有的权限,第二段表示创建者/所有者所在的组的其他用户所具有的权限,第三段表示其他组的其他用户所具有的权限。

    • r(Read,读取权限):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。
    • w(Write,写入权限):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
    • x(eXecute,执行权限):对文件而言,具有执行文件的权限;对目录来说,该用户具有进入目录的权限。

    另外,这里还有2个很特殊的属性,平时不怎么常见,这里也顺带解释一下:

    • s或S(SUID,Set UID):可执行的文件搭配这个权限,便能得到特权,任意存取该文件的所有者能使用的全部系统资源。请注意具备SUID权限的文件,黑客经常利用这种权限,以SUID配上root帐号拥有者,无声无息地在系统中开扇后门,供日后进出使用。
    • t或T(Sticky):/tmp和 /var/tmp目录供所有用户暂时存取文件,亦即每位用户皆拥有完整的权限进入该目录,去浏览、删除和移动文件。

    综合起来可得,对于back_init文件,其创建者/所有者具有可读可写可执行的权限,其创建者/所有者所在的组的其他用户具有可读可写可执行的权限,其他组的其他用户则具有可读可执行但不可写的权限。

    三、目录/链接个数

    这里写图片描述

    对于目录文件,表示它的第一级子目录的个数。注意此处看到的值要减2才等于该目录下的子目录的实际个数。

    • 比如这里的include目录下,其实是没有子目录的,所以应该是0,但是它这里却显示2,这是因为要加上.目录和..目录。在linux下,.目录表示当前目录,..目录表示上一级目录。

    • 这也可以解释上图中第一行的.目录下的3和第二行..目录下的26。因为当前目录下有一个include目录,所以加上.目录和..目录这2个目录就等于3,所以第一行会显示3。而上一级目录共有24个目录,加上上一级目录的.目录和..目录这2个目录,所以这里的第二行显示的是26。

    对于其他文件,表示指向它的链接文件的个数。

    四、所有者及组

    这里写图片描述
    表示该文件的所有者/创建者(owner)及其所在的组(group)。

    五、文件大小

    这里写图片描述

    如果是文件,则表示该文件的大小,单位为字节。
    如果是目录,则表示该目录符所占的大小,并不表示该目录下所有文件的大小。

    六、修改日期

    这里写图片描述
    该文件最后修改的日期时间。

    七、文件名称

    这里写图片描述
    文件名,无需多说。

    八、字体颜色

    这里写图片描述
    在大多数的linux shell窗口中,还能用颜色来区分不同文件的属性:

    • 灰白色表示普通文件;
    • 亮绿色表示可执行文件;
    • 亮红色表示压缩文件;
    • 灰蓝色表示目录;
    • 亮蓝色表示链接文件;
    • 亮黄色表示设备文件;

    当然,这里需要使用系统缺省的配色方案。如果你自定义了shell的配色方案,则有可能与上面的定义不一致。

    最后还要说明一点的是,可以看到上述的图片中,back_init文件的后面还带了一个星号(*),这也是linux系统下用于标记可执行文件的另外一种方式。也就是说,凡是文件名后面带了一个星号(*)的,都是在说明这是一个可执行文件。

    展开全文
  • apt-get 命令适用于 deb 包管理式的 Linux 操作系统(例如: Ubuntu),主要用于自动从互联网软件仓库中搜索、下载、安装、升级、卸载软件或操作系统。

    本文链接: https://blog.csdn.net/xietansheng/article/details/80044644

    apt-get 命令适用于 deb 包管理式的 Linux 操作系统(Debian、Ubuntu等),主要用于自动从互联网软件仓库中搜索、下载、安装、升级、卸载软件或操作系统。

    Ubuntu 软件包查找: https://packages.ubuntu.com/

    1. 安装 软件包

    apt-get install PackageName                 // 普通安装
    apt-get install PackageName=VersionName     // 安装指定包的指定版本
    apt-get --reinstall install PackageName     // 重新安装
    
    apt-get build-dep PackageName               // 安装源码包所需要的编译环境
    apt-get -f install                          // 修复依赖关系
    
    apt-get source PackageName                  // 下载软件包的源码
    

    2. 卸载 软件包

    apt-get remove PackageName              // 删除软件包, 保留配置文件
    
    apt-get --purge remove PackageName      // 删除软件包, 同时删除配置文件
    apt-get purge PackageName               // 删除软件包, 同时删除配置文件
    
    apt-get autoremove PackageName          // 删除软件包, 同时删除为满足依赖
                                            // 而自动安装且不再使用的软件包
    
    apt-get --purge autoremove PackageName  // 删除软件包, 删除配置文件, 
                                            // 删除不再使用的依赖包
    
    apt-get clean && apt-get autoclean      // 清除 已下载的软件包 和 旧软件包
    

    3. 更新 软件包

    apt-get update                  // 更新安装源(Source)
    apt-get upgrade                 // 更新已安装的软件包
    apt-get dist-upgrade            // 更新已安装的软件包(识别并处理依赖关系的改变)
    

    4. 查询 软件包

    dpkg -l                             // 列出已安装的所有软件包
    
    apt-cache search PackageName        // 搜索软件包
    apt-cache show PackageName          // 获取软件包的相关信息, 如说明、大小、版本等
    
    apt-cache depends PackageName       // 查看该软件包需要哪些依赖包
    apt-cache rdepends PackageName      // 查看该软件包被哪些包依赖
    
    apt-get check                       // 检查是否有损坏的依赖
    

    5. apt-get --help

    执行命令: apt-get --help,输出:

    apt 1.0.1ubuntu2,用于 amd64 构架,编译于 Dec  8 2016 16:23:38
    用法: apt-get [选项] 命令
        apt-get [选项] install|remove 软件包1 [软件包2 ...]
        apt-get [选项] source 软件包1 [软件包2 ...]
    
    apt-get 是一个用于下载和安装软件包的简易命令行界面。
    最常用命令是 update 和 install。
    
    命令:
       update - 取回更新的软件包列表信息
       upgrade - 进行一次升级
       install - 安装新的软件包(注:软件包名称是 libc6 而非 libc6.deb)
       remove - 卸载软件包
       autoremove - 卸载所有自动安装且不再使用的软件包
       purge - 卸载并清除软件包的配置
       source - 下载源码包文件
       build-dep - 为源码包配置所需的编译依赖关系
       dist-upgrade - 发布版升级,见 apt-get(8)
       dselect-upgrade - 根据 dselect 的选择来进行升级
       clean - 删除所有已下载的包文件
       autoclean - 删除已下载的旧包文件
       check - 核对以确认系统的依赖关系的完整性
       changelog - 下载指定软件包,并显示其changelog
       download - 下载指定的二进制包到当前目录
    
    选项:
      -h  本帮助文档。
      -q  让输出可作为日志 - 不显示进度
      -qq 除了错误外,什么都不输出
      -d  仅仅下载 - 【不】安装或解开包文件
      -s  不作实际操作。只是依次模拟执行命令
      -y  对所有询问都回答是(Yes),同时不作任何提示
      -f  当出现破损的依赖关系时,程序将尝试修正系统
      -m  当有包文件无法找到时,程序仍尝试继续执行
      -u  显示已升级的软件包列表
      -b  在下载完源码包后,编译生成相应的软件包
      -V  显示详尽的版本号
      -c=? 读取指定配置文件
      -o=? 设置任意指定的配置选项,例如 -o dir::cache=/tmp
    请查阅 apt-get(8)、sources.list(5) 和 apt.conf(5)的参考手册
    以获取更多信息和选项。
                           本 APT 具有超级牛力
    

    展开全文
  • Linux ls
    1. 为了便于测试,我们在tmp文件夹下建立一个test文件夹,在test文件夹中添加a.txt,b.txt还有文件夹test2,并在test2文件夹中添加a.txt文件。

    2. 首先,使用命令ls -l,结果如下:
      这里写图片描述

    3. 命令:ls -d (只显示当前文件夹)
      这里写图片描述
    4. 命令:ls -ld(只显示当前文件夹具体信息)
      这里写图片描述
    5. 命令:ls -l /tmp/test
      这里写图片描述
    6. 命令:ls -d /tmp/test
      这里写图片描述
    7. 命令:ls -ld /tmp/test
      这里写图片描述
    8. 命令:ls -l /tmp/test/*
      这里写图片描述
    9. 命令:ls -d /tmp/test/*
      这里写图片描述
    10. 命令:ls -ld /tmp/test/*
      这里写图片描述

    11. 5和6,7路径后面加上/结果是一样的,即/tmp/test/

    这样一来应该就比较清楚了,由于一开始没搞清路径后面*的作用所以总是对这个命令的结果难以接受。

    展开全文
  • linux sed -i 命令

    2019-01-28 16:22:52
    Linux sed命令是利用script来处理文本文件。 (一)、选项参数 sed -i function -i :直接修改读取的文件内容,而不是输出到终端。 动作说明: [n1[,n2]]function n1, n2 :不见得会存在,一般代表『选择进行...

    Linux sed命令是利用script来处理文本文件。

    (一)、选项参数

    sed -i function
    

    -i :直接修改读取的文件内容,而不是输出到终端。

    动作说明: [n1[,n2]]function
    n1, n2 :不见得会存在,一般代表『选择进行动作的行数』,举例来说,如果我的动作是需要在 10 到 20 行之间进行的,则『 10,20[动作行为] 』
    function:
    a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
    c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
    d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
    i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
    p :列印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
    s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

    (二)sed -i 直接修改文件内容(危险动作)

    sed 可以直接修改文件的内容,不必使用管道命令或数据流重导向! 不过,由於这个动作会直接修改到原始的文件,所以请你千万不要随便拿系统配置来测试! 我们还是使用文件 regular_express.txt 文件来测试看看吧!

    regular_express.txt 文件内容如下:

    [root@www ~]# cat regular_express.txt 
    runoob.
    google.
    taobao.
    facebook.
    zhihu-
    weibo-

    1、利用 sed 将 regular_express.txt 内每一行结尾若为 . 则换成 !

    [root@www ~]# sed -i 's/\.$/\!/g' regular_express.txt
    [root@www ~]# cat regular_express.txt 
    runoob!
    google!
    taobao!
    facebook!
    zhihu-
    weibo-

    2、利用 sed 直接在 regular_express.txt 最后一行加入 # This is a test:

    [root@www ~]# sed -i '$a # This is a test' regular_express.txt
    [root@www ~]# cat regular_express.txt 
    runoob!
    google!
    taobao!
    facebook!
    zhihu-
    weibo-
    # This is a test

    由於 $ 代表的是最后一行,而 a 的动作是新增,因此该文件最后新增 # This is a test!

    sed 的 -i 选项可以直接修改文件内容,这功能非常有帮助!举例来说,如果你有一个 100 万行的文件,你要在第 100 行加某些文字,此时使用 vim 可能会疯掉!因为文件太大了!那怎办?就利用 sed 啊!透过 sed 直接修改/取代的功能,你甚至不需要使用 vim 去修订!

     

    (三)sed -i 常见用法(直接对文本文件进行操作的)

    替换掉每行的第一个字符串

    sed -i 's/原字符串/新字符串/' file

    替换掉所有的字符串 sed -i 's/原字符串/新字符串/g' file

    去掉 “行首” 带“@”的首字母@

    sed -i 's/^@//' file

    特定字符串的行前插入新行

    sed -i '/特定字符串/i 新行字符串' file

    特定字符串的行后插入新行

    sed -i '/特定字符串/a 新行字符串' file

    特定字符串的删除

    sed -i '/字符串/d' file

    参考:

    http://www.runoob.com/linux/linux-comm-sed.html

    https://www.cnblogs.com/ev-zhk/p/4277023.html

    展开全文
  • 使用named-checkzone命令可以进行区域文件有效性检查和转换,必须指定区域名称和区域文件名称。

    内容来源于人民邮电出版社《Linux命令应用大词典》

    讲述729个命令,1935个例子

    学习Linux系统的参考书、案头书,遇到不懂的命令或命令选项一查即可

    争取每天都发布内容


    本文出自 “airfish2000” 博客,更多命令查看博客:

    http://airfish2000.blog.51cto.com/10829608/1898279


    named-checkzone命令

    使用named-checkzone命令可以进行区域文件有效性检查和转换,必须指定区域名称和区域文件名称。

    命令语法:

    named-checkzone [选项] [区域名] [区域文件名]

    命令中各选项的含义如表所示。

                                 named-checkzone命令选项含义

    选项

    含义

    -q

    安静模式

    -d

    启用调试

    -c <类别>

    指定区域的类别。如果没指定就使用IN

     

        :对区域文件/var/named/sh.com.hosts进行有效性检查和转换。

    [root@rhel~]# named-checkzone sh.com /var/named/sh.com.hosts

    zonesh.com/IN: sh.com/MX 'mail.sh.com' is a CNAME (illegal)

    zonesh.com/IN: loaded serial 1268360234

    OK

    :对区域文件/var/named/192.168.0.rev进行有效性检查和转换。

    [root@rhel~]# named-checkzone 0.168.192.in-addr.arpa /var/named/192.168.0.rev

    zone0.168.192.in-addr.arpa/IN: loaded serial 1268360612

    OK

    展开全文
  • Linux中ps -ef , ps -aux命令的用法 ## 主要是显示当前运行进程的。顺便解释一下Linux进程: linux上进程有5种状态: 运行(正在运行或在运行队列中等待) 中断(休眠中, 受阻, 在等待某个条件的形成或接受到...
  • 花了我一天时间,我得记录下 总体来说熟悉了之后就好安装了,开头不懂要怎么配置走了不少弯路 官网下载这个,其他的可能会有问题,我开头下载了第三个...命令 # tar -xvf mysql-8.0.12-linux-glibc2.12-x86_64.tar...
  • linux命令-mv命令

    2018-06-21 23:19:46
    简介 mv(Move file)将源文件重命名为目标文件, 或将源文件移动至指定目录。。 语法 mv [选项]... [-T] 源文件 目标文件 mv [选项]... 源文件...... mv [选项]......-b : 类似–back...
  • 概述:read命令 -d[输入结束字符,默认结束符是换行] -p("提示语句") -n[字符个数] -t(等待时间) -s(不回显) -a [数组名] 1、基本读取 read命令接收标准输入(键盘)的输入,或其他文件描述符的输入(后面在说)...
  • 这两天,在做自动化打包时,为了打印出提示信息,需要用户shell的判断表达式,尤其是对文件的操作,比如,判断文件是否存在,判断文件夹...-d filename 如果 filename为目录,则为真 [ -d /tmp/mydir ] -f filename ...
  • linux的只用过程中,总是避免不了排序问题。比如,topN问题。linux提供了sort排序命令,支持常用的排序功能。本文是本人学习sort命令的一些总结。主要介绍了sort命令的常用参数和一些应用场景。
  • linux ls和 ll 命令

    2012-08-07 15:58:51
    ll 命令列出的信息更加详细,有时间,是否可读写等信息 ll命令和ls -l命令结果区别: 上面结果说明: ll会列出该文件下的所有文件信息,包括隐藏的文件,而ls -l只列出显式文件,说明这两个命令还是不等同的...
  • cut命令可以从一个文本文件或者文本流中提取文本列。 cut语法 [root@www ~]# cut -d'分隔字符' -f fields 用于有特定分隔字符 [root@www ~]# cut -c 字符区间 用于排列整齐的信息 选项与参数: -d :后面接分隔字符...
  • Linux下的du -sh命令

    2019-02-24 23:07:54
    作用:查看目录的真实大小 语法:#du -sh 目录路径 选项含义:  -s:summaries,只显示汇总的大小  -h:表示以高可读性的形式进行显示 案例:统计“/root”目录的实际大小    ...
  • 一 官网下载 mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz 目前最新为5.7.16,可以直接下载mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz, 这里用的是5.7.12,未下载最新的,不过,安装方式一样。 官网地址: ...
  • 网络UUID、MAC地址 /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/udev/rules.d/70-persistent-net.rules
  • Linux下paste命令详解

    2015-07-10 22:09:26
    命令主要用来将多个文件的内容合并,与cut命令完成的功能刚好相反。 粘贴两个不同来源的数据时,首先需将其分类,并确保两个文件行数相同。paste将按行将不同文件行信息放在一行。缺省情况下, paste连接时,用...
  • 在工作中,经常会遇到使用操作系统不一样的环境,从而导致在不同环境下的文件编辑的编码是不一样的,Windows默认是GBK编码格式,Linux默认是UTF-8的格式,这样就会出现把GBK编码的文件拷贝到Linux下出现乱码情况,很...
  • Linux-xargs命令

    2016-09-26 19:38:41
    概述xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令命令参数。xargs也可以将单行或多行文本...
1 2 3 4 5 ... 20
收藏数 836,260
精华内容 334,504
关键字:

-d命令 linux