Shell

Tecy 发布于 20 天前 76 次阅读


帮助命令

man 获取帮助信息

获取某个命令的帮助信息。

man [man options] [[section] page ...] ...
man -k [apropos options] regexp ...
man -K [man options] [section] term ...
man -f [whatis options] page ...
man -l [man options] file ...
man -w|-W [man options] page ...

help 获取内置命令帮助信息

获取内置命令帮助信息。

help [args..]

文件目录类

pwd 显示当前目录的路径

显示当前目录的路径。

pwd [OPTION]...

cd 更改当前目录

更改当前目录。

cd [-L|[-P [-e]] [-@]] [dir]

切换的上一级目录:

cd ..

ls 查看目录内容

查看目录内容。

ls [OPTION]... [FILE]...
  • -a: 查看全部的文件(包含隐藏文件)。
  • -l: 长数据列出,包含文件的属性与权限等。

ls -a -l = ll

mkdir 创建目录

创建目录。

mkdir [OPTION]... DIRECTORY...
  • -p: 如果父目录不存在,也会创建。

rmdir 删除目录

删除目录。

rmdir [OPTION]... DIRECTORY...
  • -p: 如果删除后父目录为空,则删除父目录(递归)。

touch 创建文件

创建文件。

touch [OPTION]... FILE...

cp 复制文件

复制文件。

cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...

\cp : 强制覆盖文件,不提示。

rm 删除文件

删除文件。

rm [OPTION]... [FILE]...
  • -r: 递归删除目录中的所有内容。
  • -f: 强制执行删除操作。

mv 移动文件或重命名

移动文件或重命名。

mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...

cat 查看文件内容

查看文件内容。

cat [OPTION]... [FILE]...
  • -n: 显示所有行号,包括空行。

more 文件内容分屏查看

文件内容分屏查看。

more [options] file ...

less 分屏显示文件内容

分屏显示文件内容(适用于大文件)。

less filename

less 后查看的操作:

  • PgUp: 向上翻动一页。
  • PgDn: 上下翻动一页。
  • /str: 向下查找 str; n 向下查找; N 向上查找。

head 查看文件前n行

查看文件前n行。

head [OPTION]... [FILE]...
  • -n: 前n行。

tail 查看文件尾n行

查看文件尾n行。

tail [OPTION]... [FILE]...
  • -n: 后n行。

echo 输出内容到控制台

输出内容到控制台。

echo [SHORT-OPTION]... [STRING]...
echo LONG-OPTION
  • -e: 支持 \ 字符转换,\t,\n,\\等。

> 输出重定向

输出重定向(覆盖)。

command > file

文件不存在会自动创建。

>> 追加

追加。

command > file

文件不存在会自动创建。

| 管道

管道。

command1 | command2

前一个命令的输出作为后一个命令的输入。

ln 链接

创建链接。

ln [OPTION]... [-T] TARGET LINK_NAME
ln [OPTION]... TARGET
ln [OPTION]... TARGET... DIRECTORY
ln [OPTION]... -t DIRECTORY TARGET...

软链接:

ln -s [file] [linkname]

history 查看历史命令

查看历史命令。

history
  • -c: 清空历史指令记录。

文件权限类

drwxrwxrwx 文件属性

文件属性。

d 表示是否为dir

r: 读,w: 写,x: 执行。

未有权限用 - 表示。

从左往右:

第一组 rwx :属主权限。

第二组 rwx :属组权限。

第三组 rwx :其他人权限。

chmod 修改权限

修改权限。

chmod [OPTION]... MODE[,MODE]... FILE...

模式一:

chmod [{u,g,o,a} {+,-,=} {rwx}] FILE...
  • u: user
  • g: group
  • o: other
  • a: all

模式二:

chmod [mode=660] FILE...

rwx 可以用0~7表示。

660 表示 rw-rw----

  • -R :递归修改整个目录文件的权限。

chown 修改文件所有者

修改文件所有者。

chown [OPTION]... [OWNER][:[GROUP]] FILE...

chgrp 修改文件所有组

修改文件所有组。

chgrp [OPTION]... GROUP FILE...

进程管理类

ps 查看当前进程状态

查看当前进程状态。

ps [options]
  • -e: 列出所有进程。
  • -u: 列出某个用户关联的所有进程
  • -f: 显示完整的格式列表。

ps aux: 查看系统中所有进程。

kill 终止进程

终止进程。

kill [options] <pid> [...]

pstree 查看进程树

查看进程树。

pstree

top 实时监控系统进程状态

实时监控系统进程状态。

top

可以安装 htop 查看更好的界面。

  • -d: 刷新秒数。
  • -i: 不显示闲置或僵尸进程。
  • -p: 指定pid监控某个进程。

操作:

  • P: 按CPU利用率排序(默认)。
  • M: 按内存利用率排序。
  • N: 按PID排序。

netstat 显示网络状态和端口占用信息

显示网络状态和端口占用信息。

安装:sudo apt install net-tools

netstat
  • -a: 显示所有正在监听和未监听的socket。
  • -n: 拒绝显示别名,能显示数字的全显示数字。
  • -l: 仅列出监听的服务状态。
  • -p: 表示显示哪个进程在调用。

查看进程网络信息:

netstat -anp | grep pid

查看网络端口占用:

netstat -nlp | grep port

搜索查找类

find 查找文件

查找文件。

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [starting-point...] [expression]

* 作为通佩符。

  • -name: 按名字。
  • -size: 按大小 +10M 表示超过10Mb,-10M 表示小于10Mb。
  • -user: 按所有者。

grep 过滤查找

过滤查找。

grep [OPTION...] PATTERNS [FILE...]
grep [OPTION...] -e PATTERNS ... [FILE...]
grep [OPTION...] -f PATTERN_FILE ... [FILE...]
  • -n: 过滤包括行号。

压缩解压类

gzip/gunzip

.gz 文件。

  • 只能压缩文件,不能压缩目录。
  • 不保留原来的文件。
  • 同时多个文件会产生多个压缩包。
gzip [ -acdfhklLnNrtvV19 ] [-S suffix] [ name ...  ]
gunzip [ -acfhklLnNrtvV ] [-S suffix] [ name ...  ]

zip/unzip

.zip 文件。

  • 文件和目录的压缩。
  • 保留源文件。
zip name [FILE...]
  • -r: 压缩目录。
  • -d: 指定压缩文件存放目录。

tar 打包

tar.gz 文件。

tar -c [-f ARCHIVE] [OPTIONS] [FILE...]
tar -x [-f ARCHIVE] [OPTIONS] [MEMBER...]
  • -c: 产生 .tar 打包文件。
  • -f: 指定打包的文件名。
  • -z: 打包同时压缩/解包。
  • -x: 解包 .tar 文件。
  • -C: 解压到指定目录。

打包:

tar -czvf name.tar.gz [FILE...]

解包:

tar -xzvf name.tar.gz -C dirname

磁盘管理类

du 查看文件/目录占用磁盘空间

disk use 查看文件/目录占用磁盘空间。

du [OPTION]... [FILE]...

默认以字节数展示。

  • -h: 以较易阅读的形式展示(G,M,K)。
  • -c: 显示所有文件/子目录的大小,最后显示总和。
  • -s: 显示所有文件/子目录的总大小。
  • --max-depth=n: 指定统计子目录深度n层。

df 查看磁盘剩余空间

disk free 查看磁盘剩余空间。

df [OPTION]... [FILE]...
  • -h: 以较易阅读的形式展示(G,M,K)。

lsblk 查看磁盘空间使用情况

list block devices 查看磁盘空间使用情况,挂载情况。

lsblk [options] [device...]

mount/umount 挂载/卸载

挂载/卸载:将分区和目录联系起来。

fdisk 分区

分区(需要 root)。

fdisk [options] device

时间日期类

date 时间

显示当前时间。

date

年月日时分秒:

date "+%Y %m %d %H %M %S"

用户管理类

useradd 添加新用户

添加新用户。

useradd [options] LOGIN

usermod 修改用户

修改用户。

usermod [options] LOGIN

passwd 修改用户密码

修改用户密码。

passwd [options] [LOGIN]

id 查看用户是否存在

查看用户是否存在。

id [OPTION]... [USER]...

su 切换用户

切换用户。

su [options] [-] [user [argument...]]

who 显示当前用户

显示当前用户。

who [OPTION]... [ FILE | ARG1 ARG2 ]

sudo 临时授予管理员权限

临时授予管理员权限。

sudo command

cat /etc/passwd 查看有哪些用户

查看有哪些用户。

cat /etc/passwd

用户组管理类

groupadd 创建分组

创建分组。

groupadd [options] group

groupdel 删除分组

删除分组。

groupdel [options] GROUP

groupmod 修改分组

修改分组。

groupmod [options] GROUP

cat /etc/group 查看有哪些分组

查看有哪些分组。

cat /etc/group