diff --git "a/03\351\222\237\347\211\241\344\270\271/\347\254\224\350\256\260/2024-5-22-\346\226\207\344\273\266\347\256\241\347\220\206\345\221\275\344\273\244.md" "b/03\351\222\237\347\211\241\344\270\271/\347\254\224\350\256\260/2024-5-22-\346\226\207\344\273\266\347\256\241\347\220\206\345\221\275\344\273\244.md" new file mode 100644 index 0000000000000000000000000000000000000000..30084a3b974dc2f8bcd2db9e26a5f744803eb257 --- /dev/null +++ "b/03\351\222\237\347\211\241\344\270\271/\347\254\224\350\256\260/2024-5-22-\346\226\207\344\273\266\347\256\241\347\220\206\345\221\275\344\273\244.md" @@ -0,0 +1,136 @@ +# 2024-5-22-笔记 + +# ls 列出列表 + +- ls /home //查看所有用户 +- ls 文件夹A //列出指定目录文件夹A下的文件和目录 +- ls -d 文件夹A //列出文件夹A本身的信息 +- ls -a //列出当前目录下的文件和目录,包括权限、所有者、大小、创建日期等 +- ls -h //以易读的方式列出当前目录下的文件和目录,将文件大小以KBMBGB 等单位表示 +- ls -t //根据修改时间排序出当前目录下的文件和目录,默认从大到小 +- ls -r //reverse反向排序列出当前目录下的文件目录,是默认大到小 +- ls -l #以长格式列出当前目录下的文件和目录,包括权限、所有者、组、大小、创建日期等信息 +- ls -al //列出所有文件,以长格式列出当前目录下的文件和目录,包括权限、所有者、组、大小、创建日期等信息 +- ls -R //递归列出当前目录及其子目录下的所有文件和目录 +- userdel -r 用户名 //完全删除用户 +- \## 扩展如何修改环境变量 家目录下的自己的文件下,使用ls -a 显示所有文件,即可看到.bashrc这个环境变量的配置文件。将# alias ll='ls -l' 前的#号删除,并保存文件。最后要生效,就要退出帐号一次,再登录,即可使用ll来代替ls -l + + - alias la='ls -a' + + - alias l='ls -CF' + + + +# **cd**:改变当前目录。 + + - 进入某个目录:`cd 目录名` + - 返回上二级目录:`cd ../../` + - 返回家目录:`cd ~` 或者 `cd ` (啥也不跟): /home/用户名 + - 返回上次所在目录:`cd -` + +# pwd:显示当前工作目录的绝对路径。 + + + +``` + \```bash + + pwd # 显示当前工作目录的绝对路径 + + dir1 = $(pwd) # 将当前工作目录路径保存到变量中(在Shell脚本中常用) + + echo $dir1 + + \``` +``` + +# **mkdir**:创建新目录。 + + - 示例:`mkdir 目录名` + + ```bash + #场景:在当前位置创建一个新的目录 + mkdir 目录名 # 创建一个新目录 + + mkdir 路径/目录名 # 在指定路径下创建目录 + + #场景:在创建目录的同时,如果父目录不存在,则一并创建父目录。 + mkdir -p 父目录/新目录 # 创建多个目录,包括父目录(如果不存在) + # 通常在写脚本的时候,为避免已存在,或不存在某目录后续命令无法继续执行,在mkdir的时候,会加-p选项 + + #场景:创建一个具有特定权限的目录,可以用于设置目录的读写执行权限。 + mkdir -m 权限模式 目录名 # 创建具有特定权限的目录 + # mkdir -m 777 mydir + #场景:需要一个文件夹 + mkdir -p /tmp/新目录 # 创建临时目录,不长期保留,与用户文件隔离,避免暴露用户 + ``` + +# rmdir:删除空目录。 + + \- 示例:`rmdir 目录名` ,只能删除空的目录 + +# **rm**:删除文件或目录。 + + ```bash + # ------------------- 删除文件 ------------------- + rm -i 文件名 # 删除指定的文件,删除前会询问是否删除(y 确认,n 取消)。 + rm -f 文件名 # 强制删除指定的文件,不会进行询问。 + rm -f a.txt b.txt # 同时删除多个文件:可以在命令中添加多个文件名,用空格分隔,如 。 + # mkdir,touch等操作也支持一次性操作多个目标。都是用空格隔开 + rm -f a* # 删除所有以 a 开头的文件 ;删除以特定字符或模式开头的文件:使用通配符* 。 + rm -f .* # 删除隐藏文件:使用 .*,如 (但请注意,这可能会删除当前目录下的所有隐藏文件,包括 . 和 ..,所以请谨慎使用)。 + ## 扩展 + mv example.txt .example.txt # 隐藏文件 + mv mydir .mydir # 隐藏目录 + # ------------------- 删除目录 ------------------- + rmdir 目录名 # 仅删除空的目录。 + rm -r 目录名 # 递归地删除目录及其子目录和文件,删除前会询问是否删除。 + rm -rf 目录名 # 递归地强制删除目录及其子目录和文件,不会进行询问。 + rm -rfv 目录名 # 除了递归强制删除外,还会显示删除的详细步骤。 + rm -d 目录名 # 只删除空目录(与 rmdir 命令类似)。 + ``` + +# cp:复制文件或目录 + +- 复制文件:`cp 源文件 目标文件` + +- 复制文件到目录: cp 源文件 目标目录 + +- 复制目录:`cp -r 源目录 目标目录` + + `cp` 是 Linux 和 Unix 系统中用于复制文件或目录的命令。以下是 `cp` 命令的一些常见用法: + +cp 文件 1 文件2 //将文件 1 复制到文件2 + +# 复制文件到目录: + +``` + \```bash + + cp source_file destination_directory/ + + \``` + + 例如,将 `example.txt` 复制到 `target_dir` 目录: + + \```bash + + cp example.txt target_dir/ +``` + +# 递归复制目录 + +使用 -r 或 - R 选项可以递归地复制目录及其内容 + +``` +``bash + + cp -r source_directory destination_directory/ + + \``` + + 例如,将 `source_dir` 目录及其内容复制到 `target_dir`: + + \```bash +``` +