欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux笔记:目录与文件操作命令

程序员文章站 2022-06-04 13:35:43
...

目录与文件操作命令

  • pwd print working directory 打印当前工作目录
  • cd change directory 改变目录
    • 例子:cd ~ 宿主目录 或 直接 cd
    • 例子:cd .. 切换到上级目录, 两个点代表上级目录,一个点代表当前目录
    • ../.. 表示上上级目录,以此类推
  • ls list 列出目录中的文件
    • ls -l 详细信息
    • ls -a 显示所有文件(包含以点开头的文件)
    • ls -F 在目录后加斜线显示(方便区分是文件还是目录)
    • ls -lh 人性化单位显示大小
  • mkdir make directory 创建目录
    • 例子:mkdir test 创建test文件夹
  • touch 创建文件
    • 例子:touch demo.txt 创建demo.txt文件
  • rm remove 删除文件
    • 例子:rm demo.txt
    • rm -r 删除目录(递归删除目录下的所有目录和文件)
    • rm -i 删除前提示(centos默认)
    • rm -f 删除文件不提示
    • rm -rf 删除目录和文件(不提示) 或使用 这种方式一样:rm -r -f
    • rm -rf ./* 删除当前目录所有文件
  • mv move 移动和改名(同一个命令)
    • 例子:mv test demo/ 将当前目录下的test文件移动到当前目录下的demo目录下
    • 例子:mv demo/test demo/abc 将demo里面的test修改名称为abc即可实现改名
  • cp copy 复制
    • 例子:cp /ect/issue ./ 将/etc下的issue文件拷贝到当前目录
    • 例子:cp -r demo/ demo2 拷贝文件夹,拷贝不成功需要加-r参数,进行递归拷贝
  • find 搜索查找
    • 例子:find /etc -name init 在/etc目录下通过name名称的方式搜索关键字init
    • 例子:find /etc -name 'init*' 在/etc目录找init开头的文件
    • 例子:find /etc -name '?init' 在/etc目录找以init结尾,前面只有一个字符
    • 例子:fidn /usr/bin -size +3M 在/use/bin目录查找大于3M的文件
  • which 显示命令路径
    • 例子:which python3
  • cat 显示文件内容
    • 例子:cat /etc/issue
  • more 分页浏览文件
    • 例子:more /etc/services
    • 按回车一行行的看
    • 按空格一页页的看
    • 按Q退出
  • head 查看文件头几行
    • 例子:head -n 5 /etc/services
    • head --help 打印帮助信息
  • tail 查看文件头几行
    • 例子:tail -n 5 /etc/services
    • tail -f 监视文件变化
  • ln 创建连接
    • ln -s 源文件 新文件 创建软链接(-s 即 --soft)
    • ln 源文件 新文件 创建硬链接
    • 例子:
      ''' 以下先测试软链接 '''
      # 注意:将源文件删除,软链接则不可使用
      # 软链接可以跨文件系统创建
      touch readme.text
      echo '123' >> readme.txt # 将123写入readme.txt中 其中echo命令式输出 >> 是重定向的一次,没有>>和文件则是直接显示在控制台
      cat readme.txt
      123 # 这里是输出
      ln -s readme.txt install.txt
      ls -l
      install.txt -> readme.txt # 这里是输出 如果编辑install.txt则会修改readme.txt中的内容,而install.txt的文件大小不会随之改变,只有被指向的真实文件的大小才会改变
      readme.txt # 这里是输出
      
      ''' 以下再测试硬链接 '''
      # 注意:删除任何一个源文件,另一个仍会存在
      # 硬链接不可以跨文件系统创建
      touch setup.sh
      echo '123' >> setup.sh
      ln setup.sh setup2.sh
      ls -ls
      setup.sh # 这里是输出
      setup2.sh # 这里是输出
      echo 'abc' >> setup.sh # 修改setup.sh
      cat setup2.sh
      123 # 这里是输出
      abc # 这里是输出
      # 同理修改setup2.sh 也是一样,两者同时变化,大小一样,只是文件名有变化,改变一个内容,另一个同时发生变化