Linux常用命令【文件管理】【权限管理】【系统管理】【进程管理】【网络通讯】【文件压缩】

岳凯康
2023-12-01

0 - 前言

参考:

【面经总结 Linux】面试官:你知道Linux哪些常用命令?

Linux ls 命令

1 - 文件管理

对文件的操作可以分为:增删改查与其他。其中,文件又分为一般文件与文件目录。

1-1 增

  • mkdir(英文全拼:make directory):创建目录

    • mkdir -p: 确保目录名称存在,不存在的就建一个
  • cp(英文全拼:copy file):复制文件或目录

    • cp -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件

1-2 删

  • rm(英文全拼:remove):删除一个文件或者目录

    • rm -r: 将目录及以下文件逐一删除
  • rmdir(英文全拼:remove directory):删除空的目录

1-3 改

  • touch:修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
  • mv(英文全拼:move file):为文件或目录重命名、或将文件或目录移入其它位置
  • chown(英文全拼:change owner):将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户 ID,组可以是组名或者组 ID,文件是以空格分开的要改变权限的文件列表,支持通配符
    • chown [-cfhvR] [--help] [--version] user[:group] file
    • user : 新的文件拥有者的使用者 ID;group:新的文件拥有者的组(group)

1-4 查

  • ls(英文全拼:list files):显示当前目录下的文件

    • ls -a:显示所有文件及目录 (. 开头的隐藏文件也会列出)
    • ls -l:除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
    • ls -t: 将文件依建立时间之先后次序列出
  • find :在指定目录下查找文件

    • find path -option [-print] [ -exec -ok command ] {} \;
    • path常用:~ home 目录, . 目前所在的目录, 目前目录位置的上一层目录
    • -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
    • -type c : 文件类型是 c 的文件 d: 目录;f: 一般文件;s: socket
    • -ctime n : 在过去n天内被修改过的文件
  • pwd(英文全拼:print work directory):显示工作目录绝对路径

  • whereis:查找文件。在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。

    • whereis [-bfmsu] [-B <目录>...] [-M <目录>...] [-S <目录>...] [文件...]
    • -b  只查找二进制文件
    • -B<目录>  只在设置的目录下查找二进制文件
    • -M<目录>  只在设置的目录下查找说明文件
    • -S<目录>  只在设置的目录下查找原始代码文件
  • cat(英文全拼:concatenate):连接文件并打印到标准输出设备上

    • cat [-AbeEnstTuv] [--help] [--version] fileName
    • -n 或 --number:由 1 开始对所有输出的行数编号。
  • more :类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示

    • more [-dlfpcsu] [-num] [+/pattern] [+linenum] fileNames
    • +num 从第 num 行开始显示
    • -num 一次显示的行数
  • less :与 more 类似,less 可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页

    • less [参数] 文件
  • head :查看文件的开头部分的内容,有一个常用的参数 -n 用于显示行数,默认为 10,即显示 10 行的内容

    • head [参数] [文件]
  • tail:查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。

    • tail [参数] [文件]

1-5 其他

  • cd(英文全拼:change directory):切换当前工作目录

    • cd [dirName]:dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。
    • ~ 也表示为 home 目录 的意思, . 则是表示目前所在的目录, 则表示目前目录位置的上一层目录
  • vim

    • 命令模式(Command mode):用户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。
      • i 切换到输入模式,以输入字符
      • x 删除当前光标所在处的字符
      • : 切换到底线命令模式,以在最底一行输入命令
    • 输入模式(Insert mode):在命令模式下按下i就进入了输入模式。在输入模式中,可以使用以下按键:
      • 字符、shift组合:输入字符
      • 回车:换行
      • backspace:删除光标前一个字符
      • del:删除光标后一个字符
      • HOME/END:将光标移动到行首/行尾
      • ESC:退出输入模式,进入命令模式
    • 底线命令模式(Last line mode):在命令模式下按下:(英文冒号)就进入了底线命令模式。底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
      • q :退出程序
      • w:保存文件
      • wq:保存文件后离开

2 - 权限管理

  • chmod(英文全拼:change mode):控制用户对文件的权限

    • 语法:chmod [ugoa...][[+-=][rwxX]...][,...] file
    • u 表示该文件的拥有者(user);g 表示与该文件的拥有者属于同一个群体(group)者;o 表示其他以外的人(other);a 表示这三者皆是
    • + 表示增加权限;- 表示取消权限;= 表示将用户类型的所有权限重新设置
    • r 表示可读取;w 表示可写入;x 表示可执行;X 表示只有当文件为目录文件,或者其他类型的用户有可执行权限时,才将文件权限设置可执行
    • 还可以用八进制数字表示权限,chmod 777 file

3 - 系统管理

  • top:实时显示进程的动态和系统运行统计信息
  • free:显示内存状态(内存 缓存 缓冲 交换分区)

4 - 进程管理

  • ps (英文全拼:process status):显示当前进程的状态,类似于 windows 的任务管理器

    • ps [options] [--help]
    • -A 列出所有的进程
    • -e 显示所有进程
    • -f 全格式
  • kill:删除执行中的程序或工作

    • kill [-s <信息名称或编号>] [程序] 或 kill [-l <信息编号>]
    • -l <信息编号>  若不加<信息编号>选项,则 -l 参数会列出全部的可用信号
      • 常用:1 (HUP),重新加载进程
      • 9 (KILL):杀死一个进程
      • 15 (TERM):正常停止一个进程
      • stop :挂起进程
    • -s <信息名称或编号>  指定要送出的信息
    • [程序]  [程序]可以是程序的PID或是PGID,也可以是工作编号
  • pstree:将所有行程以树状图显示,树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root),如果有指定使用者 id,则树状图会只显示该使用者所拥有的行程

5 - 网络通讯

  • ping:测试网络连通性,使用 ICMP 传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。

    • ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l<前置载入>][-p<范本样式>][-s<数据包大小>][-t<存活数值>]主机名称或IP地址
  • ifconfig:显示或设置网络设备

  • ip:是 Linux 加强版的的网络配置工具,用于代替 ifconfig 命令

  • netstat :显示网络状态;常用:显示tcp连接以及状态

  • service:管理系统运行的服务器

  • write:传讯息给其他使用者

    • write user [ttyname]
      • user : 预备传讯息的使用者帐号
      • ttyname : 如果使用者同时有两个以上的 tty 连线,可以自行选择合适的 tty 传讯息
  • tcpdump:抓包工具,列出经过指定网络界面的数据包文件头,在Linux操作系统中,你必须是系统管理员

  • nc:设置路由器

6 - 文件压缩

  • tar(英文全拼:tape archive ):用于备份文件。tar是用来建立、还原备份文件的工具程序,它可以加入、解开备份文件内的文件
    • 压缩a.c文件为test.tar.gz:tar -czvf test.tar.gz a.c
      • -c或–create 建立新的备份文件
      • -z或–gzip或–ungzip 通过gzip指令处理备份文件
      • -v或–verbose 显示指令执行过程
      • -f<备份文件>或–file=<备份文件> 指定备份文件
    • 解压文件:tar -xzvf test.tar.gz
      • -x或–extract或–get 从备份文件中还原文件
 类似资料: