1. 文件管理命令
1.1 mkdir
mkdir命令用来创建目录
选项 | 含义 |
---|---|
-p | 递归创建目录 |
mkdir directory_name 创建单个目录
mkdir -p directory_path 递归创建目录
mkdir directory1 directory2 directory3 同时创建多个目录
1.2 touch
touch命令用来创建新文件。
touch a.txt 在当前目录下创建名为a的txt文件(文件不存在),如果文件存在,将文件时间属性修改为当前系统时间。
1.3 rm
rm命令用来删除文件。
选项 | 含义 |
---|---|
-f | 强制:代替互动模式,不提示确认删除 |
-i | 互动:提示确认删除 |
-r | 递归:将删除某个目录以及其中所有的文件和子目录 |
-v | 详细:显示文件的删除进度 |
rm 文件名 删除当前目录下的文件
1.4 rmdir
rmdir命令用来删除目录。
rmdir tools 删除当前目录下一个名为tools的目录
1.5 cp
cp命令用来拷贝文件,复制文件
选项 | 含义 |
---|---|
-a | 保留源文件的权限、所有者和时间戳等属性。 |
-i | 互动:如果文件将覆盖目标中的文件,他会提示确认 |
-r | 递归:这个选项会复制整个目录树、子目录以及其他 |
-v | 详细:显示文件的复制进度 |
cp <源文件路径> <目的文件路径>
1.6 mv
mv命令用来移动文件。
选项 | 含义 |
---|---|
-f | 强制:它会超越互动模式,不提示地移动文件,属于很危险的选项 |
-i | 互动:如果选择的文件会覆盖目标中的文件,他会提示确认 |
-v | 详细:显示文件的移动进度 |
mv 当前目录名 新目录名 修改目录名,同样适用与文件操作
mv /usr/tmp/tool /opt 将/usr/tmp目录下的tool目录移动到到 /opt目录下面
1.7 tar
tar命令用来打包,压缩文件。
选项 | 功能 |
---|---|
-c | 打包文件 |
-f | 指定打包的文件名,此参数必须加,且必须在最后一位 |
-t | 查看打包的文件内容 |
-u | 更新原打包文件的文件 |
-v | 显示打包文件过程 |
-x | 解包,解压缩 |
-z | 压缩为.gz格式 |
-j | 压缩为.bz2格式 |
-J | 压缩为.xz格式 |
tar -czvf all_files.tar.gz ./* 打包当前目录所有文件并压缩为all_files.tar.gz
tar -xvf all_robots.tar 解压
1.8 zip
zip命令用来压缩文件。
选项 | 功能 |
---|---|
-r | 压缩目录 |
zip archive.zip file1 file2 directory1 压缩目录
unzip archive.zip 解压到指定目录
1.9 vim
vim文件名 //打开需要编辑的文件
--操作界面有三种模式:命令模式、插入模式和底行模式。
命令模式
-刚进入文件就是命令模式,通过方向键控制光标位置,
-使用命令"dd"删除当前整行
-使用命令"yy"复制当前整行
-使用命令"/字段"进行查找
-按"i"在光标所在字符前开始插入
-按"a"在光标所在字符后开始插入
-按"o"在光标所在行的下面另起一新行插入
-按":"进入底行模式
插入模式
-此时可以对文件内容进行编辑,左下角会显示 "-- 插入 --""
-按"ESC"进入底行模式
底行模式
-退出编辑: :q
-强制退出: :q!
-保存并退出: :wq
## 操作步骤示例 ##
1.保存文件:按"ESC" -> 输入":" -> 输入"wq",回车 //保存并退出编辑
2.取消操作:按"ESC" -> 输入":" -> 输入"q!",回车 //撤销本次修改并退出编辑
## 补充 ##
vim +10 filename.txt //打开文件并跳到第10行
vim -R /etc/passwd //以只读模式打开文件
1.10 查看文件
10.1 cat
cat命令用于连接、显示文件内容、创建文件以及文件合并等操作。
选项 | 功能 |
---|---|
-n | 显示行号 |
-b | 只会对有内容的行,显示其行号,空行不显示 |
-E | 在linux文件中,每一行的结束,默认会添加一个你看不到的,特殊符号 ‘$’ ,表示是该行的结尾 |
符号 | 说明 | 举例 | 说明 |
---|---|---|---|
> | 重定向覆盖输出符号 | command > output_file | 将 command 的输出写入到 output_file 中,覆盖原有内容(如果存在) |
< | 重定向覆盖输入符号 | command < input_file | input_file 的内容作为 command 的输入 |
>> | 重定向追加输出符号 | command >> output_file | command 的输出追加到 output_file 的末尾 |
<< | 重定向追加输入符号(here 文档) | command << END | 启动一个 here 文档,直到输入行包含单词 END 为止,所有输入的行都将作为 command 的输入。 |
特殊用法
cat >> 古诗2.txt <<EOF
数据写这里
EOF
10.2 tac
tac命令将文件从后往前倒着查看
tac 文件名
10.3 more
more命令查看小文件
more 文件名
10.4 less
less显示多少文本,消耗多少内存,省资源
less 文件名
按q退出
10.5 head
head 查看文件的默认前10行
head -5 文件 查看文件的前5行
10.6 tail
tail 查看文件的默认后10行
tail -f 跟踪文件内容变化,但是需要文件正常退出后,可见,最常用的也就是小写的f,检测程序的日志变化(程序代码,追加新内容到文件中的)。
tail -5 文件 查看文件的后5行
10.7 wc
计算文本文件中的行数、字数和字节数
选项 | 功能 |
---|---|
-l | 统计文件内有多少航 |
-w | 统计文件内的单词数 |
10.8 du
du命令的功能是用于显示文件目录或大小。
标准用法:du [-选项]
选项 | 含义 |
---|---|
-a | 显示全部目录及其次目录下的每个文件所占的磁盘空间 |
-b | 显示目录和文件的大小,以B为单位 |
-c | 最后再加上一个总计 |
-h | 以KB、MB、GB为单位,提高信息可读性 |
-s | 只列出各文件大小的总和 |
-x | 只计算属于同一文件系统的文件 |
ls -lh 也显示占用磁盘空间大小
10.9 find
在指定目录下查找文件和目录
命令 | 含义 |
---|---|
-name | 按文件名查找,支持通配符*和? |
-type | 按文件类型查找,f(普通文件)、d(目录)、l(符号链接)等 |
-size | 按文件大小查找,n是数字,c表示字节,w表示字。 |
-mtime n | 按文件最后修改时间查找,n表示天数,也可以使用-mtime +n或-mtime -n来查找n天前或n天内修改的文件。 |
-uid | 按文件所有者查找,uid是用户ID。 |
-gid | 按文件组所有者查找,gid是组ID。 |
-perm | 按文件权限查找,mode是权限值。 |
find / -name 'doupo.txt' 在根目录"/"下查找名为"doupo.txt"的文件。
10.10 stat
stat 命令用于显示给定文件或文件系统的详细信息。
File: 文件的名称。
Size: 文件的大小
Blocks: 文件所占的块数
IO Block: 文件系统的输入/输出块大小
Device: 文件所在的设备号
Inode: 文件的索引节点号
Links: 文件的硬链接数
Access: 文件的访问权限为
Uid: 文件拥有者的用户 ID
Gid: 文件拥有者的组 ID
Access: 文件的访问时间
Modify: 文件的修改时间
Change: 文件的状态改变时间
Birth: 文件的创建时间
1.11 alias
alias命令用于设置或显示Shell的别名。
alias 查看所有别名
alias la='ls -al' 修改别名
unalias ll 删除别名
1.12 grep
grep命令对数据进行过滤查找关键字
选项 | 含义 |
---|---|
-i | 忽略大小写 |
-n | 输出匹配行的行号 |
grep money test.txt 在test.txt中查找money这个字符串,grep查找是区分大小写的。
1.13 pwd
该命令的英文解释为print working directory(打印工作目录)。输入pwd命令,Linux会输出当前目录。
1.14 cd
cd命令用来改变所在目录。
cd / //切换到根目录
cd /bin //切换到根目录下的bin目录
cd .. //切换到上一级目录
cd ~ //切换到当前用户主目录
cd - //切换到上次访问的目录
cd xx(文件夹名) //切换到本目录下的名为xx的文件目录,如果目录不存在报错
cd /xxx/xx/x //可以输入完整的路径,直接切换到目标目录,输入过程中可以使用tab键快速补全
1.15 ls
ls命令用来查看目录的内容。
选项 | 含义 |
---|---|
-a | 列举目录中的全部文件,包括隐藏文件 |
-l | 列举目录中的细节,包括权限、所有者、组群、大小、创建日期、文件是否是链接等 |
-f | 列举的文件显示文件类型 |
-r | 逆向,从后向前地列举目录中内容 |
-R | 递归,该选项递归地列举当前目录下所有子目录内的内容 |
-s | 大小,按文件大小排序 |
-h | 以人类可读的方式显示文件的大小,如用K、M、G作单位 |
ls -l examples.doc 列举文件examples.doc的所有信息
1.16管道符
管道符“|”是Linux和Unix操作系统中的一种特殊字符,用于将一个命令的输出作为另一个命令的输入。这种机制被称为流重定向,它是shell脚本编程和自动化任务中常用的技术之一。
find / -name '*.txt' | grep 'apple'
1.17 xargs
xargs命令将参数列表转换成小块分段传递给其他命令。
{}也是xargs的占位符
- i 指定替换字符串,用于将参数列表中的每个元素插入到命令中。
用法:
find /tmp/ - name '*.log' | xargs -i cp {} {}.bak 查找/tmp/目录下所有以.log结尾的文件,并将它们复制一份,新文件的名字在原文件名的基础上加上.bak后缀。
ls | xargs -i mv {} {}.log 将当前目录下的所有文件移动到一个新的位置,新文件的名字在原文件名的基础上加上.log后缀。
1.18 工具
1.18.1 tree
tree命令查看文件目录结构
- -N 是显示中文
- -F 显示文件类型
1.18.2 history
history命令查看命令历史记录
- -c 清空当前会话的历史记录
- -w 把当前的历史记录,内存中数据写入到文件中
- .bash_history文件是Linux Bash shell用来存储用户最近执行过的命令的历史记录。这个文件位于用户的HOME目录下,默认情况下会保存用户最近执行的1000条命令。
1.18.3 scp
- scp -r /var/log/ root@x.x.x.x:/opt/ 把整个目录拷贝过去
- scp -r root@x.x.x.x:/opt/ /etc/ 把远程数据数据整个目录拷贝到本地
这里ssh -p xxx user@ip为例 -p xxx端口号
从本地复制到远程:
scp -P xxx <文件> user@ip:/home/user/ ##(这里用户默认目录为/home/user/)
scp -rP xxx <文件夹> user@ip:/home/user/
从远程复制到本地:
scp -rP xxx user@:/home/user/<文件夹名> C:\Users\Administrator\Desktop\<文件夹名>
scp -P xxx user@ip:/home/user/ <文件名> C:\Users\Administrator\Desktop\<文件名>
2.用户管理命令
2.1 useradd
useradd命令用于添加用户账号
选项 | 说明 |
---|---|
-c | 指定用户的注释/描述信息 |
-e | 指定用户账户的过期日期 |
-f | 缓冲天数 指在密码过期后多少天即关闭该账号 |
-g | 指定用户所属的群组 |
-G | 指定用户所属的附加群组 |
-M | 不要自动建立用户的家目录 |
-m | 创建用户时同时创建用户的家目录 |
-d | 指定用户的家目录路径 |
-s | 指定用户的登录shell |
-u | 指定用户ID |
创建一个新用户newuser,其家目录为/home/newuser,登录shell为/bin/bash,初始主组为users。
useradd -m -d /home/newuser -s /bin/bash -g users newuser
2.2 userdel
userdel命令用于删除用户账号
选项 | 说明 |
---|---|
-r | 删除用户登入目录以及目录中所有文件 |
-f | 强制删除用户账号 |
2.3 usermod
usermod命令用于修改用户账号属性
选项 | 说明 |
---|---|
-c | 指定用户的注释/描述信息 |
-e | 指定用户账户的过期日期 |
-f | 缓冲天数 指在密码过期后多少天即关闭该账号 |
-g | 指定用户所属的群组 |
-G | 指定用户所属的附加群组 |
-M | 不要自动建立用户的家目录 |
-m | 创建用户时同时创建用户的家目录 |
-d | 指定用户的家目录路径 |
-s | 指定用户的登录shell |
-u | 指定用户ID |
-L | 锁定用户密码,使密码无效 |
-U | 解除密码锁定 |
2.4 passwd
passwd命令用于修改用户密码
选项 | 说明 |
---|---|
-f | 强迫用户下次登录时必须修改口令 |
-g | 修改群组密码 |
-l | 停止账号使用 |
-u | 启用已被停止的账户 |
-d | 删除密码 |
-S | 显示密码信息 |
2.5 su
su命令用于切换用户身份
选项 | 说明 |
---|---|
- | 切换到root用户,不需要输入密码 |
-c | 执行完指定的命令后,返回到原来的用户身份 |
-f | 只切换用户身份,不启动一个新的shell |
-l | 完全切换到目标用户的环境,包括环境变量和当前工作目录 |
-m | 保留当前用户的环境变量 |
-p | 改变用户ID和组ID,但保持环境变量不变 |
-s | 指定要启动的shell程序 |
2.6 sudo
sudo命令用于允许用户以超级用户或其他用户的身份执行命令
选项 | 说明 |
---|---|
-b | 在后台执行命令 |
-E | 保留当前环境变量 |
-H | 提示用户输入密码 |
-i | 加载用户变量,并跳转到目标用户home目录 |
-p | 指定命令执行前的提示语 |
-u | 指定要切换的用户 |
-v | 详细模式,显示命令的每个步骤 |
-V | 显示版本信息 |
- | 执行命令,后跟命令和参数 |
-k | 将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟) |
2.7 其他命令
2.7.1 whoami
打印当前用户名
2.7.2 who
显示已登录的用户信息
2.7.3 w
显示系统登录用户信息,以及负载信息
2.7.4 last
显示近期登录的终端有哪些
2.7.5 lastlog
显示关于用户的登录记录
3. 文件权限管理
3.1 chmod
chmod命令用于修改文件或目录权限
chmod命令有两种主要的用法:符号模式和绝对模式。
符号模式下
文件的使用者 | 说明 | 权限 | 说明 | 增减 | 说明 |
---|---|---|---|---|---|
u | 拥有文件的用户 | r | 读取权 | + | 添加权限 |
g | 所有者所在的组群 | w | 写入权 | - | 删除权限 |
o | 其他人 | x | 执行权 | = | 是它称为唯一权限 |
a | 全部(u,g和o) |
在绝对模式下,
文件权限简介:'r' 代表可读(4),'w' 代表可写(2),'x' 代表执行权限(1),括号内代表"8421法"
##文件权限信息示例:-rwxrw-r--
-第一位:'-'就代表是文件,'d'代表是文件夹
-第一组三位:拥有者的权限
-第二组三位:拥有者所在的组,组员的权限
-第三组三位:代表的是其他用户的权限
chmod还有一些选项
选项 | 说明 |
---|---|
-c | 该文件权限确实已经更改,才显示其更改动作 |
-f | 该文件权限无法被更改,也不要显示错误讯息 |
-v | 显示权限变更的详细资料 |
-R | 修改目录及子目录的所有文件权限 |
3.2 chown
chown命令用于修改文件和目录的所有者和所属组
选项 | 说明 |
---|---|
-c | 显示更改的部分的信息。 |
-f | 忽略错误信息。 |
-h | 修复符号链接。 |
-R或-r | 递归地应用更改到目录下的所有文件或子目录。 |
3.3 chgrp
chgrp用于修改文件和目录的所属组
chgrp group1 file1 改变文件的群组
3.4 suid
suid 执行此文件时会以文件所有者的身份运行
3.5 sgid
sgid 执行此文件时会以文件所属组的身份运行
3.6 sbit
共享目录
chmod o+t /0224linux/
4.定时任务
4.1 crontab
选项 | 说明 |
---|---|
-l | 列出当前用户有哪些计划任务 |
-e | 编辑当前用户的计划任务 |
-r | 删除当前用户的计划任务 |
创建定时任务后,会在该目录存在该用户名的文件/var/spool/cron/
/etc/cron.deny 黑名单文件 (将系统中,所有uid大于1000的用户,全部写入黑名单)
/etc/cron.allow 白名单 ,优先级高于黑名单
/var/log/cron 定时任务,服务端的运行日志
5.资源管理
5.1 ps
ps命令用来查看在计算机系统中有哪些程序正在执行,及其执行的情况。这是一个相当强大的命令,可以用它来找出所有的process id和名称。另外,ps命令也可以用来列出所有程序占用内存的情况。用法如下: ps –(选项)
选项 | 功能 |
---|---|
-l | 用长格式列出 |
-u | 列出使用者的名称和使用时间 |
-m | 列出内存分布的情况 |
-r | 只列出正在执行的前台程序,不列出其他信息 |
-x | 列出所有程序,包括那些没有终端机的程序 |
常用命令
ps
显示当前用户的所有进程
ps -ef
显示所有用户的进程信息
ps -aux
显示完整的进程信息
ps -e --forest
实时显示进程信息
5.2 pstree
pstree 显示进程树的命令
选项 | 描述 |
---|---|
-p | 显示进程ID |
-a | 显示命令行参数 |
-c | 以紧凑格式显示 |
-l | 显示进程的完整命令行 |
–arguments 同 -a, | 显示命令行参数 |
–compact 同 -c, | 以紧凑格式显示 |
–long 同 -l, | 显示进程的完整命令行 |
5.3 pidof
pidof 用于查找指定进程名对应的进程 ID(PID)。它的常见用法是通过进程名来查找进程的 PID。如果有多个同名进程在运行,pidof 将以空格分隔的形式输出这些进程的 PID。
5.4 lsof
lsof 是一个用于列出当前系统中打开的文件(file)、套接字(socket)和网络连接的命令。
5.5 kill
kill命令用来终止一个正在执行中的进程。如果一个程序执行过程中失败了,可以把这个程序终止,避免留在内存中占用系统资源。不过,它的实际意义是送一个信号给这个正在执行的程序,叫它自杀。可以送很多信号给这些程序,也可以让他们受到信号后做很多事情。标准用法:kill –(选项) pid
在执行kill命令前。可以先用ps命令查一下某宕掉程序的pid,然后使用kill除去某个程序。例如,终止pid为90的程序:kill 90
选项 | 功能 |
---|---|
-l | 列出所有可用的信号名称 |
-p | 印出pid并不发送信号 |
-signal | 其中可用的讯号有 HUP (1), KILL (9), TERM (15), 分别代表著重跑, 砍掉, 结束 |
将 pid 为 323 的行程砍掉 (kill) :
kill -9 323
将 pid 为 456 的行程重跑 (restart) :
kill -HUP 456
5.6 top
top命令可以查看目前程序的执行情景和内存使用。它和ps类似,不过,它会几秒钟更新一次系统状态,方便追踪。要离开这个程序,按Ctrl+C键就可以了。
5.7 后台命令
- jobs 是一个用于显示当前终端会话中正在执行的作业列表的命令。一个作业可以是一个前台任务,也可以是一个后台任务。
- ctrl+z 暂停进程
- bg 程序放入后台运行
- fg 将后台任务放入前台执行
5.8 free
free 用于显示系统内存使用情况。
选项 | 描述 |
---|---|
-h , --human | 以人类可读的方式显示内存大小(例如,以 KB、MB、GB 等格式显示)。 |
-b , --bytes | 以字节为单位显示内存大小。 |
-k , --kilo | 以 KB(千字节)为单位显示内存大小。 |
-m , --mega | 以 MB(兆字节)为单位显示内存大小。 |
-g , --giga | 以 GB(千兆字节)为单位显示内存大小。 |
5.9 df
df用于显示文件系统的磁盘空间使用情况。
选项 | 描述 |
---|---|
-h | 以人类可读的方式显示磁盘空间大小。 |
-T | 显示文件系统类型。 |
-i | 显示 inode 的使用情况。 |
5.10 netstat
netstat 是一个常用的网络工具命令,用于显示各种网络相关信息,包括网络连接、路由表、接口统计等。它可以帮助用户监视系统的网络活动和网络配置。
选项 | 描述 |
---|---|
-a | 显示所有的网络连接和监听端口。 |
-t | 仅显示 TCP 协议的连接。 |
-u | 仅显示 UDP 协议的连接。 |
-n | 以数字形式显示地址和端口号。 |
-p | 显示与每个连接相关联的进程信息。 |
-l | 显示监听状态的连接,只显示正在侦听连接的端口。 |
常用命令:
ps -ef | grep nginx
netstat -tunlp | grep nginx
netstat -tunlp | grep 80
6 .系统服务命令
6.1 systemctl
systemctl 是一个管理系统服务的命令行工具,用于在基于 systemd 的 Linux 系统上启动、停止、重启和管理系统服务。systemd 是一个用于 Linux 的系统和服务管理器,它负责启动系统时的进程管理、系统日志、系统和用户服务的管理等。
systemctl 提供了对系统服务的集中控制和管理,包括管理系统启动时自动启动的服务、查看服务状态、重载服务配置文件等。
命令 | 描述 |
---|---|
start | 启动指定的服务。 |
stop | 停止指定的服务。 |
restart | 重启指定的服务。 |
status | 显示指定服务的当前状态。 |
enable | 设置指定服务为系统启动时自动启动。 |
disable | 取消指定服务的自动启动设置。 |
reload | 重新加载服务的配置文件。 |
6.2 service
service 命令通常用于在 Linux 系统上管理系统服务。它提供了一种简单的方式来启动、停止、重新启动和查询服务的状态。在基于 systemd 的系统中,service 命令通常是一个符号链接到 systemctl 命令的替代品,因此它们之间的功能和用法基本相同。
选项 | 描述 |
---|---|
start | 启动指定的服务。 |
stop | 停止指定的服务。 |
restart | 重启指定的服务。 |
status | 显示指定服务的当前状态。 |
reload | 重新加载服务的配置文件。 |
--status-all | 显示所有服务的状态。 |
--full-restart | 全面重启服务。 |
--help | 显示帮助信息。 |
6.3 chkconfig
chkconfig 是一个在 Linux 系统中管理系统服务启动级别的命令行工具。它允许用户在系统启动时自动启动或禁用特定的服务,并指定服务在特定运行级别下的启动顺序。
选项 | 描述 |
---|---|
--list | 显示当前系统上所有服务的启动状态。 |
--add | 添加一个新的服务到 chkconfig 管理中。 |
--del | 从 chkconfig 管理中删除一个服务。 |
--level | 指定服务在特定运行级别下的启动状态。 |
6.4 shutdown
要使用这个命令必须保证是根用户,否则使用su命令改变为根用户。命令格式如下:shutdown –(选项)
选项 | 功能 |
---|---|
-k | 不是真正的关机,只是发出警告命令 |
-r | 关机后重启 |
-t | 在规定的时间内关机 |
加入要在2min内关机,输入命令:
shutdown –t 2
如果是关机后重启,输入命令:
shutdown –r
6.5 reboot
这个命令也是一个关机命令,只有输入,不加任何参数,系统会以最快的速度关机,且不将内存或缓冲区里的东西写回硬盘。
选项 | 功能 |
---|---|
-d | 不把记录写到/var/log/wtmp档案里(-n这个参数包含了-d) |
-f | 强迫重开机,不呼叫shutdown这个指令 |
-n | 在重开机前不做将记忆体资料写回硬盘 |
-w | 并不会真的重开机,只是把记录写到/var/log/wtmp档案里 |
6.6 date
date命令用来显示、设定和修改现在的时间和日期。标准用法:
date –(选项) 显示时间格式(以+号开头,后加格式)
date 设定时间格式
选项 | 功能 |
---|---|
-u | 使用格林尼治时间 |
-r | 最后一次修改文件的时间 |
-s | 设置时间 |
常用的几种时间格式如下表所示:
格式 | 说明 |
---|---|
%a | 星期几的简称,例如一、二、三 |
%A | 星期几的全名,例如星期一、星期二 |
%D | 日期(mm/dd/yy格式) |
%T | 显示时间格式,24小时制(hh:mm:ss) |
%x | 显示日期的格式(mm/dd/yy) |
%y | 年的最后两个数字 |
%Y | 年(如2007、2008) |
%r | 时间(hh:mm:ss 上午或下午) |
%p | 显示上午或下午 |
如果输入命令:
date “+%x,%r”
系统返回如下信息:
2010年3月26日,下午 18时06分49秒
6.7 cal
cal命令有两种功能:显示月历以及年历。
直接输入cal命令则系统会显示目前月份的月历。
若要显示一整年的年历,可以在cal命令后加4位数的公元年份。例如要显示2008年的年历,必须输入:
cal 2008
若输入 cal 08 ,则最显示公元8年的年历。
若只需要查看某一年份中某一月份的月历,可以输入:cal 月份 公元年份。例如输入:"cal 12 2004”。