bash 终端命令梳理

2022-06-14 21:51:37 浏览数 (1)

这些命令在类Unix系统上都是通用的,并不局限与 Mac 下。作为一个接触了 Linux 有一段时间的人,趁这个时间整理一下。

指令集

1 目录操作

命令名

功能描述

使用举例

mkdir

创建一个目录

mkdir dirname

rmdir

删除一个目录

rmdir dirname

mvdir

移动或重命名一个目录

mvdir dir1 dir2

cd

改变当前目录

cd dirname

pwd

显示当前目录的路径名

pwd

ls

显示当前目录的内容

ls -la

dircmp

比较两个目录的内容

dircmp dir1 dir2

2 文件操作

命令名

功能描述

使用举例

cat

显示或连接文件

cat filename

pg

分页格式化显示文件内容

pg filename

more

分屏显示文件内容

more filename

od

显示非文本文件的内容

od -c filename

cp

复制文件或目录

cp file1 file2

rm

删除文件或目录

rm filename

mv

改变文件名或所在目录

mv file1 file2

ln

联接文件

ln -s file1 file2

find

使用匹配表达式查找文件

find . -name “*.c” -print

file

显示文件类型

file filename

open

使用默认的程序打开文件

open filename

3 选择操作

命令名

功能描述

使用举例

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

4 安全操作

命令名

功能描述

使用举例

passwd

修改用户密码

passwd

chmod

改变文件或目录的权限

chmod ug x filename

umask

定义创建文件的权限掩码

umask 027

chown

改变文件或目录的属主

chown newowner filename

chgrp

改变文件或目录的所属组

chgrp staff filename

xlock

给终端上锁

xlock -remote

5 编程操作

命令名

功能描述

使用举例

make

维护可执行程序的最新版本

make

touch

更新文件的访问和修改时间

touch -m 05202400 filename

dbx

命令行界面调试工具

dbx a.out

xde

图形用户界面调试工具

xde a.out

6 进程操作

命令名

功能描述

使用举例

ps

显示进程当前状态

ps u

kill

终止进程

kill -9 30142

nice

改变待执行命令的优先级

nice cc -c *.c

renice

改变已运行进程的优先级

renice 20 32768

7 时间操作

命令名

功能描述

使用举例

date

显示系统的当前日期和时间

date

cal

显示日历

cal 8 1996

time

统计程序的执行时间

time a.out

8 网络与通信操作

命令名

功能描述

使用举例

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

9 Korn Shell 命令

命令名

功能描述

使用举例

history

列出最近执行过的 几条命令及编号

history

r

重复执行最近执行过的 某条命令

r -2

alias

给某个命令定义别名

alias del=rm -i

unalias

取消对某个别名的定义

unalias del

10 其它命令

命令名

功能描述

使用举例

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

常用命令详解

1 在目录间游走

命令1:pwd

作用:获取当前所在路径

命令2:ls (list)

作用:列出当前目录下的所有文件

其他用法:ls -l (long)

作用:用长格式列出来

其他用法:ls -a

作用:列出文件(包括隐藏的文件)

其他用法:ls -al

作用:以长格式列出文件(包括隐藏的文件)

命令3:cd

作用:进行目录之间的相互跳转

Tips1:可以利用Tab键将目录名补全

Tips2:可以输入cd后,将文件拖入终端,这样可以显示该文件的目录

其他用法:cd (不带任何参数)

作用:返回家目录

其他用法:cd ~

作用:返回家目录

Tips:可以利用cd ~/Music快速到达该目录

Tips:利用cd ~Guest/进入Guest用户的家目录

由于本机没有其他用户登录,所以无法演示该效果

其他用法:cd –

作用:返回上一个目录,你总是可以在两个目录之间进行切换

其他用法:cd(空格)..

作用:返回上一层目录

Tips:..表示上一层目录,而.表示当前目录

Tips:如果想要执行当前目录可执行文件a,需要输入./a,表示当前目录下的那个a

说明:这样做可以提高安全性,不会与命令的英文发生歧义

2 目录文件操作

命令1:mkdir [文件名] (make dir)

作用:新建文件夹

命令2:rmdir [文件名] (remove dir)

作用:删除文件夹

命令3:mv [原文件名] [新文件名] (move)

作用:把文件从一个地方移到另一个地方,但是当没有给出另外一个目录时,移动的现象就是为其更改了名字

命令4:rm [文件名] (remove)

作用:删除文件

注意:用rm删除掉的文件是无法从回收站中找回的!!

命令1:man [命令]

例如:man cp

作用:查看该命令的使用手册

Tips:输入q来直接退出

3 环境变量相关

命令1:set | grep PATH

作用:查看环境变量

命令2:PATH=$PATH:~/bin

作用:将其他文件夹路径(本机用户下面的bin目录)添加到PATH

Tips:

这样做只是一次性的,也就是说在当前终端,是可以直接生效的,但是当你关闭后,重新打开终端,这个操作是不被保存的。

在/etc/profile这个文件是任何人打开终端都会执行的,是系统级的profile。

如果我们想自定义自己的profile,可以在自己的家目录下新建文件命名为:.profile,这个文件会在你打开终端时自动执行

我们将刚刚的命令2输入其中,然后保存退出(vim下使用:wq)

这样的话,在我们刚刚已经登录的终端里面它还是不起作用的,假如你希望它可以立刻生效,你可以使用source命令。

命令3:source

作用:使Shell读入指定的Shell程序文件并依次执行文件中的所有语句,通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录

例如:source .profile

至此,每次当你打开终端的时候,将会默认执行一遍.profile中的命令。

4 进程管理

命令1:ps

作用:查看当前终端运行的程序

其他用法:ps ax

作用:列出这台电脑上正在运行的所有程序

命令2:top

作用:显示这台计算机上有哪些进程,它们占据了多少内存、CPU、负载等

Tips:按q退出

命令3:kill [PID]

作用:结束指定进程ID的进程

具体做法:先使用top命令查看想要结束进程的PID,然后使用命令kill [PID]

Tips:如果遇到无法杀掉的进程,输入命令sudo kill -9 [PID] (伪装超级管理员,强迫杀掉该进程),接着输入自己用户的密码(前提是自己这个用户具有sudo的资格)

5 网络配置

命令1:ifconfig

作用:列出本机所有的网络设备以及其上面的配置,主要指的是ip地址和mac地址

其他用法:ifconfig en4 down/up

作用:关闭(或打开)某个网络接口,比如en4

Tips:一般需要管理员权限,所以需要在前面加sudo命令

其他用法:sudo ifconfig en4 add 10.10.10.12 netmask 255.255.255.0

作用:给en4加入别的网段

其他用法:sudo ifconfig en4 delete 10.10.10.12

作用:给en4删除指定网段

其他用法:

ifconfig en0 down // 关闭网卡设备(这里假设是en0)

ifconfig en0 hw ether [MAC地址] // 修改MAC地址

ifconfig en0 up // 重启网卡

作用:临时修改MAC地址

其他用法:

ifconfig en0 down

ifconfig en0 192.168.169.245 netmask 255.255.255.0

作用:临时修改内网ip地址

命令2:ping

作用:检测网络是否是连通状态

0 人点赞