Linux 命令合集(一):文件和目录操作命令

一、ls:列出目标目录中的所有子目录和文件

  1. 命令格式
ls [选项] [目录名]
    建议使用别名:alias ls='ls --time-style=long-iso --color=auto'
  1. 常用参数
    -a:列出目录下的所有文件,包括隐藏文件
    -A:列出目录下的所有文件,不包括 . 和 ..
    -c:配合 -lt:根据 ctime 排序及显示 ctime (文件状态最后更改的时间)
    -c:配合 -l:显示 ctime 但根据名称排序否则根据 ctime 排序
    -d:显示目录的详细信息
    -h:以常见单位显示文件大小
    -i:打印每个文件的 inode 号
    -k:–block-size=1K,以 k 字节的形式表示文件的大小
    -m:所有项目以逗号分隔,并填满整行行宽
    -r:–reverse 依相反次序排列
    -R:–recursive 同时列出所有子目录层
    -s:–size 以块大小为单位列出所有文件的大小
    -S:据文件大小排序
    -t:以文件修改时间排序
    -u:配合 -lt;显示访问时间而且依访问时间排序
    -x:逐行列出项目而不是逐栏列出
    -X:根据扩展名排序
    -1:每行只列出一个文件
例1:递归显示目录下的所有文件和目录
ls -R /home/lcs
例2:只列出目录下的子目录
ls -F /home/lcs | grep /$
例3:显示文件的绝对路径
ls -R /home/lcs | sed "s#^#`pwd`/#"
例4:列出当前目录下的所有文件(包括隐藏文件)的绝对路径, 对目录不做递归
  find $PWD -maxdepth 1 | xargs ls -ld
  find $PWD | xargs ls -ld
  ls -l 显示结果分为以下七列:
    第1列字段: 文件属性字段:
        "-" 表示该文件是一个普通文件
        "d" 表示该文件是一个目录
        "l" 表示该文件是一个链接文件
        "b" 表示块设备文件(block),一般置于/dev目录下,设备文件是普通文件和程序访问硬件设备的入口,是很特殊的文件。,如硬盘、光盘等。最小数据传输单位为一个数据块(通常一个数据块的大小为512字节)
        "c" 表示该文件是一个字符设备文件(character),一般置于/dev目录下,一次传输一个字节的设备被称为字符设备,如键盘、字符终端等,传输数据的最小单位为一个字节。
        "p" 表示该文件为命令管道文件
        "s" 表示该文件为sock文件
    第2列字段:如果是一个文件,此时这一字段表示这个文件所具有的硬链接数;如果是一个目录,则第2字段表示该目录所含子目录的个数
    第3列字段:属主
    第4列字段:属组
    第5列字段:大小(目录都是4096)
    第6列字段:最近访问(修改)时间
    第7列字段:文件名

二、cp(mv 和 cp 用法基本一致)

  1. 命令格式
cp 源文件(目录)    目标文件(目录)
    建议使用别名:alias cp="cp --backup=t -av"
mv 旧名 新名
    建议使用别名:alias mv="mv --backup=t -v"
  1. 常用参数
     -a:相当于 "-dpr"
     -d:当复制符号链接时,把目标文件也建立为符号链接,并指向与原始文件(目录)
     -f:强行复制文件或目录,不论目标文件或者源文件是否存在
     -i:覆盖文件前先询问用户
     -p:保留源文件或者目录的属性
     -r:递归复制目录下的所有目录和文件
     -u:只有在目标文件不存在或者源文件的更新时间比目标文件的更新时间更新时才复制
     -v:显示复制文件的过程
     --backup=t:目标文件存在时先备份目标文件
例:保留源文件属性,目标文件存在时备份目标文件
alias cp='cp --backup=t -av'
cp manage.py /tmp
复制文件时备份目标文件

三、find:查找符合条件的文件或目录

  1. 常用参数
    -name<范本样式>:指定字符串作为寻找文件或目录的范本样式(只支持通配符)
       * 任意多个字符
      ?一个字符
       []指定范围
    -amin<分钟>:查找在指定时间曾被存取过的文件或目录,单位以分钟计算
    -cmin<分钟>:查找在指定时间之时被更改过的文件或目录
    -mmin<分钟>:查找在指定时间曾被更改过的文件或目录
    -atime<24小时数>:查找在指定时间曾被存取过的文件或目录,单位以24小时计算
    -ctime<24小时数>:查找在指定时间之时被更改的文件或目录
    -mtime<24小时数>:查找在指定时间曾被更改过的文件或目录
    -expty:寻找文件大小为0 Byte的文件,或目录下没有任何子目录或文件的空目录
    -exec<执行指令>:假设find指令的回传值为True,就执行该指令
    -uid<用户识别码>:查找符合指定的用户识别码的文件或目录
    -gid<群组识别码>:查找符合指定之群组识别码的文件或目录
    -user<拥有者名称>:查找符和指定的拥有者名称的文件或目录
    -group<群组名称>:查找符合指定之群组名称的文件或目录
    -nouser:找出不属于本地主机用户识别码的文件或目录
    -nogroup:找出不属于本地主机群组识别码的文件或目录
    -inum<inode编号>:查找符合指定的inode编号的文件或目录
    -links<连接数目>:查找符合指定的硬连接数目的文件或目录
    -maxdepth<目录层级>:设置最大目录层级
    -perm<权限数值>:查找符合指定的权限数值的文件或目录
    -print:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式为每列一个名称,每个名称前皆有“./”字符串
    -size<文件大小>:查找符合指定的文件大小的文件
    -type<文件类型>:只寻找符合指定的文件类型的文件
例1:按名称查找符合条件的文件或目录
find / -name "*.rpm"
例2:查找文件大小在1M和5M之间的文件
find / -type f -size +1M -a -size -5M -exec ls -lh {} \;
例3:查找所有具有SUID权限的目录或文件
find / -perm +4000 -exec ls -l {} \;

四、mkdir:创建目录

  1. 命令格式
mkdir [参数] 目录名
    建议使用别名:alias mkdir="mkdir -pv"
  1. 常用参数
     -p:递归创建目录
     -v:显示创建目录的信息
例:显示创建目录的信息,递归创建目录
mkdir -pv {zhangsan,lisi}/{wangwu,zhaoliu}

五、pwd:显示当前工作目录

  1. 常用参数
      -P:当当前工作目录是软链接时,显示真正的工作目录


六、rm:删除文件或目录

  1. 命令格式
rm [选项] 文件(目录)

一个防止服务器误删文件的脚本

  1. 常用参数
     -r:删除目录
     -f:强制删除文件或目录

七、tree:列出目录树

  1. 命令格式
tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式>][目录...]
    建议使用别名:alias tree="tree -CF"
  1. 命令参数
    -C:在文件和目录清单加上色彩,便于区分各种类型。
    -d:显示目录名称而非内容。
    -D:列出文件或目录的更改时间。
    -f :在每个文件或目录之前,显示完整的相对路径名称。
    -F:在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。
    -g:列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
    -i:不以阶梯状列出文件或目录名称。
    -I:<范本样式> 不显示符合范本样式的文件或目录名称。
    -l:如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
    -n:不在文件和目录清单加上色彩。
    -N:直接列出文件和目录名称,包括控制字符。
    -p:列出权限标示。
    -P:<范本样式> 只显示符合范本样式的文件或目录名称。
    -s:列出文件或目录大小。
    -t:用文件和目录的更改时间排序。
    -u:列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
例:显示目录下所有带有字符"a"的文件或目录
tree -CF -Pf "*a*" /usr/local/apache2.4.25/bin

八、basename(dirname):打印文件或者目录的基本名称(上级目录名称)

命令结果

九、lsattr(chattr):查看(修改)文件的第二扩展文件系统属性

  1. 命令格式
chattr [+|-] [i|a|e]
  1. 常用参数
     a:即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文件安全,只有root才能设定这个属性
     i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容