一、帮助命令
- 命令分类:命令分为外部命令和内建命令。
- 查看命令是外部命令还是内建命令:
type 命令
- 查看命令的帮助文档:
语法 说明 man 命令 查看命令的在线帮助文档 help 命令 查看内建命令的帮助文档
二、文件目录类帮助命令
-
打印当前工作目录的绝对路径
语法 说明 pwd 打印当前工作目录的绝对路径
-
展示文件或者目录下内容
(1) 语法:ls [选项] [文件或者目录]
(2) 常用选项:选项 说明 -l 以行的形式展示更详细的文件信息 -a 展示所有文件(含隐藏文件)信息
(3)简写:
ll
<==>ls -l
(4)特例说明:如果没有文件或者目录参数的话,默认展示当前目录下的文件信息。 -
切换目录
(1) 语法:cd [选项] [相对或者绝对目录路径]
(2)常见用法:用法 说明 cd 回到当前用户的家目录 cd ~ 回到当前用户的家目录 cd - 返回上一次的工作目录 cd .. 到上一级目录 cd . 到当前目录 cd 相对或者绝对路径 到路径指向的目录 cd -P 软链接 到软链接指向的物理路径,非软链接路径
-
创建目录
(1)语法:mkdir [选项] 要创建的目录
(2)常见用法:用法 说明 mkdir 要创建的目录 非递归创建目录 mkdir -p 要创建的目录 递归创建多级目录
-
删除空目录
语法 说明 rmdir 要删除的空目录 删除空目录,目录如果不为空,删除会失败
-
创建空文件
语法 说明 touch 文件名 创建一个空文件
-
复制文件或目录,可以在复制的时候重新命名
(1)语法:cp [选项] source dest
(2)常用选项:选项 说明 -r 递归复制文件夹内所有内容
(3)示例用法:
# test是文件夹 # 递归复制test文件夹,将其复制到当前目录,并且重命名为test2 # 当前目录有test和test2两个文件夹 cp -r test ./test2
-
删除文件或者目录
用法 说明 rm -rf 文件或者目录 删除文件或者目录
-
移动和重命名
用法 说明 mv source dest 移动,可以在移动的时候重命名 # test是文件夹 # 将当前目录下的test文件夹移动到上一级目录中,并且改名为test2 # 当前目录下将不存在test目录 mv ./test ../test2
-
查看文件内容
(1)语法:cat [选项] 文件
(2)常用选项:选项 说明 -n 展示文件内容的时候,显示行号
-
分屏显示文件内容
(1)语法:less 文件名
(2)常用快捷键:快捷键 说明 PageDown(PgDn) 向下翻页 PageUp(PgUp) 向上翻页 /字符串 在打开文件中搜索指定字符串,n向下翻找,shift+N向上翻找 q 退出
-
输出内容
(1) 重定向:重定向 说明 > 覆盖写,写入的文件不存在时会自动创建 >> 追加写,写入的文件不存在时会自动创建
(2)输出流:
输出流 说明 1 标准输出 2 错误输出
(3)输出命令:
echo [输出内容]
(4)常见用法:用法 说明 echo "hello" >> a.txt 追加写:hello echo "hello" > a.txt 覆盖写:hello ls somefiles 1>>app.txt 2>>app.log 将命令的正确输出追加写到app.txt,命令的错误输出追加写到app.log ls somefiles &>>app.log 将命令的正确输出和错误输出都写到app.log
-
显示文件头部内容
语法 说明 head 文件名 显示文件前10行内容 head -n x 文件名 显示文件前x行内容
-
显示文件尾部内容
语法 说明 tail 文件名 显示文件最后10行内容 tail -n x 文件名 显示文件最后x行内容 tail -f 文件名 实时监控文件末尾,只有使用重定向往文件内写内容时,才能监控到
-
创建软链接
语法 说明 ln -s source link_name 创建软链接 # 特别注意 # 当软链接指向的物理路径是一个目录的时候 # 对软链接下内容的修改会影响到原目录下的内容 # 对原目录下内容的修改会影响到软链接下的内容 # 删除软链接要使用:rm -rf link_name # 如果删除使用了:rm -rf link_name/ # 会导致软链接本身没有删除掉,删除了原目录下的所有内容
-
查看已执行过的历史命令
语法 说明 history 查看执行过的历史命令
三、时间日期
常用语法:
语法 说明
date 查看本机当前日期时间
date "+%Y-%m-%d %H:%M:%S" 以指定格式显示本机时间:%Y(年),%m(月),%d(天),%H(时),%M(分),%S(秒)
date -s "2022-06-21 20:00:00" 用指定日期时间修改本机时间
date -d "1 day ago" 当前日期时间的前一天,数字可以为任意正负数,day(天)可以替换为:year(年),month(月),hour(小时),minute(分钟),second(秒钟)
四、用户管理命令
- 查看当前系统中已经创建的所有用户:
cat /etc/passwd
- 添加新用户:
# 添加新用户,-g参数指定用户所属用户组,user-name为添加的用户名 useradd [-g group-name] user-name # 需要为新添加的用户指定密码 echo "your-password" | passwd user-name --stdin
- 设置用户具有root权限
# 打开soders文件 vim /etc/sudoers # 在sudoers文件第92行末尾另起一行,配置普通用户具有root权限 user-name ALL=(ALL) NOPASSWD:ALL # 退出保存之后,普通用户就可以使用sudo执行命令了
- 修改用户所属用户组
usermod -g group-name user-name
- 删除用户
# 完全删除用户所有信息 userdel -r user-name
- 切换用户
语法 说明 su user-name 切换用户,但是环境变量不会切换 su - user-name 切换用户,环境变量也会随着切换,推荐使用 # 切换到新用户后,要切回来可以使用:exit
- 查看用户是否存在
id user-name
五、用户组管理命令
- 查看当前系统中已经创建的用户组
cat /etc/group
- 添加新用户组
groupadd group-name
- 删除用户组
# 只能删除没有用户的用户组 groupdel group-name
- 修改用户组名
groupmod -n new-group-name old-group-name
六、文件权限类命令
- 文件属性
# 某一个文件的部分属性 drwxr-xr-x. ... root root ... # 文件属性剖析 文件类型 所属用户权限(u) 所属用户组权限(g) 其他人权限(o) 所属用户 所属用户组 d rwx r-x r-x root root d 111(2进制)=>7(10进制) 101(2进制)=>6(10进制) 101(2进制)=>6(10进制) root root # 文件类型 文件类型 说明 d 文件夹 - 普通文件 l 链接文件 # 权限类型 权限类型 说明 r 读取权限 w 写入权限 x 执行权限
- 改变文件权限
语法 说明 chmod -R ([ugo]|a)[+-=][rwx] file u=>所属用户,g=>所属组,o=>其他人,a=>所有用户,+ =>新添权限,- =>减少权限,r=>读,w=>写,x=>执行,file=>文件名,-R=>递归 chmod -R 777 file 第一个数字表示用户权限,第二个数字表示用户组权限,第三个数字表示其他人权限
- 改变文件所属用户和用户组
chown -R user-name:group-name file
七、查找
- 查找文件或者文件夹
# 更新索引 updatedb # 也可以不适用该命令,通过重启 # 查找定位 locate file # 无法查找置于tmp下的文件或者文件夹
- 使用
grep
和|
(管道符)# 将一些命令的输出信息通过管道符交给grep命令进行检索 一些命令的输出信息 | grep -E 查找条件 # grep命令常用选项 选项 说明 -E 查找条件支持正则表达式 -v 取反 -o 只输出匹配的部分
八、压缩和解压缩
zip
和unzip
功能 语法格式 压缩 zip -r xxx.zip zip-files 解压 unzip -d unzip-path xxx.zip
tar
功能 语法格式 压缩 tar -zcf xxx.tar.gz zip-files 解压 tar -zxf xxx.tar.gz -C unzip-path
九、进程
- 查看进程状态
语法 说明 ps -aux 查看所有进程状态 ps -ef 查看所有进程状态
- 监控进程
(1) 语法格式:top [选项]
(2) 常用选项:
(3) 常用快捷键选项 说明 -d 进程装态刷新的时间间隔,默认3秒
快捷键 说明 shift+p 进程监控界面,按照cpu使用率倒序排列 shift+m 进程监控界面,按照内存使用率倒序排列 q 退出进程监控界面
- 杀死进程:
kill -9 进程号
- 显示网络统计信息和端口占用情况
语法 说明 netstat -anp | grep 进程号 显示某一进程网络统计信息 netstat -nlp | grep 端口号 查看网络端口占用情况
- 进程不中断
nohup 其他命令
十、系统定时任务
- 语法格式:
crontab [选项]
- 常用选项:
选项 说明 -l 显示运行中的定时任务 -e 进入定时任务编辑界面,在编辑界面可以创建编辑定时任务 -r 删除所有定时任务
- 定时任务编写语法:
* * * * * 任务
项目 说明 范围 第一个* 分钟 0-59 第二个* 小时 0-23 第三个* 天 1-31 第四个* 月 1-12 第五个* 周几 0-7(0和7都表示星期日) 特殊符号 说明 * 代表任何时间,如:每隔一分钟 , 代表不连续时间 - 代表连续时间段 */n 代表每隔n个时间单元
- 开启定时任务
# 只要crod服务启动,书写的定时任务就会自动开始执行 systemctl restart crond
- 定时任务表达式生成器
十一、软件包管理
rpm
常用语法 说明 rpm -qa 查询所有已安装软件包 rpm -e --nodeps 完整软件包名 卸载安装的软件包 rpm -ivh 完整软件包名 安装软件包
yum
# CentOS7中的yum功能会自动寻找距离本机IP最近的源进行软件包下载 # 无需特别配置国内镜像源 常用语法 说明 yum install 软件名 -y 安装软件 yum remove 软件名 -y 卸载软件 yum update 软件名 -y 更新软件