Linux常用文件管理命令

##. 通用基础知识

  • 查询指令命令help,通过指令名 --help或者man 指令名

    例如,我们需要查询ls这个指令的参数用法以及作用,即通过ls --help即可得到如下:

    https://raw.githubusercontent.com/unique-pure/NewPicGoLibrary/main/img/f7b0cae87d70d287017f89c014a6c99d.png

  • ctrl c:取消命令,并且换行。

  • ctrl u:清空本行命令

  • tab:补全命令和文件名,如果补全不了就快速按两下tab键,可以显示备选项。

##. 文件基础操作

  • 注意事项

    • 如果文件名或者文件夹名存在空格或者一些特殊字符,我们要进行转移表示,即通过转移字符\来实现。
  • 创建文件夹:mkdir [-p][dirNmae]

    其中-p确保目录名称一定存在,如果不存在就会创建一个。

  • 创建文件:touch [dirName + fileName]

  • 显示当前目录下或者指定目录下的所有文件:ls [参数][dirName]

    其中显示的蓝色是文件夹,白色是普通文件,绿色是可执行文件,如图:

    https://raw.githubusercontent.com/unique-pure/PicLibrary/main/img/image-20210818141132225.png

    参数有:

    • -a显示所有文件及目录 (. 开头的隐藏文件也会列出)
    • -l除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
    • -r 将文件以相反次序显示(原定依英文字母次序)
    • -t 将文件依建立时间之先后次序列出
    • -A 同 -a ,但不列出 “.” (目前目录) 及 “..” (父目录)
    • -F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/”
    • -R 若目录下有文件,则以下之文件亦皆依序列出
  • 显示目前所在的工作目录的绝对路径名称:pwd

  • 切换当前工作目录:cd [dirName]

    其中dirName可为绝对路径或相对路径,如果没有给出,默认返回家目录。cd -会返回之前的工作目录

  • 删除文件或文件夹:rm [dirName] [options]

    其中选项包括:

    ` -i` 删除前逐一询问确认。
    

      -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。

      -r 将目录及以下之档案亦逐一删除,递归所有的子目录,逐一询问。

    一般删除普通文件直接使用rm [dirName]

  • 创建编写文件:vim [dirName]

    创建好之后会自动进入文件,这个时候我们事写不动东西的,所以我们需要输入小写字母i(为insert的缩写)即可写入,写完之后如何保存?我们先需要按ESC键锁住文件,再输入:wq即可,这个命令就是保存并退出的意思。

  • 查看文件:cat [dirName]

  • 复制文件:cp [options] source dest

    其中参数说明:

    • -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
    • -d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
    • -f:覆盖已经存在的目标文件而不给出提示。
    • -i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。
    • -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
    • -r若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。复制目录的时候一定要添加的参数
    • -l:不复制文件,只是生成链接文件。

    cp = 复制+粘贴+重命名,我们可以看一个例子cp a/tmp.txt b/tmp2.txt,那么会从a中的

    tmp.txt复制到b中并重命名为tmp2.txt

  • 为文件或目录改名、或将文件或目录移入其它位置:mv [options] source dest

    如果需要重命名,就在后面加上新的文件名。

    其中参数说明

    • -b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
    • -i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
    • -f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
    • -n: 不要覆盖任何已存在的文件或目录。
    • -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

1 编译运行C/C++文件

  • 编译

    g++ 文件名.cpp -o 文件名 -std=版本

    例如:g++ main.cpp -o main -std=c++11

    https://raw.githubusercontent.com/unique-pure/NewPicGoLibrary/main/img/0c831c902b7d2c4769b8820ad28f357b-20231125214551602.png

    值得注意的一点就是在AC Terminal里面是用不了万能头文件的。

  • 运行

    ./文件名,即可运行。

2 参考文献

y总Linux基础课


相关内容

Buy me a coffee~
HeZephyr 支付宝支付宝
HeZephyr 微信微信
0%