经常忘记的一些命令

有时候需要某些命令,只是用了一两次,当时搞懂了,但长时间不同又忘了,还得上网查,所以在这里记录一下。

  • ln
    为某一个文件在另外一个位置建立一个同步的链接。
    • -s ln -s 源文件/目录 目标文件/目录
      创建软链接,类似于 Windows 的快捷方式。可以对一个不存在的文件名进行链接
      默认是硬链接。不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。当文件发生变化时,链接也会发生变化,它会保持同步性。
      硬链接与源文件的 inode 节点相同,而软链接不同。删除源文件不会影响硬链接。
      以下是老男孩整理的几点区别:

1 ln 命令默认创建硬链接。
2 硬链接文件与源文件的inode节点号相同,而软链接文件的inode节点号与源文件不同。3 ln命令不能对目录创建硬链接,但可以创建软链接,对目录的软链接会经常被用到。
4 删除软链接文件,对源文件及硬链接文件无任何影响;
5 删除文件的硬链接文件,对源文件及软链接文件无任何影响;
6 删除链接文件的原文件,对硬链接文件无影响,会导致其软链接失效(红底白字闪烁状);
7 同时删除原文件及其硬链接文件,整个文件才会被真正的删除。
8 很多硬件设备中的快照功能,使用的就类似硬链接的原理。
9 软连接可以跨文件系统,硬链接不可以跨文件系统。

  • du
    显示目录或文件所占空间。只显示当前目录下面的子目录的目录大小和当前目录的总的大小,最下面的1288为当前目录的总大小
  • df
    df命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
  • top
    命令经常用来监控linux的系统状况,比如cpu、内存的使用。

P 表示按 CPU 使用率来排序,M 表示按使用内存大小来排序

  • lsof
    用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。
    根据端口查进程:lsof -i:port
    还能使用: netstat -nap | grep port

通过进程名查看其占用端口
ps -ef | grep 进程名
netstat -nap | grep 进程pid

  • mkdir
    主要是为了创建层级目录
mkdir -p test/a/b
# 这会创建目录 test,在其下创建目录 a,然后在 a 目录下创建 b
mkdir -p test/{a, b, c, d}
# 创建 test 目录,并在其下创建 a b c d 四个文件
mkdir {1..3}ab
# 创建 1ab 2ab 3ab 三个文件夹,对于 touch 也有同样的用法
  • crontab
    定时任务计划表
    分钟 小时 几号 月份 星期几 需要执行的命令
    逗号表示两个,- 号表示一段时间范围内
    /n 表示每隔 n 单位间隔就执行一次的意思
    */5 * * * * command 每 5 分钟进行一次
  • vim 查找替换字符
    在 normal 模式下按下 / 即可进入查找模式,输入要查找的字符。n 查找下一个,N 查找上一个。
    :%s/foo/bar/g 在全局范围类查找 foo 并替换为 bar
    :s/foo/bar/g 在当前行替换
  • grep
    grep 'test' a.txt 在 a.txt 中查找以 test 开头的行
    grep -w pattern files 匹配整个单词,而不是字符串的一部分。
  • kill
    用于杀死进程,将其终止,但是对于僵尸进程不行,还有处于“核心态”的进程也杀不死,因为其默认忽略所有信号,只能重启系统。kill 只能杀死处于用户态的进程。常用信号:
    INT 2 中断 类似 Ctrl + c
    QUIT 3 退出
    TERM 5 终止
    KILL 9 强制终止
    CONT 18 继续
    STOP 19 暂停 类似 Ctrl + Z
    子进程结束或终止时会向主进程发送 SIGCHLD,然后主进程就可以调用 wait 或 waitpid 回收子进程资源了。
    ps:wait 会使调用者阻塞直到某个子进程终止;
    waitpid 可以通过设置一个选项来设置为非阻塞,另外 waitpid 并不是等待第一个结束的进程而是等待参数中 pid 指定的进程。

waitpid 提供了 wait 所没有的三个特性:
waitpid 使我们可以等待指定的进程
waitpid 提供了一个无阻塞的wait
waitpid 支持工作控制

  • jobs
    一般命令行程序按下 Ctrl + z 后便进入了暂停,即 suspended 状态,如何再次进入呢?使用 jobs 命令可以查看后台暂停的程序,然后使用 fg [进程号] 把进程恢复到前台。如果 jobs 只查询到一个进程,那么只输入 fg 即可。
  • vim 保存并退出
    一般来说,可以在命令模式下输入 :wq, x
    但是还有一种更加简便的方法,在命令模式下输入 ZZ。注意,这里是两个大写的 Z

你可能感兴趣的:(经常忘记的一些命令)