文件操作命令


1.ls命令

ls命令可以查看当前目录下的所有文件和文件夹,以及文件权限(包括目录、文件夹、文件权限)查看目录信息。

命令格式

  1. ls 选项 目录名

常用参数

参数 作用
-l 列出长数据串,包含文件的属性与权限数据等
-a 列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)
-d 仅列出目录本身,而不是列出目录的文件数据
-h 将文件容量以较易读的方式(GB,kB等)列出来
-R 连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来

2.cd命令

cd命令可以进入指定目录,例如cd /为进入根目录,cd /src/loacal/src命令跳转至/src/loacal/src目录下。

命令格式

  1. cd 目录名

3.pwd命令

查看当前所在目录路径。

命令格式:

  1. pwd 参数

常用参数

  • -P :显示实际物理路径,而非使用连接(link)路径
  • -L :当目录为连接路径时,显示连接路径

    4.mkdir命令与rmdir 命令

    mkdir命令可以创建指定名称的文件夹,但目录名不得为当前目录下已有的文件夹名。rmdir命令从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对父目录的写权限。

    命令格式

    1. mkdir 目录名
    2. rmdir 参数 目录名

    常用参数

  1. mkdir常用参数
  • -m, —mode=模式,设定权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask
  • -p, —parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
  • -v, —verbose 每次创建新目录都显示信息
  • —help 显示此帮助信息并退出
  • —version 输出版本信息并退出

2.rmdir常用参数

  • p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。
  • -v, —verbose 显示指令执行过程

    示例

    ```powershell mkdir test #创建一个空目录

mkdir test test1 #创建两个空目录

mkdir test/test1 #递归创建多个目录。

rmdir test1 #删除空目录 test1,非空目录无法删除。

当子目录被删除后使它也成为空目录的话,则顺便一并删除

rmdir -p test2 # test 目录下仅有 test2

  1. <a name="nqcIm"></a>
  2. ## 5.rm命令
  3. 删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。
  4. <a name="WeSFh"></a>
  5. ### 命令格式
  6. ```powershell
  7. rm 参数 要操作的文件名

常用参数

  • -f, —force 忽略不存在的文件,从不给出提示。
  • -i, —interactive 进行交互式删除
  • -r, -R, —recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
  • -v, —verbose 详细显示进行的步骤
  • —help 显示此帮助信息并退出
  • —version 输出版本信息并退出

    示例

    ```powershell rm test.txt #删除文件,系统会进行是否删除的提示

rm -f test.txt #删除文件,跳过提示

rm -r test #将test子目录以及子目录中的所有文件删除

  1. <a name="MVn8S"></a>
  2. ## 6.mv命令
  3. 可以用来移动文件或者将文件改名(move (rename) files)。当第二个参数类型是文件时,mv命令完成文件重命名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
  4. <a name="dwYm0"></a>
  5. ### 命令格式
  6. ```powershell
  7. mv [选项] 源文件或目录 目标文件或目录

常用参数

  • -b :若需覆盖文件,则覆盖前先行备份
  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖
  • -u :若目标文件已经存在,且 source 比较新,才会更新(update)
  • -t : —target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后

    示例

    ```powershell mv test1.txt test2.txt #将 test1.txt 重命名为 test2.txt。

mv test1.txt test2 #移动文件 test1.txt 到目录 test2

mv test1.txt test2.txt test3.txt test3 #将文件 test1.txt、test2.txt、test3.txt 移动到目录 test3。

  1. <a name="kN9Rm"></a>
  2. ## 7.cp命令
  3. 将源文件复制至目标文件,或将多个源文件复制至目标目录。
  4. <a name="EMmRe"></a>
  5. ### 命令格式
  6. ```powershell
  7. cp [选项] 源文件 目录 或 cp [选项] -t 目录 源文件

常用参数

  • -t —target-directory 指定目标目录
  • -i —interactive 覆盖前询问(使前面的 -n 选项失效)
  • -n —no-clobber 不要覆盖已存在的文件(使前面的 -i 选项失效)
  • -f —force 强行复制文件或目录,不论目的文件或目录是否已经存在
  • -u —update 使用这项参数之后,只会在源文件的修改时间较目的文件更新时,或是对应的目的文件并不存在,才复制文件

    示例

    ```powershell

    若文件存在,会提示是否覆盖。若不存在直接完成复制

    cp test1.txt test1 #复制文件 test1.txt 到 test1 目录

cp -a test1 test2 #复制 test1 整个目录到 test2

  1. <a name="cMR7T"></a>
  2. ## 8. touch 命令
  3. touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间。
  4. <a name="N3UjX"></a>
  5. ### 命令格式
  6. touch [选项] 文件
  7. <a name="yNGJT"></a>
  8. ### 常用参数
  9. - -a 或--time=atime或--time=access或--time=use 只更改存取时间
  10. - -c 或--no-create 不建立任何文档
  11. - -d 使用指定的日期时间,而非现在的时间
  12. - -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题
  13. - -m 或--time=mtime或--time=modify 只更改变动时间
  14. - -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同 -t 使用指定的日期时间,而非现在的时间
  15. <a name="lKwMl"></a>
  16. ### 使用实例
  17. 1.创建不存在的文件test.txt
  18. ```powershell
  19. touch test.txt 复制代码

2.更新 test.txt 的实践和 test1.txt 时间戳相同

  1. touch -r test.txt test1.txt

9.cat 命令

用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。

命令格式

cat [选项] [文件]

常用参数

  • -A, —show-all 等价于 -vET
  • -b, —number-nonblank 对非空输出行编号
  • -e 等价于 -vE
  • -E, —show-ends 在每行结束处显示 $
  • -n, —number 对输出的所有行编号,由1开始对所有输出的行数编号
  • -s, —squeeze-blank 有连续两行以上的空白行,就代换为一行的空白行
  • -t 与 -vT 等价
  • -T, —show-tabs 将跳格字符显示为 ^I
  • -u (被忽略)
  • -v, —show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

    使用实例

    1.把 test.log 的文件内容加上行号后输入 test1.log 这个文件里。
    1. cat -n test.log test1.log 复制代码
  1. 将 test.log 的文件内容反向显示。
    1. tac test.log

    10.tar 命令

    用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的。

    命令格式

    1. tar [必要参数] [选择参数] [文件]

    常用参数

    必要参数:
  • -A 新增压缩文件到已存在的压缩
  • -B 设置区块大小
  • -c 建立新的压缩文件
  • -d 记录文件的差别
  • -r 添加文件到已经压缩的文件
  • -u 添加改变了和现有的文件到已经存在的压缩文件
  • -x 从压缩的文件中提取文件
  • -t 显示压缩文件的内容
  • -z 支持gzip解压文件
  • -j 支持bzip2解压文件
  • -Z 支持compress解压文件
  • -v 显示操作过程
  • -l 文件系统边界设置
  • -k 保留原有文件不覆盖
  • -m 保留文件不被覆盖
  • -W 确认压缩文件的正确性

可选参数:

  • -b 设置区块数目
  • -C 切换到指定目录
  • -f 指定压缩文件
  • —help 显示帮助信息
  • —version 显示版本信息

    使用实例

    1.将文件打全部打包成tar包。

    1. tar -cvf test.tar test.log # 仅打包,不压缩!
    2. tar -zcvf test.tar.gz test.log # 打包后,以 gzip 压缩
    3. tar -zcvf test.tar.bz2 test.log # 打包后,以 bzip2 压缩 复制代码

    2.将 tar 包解压缩

    1. tar -zxvf test.tar.gz

    11.gzip 命令

    使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出”.gz”的扩展名。

    命令格式

    1. gzip [参数] [文件或者目录]

    常用参数

  • -a或—ascii 使用ASCII文字模式。

  • -c或—stdout或—to-stdout 把压缩后的文件输出到标准输出设备,不去更动原始文件。
  • -d或—decompress或——uncompress 解开压缩文件。
  • -f或—force 强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。
  • -h或—help 在线帮助。

    使用实例

    1.把 test1 目录下的每个文件压缩成.gz 文件。
    1. test6 $ gzip *

防火墙命令


1. 设置防火墙开机自启

命令格式:

  1. #设置开机自启
  2. systemctl enable firewalld.service
  3. #关闭开机自启
  4. systemctl disable firewalld.service

示例

设置开机自启
systemctl enable firewalld.service
设置后将会提示:

  1. Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
  2. Created symlink from /etc/systemd/system/multi-user.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.

2.手动开启关闭防火墙

命令格式

  1. #关闭防火墙
  2. systemctl stop firewalld.service
  3. #开启防火墙
  4. systemctl start firewalld.service

3.手动开放防火墙的端口

命令

  1. 查看防火墙开启的端口

    1. firewall-cmd --list-ports
  2. 检查特定端口是否开放

    1. firewall-cmd --query-port 端口号/tcp
  3. 将特定端口加入防火墙

    1. firewall-cmd --zone=public --add-port=80/tcp --permanent
  4. 将特定端口移除防火墙

    1. firewall-cmd --zone=public --remove-port=9090/tcp --permanent
  5. 防火墙重启

    1. firewall-cmd --reload