Linux 124课程 2、从命令行管理文件

  1. 文件目录
    Linux 124课程 2、从命令行管理文件

/ 代表根目录 整个系统全部在根目录中
/boot 存放启动配置文件 建议,单独做成一个分区
/dev 设备文件目录 比如:光盘、硬盘
/etc 存放所有的配置文件
/home 普通用户的家目录文件
/root 管理所在的家目录
/run 存放动态文件(不持久运行的应用程序数据),关机就清空文件
/tmp 存放临时文件,一个星期以后可能就没有了
/var 存放动态数据文件 比如 :/var/log/messages 日志文件
/usr 存放已安装的软件程序和库文件
/usr/bin 存放普通用户的命令
/usr/sbin 存放管理员的命令
/usr/local 存放自定义软件

which mkdir
/usr/bin/mkdir
Which usesradd
/usr/sbin/mkdir

/proc 存放内核参数以及硬件参数 比如:cpu 、内存相关信息
cat /proc/cupinfo 查看CPU信息
cat /proc/meminfo 查看CPU信息

2.pwd 查看所在目录
cd / 切换到根目录下

如何查看所在的目录路径
  pwd 查看目录
  whatis pwd
  
3.cd切换目录
  cd 目录
  
  相对路径:路径是以当前路径为起点
  . 表示当前目录下
  .. 表示上一级目录
  ~ 表示返回自己的家目录 相当于输入cd
  绝对路径:永远以根作为路径起点
  
比如: cd /home/student 以根为起点,这是一个绝对路径
cd ../home/student 相对路径

*** cd ./student 进入当前目录下的/student目录 “./” 可以省略,直接输入student进入

  1. ls 列出当前目录下的所有内容
    -l 以长格式显示
    -a 显示所有文件包括隐藏文件和. 以及.. 包括. /. ./.bash 隐藏文件
    -A 显示所有文件包括隐藏文件
    -d 显示所有目录文件,一般和-l 结合使用
    ls -ld 显示当前目录的长文件格式
    -h 以K/M/G为单位显示信息 一般和-l 结合使用
    -R 递归显示

  2. touch 创建空文件(可以刷新文件的时间戳)
      touch file1 创建file1文件
      
      echo 123 echo hello world > file1
      cat file1 查看file1中的内容
      
      ls -l file1 可以看见时间
      touch file1 时间戳会修改,文件中的内容不会修改
      touch file1 file2 file3 创建多个文件
      touch file{5..9 }

  3. mkdir 创建一个空目录
    -p 创建多级目录 如果之前没有目录也可以创建
      mkdir dir1 dir2 dir3
      mkdir dir{5..9}
      
      mkdir -p a/b/c 创建c目录,如果没有b,就先创建b
      
      *** ls -R a ls递归查看
      
  4. mv 移动文件、目录/重命名(路径相同的移动)
      (移动文件时,默认保留原文件的权限)
      mv file1 dir1/
      mv ../file2 ../dir2
      mv file5 file5.old
      mv file9 dir9 /file99
      mv a dir1/
      
  5. cp 复制
      ( cp也可以重命名,相同目标下做复制,可以重命名 )
      
      -i 覆盖复制时有提示信息
      -f 强制覆盖
      -r 递归复制
      -p 保留原属性
      

  前提: dir1 中存在文件和多级目录
  cp dir1 dir2/ 无法复制
  cp -r dir1 dir2/ 递归复制

  cp 命令在系统中默认添加-i选项,所以会自动提醒是否覆盖原文件
  alias 查看系统当中的命令别名

  cp -rfp dir1 dir2/

  1. rm/rmdir 删除目录、文件 rm 一定要慎用
      rmdir 删除空目录
      
      rm 删除文件或目录
    -i 覆盖复制时有提示信息
      -f 强制覆盖
      -r 递归复制

    rm dir1
      rm file4
      rm -f file6 不需要询问是否删除
      rm -f -r dir1 强制递归删除文件和目录
      rm -r dir2 提示是否删除

  rm -rf / root/dir2

  1. 文件通配: 路径名扩展
    mkdir dira
    dir1,dir2,dir3,dir4,dir5,file7,file8,dira
    需要将dir1,dir2,dir3 这些数字的文件夹显示出来,这时需要借助特殊字符来实现
      
      特殊字符分类:
    (1)元字符 (后面介绍)
      重定向 > >>
      管道符 |

(2)通配符
  * 匹配0个或多个字符
  ? 匹配任意一个字符
  [ list] 匹配list中的任意一个字符
  [ !list] 匹配除list以外的的任意一个字符
  {string1,string2,string3, ...} 匹配字符串
  ——————————————————————————————————
  [[:digit:]] [ [] ]外面表示匹配一个字符,里面表示匹配一个数字
  [[:lower:]] 表示匹配小写字母
  [[:upper:]] 表示匹配大写字母
  [[:alum:]] 表示匹配数字或下划线
  [[:space:]] 表示匹配空格
  [[:punct:]] 表示”.”
  
例子:

ls -ld dir* 匹配所有dir的文件夹

ls -ld dir? 匹配dir后面一个字符的文件夹

ls -ld dir[0-9] 0-9中的一个字符匹配出来

mkdir dir{b..f} 创建b-f的文件夹

ls -ld dir[a-z] a-z中的字符匹配出来

ls -ld dir[!a-z] 除了a-z中的字符匹配出来

touch file{aa,bb,cc,dd,ee,ff}
ll file {aa,bb,cc,ff}
———————————————————————————————————————

ls -ld dir[[:digit:]] 显示数字 等同于 ls -ld dir[0-9]

touch file{A..E}
touch file{a..e}

ls -ld dir[[:lower:]] 等同于 ls -ld dir[A-Z]
ls -ld dir[[:upper:]] 等同于 ls -ld dir[a-z]

(3)转义符:
  ‘’ 硬转义
  “” 软转义
  \ 转义
  
例子:
  touch xx yy
  touch “xx yy”
  touch’ yy zz’
  
  a=1 定义变量
  echo a 输出a
  echo $a 输出变量a
  echo “$a” 1 “” 如果出现了特殊符号,当做特殊字符输出
  echo ‘$a’ $a ‘’ 如果出现了特殊符号,当做普通字符输出
  echo “\$a” $a \的作用是将$a当做普通字符输出
  echo ‘\$a’ \$a ‘’当做普通字符输出
  touch aa\ bb 将空格当做普通字符来处理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章