Linux系统文件与文件夹操作

创建文件夹/文件

mkdir —创建目录

语法:mkdir [-p] [Linux路径]
  • -p:自动创建不存在的父目录(用于创建多级目录)。

  • 路径可以是绝对或相对路径。

示例

# 创建单级目录
mkdir kf/good/666

# 创建多级目录(父目录不存在时加 -p)
mkdir -p kf/good/666   # 自动创建 kf、good、666

注意:创建文件夹需要修改权限,确保操作都在HOME目录内,如果在HOME会涉及到权限问题,HOME外无法成功。

touch —创建文件

语法:touch [Linux路径]
  • 无选项,参数必填,表示要创建的文件路径,相对,绝对,特殊路径符均可使用。

文件操作

cp —复制文件或目录

语法:cp [-r] [源路径] [目标路径]
  • -r:递归复制目录(复制文件夹时必须加)。
  • 源路径:被复制的文件/目录。
  • 目标路径:复制到的位置。

示例

# 复制文件
cp file.txt backup/
# 复制目录
cp -r project/ backup/

mv —移动(或重命名)文件/目录

语法:mv [源路径] [目标路径]
  • 如果目标路径不存在,则视为重命名
  • 如果目标路径存在且为目录,则移动到该目录下。

示例

# 移动文件到目录
mv file.txt /tmp/

# 重命名文件
mv oldname.txt newname.txt

rm —删除文件或目录

语法:rm [-r -f] 参数1 参数2 参数3....参数N
  • -r:递归删除目录(删除文件夹时必须加)。

  • -f:强制删除(不提示确认)。普通用户默认无提示,root 用户删除时需加 -f 避免确认。

  • 支持通配符 *

    • test*:匹配以 test 开头的内容

    • *test:匹配以 test 结尾的内容

    • *test*:匹配包含 test 的内容

示例

# 删除单个文件
rm file.txt

# 删除目录及其内容
rm -r project/

# 强制删除(root 用户慎用)
rm -f *.log

# 危险命令(切勿在 root 下执行,效果等同于在windows上执行C盘格式化)
# rm -rf /

ln —创建软链接(快捷方式)

语法:ln -s [被链接文件/目录] [链接目的地]
  • -s:创建软链接(必须加)。

示例

ln -s /etc/yum.conf ~/yum.conf    # 文件软链接

image-20230409172425423


查找

前面的Linux命令,其实它们的本体就是一个个的二进制可执行程序。和Windows系统中的.exe文件,是一个意思。

which —查找命令的程序文件路径

语法:which [要查找的命令]

image-20230319141241852

find —按文件名或大小搜索文件

在图形化中,可以方便的通过系统提供的搜索功能,搜索指定文件。

image-20230319141509796

同样在Linux中,可以通过find命令去按文件名搜索指定的文件。

# 按文件名搜索
语法:find [起始路径] -name "文件名"

# 按文件大小搜索
语法:find [起始路径] -size +/-n[kMG]
  • 在被查找文件名参数上,支持使用通配符*来做模糊查询。

  • +n:大于 n;-n:小于 n。

  • 单位:k(KB)、M(MB)、G(GB)。

示例

# 全盘查找以 .conf 结尾的文件(建议切换到 root)
find / -name "*.conf"

# 查找大于 100MB 的文件
find / -size +100M

# 查找小于 10KB 的文件
find / -size -10k

注意:为确保,拥有最大权限,可以在整个系统完成全盘搜索,可以切换到root用户获得管理员权限,执行su -root,输入密码。


查看文件内容

cat —显示文件全部内容

语法:cat [文件路径]
  • 无选项,参数必填,表示要查看的文件路径,相对,绝对,特殊路径符均可使用。

more —分页显示文件内容(空格翻页)

同cat一样可以查看文件内容,不同的是:

  • cat是直接将内容全部显示出来。
  • more支持翻页,通过空格一页页的查看。
语法:more [文件路径]
  • 无选项,参数必填,表示要查看的文件路径,相对,绝对,特殊路径符均可使用。

tail —查看文件尾部内容,并可实时跟踪

语法:tail [-f -num] [文件路径]
  • -f:持续跟踪文件更新(如查看日志)。
  • -num:显示尾部多少行,默认 10 行。

示例

tail -20 /var/log/syslog   # 显示最后 20 行
tail -f /var/log/nginx/access.log   # 实时跟踪

操作文件内容

grep —过滤文件中的关键字行

语法:grep [-n] [关键字] [文件路径]

image-20230319164751194

  • -n:显示匹配行的行号。
  • 关键字含空格或特殊字符时用引号括起来。

wc —统计文件行数、单词数等

语法:wc [-c -m -l -w] [文件路径]

image-20230319170928765

  • -c:字节数
  • -m:字符数
  • -l:行数
  • -w:单词数

示例

wc -l /etc/passwd        # 统计行数
wc -w file.txt            # 统计单词数

echo —输出指定内容到终端

语法:echo 输出内容

示例

echo "Hello, Linux!"
echo $PATH           # 输出环境变量

image-20230321110448100


操作符

管道符 |

将左边命令的输出作为右边命令的输入。

image-20230319174231663

管道符左边不是只能是cat,只要能产生内容输出的命令,都可以跟管道符配合。而且还能多个管道符叠加使用。

image-20230319180033552

反引号 ``

将反引号内的内容作为命令执行,结果替换到原位置。

image-20230321110953697

重定向符 >>>

  • >:覆盖写入(将左边命令的结果写入右边文件,若文件存在则覆盖)。

  • >>:追加写入(将左边命令的结果追加到右边文件末尾)。

示例

# 将当前时间写入文件(覆盖)
date > time.txt

# 将目录列表追加到文件末尾
ls >> list.txt

# test.txt文件原始内容为:kf  a handsome guy

image-20230321143843343


注意事项

  • 权限:在 /home 目录外操作可能需要 root 权限,临时切换可用 su - root,操作后及时 exit 退回普通用户。
  • 危险命令rm -rf / 会清空整个系统,务必谨慎。
posted @ 2023-04-09 17:35  克峰同学  阅读(1870)  评论(0)    收藏  举报