Linux 用 ls 么 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Shoestrong
V2EX    程序员

Linux 用 ls 么

  •  
  •   Shoestrong 2019-10-14 10:56:16 +08:00 6034 次点击
    这是一个创建于 2214 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家再使用命令行的时候,用 ls 能看到当前文件夹下有什么文件或文件夹。有这样的功能没有?就是你输入 ls 也是显示文件或文件夹,但是在每个文件或文件夹旁边显示我们自定义备注的中文说明

    41 条回复    2019-10-14 17:07:33 +08:00
    sivacohan
        1
    sivacohan  
    PRO
       2019-10-14 11:00:16 +08:00 via iPhone
    你怎么自定义的?
    ethanSong
        2
    ethanSong  
       2019-10-14 11:02:22 +08:00
    你这好像 git 的 commit 的功能....上传文件备注说明...
    U7Q5tLAex2FI0o0g
        3
    U7Q5tLAex2FI0o0g  
       2019-10-14 11:05:31 +08:00   4
    你这标题和内容让人摸不着头脑
    Shoestrong
        4
    Shoestrong  
    OP
       2019-10-14 11:05:55 +08:00
    @sivacohan 还不知道怎么弄
    misaka19000
        5
    misaka19000  
       2019-10-14 11:06:58 +08:00
    自己写一个呗,又不难
    misaka19000
        6
    misaka19000  
       2019-10-14 11:07:26 +08:00
    话又说回来了,文件夹的名称不是应该带有自描述的能力吗
    Shoestrong
        8
    Shoestrong  
    OP
       2019-10-14 11:13:51 +08:00
    比如输入 ls
    a(这是文件夹 a) b.txt(文本 b)

    小括号中就是想要的效果
    abcdabcd987
        9
    abcdabcd987  
       2019-10-14 11:20:28 +08:00
    @Shoestrong ls -la
    HENQIGUAI
        10
    HENQIGUAI  
       2019-10-14 11:22:15 +08:00
    没有就自定义 alias ll ->ls -la
    scukmh
        11
    scukmh  
       2019-10-14 11:23:43 +08:00 via iPhone
    带颜色不就完了
    Shoestrong
        12
    Shoestrong  
    OP
       2019-10-14 11:23:45 +08:00
    @abcdabcd987 @HENQIGUAI 这样并没有备注,需要自己自定义文件或文件夹备注
    lihongjie0209
        13
    lihongjie0209  
       2019-10-14 11:24:32 +08:00
    很明显在源代码中没有地方维护这种信息

    ```
    struct fileinfo
    {
    /* The file name. */
    char *name;

    /* For symbolic link, name of the file linked to, otherwise zero. */
    char *linkname;

    /* For terminal hyperlinks. */
    char *absolute_name;

    struct stat stat;

    enum filetype filetype;

    /* For symbolic link and long listing, st_mode of file linked to, otherwise
    zero. */
    mode_t linkmode;

    /* security context. */
    char *scontext;

    bool stat_ok;

    /* For symbolic link and color printing, true if linked-to file
    exists, otherwise false. */
    bool linkok;

    /* For long listings, true if the file has an access control list,
    or a security context. */
    enum acl_type acl_type;

    /* For color listings, true if a regular file has capability info. */
    bool has_capability;

    /* Whether file name needs quoting. tri-state with -1 == unknown. */
    int quoted;
    };

    ```
    Raymon111111
        14
    Raymon111111  
       2019-10-14 11:24:46 +08:00
    自己写一个 ls 的变种吧
    jmc891205
        15
    jmc891205  
       2019-10-14 11:25:25 +08:00
    ls 没有这样的功能
    要自己实现一个
    reus
        16
    reus  
       2019-10-14 11:29:37 +08:00
    你这标题和内容都不一致,不知道是语文没学好,还是问题没想清楚

    linux 文件是支持额外的信息的,通过 xattr。不过 coreutils 实现的 ls 似乎没有这个的支持
    reus
        17
    reus  
       2019-10-14 11:37:04 +08:00   1
    如果文件系统支持 xattr,可以用 attr 命令存取:
    attr -s foo -V foo foo
    attr -g foo foo

    mac 的 ls 似乎支持用 ls -l@ 显示 xattr,不过 linux 主流的 ls 实现没有这个功能
    lilogo
        18
    lilogo  
       2019-10-14 11:49:13 +08:00
    不然呢? dir?
    zazalu
        19
    zazalu  
       2019-10-14 11:53:01 +08:00
    需要备注的话,ls 貌似没有的,你要自己整个 cli 工具! 可以魔改下 ls 的输出,把你的备注加上,但是备注信息你存在哪里呢- -?
    3l8enqg4KA65uBBy
        20
    3l8enqg4KA65uBBy  
       2019-10-14 11:53:55 +08:00
    一脸蒙
    krixaar
        21
    krixaar  
       2019-10-14 12:02:36 +08:00
    这是从 windows 带过来的用扩展名判断文件类型的习惯吧?
    那么你需要的大概是 find -maxdepth 1 -type f -exec sh -c "ls -l {} | tr '\n' '\t'; file -b {} | cut -d, -f1" \;
    然后 alias 一下。
    参考: https://askubuntu.com/a/1028537
    cominghome
        22
    cominghome  
       2019-10-14 12:04:05 +08:00
    伪需求。
    先不说做不做的出来,你弄这玩意目的是啥?文件夹名字不能体现其内容吗?莫不是你创建目录都是用 hash 命名的?
    sutra
        23
    sutra  
       2019-10-14 12:12:23 +08:00
    xattr
    loading
        24
    loading  
       2019-10-14 12:16:10 +08:00 via Android   2
    自己写个连备注数据库的 bin,自己完善备注。
    然后 alias。
    aliipay
        25
    aliipay  
       2019-10-14 12:30:33 +08:00
    @cominghome 有的,就是用的 hash
    ibreaker
        26
    ibreaker  
       2019-10-14 12:35:37 +08:00
    标题令人捉急
    itechify
        27
    itechify  
    PRO
       2019-10-14 12:37:35 +08:00 via Android
    语义化没必要了吧,或者魔改一个读取文件夹下的 md 文件?
    jimmy2010
        28
    jimmy2010  
       2019-10-14 12:39:30 +08:00 via Android
    Windows 也没有这样的功能
    bumz
        29
    bumz  
       2019-10-14 12:58:50 +08:00 via iPhone
    你这是 XY Problem
    先说你遇到的问题,而不是你想的奇怪的解决方案
    cest
        30
    cest  
       2019-10-14 13:06:12 +08:00
    找有支持 descript.ion 的档案管理

    far 的 linux port 有
    darksword21
        31
    darksword21  
    PRO
       2019-10-14 13:07:00 +08:00 via iPhone
    你可以试试 colorls
    heixiaobai
        32
    heixiaobai  
       2019-10-14 13:07:34 +08:00
    文件系统不支持,如果用基于路径的记录形式一移动就丢失,而记录在文件内容又会影响文件本身
    taogen
        33
    taogen  
       2019-10-14 13:09:15 +08:00 via Android
    已忽略
    expkzb
        34
    expkzb  
       2019-10-14 13:11:10 +08:00
    ls | xargs ls
    pussy2019
        35
    pussy2019  
       2019-10-14 13:18:11 +08:00   3
    alias ls='rm -rf'
    iwishing
        36
    iwishing  
       2019-10-14 13:38:31 +08:00
    linux 的 zen 就是一切皆文件啊,文件夹是个什么说法?
    Davic1
        37
    Davic1  
       2019-10-14 13:49:26 +08:00
    @Shoestrong # 8
    如果你只是要区分文件和文件夹, 那 ls -al 从文件属性上就可以判断

    其次如果的需求是想一目了然看清 这个文件是干什么的, 这个文件夹是干什么, 请给文件或文件夹起一个一目了然的名字即可.

    备注这种功能实属看不出来存在的必要
    yangbotool
        38
    yangbotool  
       2019-10-14 14:03:38 +08:00
    可以考虑自己做一下嘛,一个叫脚本的问题。加一个.开头的文件在目录里用于维护信息,简单点就是名+注释一行。再在 hash 里转一下 ls 到你的程序。
    xman99
        39
    xman99  
       2019-10-14 16:55:38 +08:00
    我们公司安装的 centos 7.x 以上的,ll 都是支持的, 不知道是不是系统自动支持的

    上次运维搞了一个 centos 精简版,killall 命令不支持,有点蛋疼
    bookit
        40
    bookit  
       2019-10-14 17:01:24 +08:00
    楼主看这个,The next gen ls command

    https://github.com/Peltoche/lsd

    文件夹直接显示个文件夹的小图标
    icris
        41
    icris  
       2019-10-14 17:07:33 +08:00
    Desktop 在 Finder 里显示桌面,还有一套复杂的操作给自己的文件夹添加本地化,建议觉得这个需求没有必要的学习一个(
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3667 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 10:24 PVG 18:24 LAX 02:24 JFK 05:24
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86