一次性认识终端命令

一、 前言

在公司看到导师同事命令敲得那么熟练.反观自己只懂得一些`cd`、`ls`,导师就建议:你该多去熟悉一下终端命令,这些都是你提高开发效率的方法

于是总结一次常用的终端命令,方便以后查阅和使用

二、 命令

打开ssh正确姿态

打开ssh密钥文件是很简单的命令,因为不经常使用所以总是记不住,每次需要用的时候就得去百度. ``` //打开.ssh文件 open ~/.ssh ``` 打开id_rsa.pub,里面所有内容就是密钥内容

目录操作

命令 | 功能描述 | 简单样例 :--:| :--:| :--:| mkdir | 创建一个目录 | mkdir dirname rmdir | 删除一个目录 | rmdir dirname mvdir(mac使用mv) | 移动或重命名一个目录 | mvdir dir1 dir2 cd | 改变当前目录 | cd dirname pwd | 显示当前目录的路径名 | pwd ls | 显示当前目录的内容 | ls -la dircmp | 比较两个目录的内容 | dircmp dir1 dir2

/Users/chenxiaobin/Youzan/code/blog为例子

  1. 先通过cd命令进入blog文件夹
  2. pwd查看文件当前路径、ls查看当前文件夹内容
  3. 在当前目录通过mkdir新建文件夹
  4. 对新建的文件夹通过mv修改名字,并再用ls查看当前目录文件
  5. 通过rmdir删除test1文件夹
  6. 通过cd ~返回打开该终端的根目录

注意:

  • mvdir是linux命令,在mac终端无法使用,我使用了iTerm2的高亮主题,输入rmdir时会爆红

  • ll命令是ls的升级版,除了和ls一样显示文件名和目录名,还会显示文件的时间、读写权限(staff:管理员)等等

添加ll命令也不难:

  1. vim编辑~/.bashrc 文件
sudo vim ~/.bashrc
  1. 添加别名
    去掉 #alias ll='ls -l' 前面的 # 号就能使用 ll 命令了。
i. 点击i进入编辑模式
ii. 修改相应部分
iii. esc -> shift+: -> wq
  1. 生效操作
sudo source ~/.bashrc

文件操作

命令 | 功能描述 | 简单样例 :--:| :--:| :--:| cat | 显示或连接文件 | cat filename rm | 删除文件或目录 | rm filename mv | 改变文件名或所在目录 | mv file1 file2 cp | 复制文件或目录 | cp file1 file2(新名称) open | 使用默认的程序打开文件 | open filename file | 显示文件类型 | file filename find | 使用匹配表达式查找文件 | find . /directory -name "*.txt"

`cat`命令

cat命令主要用来查看文件内容,创建文件,文件合并,追加文件内容等功能

这个我目前还没怎么使用,具体可以查看:《linux下cat命令详解》

`open`命令

前面我们已经接触过`open`命令了:`open ~/.ssh`(~为根目录)

open会帮助你用默认方式打开指定文件,例如html就用浏览器打开.

`file`命令

file命令用来探测给定文件的类型。file命令对文件的检查分为文件系统、魔法幻数检查和语言检查3个过程。

`find`命令

在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

命令: find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression]

  • 列出当前目录及子目录下所有文件和文件夹
find .
  • 在当前目录下查找以.txt结尾的文件名
find ./ -name "*.txt"
  • 匹配文件路径或者文件
find /usr/ -path "*local*"
  • 基于正则表达式匹配文件路径
find . -regex ".*(.txt|.pdf)$"

上面都是最经常使用的一些命令.下面放一些扩展的命令

选择操作

命令 | 功能描述 | 简单样例 :--:| :--:| :--:| head | 显示文件的最初几行 | head -20 filename tail | 显示文件的最后几行 | tail -15 filename cut | 显示文件每行中的某些域 | cut -f1,7 -d: /etc/passwd colrm | 从标准输入中删除若干列 | colrm 8 20 file2 paste | 横向连接文件 | paste file1 file2 diff | 比较并显示两个文件的差异 | diff file1 file2 sed | 非交互方式流编辑器 | sed "s/red/green/g" filename grep | 在文件中按模式查找 | grep "^[a-zA-Z]" filename awk |在文件中查找并处理模式 | awk '{print $1 $1}' filename sort | 排序或归并文件 | sort -d -f -u file1 uniq | 去掉文件中的重复行 | uniq file1 file2 comm | 显示两有序文件的公共和非公共行 | comm file1 file2 wc | 统计文件的字符数、词数和行数 | wc filename nl | 给文件加上行号 | nl file1 >file2

安全操作

命令 | 功能描述 | 简单样例 :--:| :--:| :--:| passwd | 修改用户密码 | passwd chmod | 改变文件或目录的权限 | chmod ug+x filename umask | 定义创建文件的权限掩码 | umask 027 chown | 改变文件或目录的属主 | chown newowner filename chgrp | 改变文件或目录的所属组 | chgrp staff filename xlock | 给终端上锁 | xlock -remote

编程操作

命令 | 功能描述 | 简单样例 :--:| :--:| :--:| make | 维护可执行程序的最新版本 | make touch | 更新文件的访问和修改时间 | touch -m 05202400 filename dbx | 命令行界面调试工具 | dbx a.out xde | 图形用户界面调试工具 | xde a.out

进程操作

命令 | 功能描述 | 简单样例 :--:| :--:| :--:| ps | 显示进程当前状态 | ps u kill | 终止进程 | kill -9 30142 nice | 改变待执行命令的优先级 | nice cc -c *.c renice | 改变已运行进程的优先级 | renice +20 32768

时间操作

命令 | 功能描述 | 简单样例 :--:| :--:| :--:| date | 显示系统的当前日期和时间 | date cal | 显示日历 | cal 8 1996 time | 统计程序的执行时间 | time a.out

网络与通信操作

命令 | 功能描述 | 简单样例 :--:| :--:| :--:| telnet | 远程登录 | telnet hpc.sp.net.edu.cn rlogin | 远程登录 | rlogin hostname -l username rsh | 在远程主机执行指定命令 | rsh f01n03 date ftp | 在本地主机与远程主机之间传输文件 | ftp ftp.sp.net.edu.cn rcp | 在本地主机与远程主机 之间复制文件 | rcp file1 host1:file2 ping | 给一个网络主机发送 回应请求 | ping hpc.sp.net.edu.cn mail | 阅读和发送电子邮件 | mail write | 给另一用户发送报文 | write username pts/1 mesg | 允许或拒绝接收报文 | mesg n

其它命令

命令 | 功能描述 | 简单样例 :--:| :--:| :--:| uname | 显示操作系统的有关信息 | uname -a clear | 清除屏幕或窗口内容 | clear env | 显示当前所有设置过的环境变量 | env who | 列出当前登录的所有用户 | who whoami | 显示当前正进行操作的用户名 | whoami tty | 显示终端或伪终端的名称 | tty stty | 显示或重置控制键定义 | stty -a du | 查询磁盘使用情况 | du -k subdir df | 显示文件系统的总空间和可用空间 | df /tmp w | 显示当前系统活动的总信息 | w

参考文章:

文档:《Linux命令大全》

简书:《Mac 终端命令大全》

原文地址:https://www.cnblogs.com/soyxiaobi/p/9717483.html