C
cal [OPTION] # 日历, 不加选项默认显示本月日历
e.g., cal 2024 # 显示2024年的日历
cat [OPTION] file_name # 查看文件
e.g., cat -n /home/lsl/test.txt | more # 查看文件内容并 显示行号 分页进行展示(敲击空格至下一页)
cd [OPTION] # 切换到指定目录
chgrp new_group file_name # 把文件所在组改为指定组
chgrp -R group_mini project # 递归修改project文件夹下的文件组为group_mini
chown [OPTION]... [new_owner:new_group] file_name... # 将文件所有者修改为指定用户
e.g.:
- chown lsl # 将文件test.txt所有者修改为lsl
- chown u=rwx,g=rx,o=x /home/lsl/test.txt
等价于 chown 751 /home/lsl/test.txt
# 对文件test.txt, 授权 文件所有者 读写执行, 文件所在组成员 读执行, 其他组用户 执行 的权限
cp [OPTION] source dest # 复制
e.g.:
- \cp -r /home/lsl/dir1 /home/lsl/dir2 # 递归拷贝 dir1目录内容到dir2目录下, 遇到冲突时进行强制覆盖, 无需确认
curl [OPTION] url # 发送HTTP请求
opt desc:
- X 指定请求方式
- v 显示响应结果
- u 携带用户名/密码
- H 携带请求消息头信息
D
date [OPTION] # 显示当前时间
e.g., date "+%Y-%m-%d %H:%M:%S" # 按指定格式显示当前时间
docker volume ls # 查看宿主机所有卷情况, 匿名挂载的volume name
docker images
docker login -u username -p password
docker rm -f $(docker ps -aq) # 强制删除 所有 运行过/正在运行 的的docker容器
docker network [OPTIONS]# 查看docker存在容器间网络信息
docekr network ls
docekr network inspect NETWORK_I
docker history DOCKER_CONTAINER_NAME:TAG / DOCKER_CONTAINER_ID 查看镜像历史变更记录
docker run -f dockerfile访问路径 -t DOCKER_CONTAINER_NAME:TAG / DOCKER_CONTAINER_ID # 通过镜像生成容器, 不使用 -f 指定 则 默认从当前文件夹下寻找名称为Dockerfile的文件作为dockerfile
E
echo [OPTION] content # 输出变量/常量内容到控制台
F
find search_scope [OPTION] # 从指定目录向下递归遍历其各个子目录, 将满足条件的文件或目录 显示在终端
e.g., find /home -user lsl -size +5M -name '*_lsl.txt' # 查看home目录下 属于lsl的 小于超过5M 的 名称满足 *_lsl 的文件
G
grep [OPTION] # 查找的源文件内容
e.g., cat /home/lsl/test.txt | grep -ni aa # 查找文件test.txt中aa字符串, 显示行号, 并且忽略大小写
groupadd groupname # 添加组
groupdel groupname # 删除组
gpasswd [OPTION] username groupname # 操作用户与组间关系
gzip [OPTION]... [FILE]... # 压缩单个文件, 将文件压缩为*.gz文件存放在原文件所在目录, 压缩成功后会把源文件删除
gzip /home/lsl/test.txt # 压缩, 生成test.txt.gz
gunzip [OPTION]... [FILE]... # 解压文件, 解压后删除原文件
H
head [OPTION] file_name 查问文件内容(默认显示头10行)
e.g., head -n 5 test.txt # 查看文件头5行内容
help [OPTION] # 帮助指令
I
id username # 查看用户信息
K
kill [OPTION] process_id # 终止进程, -9 代表强制停止
L
less file_name # 显示终端, 不是一次性读取文件, 而是根据需要加载内容
shortcut key:
- space/pagedown 向下翻一页
- pageup 向下翻一行
- /string 向下搜寻string(n:向下; N:向上)
- ?string 向上搜寻string(n:向下; N:向上)
- q 离开less
locate file_name # 在整个系统中定位文件路径, 需要事先建立 系统中所有文件名称及路径的locate数据库
e.g.:
- updatedb
locate file1_lsl.txt # 查找文件名为file1_lsl.txt的文件
ls [OPTION] directory/file
e.g.:
- ls -la # 以列表形式 显示当前目录下 所有文件和目录
- ls -l
[root@localhost /]# ls -l
总用量 20
lrwxrwxrwx. 1 root root 7 7月 25 08:43 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 8月 3 20:09 boot
drwxr-xr-x. 20 root root 3240 8月 7 07:48 dev
drwxr-xr-x. 77 root root 8192 8月 7 07:48 etc
drwxr-xr-x. 3 root root 17 7月 25 08:49 home
lrwxrwxrwx. 1 root root 7 7月 25 08:43 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 7月 25 08:43 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 4月 11 2018 media
drwxr-xr-x. 3 root root 18 8月 2 13:03 mnt
drwxr-xr-x. 3 root root 24 8月 4 00:57 opt
dr-xr-xr-x. 126 root root 0 8月 7 07:48 proc
dr-xr-x---. 3 root root 169 8月 5 10:27 root
drwxr-xr-x. 26 root root 780 8月 7 07:48 run
lrwxrwxrwx. 1 root root 8 7月 25 08:43 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 4月 11 2018 srv
dr-xr-xr-x. 13 root root 0 8月 7 07:48 sys
[root@localhost /]# :<<'END'
> 输出解析:
> 以 dr-xr-xr-x. 5 root root 4096 8月 3 20:09 boot 为例:
> d => 文件类型 -普通文件; d目录; l软连接; c字符设备(鼠标、键盘、...); b块文件(硬盘...)
> r-x => 文件所有者权限
> r-x => 文件所在组用户权限
> r-x => 其他组用户权限
> 5 => 文件: 表示硬链接数, 为1; 目录: 表示该目录下子目录数量 \
> root => 文件所有者名称
> root => 文件所在组名称
> 4096 => 文件: 表示文件大小(单位: 字节); 目录: 4096
> 8月 3 20:09 => 文件最后修改时间
> boot => 文件名称
> END
M
man [OPTION] # 帮助指令
mkdir [OPTION] directory
e.g., mkdir -p /home/lsl/tmp20240806 # 递归创建多级目录
mv old_file_name new_file_name # 不存在=>重命名 / 存在=>移动文件
e.g.:
- mv test.txt /home/lsl/tmp20240806 # 移动文件test.txt至/home/lsl/tmp20240806
- mv dir3 dir4 # dir4不存在, 则将文件dir3重命名为dir4; dir4存在, 则将文件dir3移动至dir4下
more file_name # 基于VI编辑器的文本过滤器, 以全屏幕的方式按页显示文本文件的内容
shortcut key:
- space 向下翻一页
- enter 向下翻一行
- q 立刻离开more, 不再显示该文件内容
- ctrl + f 向下滚动一屏
- ctrl + b 返回上一屏
- = 输出当前行的行号
- :f 输出文件名和当前行的行号
N
netstat [OPTION] # 查看系统网络服务情况
e.g., netstat -anp | grep sshd # 按照一定三个月西班牙排列输出 进程调用, 以查看网络服务sshd的状态
P
pwd # 显示当前目录路径
ps [OPTION] # 查看系统运行进程
e.g., ps -aux # 显示当前运行进程信息
[root@localhost /]# ps -aux # 显示当前运行进程信息
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 128040 6688 ? Ss 07:48 0:01 /usr/lib/systemd/systemd --swi
root 2 0.0 0.0 0 0 ? S 07:48 0:00 [kthreadd]
root 4 0.0 0.0 0 0 ? S< 07:48 0:00 [kworker/0:0H]
root 5 0.0 0.0 0 0 ? S 07:48 0:00 [kworker/u256:0]xxxxxxxxxx [root@localhost /]# ps -aux # 显示当前运行进程信息USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.0 128040 6688 ? Ss 07:48 0:01 /usr/lib/systemd/systemd --swiroot 2 0.0 0.0 0 0 ? S 07:48 0:00 [kthreadd]root 4 0.0 0.0 0 0 ? S< 07:48 0:00 [kworker/0:0H]root 5 0.0 0.0 0 0 ? S 07:48 0:00 [kworker/u256:0]USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.0 128040 6688 ? Ss 07:48 0:01 /usr/lib/systemd/systemd --swiroot 2 0.0 0.0 0 0 ? S 07:48 0:00 [kthreadd]root 4 0.0 0.0 0 0 ? S< 07:48 0:00 [kworker/0:0H]
...
[root@localhost /]# :<<'END'
> 输出解析
> USER: 用户名;
> PID: 进程ID;
> %CPU: 进程占用CPU情况(单位: KB);
> %MEM: 进程占用内存情况;
> VSZ: 进程占用虚拟内存情况;
> RSS: 进程占用物理内存情况;
> TTY: 进程占用终端情况, ?表示隐藏;
> STAT: 进程状态: S休眠; R运行; N进程拥有比普通优先级更低的优先级; D短暂等待; Z僵死进程; T被跟踪或者被停止;
> START: 进程启动时间;
> TIME: 进程占用CPU中时间;
> COMMAND: 启动进程的命令和参数, 过长会被截断显示;
> 补充:
> TT: 终端名称, 缩写;
> PPID: 父进程ID
> C: CPU使用的资源百分比;
> PRI: 进程的执行优先权, 越小优先级越高;
> SZ: 使用掉的内存
> END
R
reboot # 现在重启计算机
rm [OPTION] directory # 删除文件或目录
e.g., rmdir -rf /home/lsl/tmp20240806 # 强制删除非空目录, 无需确认
rmdir [OPTION] directory # 删除空目录(非空时会报错)
rpm [OPTION] # 互联网下载包的打包及安装工具
e.g.:
- rpm -e firefox # 卸载火狐
- rpm -qa | grep docker # 查询所安装的docker软件包
[root@localhost /]# rpm -qa | grep docker # 查询所安装的docker软件包
docker-ce-26.1.4-1.el7.x86_64
docker-buildx-plugin-0.14.1-1.el7.x86_64
docker-ce-rootless-extras-26.1.4-1.el7.x86_64
docker-compose-plugin-2.27.1-1.el7.x86_64
docker-ce-cli-26.1.4-1.el7.x86_64
[root@localhost /]# # 输出解析: 软件包名称-软件包版本号.使用操作系统
- rpm -ivh firefox-45.4.0-1.el7.centos.x86_64.rpm # 界面显示提示(verbose)和进度条(hash), 安装(install)firefox
S
su username # 切换用户, exit回溯
shutdown [OPTION] # 关机
e.g.:
- shutdown now # 立刻进行关机
- shutdown -h 1 # 一小时后关机
- shutdown -r now # 现在重新启动计算机
sync # 把内存数据同步到磁盘
systemctl [OPTION] service_name # 操作服务: OPTION: start restart reload status enable
e.g., systemctl restart firewalld # 重启防火墙
T
tail [OPTION] file_name
e.g., tail -n 12 -f test.txt # 持续输出test.txt中的最末尾12行内容至终端
tar [OPTION...] [FILE]... # 打包或解压文件
opt desc:
- c 创建一个新的tar文件(归档文件)
- v 显示详细信息
- f 指定压缩后文件名
- z 打包同时压缩
- x 解压.tar.zg文件
- C 指定解压或打包的工作目录 # 默认为当前目录
touch filename_list # 创建一个或多个空文件
e.g., touch lsl_test01.txt lsl_test02.txt
U
useradd [OPTION] username # 添加用户
ex. useradd -g groupname -d user_home_directory username # 指定用户的 组、家目录
userdel [OPTION] username # 删除用户
Y
yum [OPTION] # shell前端软件包管理器, 基于rpm; 使用前提: 可连接外网
e.g.:
- yum install docker-ce-26.1.4-1.el7 # 安装
- yum remove firefox.x86_64 # yum包卸载
- yum list installed | grep docker # 查询yum服务器上的 已安装至本地的 软件包
[root@localhost /]# yum list installed | grep docker # 查询yum服务器上的 已安装至本地的 软件包
containerd.io.x86_64 1.6.33-3.1.el7 @docker-ce-stable
docker-buildx-plugin.x86_64 0.14.1-1.el7 @docker-ce-stable
docker-ce.x86_64 3:26.1.4-1.el7 @docker-ce-stable
docker-ce-cli.x86_64 1:26.1.4-1.el7 @docker-ce-stable
docker-ce-rootless-extras.x86_64
26.1.4-1.el7 @docker-ce-stable
docker-compose-plugin.x86_64 2.27.1-1.el7 @docker-ce-stable
#
> target_file # 将前一个查看指令中的结果 覆盖写入 到目标文件(文件不存在则新建)
e.g., cat aa.txt > bb.txt
>> target_file # 将前一个查看指令中的结果 追加写入 到目标文件(文件不存在则新建)
Keyboard Shortcuts Related:
- ctrl + 鼠标左击 = 改变光标位置
- ctrl + 箭头 = 快速跳过空格和一个单词
- ctrl +b = 快速跳转