diff --git "a/16\350\260\242\347\277\240\350\220\215/05.22\342\200\224\342\200\224\346\226\207\344\273\266\345\244\271\344\273\245\345\217\212\346\226\207\344\273\266\347\256\241\347\220\206.md" "b/16\350\260\242\347\277\240\350\220\215/05.22\342\200\224\342\200\224\346\226\207\344\273\266\345\244\271\344\273\245\345\217\212\346\226\207\344\273\266\347\256\241\347\220\206.md" new file mode 100644 index 0000000000000000000000000000000000000000..501abf09a8ce469affb6bc4006ef4e93f3bff5f4 --- /dev/null +++ "b/16\350\260\242\347\277\240\350\220\215/05.22\342\200\224\342\200\224\346\226\207\344\273\266\345\244\271\344\273\245\345\217\212\346\226\207\344\273\266\347\256\241\347\220\206.md" @@ -0,0 +1,100 @@ +# 文件夹以及文件管理 + +### ls:列出目录内容 + +```js + ls //列出当前目录下的文件和目录 + ls 文件夹A //列出指定目录文件夹A下的文件和目录 + ls -d 文件夹A //列出文件夹A本身的信息,而不是其它下面的目录和内容 + ls -a //all 列出当前目录下的所有文件和目录,包括隐藏文件/目录 + ls -l //以长格式列出当前目录下的文件和目录,包括权限、所有者、组、大小、创建日期等信息 + ls -h //以易读的方式列出当前目录下的文件和目录,将文件大小以KB、MB\GB等单位表示 + ls -t //t->time 根据修改时间排序列出当前目录下的文件和目录 .默认是大到小 + ls -r //r -> reverse 反向排序列出当前目录下的文件和目录 + ls -S //S -> Size 根据文件大小排序列出当前目录下的文件和目录 + ls -R // 递归列出当前目录及其子目录下的所有文件和目录 +``` + + + +扩展如何修改环境变量 家目录下的自己的文件下,使用ls -a 显示所有文件,即可看到.bashrc这个环境变量的配置文件。将# alias ll='ls -l' 前的#号删除,并保存文件。最后要生效,就要退出帐号一次,再登录,即可使用ll来代替ls -l + +```bash + alias la='ls -a' + alias l='ls -CF' +``` + + + +### cd:改变当前目录 + +```js +cd 目录名 //进入某个目录 +cd ../ //返回上一级 +cd ~ 或者 cd //返回家目录 +cd - //返回上次所在目录 +``` + + + +### pwd:显示当前工作目录的绝对路径 + +```js +pwd //显示当前工作目录的绝对路径 +dirl = $(pwd) //将当前工作目录路径保存到变量中(Shell脚本中常用) +``` + + + +### **mkdir**:创建新目录 + +```js +mkdir 目录名 //创建一个新目录 +mkdir 路径/目录名 //在指定路径下创建目录 +mkdir -p 父目录/新目录 //创建多个目录,包括父目录(如果不存在)、通常在写脚本的时候,为避免已存在,或不存在某目录后续命令无法继续执行,在mkdir的时候,会加-p选项 +mkdir -m 权限模式 目录名 // 创建具有特定权限的目录 +mkdir -p /tmp/新目录 //创建临时目录,不长期保留,与用户文件隔离,避免暴露用户 +``` + + + +### **rmdir**:删除空目录 + +```js +rmdir 目录名 //只能删除空目录 +``` + + + +### rm:删除文件或者目录 + +1. #### 删除文件: + +```bash +rm -i 文件名 # 删除指定的文件,删除前会询问是否删除(y 确认,n 取消)。 +rm -f 文件名 # 强制删除指定的文件,不会进行询问。 +rm -f a.txt b.txt # 同时删除多个文件:可以在命令中添加多个文件名,用空格分隔,如 。 + # mkdir,touch等操作也支持一次性操作多个目标。都是用空格隔开 +rm -f a* # 删除所有以 a 开头的文件 ;删除以特定字符或模式开头的文件:使用通配符* 。 +rm -f .* # 删除隐藏文件:使用 .*,如 (但请注意,这可能会删除当前目录下的所有隐藏文件,包括 . 和 ..,所以请谨慎使用)。 +``` + +2. #### 删除目录 + +```bash +rmdir 目录名 # 仅删除空的目录。 +rm -r 目录名 # 递归地删除目录及其子目录和文件,删除前会询问是否删除。 +rm -rf 目录名 # 递归地强制删除目录及其子目录和文件,不会进行询问。 +rm -rfv 目录名 # 除了递归强制删除外,还会显示删除的详细步骤。 +rm -d 目录名 # 只删除空目录(与 rmdir 命令类似)。 +``` + + + +```bash +mv example.txt .example.txt # 将example.txt改成隐藏文件 +mv mydir .mydir # 将mydir改成隐藏目录 +``` + + +