ubuntu常用指令集合(持续更新中✧(≖ ◡ ≖✿)


文件操作

打开及查看文件夹

  • 打开文件夹: cd 文件路径
  • 返回上一目录:cd ..
  • 列出文件夹下的所有文件:ls
  • 查看文件夹下所有文件的具体信息:ls -al

打开及修改文档

  • vim
  • 输入 i切换到输入模式,以输入字符
  • 跳到文本的最后一行:按“G”,即“shift+g”
  • 跳到最后一行的最后一个字符:先重复1的操作即按“G”,之后按“$”键,即“shift+4”。
  • 跳到第一行的第一个字符:先按两次“g”
  • 跳转到当前行的第一个字符:在当前行按“0”。
  • 保存退出:按左上角的 Esc 按键 -> 输入 :wq

删除文件夹

  • 删除某一个文件 rm 文件名
  • 删除整个文件夹 rm -rf /文件夹路径 (据说这个操作在某些efi机器上还会删除主板固件,造成主板固件丢失从而无法开机(比操作系统无法启动还严重,瑟瑟发抖~)

解压文件

  • zip文件:**unzip 文件名.zip**
  • tar文件:**tar -xvf 文件名.tar**
  • gz文件: gunzip 文件名.gz
  • rar文件:**rar x 文件名.rar**
    注:如果要解压到指定目录下,在上述操作之后加上 -C 路径 就可以啦,比如说 unzip 文件名.zip -C /home/jyl

复制文件

cp -参数 源文件或文件夹路径 目标文件夹或文件夹路径
这里的参数有:

  • -a: 该选项通常在复制文件夹时使用。它保留链接、文件属性,并递归地复制文件夹,其作用等于dpR选项的组合。
  • -d:拷贝时保留链接。
  • -f:删除已经存在的目标文件而不提示。
  • -i:和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
  • -p:此时cp除复制源文件的内容外,还将把其改动时间和訪问权限也拷贝到新文件里。
  • -r:若给出的源文件是一文件夹文件,此时cp将递归复制该文件夹下全部的子文件夹和文件。此时目标文件必须为一个文件夹名。
  • -l:不作拷贝,仅仅是链接文件。
    注:为防止用户在不经意的情况下用cp命令破坏还有一个文件,如用户指定的目标文件名称已存在,用cp命令复制文件后,这个文件就会被新源文件覆盖,因此,建议用户在使用cp命令复制文件时,最好使用i选项。
    比如从 /home/download 文件夹下复制 123.text 到 目录 /home/jyl/test 下的指令为 cp -i /home/download/123.text /home/jyl/test

移动与重命名

mv 源文件目录 目标文件目录
以上命令可以将源文件目录下的文件移动到目标文件目录下
mv 修改前的文件名 想要修改成的文件名
以上命令可以给想要修改名字的文件更名

给带括号的文件更名(否则会出现错误)

mv 文件名\(带括号的部分\).后缀 去掉括号的文件名(要更新的文件名).后缀
比如:我有一个文件名为 hhh(a)hh.py
更改方式:mv hhh\(a\)hh.py hhhahh.py

本地复制文件到远程服务器上

scp -参数 本地文件或文件夹路径 服务器文件或文件夹路径
这里的参数有:

  • -1: 强制scp命令使用协议ssh1

  • -2: 强制scp命令使用协议ssh2

  • -4: 强制scp命令只使用IPv4寻址

  • -6: 强制scp命令只使用IPv6寻址

  • -B: 使用批处理模式(传输过程中不询问传输口令或短语)

  • -C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)

  • -p: 保留原文件的修改时间,访问时间和访问权限。

  • -q: 不显示传输进度条。

  • -r: 递归复制整个目录。

  • -v: 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。

  • -c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。

  • -F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。

  • -i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。

  • -l limit: 限定用户所能使用的带宽,以Kbit/s为单位。

  • -o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式。

  • -P port:注意是大写的P, port是指定数据传输用到的端口号。

  • -S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

    以上这些参数其实我也没全用过,满足我正常传文件的需求就使用过 -r ,比如讲本地目录 C:\Users\Administrator\Desktop 下的 test 整个文件夹上传到服务器目录 /home/jyl 下的指令为: scp -r C:\Users\Administrator\Desktop\test 服务器用户名@服务器地址:/home/jyl

注:用 scp 传输大文件不知道为什么在我的操作过程中巨慢!!(这个问题如果后期我整理出了问题所在或者解决办法再来补充),目前最成功的的解决方法是直接用 BaiduPCS-Goo ,将大文件上传到百度云之后,用此工具直接在ubuntu系统中下载下来,教程也在维的博客中出现过,贴一个链接:linux终端使用百度云的方法–BaiduPCS-Goo

查看进程状态

ps

  • 查询指定进程的PID:ps -ef|grep 进程名
  • 查询指定进程名或者PID的占用情况:ps -aux|grep 进程名/PID

top

top [-参数]
这里的可选参数为:

  • d:指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
  • p:通过指定监控进程ID来仅仅监控某个进程的状态。
  • q:该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
  • S:指定累计模式
  • s:使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
  • i:使top不显示任何闲置或者僵死进程。
  • c:显示整个命令行而不只是显示命令名。

退出:ctrl+c 或者 q
其实说实话,直接 top -n 2 这里的 2 代表刷新次数,就可以了,防止top命令卡住最好用的方式哈哈哈

查看占用cpu最高的进程

ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head

查看占用内存最高的进程

ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head

查看服务器带宽

  • ifconfig
  • sudo ethtool xxx

暂时能想起来的就这么多啦,后续只要用过的指令会持续更新的!✧(≖ ◡ ≖✿

参考:
linux命令大全


文章作者: yali
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 yali !
  目录