基础命令
ls
功能:查看指定目录下有哪些文件。全称是 list。
语法:
$ ls [参数] [目录]
常用参数:
-l
:列出文件的详细信息,如创建者,创建时间,读写权限列表等。ls -l
别名为ll
。-a
:列出所有文件,包括隐藏文件(以.
开头的文件)。-d
:查看目录,不递归。-i
:查看文件 inode 号-h
:以容量单位显示文件大小。-S
:按文件大小降序排列。-t
:按照时间顺序排序-r
:文件名按词典顺序逆序排列。
目录解析:
- 缺省情况下表示查看当前目录,等于缺省了
./
。 - 非缺省情况表示查看指定目录下的内容。
相关命令:
lscpu
:查看 cpu 相关信息。lsmem
:查看内存相关信息。lsblk
:查看磁盘相关信息。lsattr
:查看骇客权限。lsof
:查看目录或文件的使用情况。
示例:
# 列出当前目录文件详细信息 按照文件的大小降序排列
$ ls -lSh
# 查看当前内存信息
$ lsmem
cd
功能:切换目录(change ditectory)。
语法:
$ cd [目录]
目录解析:
缺省 / ~
:回到当前用户的主目录。- 普通用户:
/home/[用户名]/
。 - 管理员:
/root/
。
- 普通用户:
.
:当前目录。..
:上级目录。/
:根目录。-
:返回之前的目录。
date
功能:操作系统时钟。
格式:
$ date [参数]
常用参数:
- 缺省:查看当前的系统时间。
-s [字符串]
:按照字符串中的描述去设置系统时钟,等价于--set==STRING
。-d [字符串]
:显示字符串描述的时间,而不是当前时间,等价于--date=STRING
。- 给定格式的 FORMAT 输出:
"+ [格式]"
,或+[格式]
。%F
:按照完整日期格式输出系统时间,等价于%Y-%m-%d
。%y
:年份最后两位。%Y
:完整的年份。%m
:月份,month( 01…12 )。%d
:按月记的日期,day( 01…31 )。%H
:小时( 00-23 )。%M
:分,minute( 00-59 )。%S
:秒( 00-60 )。
示例:
# 将系统时间修改为指定时间
$ date -s "2022-11-2 22:30"
# 以指定格式输出时间
$ date "+%Y%m%d"
# 显示当前时间向后一个月的时间
$ date -d "+1 months" +%F
echo
功能:输出指定内容到终端。
格式:
$ echo [参数] [STRING]
常用参数:
- 缺省:换行输出。
-n
:不换行输出。-e
:允许解释字段中的转义符。\a
:发出警告声 。\c
:不换行输出。\t
:制表符。\n
:换行输出。\f
:换行输出,新行的行首退格到上一行的行尾。\033[[背景色];[字体色]m [STRING] \033[0m
:设置输出颜色。- 背景色( 40,47 ):黑、红、绿、黄、蓝、紫、青、白。
- 字体色( 30,37 ):黑、红、绿、黄、蓝、紫、青、白。
- 背景色可缺省。
- 变色范围从
\033[(30,37)m
开始,到\033[0m
结束。
示例:
# 输出上一条命令执行的执行结果
$ echo $?
# 设置输出字体颜色为红色
$ echo -e "\033[31m testcolor \033[0m"
# 设置背景色为绿色,字体色为红色
$ echo -e "\033[42;31m testcolor \033[0m"
# 跨行变色
$ echo -e "\033[43;31m 哇哈哈!"
$ echo '啊呀呀!'
$ echo -e "\033[0m"
printf
作用:格式化打印数据,默认打印字符串不换行。
常用格式:
%s
:字符串%d, %i
:整数%f
:浮点数%-[宽度]s
:对参数每个字段左对齐,并使用指定宽度%[宽度]s
:对参数每个字段右对齐,并使用指定宽度
示例:
# 格式化为六个单词一行
$ printf '%s\t%s\t%s\t%s\t%s\t%s\t\n' $(cat test.txt)
shutdown
作用:定时关机或重启,并通知所有终端。
格式:
$ shutdown [参数] [时间]
常用参数:
-r
:重启-h
:关机-c
:取消定时任务。
时间解析:
+[时间]
:指定时间之后执行[时间]
:定时执行now
:+0
的别名,作用是立即执行
示例:
# 延时10 分钟关机
$ shutdown -h +10
# 定时关机
$ shutdown -h 22:30
# 立即关机
$ shutdown -h now
# 延时8分钟重启
$ shutdown -r +8
init
作用:切换运行级别。
格式:
$ init [运行级别]
运行级别:
0
:停机模式,系统默认运行级别不允许设置为0,否则无法启动。1
:单用户模式,用于系统维护。2
:简单多用户模式,没有 NFS 和网络。3
:完整多用户终端模式:有 NFS 和网络,登录后进入终端。CentOS7 中用multi-user.target
表示。4
:保留模式,系统未使用。5
:GUI 模式。在 CentOS7 中用graphical.target
表示。6
:重启模式,默认运行级别不允许设置为6。
查询当前级别(CentOS7):systemctl get-default
示例:
# 关机
$ init 0
# 重启
$ init 6
# CentOS7 中设置完整多用户模式
$ systemctl set-default multi-user.target
history
作用:查看操作历史记录。
格式:
$ history [参数]
常用参数:
- 缺省:查看历史记录
-d [行号]
:删除指定记录
操作:
- 使用
! + [数字]
执行指定的历史命令,数字为history
命令输出的历史行号。 - 使用
! + [字符串]
执行字符串匹配的最近的历史命令。 - 使用光标上下键切换历史命令。
- 按[CTRL] + [r],输入要查找的关键字,按[->]选定
隐藏操作记录:
- 关闭记录:
$ set +o history
- 打开记录:
$ set -o history
man
作用:查看系统自带的参考手册。
格式:
$ man [参数] [手册] [命令]
常用参数:
-k
:查找指定字符串相关的手册。
手册解析:
手册 | 手册类型 |
---|---|
缺省 | 从数字最小的手册中查找命令 |
1 | 用户命令 |
2 | 内核系统调用(从用户空间到内核的进入点) |
3 | 库函数 |
4 | 特殊文件和设备 |
5 | 文件格式和规范 |
6 | 游戏 |
7 | 规范、标准和其它页面 |
8 | 系统管理命令 |
9 | Linux 内核 API(内核调用) |
查看哪些手册中有指定命令:$ whatis [命令]
操作:
- 向下翻页:[空格键]、[Page Down]
- 向上翻页:[Page Up]
- 退出:[q]
- 向上滚动:[方向上键]
- 向下混动:[方向下键]
- 搜索:[/]
- 跳转到首页:[Home]
- 跳转到尾页:[End]
拓展
命令
查看帮助
查看手册:man [命令]
查看帮助:[命令] --help
、[命令] -h
查看当前用户账户信息
# 当前登录用户名和信息
$ who am i
# 或
$ who -m
# 当前操作用户名
$ whoami
查看当前路径
$ pwd
查看运行级别切换纪录
$ runlevel
概念
系统时间管理
硬件时钟:主板 BIOS 时钟。
系统时钟:kernel 内核时钟。
转义符
!$
:引用上一条命令中以空格为分割符的最后一个字段。
$?
:返回上一条命令的执行结果,成功返回 0,失败返回(1,255)。
快捷键
补全:[TAB]
终止当前进程:[CTRL] + [c]
退出/终止:[CTRL] + [d],等价$ exit
清屏:[CTRL] + [l]
搜索历史记录:按[CTRL] + [r],输入要查找的关键字,按[->]选定历史命令
光标跳至行首:[CTRL] + [a]
光标跳至行尾:[CTRL] + [e]
以单词为单位向行首跳转:[CTRL] + [<-]
以符号为单位向行尾跳转:[CTRL] + [->]
shell 脚本规范
- shell 脚本一定要以 .sh 结尾。
- 首行必须是:
#! /bin/bash
。 - 脚本在执行前需要添加权限:
chmod +x [脚本名]
。
bios设置
来电自启动:
Integrated Periparals(外围设备) -> Superio Device -> Restore On AC Power Loss -> 设置为:Power On
定时开机:
Power Management Setup(电源设置) -> Wake Up Event Setup 设置为:Press Enter -> Resume By RTC Alarm 设置为:Enabled -> Date 设置为:Every Day -> HH:MM:SS 设置为:定时开机的时间
搜索引擎使用技巧
限定域名搜索:site:[URL]
固定字符串搜索:"关键字"
把搜索范围限定在标题中:intitle:[关键字]
限定URL:
- 提取地址中含有关键字的搜索结果:
inurl:[关键字]
- 排除地址中有关键字的搜索结果:
-inurl[关键字]
限定书名:《[书名]》
过滤关键字:-"[关键字]"
多条件或:[关键字A]|[关键字B]