您的位置:首页 > 运维架构 > Linux

linux命令,文件与目录(cp,pwd,mkdir,rmdir;ls,cp,rm,mv,basename,dirname;cat,tac,more,less,head,tail,touch,umask,chattr,file,which,locate,find)

2015-05-24 20:20 801 查看
1.目录操作:

(1)cd (切换目录)

  cd ~ 回到主目录

  cd 回到主目录

  cd .. 回到上层目录

  cd - 回到刚才的目录

  cd /var/spool/mail 绝对路径

  cd ../mqueue 相对路径(由/var/spool/mail 转到/var/spool/mqueue这样写)

(2)pwd (显示当前目录)

  pwd 显示当前目录

  pwd -P 显示当前目录(不以连接文件的数据显示,而是显示正确的完整路径)

(3)mkdir (新建一个新目录)

  mkdir -p test1/test2/test3 创建多层目录

  mkdir -m 777 test2 新建权限777的目录

(4)rmdir (删除一个空目录)

  rmdir test 删除空文件夹test

  rmdir -p test1/test2/test3 删除test1/test2/test3

2.文件与目录管理

(1)查看文件目录(ls)

  ls -a 列出全部文件,包括隐藏文件

  ls -A 列出全部文件,包括隐藏文件,不包括.与..两个目录

  ls -d 仅列出目录本身,不包括其中文件数据

  ls -l 列出长串数据,包含文件属性与权限

  ls -R 按文件容量大小排序

  ls -t 按时间排序

  ls --color=never 不显示颜色(always显示颜色,auto自动判断)

  ls --full-time 以完整时间模式输出

(2)复制、删除与移动(cp,rm,mv)

  cp -a /var/log/wtmp wtmp_test 将文件所有特性复制过去

  cp /var/log/wtmp . 复制到当前目录

  cp -i 若目标文件存在,则覆盖时先询问操作的进行

  cp -p 连同文件属性一起复制

  cp -r 目录的复制

  cp -d 若源文件作为连接文件的属性,则复制连接文件属性而非连接文件本身

  cp -s 复制成为符号连接文件

  rm -i 互动模式,删除前询问用户是否操作

  rm -f 忽略不存在的文件,不会出现警告信息

  rm -r 递归删除

  mv -f 如果目标文件存在,不会询问而直接覆盖

  mv -i 如果目标文件存在,则询问是否覆盖

  mv -u 如果目标文件存在,且source比较新,则覆盖

(3)取得路径文件名与目录名称

   basename /etc/systemd/network 取得最后的文件名(network)
  dirname /etc/systemd/network 取得目录名(/etc/systemd)

3.文件内容查阅
(1)直接查看文件内容
  cat 由第一行开始显示内容

  cat -A 完整显示,包含特殊字符

  cat -b 列出行号(空白行不标行号)

  cat -n 打印出行号(包括空白行)

  tac 反向显示,与cat相反

  nl 添加行号打印

  nl -b a 打印出行号(包括空白行),类似cat -n

  nl -b t 如果有空行,空的那行不列出行号

  nl -n ln 行号在屏幕坐方显示

  nl -n rn 行号在字段右方显示,不加0

  nl -n rz 行号在字段右方显示,加0

  nl -w 3 行号默认字段改为3位

(2)可翻页查看

  more /etc/manpath.config 查看文件信息(空格翻页,enter键向下滚动一行,/字符串向下查询,:f立刻显示文件名及目前显示行数,b往回翻页,q离开)

  less /etc/manpath.config 查看文件信息(空格/pageup上翻,pagedown下翻,/字符串向下查询,?字符串向上查询,n重复查询,N反向重复,q离开) 

(3)数据选取

  head -n 10 /etc/manpath.config 显示前10行(不加-n 10也是默认显示前10行) 

  head -n -10 /etc/manpath.config 显示前面所有行数,不包括后10行

  tail -n 20 /etc/manpath.config 显示最后20行

  tail -n +20 /etc/manpath.config 显示后面所有行数,不包括前20行

  tail -f 持续检测行数,直到按下ctrl+c

(4)非文本文件

  od -t a 默认字符输出

  od -t c ASCII字符输出

  od -t d 十进制输出(f浮点数,o八进制,x十六进制)

  od -t oCc /etc/issue 八进制列出存储值与ASCII对照表

(5)修改文件时间或者创建新文件

  touch test 新建一个新文件test

  touch -a 修改访问时间

  touch -c 仅修改文件时间,若文件不存在则不创建新文件

  touch -m 修改mtime

  touch -d "2 days ago" test test文件日期调整为两天前

  touch -t 1503151820 test test文件时间调整为2015.3.15 18:20

4.默认权限与隐藏权限

  umask 002 默认权限去除的是其他人权限的w权限

  chattr +i test 设置test文件的隐藏属性(不能被删除、改名、写入添加数据,仅root用户可设置)

  chattr +a test 设置test文件的隐藏属性(只能添加数据,不能删除、修改,仅root用户可设置)

  chattr -a test 取消test文件的隐藏属性

  lsattr test 显示test文件隐藏属性

  file test 查看文件类型

5.命令与文件的查询

  which ifconfig 找出ifconfig命令的完整文件名

  whereis ifconfig 寻找ifconfig这个文件

  locate ifconfig 寻找与ifconfig相关的文件

  find /etc -mtime 3 3天前的一天之内改过的文件

  find /etc -mtime -3 3天之内改过的文件(不包括第3天)

  find /etc -mtime +3 3天之前改过的文件(不包括第3天)

  find /etc -newer /etc/passwd 寻找/etc下比passwd日期新的文件并列出

  find / -nouser 寻找系统中不属于任何人的文件

  find /home -user root 寻找/home下属于root的文件

  find /etc -name test 寻找/etc下名为test的文件

  find / -size +100k 寻找系统中大于100k的文件

  find / -size +100k -exec ls -l {} \; 将上面找到的文件用ls -l列出来
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐